aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QuestHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/QuestHandler.cpp')
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index b6636b1e246..cca62c6ac08 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -844,10 +844,21 @@ void WorldSession::HandleUiMapQuestLinesRequest(WorldPackets::Quest::UiMapQuestL
if (!questLineQuests)
continue;
+ bool isQuestLineCompleted = true;
for (QuestLineXQuestEntry const* questLineQuest : *questLineQuests)
+ {
if (Quest const* quest = sObjectMgr->GetQuestTemplate(questLineQuest->QuestID))
+ {
if (_player->CanTakeQuest(quest, false))
response.QuestLineXQuestIDs.push_back(questLineQuest->ID);
+
+ if (isQuestLineCompleted && !_player->GetQuestRewardStatus(questLineQuest->QuestID))
+ isQuestLineCompleted = false;
+ }
+ }
+
+ if (!isQuestLineCompleted)
+ response.QuestLineIDs.push_back(questLineId);
}
}