From 9d7433244eb06258b6a6af0149b2152534a45ee7 Mon Sep 17 00:00:00 2001 From: Nyeriah Date: Sun, 21 Dec 2014 21:49:23 -0200 Subject: Core/Players: Fix a flaw as timed quests can still turn failed even if complete (cherry picked from commit 0043a5dd2217cf8ad7cbbc903a380c8d1fb5a1bc) --- src/server/game/Entities/Player/Player.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 5d6822d3159..1b96a1c5bb3 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14962,12 +14962,13 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, void Player::FailQuest(uint32 questId) { - // Already complete quests shouldn't turn failed. - if (GetQuestStatus(questId) == QUEST_STATUS_COMPLETE) - return; if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId)) { + // Already complete quests shouldn't turn failed. + if (GetQuestStatus(questId) == QUEST_STATUS_COMPLETE && !quest->HasSpecialFlag(QUEST_SPECIAL_FLAGS_TIMED)) + return; + SetQuestStatus(questId, QUEST_STATUS_FAILED); uint16 log_slot = FindQuestSlot(questId); -- cgit v1.2.3