diff --git a/Source/Game/Entities/Player/Player.cs b/Source/Game/Entities/Player/Player.cs index fb555e138..33c34ee3b 100644 --- a/Source/Game/Entities/Player/Player.cs +++ b/Source/Game/Entities/Player/Player.cs @@ -4260,6 +4260,9 @@ namespace Game.Entities // set and clear other SetAnimTier(UnitBytes1Flags.AlwaysStand, false); + + // OnPlayerRepop hook + Global.ScriptMgr.OnPlayerRepop(this); } public void StopMirrorTimers() diff --git a/Source/Game/Scripting/CoreScripts.cs b/Source/Game/Scripting/CoreScripts.cs index f460a5bbc..0714c20be 100644 --- a/Source/Game/Scripting/CoreScripts.cs +++ b/Source/Game/Scripting/CoreScripts.cs @@ -663,6 +663,9 @@ namespace Game.Scripting // Called after a player's quest status has been changed public virtual void OnQuestStatusChange(Player player, uint questId) { } + // Called when a player presses release when he died + public virtual void OnPlayerRepop(Player player) { } + // Called when a player completes a movie public virtual void OnMovieComplete(Player player, uint movieId) { } diff --git a/Source/Game/Scripting/ScriptManager.cs b/Source/Game/Scripting/ScriptManager.cs index 00681eb80..5667f9c0c 100644 --- a/Source/Game/Scripting/ScriptManager.cs +++ b/Source/Game/Scripting/ScriptManager.cs @@ -1198,6 +1198,10 @@ namespace Game.Scripting { ForEach(p => p.OnUpdateZone(player, newZone, newArea)); } + public void OnPlayerRepop(Player player) + { + ForEach(p => p.OnPlayerRepop(player)); + } public void OnQuestStatusChange(Player player, uint questId) { ForEach(p => p.OnQuestStatusChange(player, questId));