diff options
author | Subv <s.v.h21@hotmail.com> | 2012-07-02 16:41:25 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-07-02 16:41:25 -0500 |
commit | 1292b732f7dba2d189cf4b447d219c9bedf9448c (patch) | |
tree | 07ef7882ed58664d13d6d5736ab26be9c7e39df1 /src/server/scripts | |
parent | c49bc934b820c0e634f0231158ec444275f6fa3e (diff) |
Core/Spells: Fixed Evasive Maneuvers and Stop Time, spells from the Oculus drakes.
Closes #6670
Closes #6675
Diffstat (limited to 'src/server/scripts')
-rw-r--r-- | src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp index 23f55a3033b..d15b3b566bc 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp @@ -47,7 +47,9 @@ enum Drakes NPC_VERDISA = 27657, NPC_BELGARISTRASZ = 27658, - NPC_ETERNOS = 27659 + NPC_ETERNOS = 27659, + + SPELL_SHOCK_CHARGE = 49836, }; enum Says @@ -210,8 +212,40 @@ public: } }; +class spell_gen_stop_time : public SpellScriptLoader +{ +public: + spell_gen_stop_time() : SpellScriptLoader("spell_gen_stop_time") { } + + class spell_gen_stop_time_AuraScript : public AuraScript + { + PrepareAuraScript(spell_gen_stop_time_AuraScript); + + void Apply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + Unit* caster = GetCaster(); + if (!caster) + return; + Unit* target = GetTarget(); + for (uint32 i = 0; i < 5; ++i) + caster->CastSpell(target, SPELL_SHOCK_CHARGE, false); + } + + void Register() + { + AfterEffectApply += AuraEffectApplyFn(spell_gen_stop_time_AuraScript::Apply, EFFECT_0); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_gen_stop_time_AuraScript(); + } +}; + void AddSC_oculus() { new npc_oculus_drake(); new npc_image_belgaristrasz(); + new spell_gen_stop_time(); } |