diff options
-rwxr-xr-x | src/server/game/Maps/ZoneScript.h | 1 | ||||
-rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Maps/ZoneScript.h b/src/server/game/Maps/ZoneScript.h index 4360c38cba2..d9e8d132831 100755 --- a/src/server/game/Maps/ZoneScript.h +++ b/src/server/game/Maps/ZoneScript.h @@ -47,6 +47,7 @@ class ZoneScript virtual void SetData(uint32 /*DataId*/, uint32 /*Value*/) {} virtual void ProcessEvent(GameObject * /*obj*/, uint32 /*eventId*/) {} + virtual void ProcessEvent(Unit* /*unit*/, uint32 /*eventId*/) {} }; #endif
\ No newline at end of file diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 0a27601b6f5..389c848c135 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -2175,6 +2175,12 @@ void Spell::EffectSendEvent(SpellEffIndex effIndex) else pTarget = NULL; + if (unitTarget) + { + if (ZoneScript* zoneScript = unitTarget->GetZoneScript()) + zoneScript->ProcessEvent(unitTarget, m_spellInfo->EffectMiscValue[effIndex]); + } + m_caster->GetMap()->ScriptsStart(sEventScripts, m_spellInfo->EffectMiscValue[effIndex], m_caster, pTarget); } |