diff options
| author | Wyrserth <43747507+Wyrserth@users.noreply.github.com> | 2019-05-17 20:38:15 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2019-05-17 20:38:15 +0200 |
| commit | 404c4f8091693a1b9b7c914e7e9373c40c53141a (patch) | |
| tree | 3f08434a984526b991154df7b37f12618254b4df /src/server/game/Scripting | |
| parent | 908fbf48d2f6a51c6976c5ed21eee7f165b2f507 (diff) | |
Core/Scripts: implement a PlayerScript hook called when a quest's objective receives progress (#23286)
Diffstat (limited to 'src/server/game/Scripting')
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 1c8e99833ec..051592c7fd9 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1961,6 +1961,11 @@ void ScriptMgr::OnPlayerRepop(Player* player) FOREACH_SCRIPT(PlayerScript)->OnPlayerRepop(player); } +void ScriptMgr::OnQuestObjectiveProgress(Player* player, Quest const* quest, uint32 objectiveIndex, uint16 progress) +{ + FOREACH_SCRIPT(PlayerScript)->OnQuestObjectiveProgress(player, quest, objectiveIndex, progress); +} + // Account void ScriptMgr::OnAccountLogin(uint32 accountId) { diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 910ccb8612c..077bbddaf8f 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -699,6 +699,9 @@ class TC_GAME_API PlayerScript : public ScriptObject // Called when a player changes to a new map (after moving to new map) virtual void OnMapChanged(Player* /*player*/) { } + // Called when a player obtains progress on a quest's objective + virtual void OnQuestObjectiveProgress(Player* /*player*/, Quest const* /*quest*/, uint32 /*objectiveIndex*/, uint16 /*progress*/) { } + // Called after a player's quest status has been changed virtual void OnQuestStatusChange(Player* /*player*/, uint32 /*questId*/) { } @@ -1011,6 +1014,7 @@ class TC_GAME_API ScriptMgr void OnPlayerSave(Player* player); void OnPlayerBindToInstance(Player* player, Difficulty difficulty, uint32 mapid, bool permanent, uint8 extendState); void OnPlayerUpdateZone(Player* player, uint32 newZone, uint32 newArea); + void OnQuestObjectiveProgress(Player* player, Quest const* quest, uint32 objectiveIndex, uint16 progress); void OnQuestStatusChange(Player* player, uint32 questId); void OnPlayerRepop(Player* player); |
