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)) {