aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2025_05_20_01_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp31
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);
}