summaryrefslogtreecommitdiff
path: root/src/server/scripts/Events
diff options
context:
space:
mode:
authorUltraNix <80540499+UltraNix@users.noreply.github.com>2022-12-06 13:42:17 +0100
committerGitHub <noreply@github.com>2022-12-06 09:42:17 -0300
commite2bf207ae4d13a32c0f5db9ef7ea32c9ae0b3539 (patch)
tree30659d4f0247b8fcb8c0d93d2d3b6072a14e12d0 /src/server/scripts/Events
parent975fd8782f138ecf43b0c634f00b7f314282b124 (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.cpp9
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);
}
};