From 65ef114879f201cc2784f2f948a967a7583c0583 Mon Sep 17 00:00:00 2001 From: Meji Date: Sun, 26 May 2024 18:12:05 +0200 Subject: Core/Quests: Fix case where source item provided isn't added to the bag (#29959) --- src/server/game/Entities/Player/Player.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 30ca864c5a2..aad59f7930d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -16493,6 +16493,11 @@ void Player::ItemAddedQuestCheck(uint32 entry, uint32 count, Optional 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; -- cgit v1.2.3