Scripts/Spells: Clear arcane charge damage/cost/cast time modifier aura when reaching 0 arcane charges (power)

This commit is contained in:
Shauren
2021-05-15 15:52:17 +02:00
parent 331c7ec7c2
commit 12ed21e690
2 changed files with 25 additions and 1 deletions

View File

@@ -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);

View File

@@ -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);