diff options
| author | Nyeriah <sarah.trysan@live.com> | 2014-12-21 21:46:42 -0200 |
|---|---|---|
| committer | Nyeriah <sarah.trysan@live.com> | 2014-12-21 21:46:42 -0200 |
| commit | 0043a5dd2217cf8ad7cbbc903a380c8d1fb5a1bc (patch) | |
| tree | f9c9016935f3d51c3d757caae35263921511cd4e /src/server | |
| parent | 249270c52c658fc1a8cca14a55ea33abc5d21855 (diff) | |
Core/Players: Fix a flaw as timed quests can still turn failed even if complete
Diffstat (limited to 'src/server')
| -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 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); |
