/// <summary> /// Occurs after a client displays a personal quest confirmation. /// </summary> /// <param name="cpkt"></param> private void CM_PERSONALREQUESTCONFIRMATION(CMSG_PERSONALREQUEST cpkt) { BaseNPC npc = this.character.Target as BaseNPC; if (npc != null) { if (cpkt.Result == 2 && pendingquest != null) { pendingquest.OnStart(this.character.id); pendingquest.CheckQuest(this.character); QuestBase.UserTalktoTarget(this.character.Target.ModelId, this.character, pendingquest); CommonFunctions.RefreshPersonalRequests(this.character); CommonFunctions.UpdateNpcIcons(this.character); pendingquest = null; Common.Actions.OpenMenu( this.character, npc, cpkt.Unknown, DialogType.AcceptPersonalRequest, new byte[] { } ); } else { pendingquest = null; Common.Actions.OpenMenu( this.character, npc, cpkt.Unknown, DialogType.AcceptPersonalRequest, npc.GetDialogButtons(this.character) ); } } }
/// <summary> /// Occurs when opening the RepairEquipment menu /// </summary> /// <param name="npc">Npc who requires shows the menu</param> /// <param name="target">Character who requires interaction</param> protected virtual void OnRepairEquipment(BaseNPC npc, Character target) { Common.Actions.OpenMenu(target, npc, _RepairEquipment, //Dialog sceipt for equipment reparing DialogType.Smith, //Button function npc.GetDialogButtons(target) //Dialog buttons ); }
/// <summary> /// Occurs when opening the UpgradeWeapon menu /// </summary> /// <param name="npc">Npc who requires shows the menu</param> /// <param name="target">Character who requires interaction</param> protected virtual void OnUpgradeWeapon(BaseNPC npc, Character target) { Common.Actions.OpenMenu(target, npc, _WeaponUpgrade, //Dialog script for weapon upgrade DialogType.Smith, //Button function npc.GetDialogButtons(target) //Dialog buttons ); }
/// <summary> /// Occurs when opening the WeaponChangeSuffix menu /// </summary> /// <param name="npc">Npc who requires shows the menu</param> /// <param name="target">Character who requires interaction</param> protected virtual void OnChangeWeaponSuffix(BaseNPC npc, Character target) { Common.Actions.OpenMenu(target, npc, _WeaponSuffixChange, //Dialog script for suffix changing DialogType.Smith, //Button function npc.GetDialogButtons(target) //Dialog buttons ); }
/// <summary> /// Occurs after showing the trader dialog. /// </summary> /// <param name="npc"></param> /// <param name="target"></param> protected virtual void OnTradeDialog(BaseNPC npc, Character target) { Common.Actions.OpenMenu( target, npc, _TradeDialog, DialogType.TradeItems, npc.GetDialogButtons(target) ); _container.Open(target, npc); }
/// <summary> /// Occurs when pressing the shop buttong /// </summary> /// <param name="npc">Npc who calls the event</param> /// <param name="target">Character who requires interaction</param> protected virtual void OnShop(BaseNPC npc, Character target) { //Open menu Common.Actions.OpenMenu( target, npc, _Shop, DialogType.Shop, npc.GetDialogButtons(target) ); //Open shoplist _shoplist.Open(target, npc); }
/// <summary> /// Shows all a list of skillbooks. /// (uses shoppinglist object) /// </summary> /// <param name="npc">Npc who calls the event</param> /// <param name="target">Character who requires interaction</param> protected virtual void OnSkillbook(BaseNPC npc, Character target) { //Open bookstore _shoplist.Open(target, npc); //Show dialog Common.Actions.OpenMenu( target, npc, _OnSkillbook, DialogType.BookStore, npc.GetDialogButtons(target) ); }
/// <summary> /// Shows all special abillities. /// </summary> /// <param name="npc">Npc who calls the event</param> /// <param name="target">Character who requires interaction</param> protected virtual void OnSpecialAbillities(BaseNPC npc, Character target) { CommonDialogs.OpenSpecialSkillsDialog(target, Singleton.Database.GetAllLearnedSkills(target)); //CommonFunctions.ShowDialog(target, npc, _OnSpecialAbillities, npc.GetDialogButtons(target)); //Show dialog Common.Actions.OpenMenu( target, npc, _OnSpecialAbillities, DialogType.BookStore, npc.GetDialogButtons(target) ); }
/// <summary> /// Shows all available jobs /// </summary> /// <param name="npc">Npc who calls the event</param> /// <param name="target">Character who requires interaction</param> protected virtual void OnChangeJob(BaseNPC npc, Character target) { //Create the collection and show it JobChangeCollection.Create(target).Show(target); //Show dialog Common.Actions.OpenMenu( target, npc, _ChangeJob, DialogType.BookStore, npc.GetDialogButtons(target) ); }
/// <summary> /// Occurs after the EverydayConversation button is pressed /// by the client. /// </summary> /// <param name="npc">Npc who hold the button</param> /// <param name="target">Character who requires interaction</param> protected virtual void OnConversation(BaseNPC npc, Character target) { EverydaySequence seq = target.Tag is EverydaySequence ? target.Tag as EverydaySequence : new EverydaySequence(this._EverydayConversation); target.Tag = seq; if (seq.HasInfo) { Common.Actions.OpenMenu(target, npc, seq.Current, DialogType.EverydayConversation, npc.GetDialogButtons(target) ); seq.Increment(); } }