From f5f5de1c86a4f73bf301e3dc28d4cb9d63b70ec4 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Sun, 8 Jun 2025 18:23:04 -0400 Subject: [PATCH] Core/Quests: Updated quest future status checks to include all variants of that status Port From (https://github.com/TrinityCore/TrinityCore/commit/5875058ed813b90aa37c403a044d471e6ab39a89) --- Source/Framework/Constants/QuestConst.cs | 2 ++ Source/Game/Entities/GameObject/GameObject.cs | 3 +-- Source/Game/Entities/Player/Player.Quest.cs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/Framework/Constants/QuestConst.cs b/Source/Framework/Constants/QuestConst.cs index e775fb3ba..0886d6f4e 100644 --- a/Source/Framework/Constants/QuestConst.cs +++ b/Source/Framework/Constants/QuestConst.cs @@ -464,6 +464,8 @@ namespace Framework.Constants LegendaryRewardCompletePOI = 0x100000000000, ImportantQuestRewardCompleteNoPOI = 0x200000000000, ImportantQuestRewardCompletePOI = 0x400000000000, + + FutureMask = Future | FutureJourneyQuest | FutureLegendaryQuest | FutureImportantQuest } [Flags] diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 13a19404d..255390109 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -1395,8 +1395,7 @@ namespace Game.Entities switch (GetGoType()) { case GameObjectTypes.QuestGiver: - QuestGiverStatus questStatus = target.GetQuestDialogStatus(this); - if (questStatus != QuestGiverStatus.None && questStatus != QuestGiverStatus.Future) + if ((target.GetQuestDialogStatus(this) & ~QuestGiverStatus.FutureMask) != QuestGiverStatus.None) return true; break; case GameObjectTypes.Chest: diff --git a/Source/Game/Entities/Player/Player.Quest.cs b/Source/Game/Entities/Player/Player.Quest.cs index 702533a2b..b6ce8f1f4 100644 --- a/Source/Game/Entities/Player/Player.Quest.cs +++ b/Source/Game/Entities/Player/Player.Quest.cs @@ -3222,7 +3222,7 @@ namespace Game.Entities packet.LaunchGossip = quest.HasFlag(QuestFlags.LaunchGossipComplete); if (questGiver.IsQuestGiver()) - packet.LaunchQuest = (GetQuestDialogStatus(questGiver) & ~QuestGiverStatus.Future) != QuestGiverStatus.None; + packet.LaunchQuest = (GetQuestDialogStatus(questGiver) & ~QuestGiverStatus.FutureMask) != QuestGiverStatus.None; if (!quest.HasFlag(QuestFlags.AutoComplete)) {