diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 86eefa043cd..9e969887ba6 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4711,6 +4711,9 @@ void Player::BuildPlayerRepop() // set and clear other SetByteValue(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_ANIM_TIER, UNIT_BYTE1_FLAG_ALWAYS_STAND); + + // OnPlayerRepop hook + sScriptMgr->OnPlayerRepop(this); } void Player::ResurrectPlayer(float restore_percent, bool applySickness) diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 621580a689b..f04f288a828 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -2160,6 +2160,11 @@ void ScriptMgr::OnQuestStatusChange(Player* player, uint32 questId) FOREACH_SCRIPT(PlayerScript)->OnQuestStatusChange(player, questId); } +void ScriptMgr::OnPlayerRepop(Player* player) +{ + FOREACH_SCRIPT(PlayerScript)->OnPlayerRepop(player); +} + // Account void ScriptMgr::OnAccountLogin(uint32 accountId) { diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 996a6579cf6..c47c75f3a9a 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -742,6 +742,9 @@ class TC_GAME_API PlayerScript : public UnitScript // Called after a player's quest status has been changed virtual void OnQuestStatusChange(Player* /*player*/, uint32 /*questId*/) { } + + // Called when a player presses release when he died + virtual void OnPlayerRepop(Player* /*player*/) { } }; class TC_GAME_API AccountScript : public ScriptObject @@ -1072,6 +1075,7 @@ class TC_GAME_API ScriptMgr void OnPlayerBindToInstance(Player* player, Difficulty difficulty, uint32 mapid, bool permanent, uint8 extendState); void OnPlayerUpdateZone(Player* player, uint32 newZone, uint32 newArea); void OnQuestStatusChange(Player* player, uint32 questId); + void OnPlayerRepop(Player* player); public: /* AccountScript */ |