From 90cdb1ed0d3c46ab046b2dd0c63768df63285ccd Mon Sep 17 00:00:00 2001 From: aquadeus <95978183+aquadeus@users.noreply.github.com> Date: Sat, 25 Dec 2021 12:51:35 +0100 Subject: [PATCH] Scripts/Spells: Fixed warlock shadow bolt energize (#27440) --- ...021_12_25_00_world_warlock_shadow_bolt.sql | 3 +++ src/server/scripts/Spells/spell_warlock.cpp | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 sql/updates/world/master/2021_12_25_00_world_warlock_shadow_bolt.sql diff --git a/sql/updates/world/master/2021_12_25_00_world_warlock_shadow_bolt.sql b/sql/updates/world/master/2021_12_25_00_world_warlock_shadow_bolt.sql new file mode 100644 index 00000000000..eb72d88c782 --- /dev/null +++ b/sql/updates/world/master/2021_12_25_00_world_warlock_shadow_bolt.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_warl_shadow_bolt'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(686 ,'spell_warl_shadow_bolt'); diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index acd01840b92..c327e9d9539 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -51,6 +51,7 @@ enum WarlockSpells SPELL_WARLOCK_RAIN_OF_FIRE_DAMAGE = 42223, SPELL_WARLOCK_SEED_OF_CORRUPTION_DAMAGE = 27285, SPELL_WARLOCK_SEED_OF_CORRUPTION_GENERIC = 32865, + SPELL_WARLOCK_SHADOW_BOLT_ENERGIZE = 194192, SPELL_WARLOCK_SOULSHATTER_EFFECT = 32835, SPELL_WARLOCK_SOUL_SWAP_CD_MARKER = 94229, SPELL_WARLOCK_SOUL_SWAP_OVERRIDE = 86211, @@ -611,6 +612,27 @@ class spell_warl_seed_of_corruption_generic : public SpellScriptLoader } }; +// 686 - Shadow Bolt +class spell_warl_shadow_bolt : public SpellScript +{ + PrepareSpellScript(spell_warl_shadow_bolt); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo ({ SPELL_WARLOCK_SHADOW_BOLT_ENERGIZE }); + } + + void HandleAfterCast() + { + GetCaster()->CastSpell(GetCaster(), SPELL_WARLOCK_SHADOW_BOLT_ENERGIZE, true); + } + + void Register() override + { + AfterCast += SpellCastFn(spell_warl_shadow_bolt::HandleAfterCast); + } +}; + // 86121 - Soul Swap class spell_warl_soul_swap : public SpellScriptLoader { @@ -984,6 +1006,7 @@ void AddSC_warlock_spell_scripts() new spell_warl_seed_of_corruption(); new spell_warl_seed_of_corruption_dummy(); new spell_warl_seed_of_corruption_generic(); + RegisterSpellScript(spell_warl_shadow_bolt); new spell_warl_soul_swap(); new spell_warl_soul_swap_dot_marker(); new spell_warl_soul_swap_exhale();