aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/cata_classic/2024_12_20_03_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp16
2 files changed, 19 insertions, 0 deletions
diff --git a/sql/updates/world/cata_classic/2024_12_20_03_world.sql b/sql/updates/world/cata_classic/2024_12_20_03_world.sql
new file mode 100644
index 00000000000..c99e2920d0d
--- /dev/null
+++ b/sql/updates/world/cata_classic/2024_12_20_03_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_dk_blood_plague';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(55078, 'spell_dk_blood_plague');
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index dbe0511fbd9..ed333b3e956 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -265,8 +265,24 @@ class spell_dk_frost_fever : public AuraScript
}
};
+// 55078 - Blood Plague
+class spell_dk_blood_plague: 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_blood_plague::CalculateDamage, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
+ }
+};
+
void AddSC_deathknight_spell_scripts()
{
+ RegisterSpellScript(spell_dk_blood_plague);
RegisterSpellScript(spell_dk_dark_simulacrum);
RegisterSpellScript(spell_dk_dark_simulacrum_buff);
RegisterSpellScript(spell_dk_death_coil);