From a21c82d0c08e059640625a202b38459f20439c20 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Sun, 25 Aug 2024 14:49:02 -0400 Subject: [PATCH] Core/Quests: Fix case where source item provided isn't added to the bag Port From (https://github.com/TrinityCore/TrinityCore/commit/65ef114879f201cc2784f2f948a967a7583c0583) --- Source/Game/Entities/Player/Player.Quest.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Source/Game/Entities/Player/Player.Quest.cs b/Source/Game/Entities/Player/Player.Quest.cs index 15dd1ecae..aa73d86bd 100644 --- a/Source/Game/Entities/Player/Player.Quest.cs +++ b/Source/Game/Entities/Player/Player.Quest.cs @@ -1933,7 +1933,7 @@ namespace Game.Entities bool updateVisibility = false; if (update) - { + { SendQuestUpdate(questId); if (quest != null && quest.HasFlag(QuestFlags.UpdatePhaseshift)) @@ -1971,7 +1971,7 @@ namespace Game.Entities } if (update) - { + { SendQuestUpdate(questId); if (quest != null && quest.HasFlag(QuestFlags.UpdatePhaseshift)) @@ -2483,6 +2483,11 @@ namespace Game.Entities if (updatedObjectives.Count == 1 && updatedObjectives[0].Flags2.HasFlag(QuestObjectiveFlags2.QuestBoundItem)) { + // Quest source items should ignore QUEST_OBJECTIVE_FLAG_2_QUEST_BOUND_ITEM + Quest quest = Global.ObjectMgr.GetQuestTemplate(updatedObjectives[0].QuestID); + if (quest != null && quest.SourceItemId == entry) + return; + hadBoundItemObjective = updatedObjectives.Count == 1 && updatedObjectives[0].Flags2.HasFlag(QuestObjectiveFlags2.QuestBoundItem); SendQuestUpdateAddItem(itemTemplate, updatedObjectives[0], (ushort)count);