diff --git a/src/game/Object/Player.cpp b/src/game/Object/Player.cpp index f0dd4a80..5152e91d 100644 --- a/src/game/Object/Player.cpp +++ b/src/game/Object/Player.cpp @@ -12424,6 +12424,10 @@ bool Player::SatisfyQuestPreviousQuest(Quest const* qInfo, bool msg) const { return true; } // each-from-all exclusive group ( < 0) + // given a group with 2+ quests, and one of those has a branch that is not restricted by the group, return true + if (qInfo->GetPrevQuestId() != 0 && qPrevInfo->GetNextQuestId() != qInfo->GetPrevQuestId()) + { return true; } + // can be start if only all quests in prev quest exclusive group completed and rewarded ExclusiveQuestGroupsMapBounds bounds = sObjectMgr.GetExclusiveQuestGroupsMapBounds(qPrevInfo->GetExclusiveGroup()); @@ -12458,6 +12462,10 @@ bool Player::SatisfyQuestPreviousQuest(Quest const* qInfo, bool msg) const { return true; } // each-from-all exclusive group ( < 0) + // given a group with 2+ quests, and one of those has a branch that is not restricted by the group, return true + if (qInfo->GetPrevQuestId() != 0 && qPrevInfo->GetNextQuestId() != abs(qInfo->GetPrevQuestId())) + { return true; } + // can be start if only all quests in prev quest exclusive group active ExclusiveQuestGroupsMapBounds bounds = sObjectMgr.GetExclusiveQuestGroupsMapBounds(qPrevInfo->GetExclusiveGroup());