From f269f60d8a5f6b0982eb46dc583e2618c98931fb Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 26 Feb 2021 20:42:29 +0100 Subject: Scripts/Quests: Implemented new quest scripting hook, OnQuestAcknowledgeAutoAccept, used when player closes quest frame after viewing details of autoaccept quests --- src/server/game/Scripting/ScriptMgr.cpp | 9 +++++++++ src/server/game/Scripting/ScriptMgr.h | 4 ++++ 2 files changed, 13 insertions(+) (limited to 'src/server/game/Scripting') diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 6ca57b18391..d6ada60914e 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -2254,6 +2254,15 @@ void ScriptMgr::OnQuestStatusChange(Player* player, Quest const* quest, QuestSta tmpscript->OnQuestStatusChange(player, quest, oldStatus, newStatus); } +void ScriptMgr::OnQuestAcknowledgeAutoAccept(Player* player, Quest const* quest) +{ + ASSERT(player); + ASSERT(quest); + + GET_SCRIPT(QuestScript, quest->GetScriptId(), tmpscript); + tmpscript->OnAcknowledgeAutoAccept(player, quest); +} + void ScriptMgr::OnQuestObjectiveChange(Player* player, Quest const* quest, QuestObjective const& objective, int32 oldAmount, int32 newAmount) { ASSERT(player); diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index e4765c44bec..f781d74a8fb 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -863,6 +863,9 @@ class TC_GAME_API QuestScript : public ScriptObject // Called when a quest status change virtual void OnQuestStatusChange(Player* /*player*/, Quest const* /*quest*/, QuestStatus /*oldStatus*/, QuestStatus /*newStatus*/) { } + // Called for auto accept quests when player closes quest UI after seeing initial quest details + virtual void OnAcknowledgeAutoAccept(Player* /*player*/, Quest const* /*quest*/) { } + // Called when a quest objective data change virtual void OnQuestObjectiveChange(Player* /*player*/, Quest const* /*quest*/, QuestObjective const& /*objective*/, int32 /*oldAmount*/, int32 /*newAmount*/) { } }; @@ -1144,6 +1147,7 @@ class TC_GAME_API ScriptMgr public: /* QuestScript */ void OnQuestStatusChange(Player* player, Quest const* quest, QuestStatus oldStatus, QuestStatus newStatus); + void OnQuestAcknowledgeAutoAccept(Player* player, Quest const* quest); void OnQuestObjectiveChange(Player* player, Quest const* quest, QuestObjective const& objective, int32 oldAmount, int32 newAmount); private: -- cgit v1.2.3