diff options
author | Ovah <dreadkiller@gmx.de> | 2021-08-22 09:58:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-22 09:58:46 +0200 |
commit | a0aa9730e25197f8be2611f3b7800bdb979cad35 (patch) | |
tree | 58b28f3514b968ac796ac971b679093bf4238a4c /src | |
parent | b64ef1a39adfc37380aba59de506eb394e9c664d (diff) |
Core/Quests: check PreviousQuestID values as well when trying to make quest groups available to players (#26769)
* Core/Quests: check PreviousQuestID values as well when trying to make a quest available to support quest group requirements for another quest group
* checking for previous quests via NextQuestID only works for single followup quests. However, if we want to make multiple quests available after rewarding all quests of an exclusive group we have to consider PreviousQuestID values as well as every single quest of the next quest group has to check the rewarded exclusive group
* only check for previous quests that must be rewarded instead of being active
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index b74d7fb3ead..e31a650b1bb 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -5239,6 +5239,8 @@ void ObjectMgr::LoadQuests() TC_LOG_ERROR("sql.sql", "Quest %u has PrevQuestId %i, but no such quest", qinfo->GetQuestId(), qinfo->_prevQuestId); else if (prevQuestItr->second._breadcrumbForQuestId) TC_LOG_ERROR("sql.sql", "Quest %u should not be unlocked by breadcrumb quest %u", qinfo->_id, prevQuestId); + else if (qinfo->_prevQuestId > 0) + qinfo->DependentPreviousQuests.push_back(prevQuestId); } if (uint32 nextQuestId = qinfo->_nextQuestId) |