diff options
author | Nyeriah <sarah.trysan@live.com> | 2014-12-21 21:49:23 -0200 |
---|---|---|
committer | Nyeriah <sarah.trysan@live.com> | 2014-12-21 21:49:23 -0200 |
commit | 9d7433244eb06258b6a6af0149b2152534a45ee7 (patch) | |
tree | bf14520d4b61c1e5d35c7bc8b5878dc111da857e | |
parent | 0c0207a2f944e0ee54e8d2a4ac0cf8ac8ef8b9f2 (diff) |
Core/Players: Fix a flaw as timed quests can still turn failed even if complete
(cherry picked from commit 0043a5dd2217cf8ad7cbbc903a380c8d1fb5a1bc)
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
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); |