diff options
author | Lopin <davca.hr@seznam.cz> | 2011-08-19 13:34:05 +0200 |
---|---|---|
committer | Lopin <davca.hr@seznam.cz> | 2011-08-19 13:34:05 +0200 |
commit | ce7cc421f505f72ba477c4cda003c64f1efa9d67 (patch) | |
tree | 0ae175e7fe255e9136eebe2f99bfbd83a11df953 /src | |
parent | 2653ef3e9458c04a62762e359459ed35c5f9c989 (diff) |
Core/Spells: Fixed Magic Eater Food. Closes #2619
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_item.cpp | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index 4d2cd15199b..e2f37912931 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -1067,6 +1067,67 @@ class spell_item_ashbringer : public SpellScriptLoader } }; +enum MagicEater +{ + SPELL_WILD_MAGIC = 58891, + SPELL_WELL_FED_1 = 57288, + SPELL_WELL_FED_2 = 57139, + SPELL_WELL_FED_3 = 57111, + SPELL_WELL_FED_4 = 57286, + SPELL_WELL_FED_5 = 57291, +}; + +class spell_magic_eater_food : public SpellScriptLoader +{ + public: + spell_magic_eater_food() : SpellScriptLoader("spell_magic_eater_food") + { + } + + class spell_magic_eater_food_AuraScript : public AuraScript + { + PrepareAuraScript(spell_magic_eater_food_AuraScript); + + void HandleTriggerSpell(AuraEffect const* aurEff) + { + PreventDefaultAction(); + Unit* target = GetTarget(); + + switch (urand(0, 5)) + { + case 0: + target->CastSpell(target, SPELL_WILD_MAGIC, true); + break; + case 1: + target->CastSpell(target, SPELL_WELL_FED_1, true); + break; + case 2: + target->CastSpell(target, SPELL_WELL_FED_2, true); + break; + case 3: + target->CastSpell(target, SPELL_WELL_FED_3, true); + break; + case 4: + target->CastSpell(target, SPELL_WELL_FED_4, true); + break; + case 5: + target->CastSpell(target, SPELL_WELL_FED_5, true); + break; + } + } + + void Register() + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_magic_eater_food_AuraScript::HandleTriggerSpell, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_magic_eater_food_AuraScript(); + } +}; + void AddSC_item_spell_scripts() { // 23074 Arcanite Dragonling @@ -1098,4 +1159,5 @@ void AddSC_item_spell_scripts() new spell_item_vanquished_clutches(); new spell_item_ashbringer(); + new spell_magic_eater_food(); } |