From 073f7d34db5437e5a75df9a1ff8b69e6c2ebc013 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Wed, 31 Aug 2022 12:46:04 +0200 Subject: [PATCH] Core/Spells: fixed Speed of Light and Denounce talents --- .../world/4.3.4/2022_08_31_00_world.sql | 13 +++++++++++ src/server/scripts/Spells/spell_paladin.cpp | 22 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 sql/updates/world/4.3.4/2022_08_31_00_world.sql diff --git a/sql/updates/world/4.3.4/2022_08_31_00_world.sql b/sql/updates/world/4.3.4/2022_08_31_00_world.sql new file mode 100644 index 00000000000..1ad1622bc26 --- /dev/null +++ b/sql/updates/world/4.3.4/2022_08_31_00_world.sql @@ -0,0 +1,13 @@ +-- Denounce Talent +DELETE FROM `spell_proc` WHERE `SpellId`= -31825; +INSERT INTO `spell_proc` (`SpellId`, `SpellFamilyName`, `SpellFamilyMask1`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`) VALUES +(-31825, 10, 0x2, 0x1, 0x2, 0x0); + +-- Speed of Light Talent +DELETE FROM `spell_proc` WHERE `SpellId`= -85495; +INSERT INTO `spell_proc` (`SpellId`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`) VALUES +(-85495, 10, 0x400000, 0x4, 0x1, 0x0); + +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_pal_speed_of_light'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(-85495, 'spell_pal_speed_of_light'); diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 21c09dcc63a..ee97fc45aa7 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -96,6 +96,7 @@ enum PaladinSpells SPELL_PALADIN_SEAL_OF_TRUTH = 31801, SPELL_PALADIN_SEAL_OF_TRUTH_DAMAGE = 42463, SPELL_PALADIN_SEAL_OF_JUSTICE = 20164, + SPELL_PALADIN_SPEED_OF_LIGHT = 85497, SPELL_PALADIN_SWIFT_RETRIBUTION_R1 = 53379, SPELL_PALADIN_TEMPLARS_VERDICT = 85256, SPELL_PALADIN_TWO_HANDED_WEAPON_SPECIALIZATION = 20113 @@ -1814,6 +1815,26 @@ class spell_pal_repentance : public AuraScript } }; +// -85495 - Speed of Light +class spell_pal_speed_of_light : public AuraScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_PALADIN_SPEED_OF_LIGHT }); + } + + void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/) + { + PreventDefaultAction(); + GetTarget()->CastSpell(nullptr, SPELL_PALADIN_SPEED_OF_LIGHT, CastSpellExtraArgs().AddSpellBP0(aurEff->GetAmount())); + } + + void Register() override + { + OnEffectProc.Register(&spell_pal_speed_of_light::HandleProc, EFFECT_1, SPELL_AURA_DUMMY); + } +}; + void AddSC_paladin_spell_scripts() { RegisterSpellScript(spell_pal_ardent_defender); @@ -1862,6 +1883,7 @@ void AddSC_paladin_spell_scripts() RegisterSpellScript(spell_pal_seal_of_truth); RegisterSpellScript(spell_pal_shield_of_the_righteous); RegisterSpellScript(spell_pal_selfless_healer); + RegisterSpellScript(spell_pal_speed_of_light); RegisterSpellScript(spell_pal_templar_s_verdict); RegisterSpellScript(spell_pal_tower_of_radiance); RegisterSpellAndAuraScriptPair(spell_pal_word_of_glory, spell_pal_word_of_glory_AuraScript);