aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index 5de35a0f760..9c0cbd56ba7 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -80,6 +80,7 @@ enum DeathKnightSpells
SPELL_DK_RUNIC_RETURN = 61258,
SPELL_DK_SLUDGE_BELCHER = 207313,
SPELL_DK_SLUDGE_BELCHER_SUMMON = 212027,
+ SPELL_DK_SMOTHERING_OFFENSE = 435005,
SPELL_DK_DEATH_STRIKE_ENABLER = 89832, // Server Side
SPELL_DK_TIGHTENING_GRASP = 206970,
//SPELL_DK_TIGHTENING_GRASP_SLOW = 143375, // dropped in BfA
@@ -750,6 +751,43 @@ class spell_dk_howling_blast : public SpellScript
}
};
+// 194878 - Icy Talons
+class spell_dk_icy_talons : public AuraScript
+{
+ bool CheckProc(AuraEffect const* /*aurEff*/, ProcEventInfo const& eventInfo) const
+ {
+ if (Spell const* procSpell = eventInfo.GetProcSpell())
+ return procSpell->GetPowerTypeCostAmount(POWER_RUNIC_POWER) > 0;
+
+ return false;
+ }
+
+ void Register() override
+ {
+ DoCheckEffectProc += AuraCheckEffectProcFn(spell_dk_icy_talons::CheckProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE);
+ }
+};
+
+// 194879 - Icy Talons
+class spell_dk_icy_talons_buff : public SpellScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_DK_SMOTHERING_OFFENSE });
+ }
+
+ void HandleSmotheringOffense(WorldObject*& target) const
+ {
+ if (!GetCaster()->HasAura(SPELL_DK_SMOTHERING_OFFENSE))
+ target = nullptr;
+ }
+
+ void Register() override
+ {
+ OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_dk_icy_talons_buff::HandleSmotheringOffense, EFFECT_1, TARGET_UNIT_CASTER);
+ }
+};
+
// 206940 - Mark of Blood
class spell_dk_mark_of_blood : public AuraScript
{
@@ -1071,6 +1109,8 @@ void AddSC_deathknight_spell_scripts()
RegisterSpellScript(spell_dk_ghoul_explode);
RegisterSpellScript(spell_dk_glyph_of_scourge_strike_script);
RegisterSpellScript(spell_dk_howling_blast);
+ RegisterSpellScript(spell_dk_icy_talons);
+ RegisterSpellScript(spell_dk_icy_talons_buff);
RegisterSpellScript(spell_dk_mark_of_blood);
RegisterSpellScript(spell_dk_necrosis);
RegisterSpellScript(spell_dk_obliteration);