Core/Players: Fix a flaw as timed quests can still turn failed even if complete

(cherry picked from commit 0043a5dd2217cf8ad7cbbc903a380c8d1fb5a1bc)
This commit is contained in:
Nyeriah
2014-12-21 21:49:23 -02:00
parent 0c0207a2f9
commit 9d7433244e
+4 -3
View File
@@ -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);