diff options
| author | UltraNix <80540499+UltraNix@users.noreply.github.com> | 2022-12-06 13:42:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-06 09:42:17 -0300 |
| commit | e2bf207ae4d13a32c0f5db9ef7ea32c9ae0b3539 (patch) | |
| tree | 30659d4f0247b8fcb8c0d93d2d3b6072a14e12d0 /src/server/scripts/Events | |
| parent | 975fd8782f138ecf43b0c634f00b7f314282b124 (diff) | |
fix(Scripts/Spells): Apple Trap should not activate without the playe… (#13868)
fix(Scripts/Spells): Apple Trap should not activate without the player being on a Rental Ram.
Fixes #13186
Diffstat (limited to 'src/server/scripts/Events')
| -rw-r--r-- | src/server/scripts/Events/brewfest.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp index c4678dcc78..b32fdbfeb9 100644 --- a/src/server/scripts/Events/brewfest.cpp +++ b/src/server/scripts/Events/brewfest.cpp @@ -1009,6 +1009,14 @@ class spell_brewfest_apple_trap : public SpellScript { PrepareSpellScript(spell_brewfest_apple_trap); + void FilterTargets(std::list<WorldObject*>& targets) + { + targets.remove_if(Acore::UnitAuraCheck(false, SPELL_RAM_FATIGUE)); + + if (targets.empty()) + FinishCast(SPELL_FAILED_CASTER_AURASTATE); + } + void HandleDummyEffect(SpellEffIndex /*effIndex*/) { if (Unit* target = GetHitUnit()) @@ -1018,6 +1026,7 @@ class spell_brewfest_apple_trap : public SpellScript void Register() override { + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_brewfest_apple_trap::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); OnEffectHitTarget += SpellEffectFn(spell_brewfest_apple_trap::HandleDummyEffect, EFFECT_0, SPELL_EFFECT_DUMMY); } }; |
