Core/Players: Call OnQuestObjectiveChange after updating objective counters

Fix SMART_EVENT_QUEST_OBJ_COMPLETION trigger
This commit is contained in:
Meji
2025-04-13 20:31:30 +02:00
parent 374bde3415
commit 7445d528d2

View File

@@ -17143,9 +17143,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;
@@ -17156,6 +17153,9 @@ void Player::SetQuestObjectiveData(QuestObjective const& objective, int32 data)
SetQuestSlotObjectiveFlag(status.Slot, objective.StorageIndex);
else
RemoveQuestSlotObjectiveFlag(status.Slot, 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