aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp7
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 04e6cb000f8..a4afde217c9 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -15483,12 +15483,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);