diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_dk.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index e950ba3c0e6..31a8e5c65cf 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -60,6 +60,7 @@ enum DeathKnightSpells SPELL_DK_FROST = 137006, SPELL_DK_FROST_FEVER = 55095, SPELL_DK_FROST_SCYTHE = 207230, + SPELL_DK_FROST_SHIELD = 207203, SPELL_DK_GLYPH_OF_FOUL_MENAGERIE = 58642, SPELL_DK_GLYPH_OF_THE_GEIST = 58640, SPELL_DK_GLYPH_OF_THE_SKELETON = 146652, @@ -710,6 +711,27 @@ class spell_dk_obliteration : public AuraScript } }; +// 207200 - Permafrost +class spell_dk_permafrost : public AuraScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_DK_FROST_SHIELD }); + } + + void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) + { + CastSpellExtraArgs args(aurEff); + args.AddSpellMod(SPELLVALUE_BASE_POINT0, CalculatePct(eventInfo.GetDamageInfo()->GetDamage(), aurEff->GetAmount())); + GetTarget()->CastSpell(GetTarget(), SPELL_DK_FROST_SHIELD, args); + } + + void Register() override + { + OnEffectProc += AuraEffectProcFn(spell_dk_permafrost::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY); + } +}; + // 121916 - Glyph of the Geist (Unholy) /// 6.x, does this belong here or in spell_generic? apply this in creature_template_addon? sniffs say this is always cast on raise dead. class spell_dk_pet_geist_transform : public SpellScript @@ -943,6 +965,7 @@ void AddSC_deathknight_spell_scripts() RegisterSpellScript(spell_dk_mark_of_blood); RegisterSpellScript(spell_dk_necrosis); RegisterSpellScript(spell_dk_obliteration); + RegisterSpellScript(spell_dk_permafrost); RegisterSpellScript(spell_dk_pet_geist_transform); RegisterSpellScript(spell_dk_pet_skeleton_transform); RegisterSpellScript(spell_dk_pvp_4p_bonus); |