aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2024-12-20 21:22:34 +0100
committerOvahlord <dreadkiller@gmx.de>2024-12-20 21:23:39 +0100
commit2ddc37e26543eb6920aa755df09674ebc6b4cd14 (patch)
tree74bb99a00ada24f6bd8fd42756f506ef611dc171 /src/server/scripts
parenta2925358f00a41b601b53f7ea62ee10a9b75fc45 (diff)
Scripts/Spells: fixed damage calculations for Icy Touch and Frost Fever
Diffstat (limited to 'src/server/scripts')
-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 44f09092508..dbe0511fbd9 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -236,10 +236,41 @@ private:
bool _healTarget = false;
};
+// 45477 - Icy Touch
+class spell_dk_icy_touch : public SpellScript
+{
+ void CalculateDamage(Unit* /*victim*/, int32& damage, int32& /*flatMod*/, float& /*pctMod*/)
+ {
+ damage += GetCaster()->GetTotalAttackPowerValue(BASE_ATTACK) * 0.2f;
+ }
+
+ void Register() override
+ {
+ CalcDamage += SpellCalcDamageFn(spell_dk_icy_touch::CalculateDamage);
+ }
+};
+
+// 55095 - Frost Fever
+class spell_dk_frost_fever : public AuraScript
+{
+ // According to tooltip: ($m1*1.15+$AP*0.055*1.15)
+ void CalculateDamage(AuraEffect const* /*aurEff*/, Unit* /*victim*/, int32& damage, int32& /*flatMod*/, float& /*pctMod*/)
+ {
+ damage = damage * 1.15f + GetCaster()->GetTotalAttackPowerValue(BASE_ATTACK) * 0.055f * 1.15f;
+ }
+
+ void Register() override
+ {
+ DoEffectCalcDamageAndHealing += AuraEffectCalcDamageFn(spell_dk_frost_fever::CalculateDamage, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
+ }
+};
+
void AddSC_deathknight_spell_scripts()
{
RegisterSpellScript(spell_dk_dark_simulacrum);
RegisterSpellScript(spell_dk_dark_simulacrum_buff);
RegisterSpellScript(spell_dk_death_coil);
+ RegisterSpellScript(spell_dk_frost_fever);
+ RegisterSpellScript(spell_dk_icy_touch);
RegisterSpellScript(spell_dk_runic_empowerment);
}