diff options
| author | Meji <alvaro.megias@outlook.com> | 2024-09-14 13:14:05 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-14 13:14:05 +0200 |
| commit | 19a0e885a63a7d07a6edd6c1b14ba91f87141ffd (patch) | |
| tree | 8f00bdb8382900d20a84f8cb3ab2a7b6fef7cfea /src/server/game/Handlers/QuestHandler.cpp | |
| parent | b3a502ddb9f08a1cc3ef082263567898c7b0a3eb (diff) | |
Core/PacketIO: Fix SMSG_UI_MAP_QUEST_LINES_RESPONSE struct (TWW) (#30219)
Diffstat (limited to 'src/server/game/Handlers/QuestHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/QuestHandler.cpp | 11 |
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); } } |
