diff options
-rw-r--r-- | sql/updates/world/master/2021_05_15_00_world_mage_spells.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_mage.cpp | 23 |
2 files changed, 25 insertions, 1 deletions
diff --git a/sql/updates/world/master/2021_05_15_00_world_mage_spells.sql b/sql/updates/world/master/2021_05_15_00_world_mage_spells.sql index ef4192aa335..1aab8c7ee89 100644 --- a/sql/updates/world/master/2021_05_15_00_world_mage_spells.sql +++ b/sql/updates/world/master/2021_05_15_00_world_mage_spells.sql @@ -1,7 +1,8 @@ -- Mage Spells -DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_mage_arcane_barrage', 'spell_mage_arcane_explosion'); +DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_mage_arcane_barrage', 'spell_mage_arcane_explosion', 'spell_mage_arcane_charge_clear'); INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (44425, 'spell_mage_arcane_barrage'), +(195302, 'spell_mage_arcane_charge_clear'), (1449, 'spell_mage_arcane_explosion'); DELETE FROM `spell_proc` WHERE `SpellId` IN (36032); diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index 461a093be3e..614933b8452 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -35,6 +35,7 @@ enum MageSpells { SPELL_MAGE_ARCANE_BARRAGE_ENERGIZE = 321529, SPELL_MAGE_ARCANE_BARRAGE_R3 = 321526, + SPELL_MAGE_ARCANE_CHARGE = 36032, SPELL_MAGE_ARCANE_MAGE = 137021, SPELL_MAGE_BLAZING_BARRIER_TRIGGER = 235314, SPELL_MAGE_CAUTERIZE_DOT = 87023, @@ -121,6 +122,27 @@ class spell_mage_arcane_barrage : public SpellScript ObjectGuid _primaryTarget; }; +// 195302 - Arcane Charge +class spell_mage_arcane_charge_clear : public SpellScript +{ + PrepareSpellScript(spell_mage_arcane_charge_clear); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_MAGE_ARCANE_CHARGE }); + } + + void RemoveArcaneCharge(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->RemoveAurasDueToSpell(SPELL_MAGE_ARCANE_CHARGE); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_mage_arcane_charge_clear::RemoveArcaneCharge, EFFECT_0, SPELL_EFFECT_DUMMY); + } +}; + // 1449 - Arcane Explosion class spell_mage_arcane_explosion : public SpellScript { @@ -961,6 +983,7 @@ class spell_mage_water_elemental_freeze : public SpellScript void AddSC_mage_spell_scripts() { RegisterSpellScript(spell_mage_arcane_barrage); + RegisterSpellScript(spell_mage_arcane_charge_clear); RegisterSpellScript(spell_mage_arcane_explosion); RegisterAuraScript(spell_mage_blazing_barrier); RegisterAuraScript(spell_mage_burning_determination); |