From 31eaee3f9aeb38f0b99bca4ec1d2e0458c61d073 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 16 Nov 2019 08:38:04 +0100 Subject: [PATCH] Scripts/BWD: Onyxia's pre fight periodic effect will no longer hit players outside of her transport --- .../BlackwingDescent/boss_nefarians_end.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_nefarians_end.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_nefarians_end.cpp index 605f9ea7de4..78d7ae206a1 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_nefarians_end.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_nefarians_end.cpp @@ -1701,11 +1701,17 @@ class spell_nefarians_end_onyxia_start_fight_2_effect : public SpellScript return ValidateSpellInfo({ SPELL_SHADOW_OF_COWARDICE_DAMAGE }); } + void FilterTargets(std::list& targets) + { + targets.remove_if([](WorldObject const* target)->bool + { + return !target->GetTransGUID(); + }); + } + void HandleHit(SpellEffIndex /*effIndex*/) { Unit* target = GetHitUnit(); - if (!target->GetTransport()) - return; if (Creature* caster = GetCaster()->ToCreature()) { @@ -1720,6 +1726,7 @@ class spell_nefarians_end_onyxia_start_fight_2_effect : public SpellScript void Register() override { OnEffectHitTarget += SpellEffectFn(spell_nefarians_end_onyxia_start_fight_2_effect::HandleHit, EFFECT_0, SPELL_EFFECT_DUMMY); + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_nefarians_end_onyxia_start_fight_2_effect::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); } };