aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp3
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp5
-rw-r--r--src/server/game/Scripting/ScriptMgr.h4
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 */