aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-05-15 15:52:17 +0200
committerShauren <shauren.trinity@gmail.com>2021-05-15 17:44:31 +0200
commit12ed21e690d58574d4e404c37448e1749f1b80f3 (patch)
tree69f5b52da42993dd2f540e2c7f7eb8de133e72ee /src
parent331c7ec7c268d522ead3229247a4c37db4393226 (diff)
Scripts/Spells: Clear arcane charge damage/cost/cast time modifier aura when reaching 0 arcane charges (power)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp23
1 files changed, 23 insertions, 0 deletions
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);