diff --git a/data/sql/updates/pending_db_world/rev_1668859642898150700.sql b/data/sql/updates/pending_db_world/rev_1668859642898150700.sql new file mode 100644 index 000000000..5ad86131f --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1668859642898150700.sql @@ -0,0 +1,2 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=43450; diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp index c4678dcc7..b32fdbfeb 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& 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); } };