diff --git a/sql/updates/world/custom/custom_2019_02_12_02_world.sql b/sql/updates/world/custom/custom_2019_02_12_02_world.sql new file mode 100644 index 00000000000..3c9993db7df --- /dev/null +++ b/sql/updates/world/custom/custom_2019_02_12_02_world.sql @@ -0,0 +1,4 @@ +UPDATE `spell_proc` SET `Charges`= 0 WHERE `SpellId`=44544; +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_mage_fingers_of_frost_charges'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(44544, 'spell_mage_fingers_of_frost_charges'); diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index c75a84ae0c5..60945a46a80 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -2140,6 +2140,25 @@ class spell_mage_deep_freeze : public SpellScript } }; +class spell_mage_fingers_of_frost_charges : public AuraScript +{ + PrepareAuraScript(spell_mage_fingers_of_frost_charges); + + void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/) + { + PreventDefaultAction(); + if (GetStackAmount() > 1) + SetStackAmount(GetStackAmount() - 1); + else + Remove(); + } + + void Register() override + { + OnEffectProc += AuraEffectProcFn(spell_mage_fingers_of_frost_charges::HandleProc, EFFECT_0, SPELL_AURA_ABILITY_IGNORE_AURASTATE); + } +}; + void AddSC_mage_spell_scripts() { new spell_mage_arcane_potency(); @@ -2156,6 +2175,7 @@ void AddSC_mage_spell_scripts() new spell_mage_flame_orb(); new spell_mage_flame_orb_aoe_dummy(); new spell_mage_focus_magic(); + RegisterAuraScript(spell_mage_fingers_of_frost_charges); RegisterSpellScript(spell_mage_frostbolt); new spell_mage_hot_streak(); new spell_mage_ice_barrier();