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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user