aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLopin <davca.hr@seznam.cz>2011-08-19 13:34:05 +0200
committerLopin <davca.hr@seznam.cz>2011-08-19 13:34:05 +0200
commitce7cc421f505f72ba477c4cda003c64f1efa9d67 (patch)
tree0ae175e7fe255e9136eebe2f99bfbd83a11df953 /src
parent2653ef3e9458c04a62762e359459ed35c5f9c989 (diff)
Core/Spells: Fixed Magic Eater Food. Closes #2619
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_item.cpp62
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();
}