summaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptDefines
diff options
context:
space:
mode:
authoravarishd <46330494+avarishd@users.noreply.github.com>2023-12-11 00:06:23 +0200
committerGitHub <noreply@github.com>2023-12-10 19:06:23 -0300
commitf476c8a6c9a42726e812ee5521e77ca39790b484 (patch)
treefa6018f7d73533cfa7ed45470dbedbd4a57e4647 /src/server/game/Scripting/ScriptDefines
parentaf03611faf3a4c83f7311cd6652009ac9f3f346d (diff)
feat(Core/Hooks): Add OnPlayerJustDied hook (#17973)
feat(Core/Hooks): Add OnPlayerJustDied
Diffstat (limited to 'src/server/game/Scripting/ScriptDefines')
-rw-r--r--src/server/game/Scripting/ScriptDefines/PlayerScript.cpp8
-rw-r--r--src/server/game/Scripting/ScriptDefines/PlayerScript.h4
2 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp
index cb4dc5afa9..8060d5e32c 100644
--- a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp
+++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp
@@ -67,6 +67,14 @@ void ScriptMgr::OnBattlegroundDesertion(Player* player, BattlegroundDesertionTyp
});
}
+void ScriptMgr::OnPlayerJustDied(Player* player)
+{
+ ExecuteScript<PlayerScript>([&](PlayerScript* script)
+ {
+ script->OnPlayerJustDied(player);
+ });
+}
+
void ScriptMgr::OnPlayerReleasedGhost(Player* player)
{
ExecuteScript<PlayerScript>([&](PlayerScript* script)
diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.h b/src/server/game/Scripting/ScriptDefines/PlayerScript.h
index 23bf4cadfe..7bab66fe41 100644
--- a/src/server/game/Scripting/ScriptDefines/PlayerScript.h
+++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.h
@@ -29,6 +29,10 @@ protected:
PlayerScript(const char* name);
public:
+ // Called when a player dies
+ virtual void OnPlayerJustDied(Player* /*player*/) { }
+
+ // Called when clicking the release button
virtual void OnPlayerReleasedGhost(Player* /*player*/) { }
// Called on Send Initial Packets Before Add To Map