Example #1
0
        /// <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)
                        );
                }
            }
        }
Example #2
0
 /// <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
                             );
 }
Example #3
0
 /// <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
                             );
 }
Example #4
0
 /// <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)
                );
        }
Example #10
0
        /// <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();
            }
        }