aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index 0d7f9f3da31..18220f6ce32 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -24,7 +24,9 @@
#include "ScriptMgr.h"
#include "Containers.h"
#include "ObjectMgr.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "Spell.h"
#include "SpellAuraEffects.h"
#include "SpellHistory.h"
#include "SpellScript.h"
@@ -52,6 +54,7 @@ enum DeathKnightSpells
SPELL_DK_DEATH_STRIKE_OFFHAND = 66188,
SPELL_DK_FESTERING_WOUND = 194310,
SPELL_DK_FROST = 137006,
+ SPELL_DK_FROST_FEVER = 55095,
SPELL_DK_FROST_SCYTHE = 207230,
SPELL_DK_GLYPH_OF_FOUL_MENAGERIE = 58642,
SPELL_DK_GLYPH_OF_THE_GEIST = 58640,
@@ -636,6 +639,27 @@ class spell_dk_glyph_of_scourge_strike_script : public SpellScript
}
};
+// 49184 - Howling Blast
+class spell_dk_howling_blast : public SpellScript
+{
+ PrepareSpellScript(spell_dk_howling_blast);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_DK_FROST_FEVER });
+ }
+
+ void HandleFrostFever(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_DK_FROST_FEVER);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_dk_howling_blast::HandleFrostFever, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
+ }
+};
+
// 206940 - Mark of Blood
class spell_dk_mark_of_blood : public AuraScript
{
@@ -854,6 +878,7 @@ void AddSC_deathknight_spell_scripts()
RegisterSpellScript(spell_dk_festering_strike);
RegisterSpellScript(spell_dk_ghoul_explode);
RegisterSpellScript(spell_dk_glyph_of_scourge_strike_script);
+ RegisterSpellScript(spell_dk_howling_blast);
RegisterSpellScript(spell_dk_mark_of_blood);
RegisterSpellScript(spell_dk_necrosis);
RegisterSpellScript(spell_dk_pet_geist_transform);