aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/cata_classic/2025_01_11_00_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp18
2 files changed, 21 insertions, 0 deletions
diff --git a/sql/updates/world/cata_classic/2025_01_11_00_world.sql b/sql/updates/world/cata_classic/2025_01_11_00_world.sql
new file mode 100644
index 00000000000..55f6a7fabab
--- /dev/null
+++ b/sql/updates/world/cata_classic/2025_01_11_00_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_dk_howling_blast';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(49184, 'spell_dk_howling_blast');
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index 1c5848675d0..871ef2b2935 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -281,6 +281,23 @@ class spell_dk_blood_plague: public AuraScript
DoEffectCalcDamageAndHealing += AuraEffectCalcDamageFn(spell_dk_blood_plague::CalculateDamage, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
+
+// 49184 - Howling Blast
+class spell_dk_howling_blast : public SpellScript
+{
+ // According to tooltip: (($m2+$M2)/2)+($AP*0.44) and (0.5*((($m2+$M2)/2)+($AP*0.44))) for non-primary targets
+ void CalculateDamage(SpellEffectInfo const& /*effectInfo*/, Unit* victim, int32& damage, int32& /*flatMod*/, float& /*pctMod*/)
+ {
+ damage += GetCaster()->GetTotalAttackPowerValue(BASE_ATTACK) * 0.4f;
+ if (victim != GetExplTargetUnit())
+ damage *= 0.5f;
+ }
+
+ void Register() override
+ {
+ CalcDamage += SpellCalcDamageFn(spell_dk_howling_blast::CalculateDamage);
+ }
+};
}
void AddSC_deathknight_spell_scripts()
@@ -291,6 +308,7 @@ void AddSC_deathknight_spell_scripts()
RegisterSpellScript(spell_dk_dark_simulacrum_buff);
RegisterSpellScript(spell_dk_death_coil);
RegisterSpellScript(spell_dk_frost_fever);
+ RegisterSpellScript(spell_dk_howling_blast);
RegisterSpellScript(spell_dk_icy_touch);
RegisterSpellScript(spell_dk_runic_empowerment);
}