aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMeji <alvaro.megias@outlook.com>2024-05-26 18:12:05 +0200
committerOvahlord <dreadkiller@gmx.de>2024-06-20 01:02:48 +0200
commit1334844ad86b7b9d153dcd914bcc0ba036ee6d7a (patch)
tree8bcad7db8945553e6a2f4d5b479f6a4cabc3144f /src
parent236ed21e8dc80b1e8669eab71e78d1c276787ecf (diff)
Core/Quests: Fix case where source item provided isn't added to the bag (#29959)
(cherry picked from commit 65ef114879f201cc2784f2f948a967a7583c0583)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 2e1ff17727b..a8bb40949da 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -16042,6 +16042,11 @@ void Player::ItemAddedQuestCheck(uint32 entry, uint32 count, Optional<bool> boun
if (updatedObjectives.size() == 1 && updatedObjectives[0]->Flags2 & QUEST_OBJECTIVE_FLAG_2_QUEST_BOUND_ITEM)
{
+ // Quest source items should ignore QUEST_OBJECTIVE_FLAG_2_QUEST_BOUND_ITEM
+ if (Quest const* quest = sObjectMgr->GetQuestTemplate(updatedObjectives[0]->QuestID))
+ if (quest->GetSrcItemId() == entry)
+ return;
+
if (hadBoundItemObjective)
*hadBoundItemObjective = updatedObjectives.size() == 1 && updatedObjectives[0]->Flags2 & QUEST_OBJECTIVE_FLAG_2_QUEST_BOUND_ITEM;