From 5286ecfca894df1f62b936d20c73d90eb89466ea Mon Sep 17 00:00:00 2001 From: Mikhail Redko Date: Sat, 11 Sep 2021 23:46:16 +0300 Subject: Scripts/Spells: Wandering Plague should ignore targets under breakabl… (#26889) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Scripts/Spells: Wandering Plague should ignore targets under breakable by damage crowd control effects. Closes TrinityCore#26162 --- src/server/scripts/Spells/spell_dk.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src') diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index 5e134b45f57..70842d399ab 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -2104,6 +2104,26 @@ class spell_dk_wandering_plague : public AuraScript } }; +// 50526 - Wandering Plague (Damage) +class spell_dk_wandering_plague_damage : public SpellScript +{ + PrepareSpellScript(spell_dk_wandering_plague_damage); + + void FilterTargets(std::list& targets) + { + targets.remove_if([](WorldObject* object) -> bool + { + Unit* target = object->ToUnit(); + return target && target->HasBreakableByDamageCrowdControlAura(); + }); + } + + void Register() override + { + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dk_wandering_plague_damage::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY); + } +}; + // -52284 - Will of the Necropolis class spell_dk_will_of_the_necropolis : public AuraScript { @@ -2758,6 +2778,7 @@ void AddSC_deathknight_spell_scripts() RegisterSpellScript(spell_dk_vampiric_blood); RegisterSpellScript(spell_dk_vendetta); RegisterSpellScript(spell_dk_wandering_plague); + RegisterSpellScript(spell_dk_wandering_plague_damage); RegisterSpellScript(spell_dk_will_of_the_necropolis); RegisterSpellScript(spell_dk_death_grip_initial); RegisterSpellScript(spell_dk_raise_ally_initial); -- cgit v1.2.3