Example #1
0
        void HandleAdventureJournalOpenQuest(AdventureJournalOpenQuest adventureJournalOpenQuest)
        {
            var adventureJournalEntry = CliDB.AdventureJournalStorage.LookupByKey(adventureJournalOpenQuest.AdventureJournalID);

            if (adventureJournalEntry == null)
            {
                return;
            }

            Quest quest = Global.ObjectMgr.GetQuestTemplate(adventureJournalEntry.QuestID);

            if (quest == null)
            {
                return;
            }

            if (_player.CanTakeQuest(quest, true))
            {
                PlayerMenu menu = new PlayerMenu(_player.GetSession());
                menu.SendQuestGiverQuestDetails(quest, _player.GetGUID(), true, false);
            }
        }
        void HandleAdventureJournalOpenQuest(AdventureJournalOpenQuest openQuest)
        {
            var uiDisplay = Global.DB2Mgr.GetUiDisplayForClass(_player.GetClass());

            if (uiDisplay != null)
            {
                if (!_player.MeetPlayerCondition(uiDisplay.AdvGuidePlayerConditionID))
                {
                    return;
                }
            }

            var adventureJournal = CliDB.AdventureJournalStorage.LookupByKey(openQuest.AdventureJournalID);

            if (adventureJournal == null)
            {
                return;
            }

            if (!_player.MeetPlayerCondition(adventureJournal.PlayerConditionID))
            {
                return;
            }

            Quest quest = Global.ObjectMgr.GetQuestTemplate(adventureJournal.QuestID);

            if (quest == null)
            {
                return;
            }

            if (_player.CanTakeQuest(quest, true))
            {
                _player.PlayerTalkClass.SendQuestGiverQuestDetails(quest, _player.GetGUID(), true, false);
            }
        }