From 86a7f9e2ff5de8ce4e7bd53326a526847ac32403 Mon Sep 17 00:00:00 2001 From: Meji Date: Sun, 13 Apr 2025 20:31:30 +0200 Subject: Core/Players: Call OnQuestObjectiveChange after updating objective counters Fix SMART_EVENT_QUEST_OBJ_COMPLETION trigger (cherry picked from commit 7445d528d24c8ae84784806cb8792d34cc0c301f) # Conflicts: # src/server/game/Entities/Player/Player.cpp --- src/server/game/Entities/Player/Player.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 8dc39cdd221..439a94b77f4 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -16166,9 +16166,6 @@ void Player::SetQuestObjectiveData(QuestObjective const& objective, int32 data) if (oldData == data) return; - if (Quest const* quest = sObjectMgr->GetQuestTemplate(objective.QuestID)) - sScriptMgr->OnQuestObjectiveChange(this, quest, objective, oldData, data); - // Add to save m_QuestStatusSave[objective.QuestID] = QUEST_DEFAULT_SAVE_TYPE; @@ -16179,6 +16176,9 @@ void Player::SetQuestObjectiveData(QuestObjective const& objective, int32 data) SetQuestSlotState(status.Slot, 256 << objective.StorageIndex); else RemoveQuestSlotState(status.Slot, 256 << objective.StorageIndex); + + if (Quest const* quest = sObjectMgr->GetQuestTemplate(objective.QuestID)) + sScriptMgr->OnQuestObjectiveChange(this, quest, objective, oldData, data); } bool Player::IsQuestObjectiveCompletable(uint16 slot, Quest const* quest, QuestObjective const& objective) const -- cgit v1.2.3