diff --git a/src/game/Entities/Player/Player.cpp b/src/game/Entities/Player/Player.cpp index 26f93c603..f08cb57b7 100644 --- a/src/game/Entities/Player/Player.cpp +++ b/src/game/Entities/Player/Player.cpp @@ -5148,6 +5148,8 @@ void Player::BuildPlayerRepop() // set and clear other SetByteValue(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND); + + sScriptMgr->OnPlayerReleasedGhost(this); } void Player::ResurrectPlayer(float restore_percent, bool applySickness) diff --git a/src/game/Scripting/ScriptMgr.cpp b/src/game/Scripting/ScriptMgr.cpp index 95aebda24..356ac8313 100644 --- a/src/game/Scripting/ScriptMgr.cpp +++ b/src/game/Scripting/ScriptMgr.cpp @@ -1159,6 +1159,11 @@ bool ScriptMgr::OnCriteriaCheck(uint32 scriptId, Player* source, Unit* target) } // Player +void ScriptMgr::OnPlayerReleasedGhost(Player* player) +{ + FOREACH_SCRIPT(PlayerScript)->OnPlayerReleasedGhost(player); +} + void ScriptMgr::OnPVPKill(Player* killer, Player* killed) { FOREACH_SCRIPT(PlayerScript)->OnPVPKill(killer, killed); diff --git a/src/game/Scripting/ScriptMgr.h b/src/game/Scripting/ScriptMgr.h index 6f8b030db..9ef21f775 100644 --- a/src/game/Scripting/ScriptMgr.h +++ b/src/game/Scripting/ScriptMgr.h @@ -757,6 +757,7 @@ class PlayerScript : public ScriptObject PlayerScript(const char* name); public: + virtual void OnPlayerReleasedGhost(Player* /*player*/) { } // Called when a player kills another player virtual void OnPVPKill(Player* /*killer*/, Player* /*killed*/) { } @@ -1171,6 +1172,7 @@ class ScriptMgr public: /* PlayerScript */ + void OnPlayerReleasedGhost(Player* player); void OnPVPKill(Player* killer, Player* killed); void OnCreatureKill(Player* killer, Creature* killed); void OnPlayerKilledByCreature(Creature* killer, Player* killed);