From 70da8260811b084c59b5d3e4dd8001fb48cad383 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sun, 28 Jul 2019 16:58:22 +0200 Subject: [PATCH] Core/Spells: fixed Unholy Blight talent --- .../custom/custom_2019_07_28_01_world.sql | 8 ++++++ src/server/scripts/Spells/spell_dk.cpp | 25 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 sql/updates/world/custom/custom_2019_07_28_01_world.sql diff --git a/sql/updates/world/custom/custom_2019_07_28_01_world.sql b/sql/updates/world/custom/custom_2019_07_28_01_world.sql new file mode 100644 index 0000000000..8e364ce592 --- /dev/null +++ b/sql/updates/world/custom/custom_2019_07_28_01_world.sql @@ -0,0 +1,8 @@ + +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_dk_unoly_blight'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(49194, 'spell_dk_unoly_blight'); + +DELETE FROM `spell_proc` WHERE `SpellId`= 49194; +INSERT INTO `spell_proc` (`SpellId`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `ProcFlags`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`, `AttributesMask`) VALUES +(49194 , 15, 0x00002000, 0, 0, 0, 1, 2, 0, 2); diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index e6e2f7c6c1..89b4276f12 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -95,6 +95,7 @@ enum DeathKnightSpells SPELL_DK_SCENT_OF_BLOOD = 50422, SPELL_DK_SCOURGE_STRIKE_TRIGGERED = 70890, SPELL_DK_SHADOW_INFUSION = 91342, + SPELL_DK_UNHOLY_BLIGHT_PERIODIC = 50536, SPELL_DK_UNHOLY_PRESENCE = 48265, SPELL_DK_PESTILENCE_REDUCED_DOTS = 76243, SPELL_DK_PESTILENCE_VISUAL = 91939, @@ -1810,6 +1811,29 @@ class spell_dk_ghoul_taunt : public SpellScript } }; +// 49194 - Unholy Blight +class spell_dk_unoly_blight : public AuraScript +{ + PrepareAuraScript(spell_dk_unoly_blight); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_DK_UNHOLY_BLIGHT_PERIODIC }); + } + + void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) + { + PreventDefaultAction(); + int32 damage = CalculatePct(eventInfo.GetDamageInfo()->GetDamage(), 1); + GetTarget()->CastCustomSpell(SPELL_DK_UNHOLY_BLIGHT_PERIODIC, SPELLVALUE_BASE_POINT0, damage, eventInfo.GetProcTarget(), true, nullptr, aurEff); + } + + void Register() override + { + OnEffectProc += AuraEffectProcFn(spell_dk_unoly_blight::HandleProc, EFFECT_0, SPELL_AURA_DUMMY); + } +}; + void AddSC_deathknight_spell_scripts() { RegisterAuraScript(spell_dk_anti_magic_shell); @@ -1854,6 +1878,7 @@ void AddSC_deathknight_spell_scripts() RegisterAuraScript(spell_dk_shadow_infusion); RegisterSpellScript(spell_dk_scourge_strike); RegisterAuraScript(spell_dk_threat_of_thassarian); + RegisterAuraScript(spell_dk_unoly_blight); RegisterAuraScript(spell_dk_unholy_command); RegisterAuraScript(spell_dk_vampiric_blood); RegisterAuraScript(spell_dk_will_of_the_necropolis);