aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2025-05-20 12:49:15 +0200
committerGitHub <noreply@github.com>2025-05-20 12:49:15 +0200
commit64e0a1b55ade115f993cc5036d439da9d4731a11 (patch)
tree0be4a7a9fdf9dcf8c6165ccd51ddc208de1e199f /src
parent4be26bcadd443b358ef025a2bead54967a3fb659 (diff)
Scripts/Spells: Implement death knight talent Voracious (#30960)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp31
1 files changed, 31 insertions, 0 deletions
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);
}