aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKittnz <frederik156@hotmail.com>2017-02-07 17:28:16 +0100
committerShauren <shauren.trinity@gmail.com>2019-06-15 18:41:09 +0200
commit5291842a33ac535db351072a230e3da6e43123a7 (patch)
tree8f0154b46dea17e190e5b1febedd504fc94fa096 /src
parentcc020b2a0f36f91bf7fe6f3775c47c83305816bc (diff)
Game/Scripting: Add OnPlayerRepop hook
Called when a player presses release when he died (cherrypicked from d550ba73927350c3f79ff6804609cf2f5d368987)
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 b3a133c347e..476e2553966 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -4283,6 +4283,9 @@ void Player::BuildPlayerRepop()
// set and clear other
SetAnimTier(UNIT_BYTE1_FLAG_ALWAYS_STAND, false);
+
+ // 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 73cfa4c5d89..3ed7f855868 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -2294,6 +2294,11 @@ void ScriptMgr::OnQuestStatusChange(Player* player, uint32 questId)
FOREACH_SCRIPT(PlayerScript)->OnQuestStatusChange(player, questId);
}
+void ScriptMgr::OnPlayerRepop(Player* player)
+{
+ FOREACH_SCRIPT(PlayerScript)->OnPlayerRepop(player);
+}
+
void ScriptMgr::OnMovieComplete(Player* player, uint32 movieId)
{
FOREACH_SCRIPT(PlayerScript)->OnMovieComplete(player, movieId);
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 1a94330c208..fae7e67ba47 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -753,6 +753,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*/) { }
+
// Called when a player completes a movie
virtual void OnMovieComplete(Player* /*player*/, uint32 /*movieId*/) { }
@@ -1145,6 +1148,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);
void OnMovieComplete(Player* player, uint32 movieId);
void OnPlayerChoiceResponse(Player* player, uint32 choiceId, uint32 responseId);