diff options
author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2019-02-15 20:29:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-15 20:29:14 +0100 |
commit | 5b7ead65bb116195f4336934bcff830e1b2af5bb (patch) | |
tree | a1c3ad975a1f50c77784b22f4ef593ba22e1e2c0 /src/server/game/Scripting/ScriptMgr.cpp | |
parent | a0056951f7e425341760ebf3a7770477ef7f4446 (diff) |
Core/Scripts: Change PlayerScript and CreatureScript inheritance (#23048)
Remove UnitScript from PlayerScript and CreatureScript classes as that's how the original system that was PR'd worked, see https://github.com/TrinityCore/TrinityCore/pull/7867 for reference.
Please note these are used as global hooks and should really just invoke stateless functions.
If you need to hook methods from PlayerScript/CreatureScript and UnitScript, just define 2 different scripts (this is how the original system worked and how it was designed to work)
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.cpp')
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index bf4ea2a611b..f5733ce5d2a 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -2084,31 +2084,26 @@ void ScriptMgr::OnGroupDisband(Group* group) void ScriptMgr::OnHeal(Unit* healer, Unit* reciever, uint32& gain) { FOREACH_SCRIPT(UnitScript)->OnHeal(healer, reciever, gain); - FOREACH_SCRIPT(PlayerScript)->OnHeal(healer, reciever, gain); } void ScriptMgr::OnDamage(Unit* attacker, Unit* victim, uint32& damage) { FOREACH_SCRIPT(UnitScript)->OnDamage(attacker, victim, damage); - FOREACH_SCRIPT(PlayerScript)->OnDamage(attacker, victim, damage); } void ScriptMgr::ModifyPeriodicDamageAurasTick(Unit* target, Unit* attacker, uint32& damage) { FOREACH_SCRIPT(UnitScript)->ModifyPeriodicDamageAurasTick(target, attacker, damage); - FOREACH_SCRIPT(PlayerScript)->ModifyPeriodicDamageAurasTick(target, attacker, damage); } void ScriptMgr::ModifyMeleeDamage(Unit* target, Unit* attacker, uint32& damage) { FOREACH_SCRIPT(UnitScript)->ModifyMeleeDamage(target, attacker, damage); - FOREACH_SCRIPT(PlayerScript)->ModifyMeleeDamage(target, attacker, damage); } void ScriptMgr::ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage) { FOREACH_SCRIPT(UnitScript)->ModifySpellDamageTaken(target, attacker, damage); - FOREACH_SCRIPT(PlayerScript)->ModifySpellDamageTaken(target, attacker, damage); } SpellScriptLoader::SpellScriptLoader(char const* name) @@ -2135,11 +2130,10 @@ FormulaScript::FormulaScript(char const* name) ScriptRegistry<FormulaScript>::Instance()->AddScript(this); } -UnitScript::UnitScript(char const* name, bool addToScripts) +UnitScript::UnitScript(char const* name) : ScriptObject(name) { - if (addToScripts) - ScriptRegistry<UnitScript>::Instance()->AddScript(this); + ScriptRegistry<UnitScript>::Instance()->AddScript(this); } WorldMapScript::WorldMapScript(char const* name, uint32 mapId) @@ -2185,7 +2179,7 @@ ItemScript::ItemScript(char const* name) } CreatureScript::CreatureScript(char const* name) - : UnitScript(name, false) + : ScriptObject(name) { ScriptRegistry<CreatureScript>::Instance()->AddScript(this); } @@ -2278,7 +2272,7 @@ AchievementCriteriaScript::AchievementCriteriaScript(char const* name) } PlayerScript::PlayerScript(char const* name) - : UnitScript(name, false) + : ScriptObject(name) { ScriptRegistry<PlayerScript>::Instance()->AddScript(this); } |