diff --git a/Source/Game/Entities/Player/Player.Quest.cs b/Source/Game/Entities/Player/Player.Quest.cs index c89ec4c0d..7e5967e30 100644 --- a/Source/Game/Entities/Player/Player.Quest.cs +++ b/Source/Game/Entities/Player/Player.Quest.cs @@ -2564,9 +2564,12 @@ namespace Game.Entities updateZoneAuras = true; } - if (objectiveIsNowComplete && CanCompleteQuest(questId, objective.Id)) - CompleteQuest(questId); - else if (objectiveStatusData.QuestStatusPair.Status.Status == QuestStatus.Complete) + if (objectiveIsNowComplete) + { + if (CanCompleteQuest(questId, objective.Id)) + CompleteQuest(questId); + } + else if (!(objective.Flags.HasAnyFlag(QuestObjectiveFlags.Optional) && objectiveStatusData.QuestStatusPair.Status.Status == QuestStatus.Complete) IncompleteQuest(questId); } }