summaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptDefines
diff options
context:
space:
mode:
authoriThorgrim <125808072+iThorgrim@users.noreply.github.com>2025-02-04 07:41:29 +0100
committerGitHub <noreply@github.com>2025-02-04 07:41:29 +0100
commit054018232cb8af20d301ad592bd5be1c6a537f3e (patch)
treedcf23fe54346c012ca837d697c1b756b7046b32e /src/server/game/Scripting/ScriptDefines
parent02a903b16f7a95354afde3f51b851d38785be867 (diff)
feat(Core/Scripting): Add new hook OnUnitSetShapeshiftForm (#21235)
Diffstat (limited to 'src/server/game/Scripting/ScriptDefines')
-rw-r--r--src/server/game/Scripting/ScriptDefines/UnitScript.cpp5
-rw-r--r--src/server/game/Scripting/ScriptDefines/UnitScript.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptDefines/UnitScript.cpp b/src/server/game/Scripting/ScriptDefines/UnitScript.cpp
index 5470b3a327..bbf83e5c6a 100644
--- a/src/server/game/Scripting/ScriptDefines/UnitScript.cpp
+++ b/src/server/game/Scripting/ScriptDefines/UnitScript.cpp
@@ -148,6 +148,11 @@ void ScriptMgr::OnUnitDeath(Unit* unit, Unit* killer)
CALL_ENABLED_HOOKS(UnitScript, UNITHOOK_ON_UNIT_DEATH, script->OnUnitDeath(unit, killer));
}
+void ScriptMgr::OnUnitSetShapeshiftForm(Unit* unit, uint8 form)
+{
+ CALL_ENABLED_HOOKS(UnitScript, UNITHOOK_ON_UNIT_SET_SHAPESHIFT_FORM, script->OnUnitSetShapeshiftForm(unit, form));
+}
+
UnitScript::UnitScript(const char* name, bool addToScripts, std::vector<uint16> enabledHooks)
: ScriptObject(name, UNITHOOK_END)
{
diff --git a/src/server/game/Scripting/ScriptDefines/UnitScript.h b/src/server/game/Scripting/ScriptDefines/UnitScript.h
index 27354ec6fa..efee6defe2 100644
--- a/src/server/game/Scripting/ScriptDefines/UnitScript.h
+++ b/src/server/game/Scripting/ScriptDefines/UnitScript.h
@@ -45,6 +45,7 @@ enum UnitHook
UNITHOOK_ON_UNIT_ENTER_EVADE_MODE,
UNITHOOK_ON_UNIT_ENTER_COMBAT,
UNITHOOK_ON_UNIT_DEATH,
+ UNITHOOK_ON_UNIT_SET_SHAPESHIFT_FORM,
UNITHOOK_END
};
@@ -115,6 +116,7 @@ public:
virtual void OnUnitEnterEvadeMode(Unit* /*unit*/, uint8 /*evadeReason*/) { }
virtual void OnUnitEnterCombat(Unit* /*unit*/, Unit* /*victim*/) { }
virtual void OnUnitDeath(Unit* /*unit*/, Unit* /*killer*/) { }
+ virtual void OnUnitSetShapeshiftForm(Unit* /*unit*/, uint8 /*form*/) { }
};
#endif