diff options
-rw-r--r-- | sql/updates/world/master/2025_05_20_01_world.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_dk.cpp | 31 |
2 files changed, 34 insertions, 0 deletions
diff --git a/sql/updates/world/master/2025_05_20_01_world.sql b/sql/updates/world/master/2025_05_20_01_world.sql new file mode 100644 index 00000000000..d399d03a62f --- /dev/null +++ b/sql/updates/world/master/2025_05_20_01_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dk_voracious'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(49998, 'spell_dk_voracious'); diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index b988b506c2b..44382fae93a 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -103,6 +103,8 @@ enum DeathKnightSpells SPELL_DK_UNHOLY_GROUND_HASTE = 374271, SPELL_DK_UNHOLY_GROUND_TALENT = 374265, SPELL_DK_UNHOLY_VIGOR = 196263, + SPELL_DH_VORACIOUS_LEECH = 274009, + SPELL_DH_VORACIOUS_TALENT = 273953 }; enum Misc @@ -1312,6 +1314,34 @@ class spell_dk_vampiric_blood : public AuraScript } }; +// 273953 - Voracious (attached to 49998 - Death Strike) +class spell_dk_voracious : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_DH_VORACIOUS_TALENT, SPELL_DH_VORACIOUS_LEECH }); + } + + bool Load() override + { + return GetCaster()->HasAura(SPELL_DH_VORACIOUS_TALENT); + } + + void HandleHit(SpellEffIndex /*effIndex*/) const + { + Unit* caster = GetCaster(); + caster->CastSpell(caster, SPELL_DH_VORACIOUS_LEECH, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringSpell = GetSpell() + }); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_dk_voracious::HandleHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); + } +}; + // 43265 - Death and Decay struct at_dk_death_and_decay : AreaTriggerAI { @@ -1396,6 +1426,7 @@ void AddSC_deathknight_spell_scripts() RegisterSpellScript(spell_dk_subduing_grasp); RegisterSpellScript(spell_dk_t20_2p_rune_empowered); RegisterSpellScript(spell_dk_vampiric_blood); + RegisterSpellScript(spell_dk_voracious); RegisterAreaTriggerAI(at_dk_death_and_decay); } |