aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index d5b1db07180..54d37c7bbb7 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -16718,9 +16718,12 @@ void Player::UpdateQuestObjectiveProgress(QuestObjectiveType objectiveType, int3
updateZoneAuras = true;
}
- if (objectiveIsNowComplete && CanCompleteQuest(questId, objective.ID))
- CompleteQuest(questId);
- else if (objectiveItr.second.QuestStatusItr->second.Status == QUEST_STATUS_COMPLETE)
+ if (objectiveIsNowComplete)
+ {
+ if (CanCompleteQuest(questId, objective.ID))
+ CompleteQuest(questId);
+ }
+ else if (!(objective.Flags & QUEST_OBJECTIVE_FLAG_OPTIONAL) && objectiveItr.second.QuestStatusItr->second.Status == QUEST_STATUS_COMPLETE)
IncompleteQuest(questId);
}
}