diff options
author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2022-07-03 18:01:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-03 18:01:29 +0200 |
commit | 19a627b23ee2fb00d48fdf24fbdcefeae775455e (patch) | |
tree | 10ae8c74a12b30747c0e6e250db6eb7b16200026 | |
parent | ebf1b6eb5cbfd1dc8f1b0d26c29ae1423784cabb (diff) |
Scripts/Spells: Fix damage on primart target of mage talent Supernova (#28061)
-rw-r--r-- | sql/updates/world/master/2022_07_03_01_world_mage_supernova.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_mage.cpp | 22 |
2 files changed, 25 insertions, 0 deletions
diff --git a/sql/updates/world/master/2022_07_03_01_world_mage_supernova.sql b/sql/updates/world/master/2022_07_03_01_world_mage_supernova.sql new file mode 100644 index 00000000000..8ee80f0f6f4 --- /dev/null +++ b/sql/updates/world/master/2022_07_03_01_world_mage_supernova.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` = 157980; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(157980, 'spell_mage_supernova'); diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index ff13accd597..ecd0f5a086f 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -1221,6 +1221,27 @@ class spell_mage_ring_of_frost_freeze_AuraScript : public AuraScript } }; +// 157980 - Supernova +class spell_mage_supernova : public SpellScript +{ + PrepareSpellScript(spell_mage_supernova); + + void HandleDamage(SpellEffIndex /*effIndex*/) + { + if (GetExplTargetUnit() == GetHitUnit()) + { + uint32 damage = GetHitDamage(); + AddPct(damage, GetEffectInfo(EFFECT_0).CalcValue()); + SetHitDamage(damage); + } + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_mage_supernova::HandleDamage, EFFECT_1, SPELL_EFFECT_SCHOOL_DAMAGE); + } +}; + // 80353 - Time Warp class spell_mage_time_warp : public SpellScript { @@ -1361,6 +1382,7 @@ void AddSC_mage_spell_scripts() RegisterSpellScript(spell_mage_prismatic_barrier); RegisterSpellScript(spell_mage_ring_of_frost); RegisterSpellAndAuraScriptPair(spell_mage_ring_of_frost_freeze, spell_mage_ring_of_frost_freeze_AuraScript); + RegisterSpellScript(spell_mage_supernova); RegisterSpellScript(spell_mage_time_warp); RegisterSpellScript(spell_mage_touch_of_the_magi_aura); RegisterSpellScript(spell_mage_water_elemental_freeze); |