From 29a34bbf5d00a9212ae3792d6c432fb53526bf6e Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 30 Jan 2024 09:21:07 -0500 Subject: [PATCH] Core/Quests: Fixed optional quest objectives incorrectly changing quest state when they change completion state Port From (https://github.com/TrinityCore/TrinityCore/commit/4362a8c3f6aff1a8403ab9c1dee3fd23a82db339) --- Source/Game/Entities/Player/Player.Quest.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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); } }