From 1f0189a098ff145e27693298c5252f1c9b02470f Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Mon, 3 Jul 2023 00:21:00 +0200 Subject: [PATCH] fix [LTR] Orcish Bowmasters (#10547) The "except the first one they draw in each of their draw steps" part of the trigger was not properly checked, and cards drawn on your end step was never triggering an opposing Orcish Bowmasters. `OpponentDrawCardExceptFirstCardDrawStepTriggeredAbility` is a triggered ability that initializes a watcher `CardsDrawnDuringDrawStepWatcher`. However `OrTriggeredAbility` was not exposing its sub triggers' watchers to the game engine. I am not sure the global fix to `OrTriggeredAbility` is better than a `triggeredAbility.addWatcher(...)` in OrcishBowmaster.java. Also, the trigger text was not set at the proper level. --- Mage.Sets/src/mage/cards/o/OrcishBowmasters.java | 5 ++--- .../main/java/mage/abilities/meta/OrTriggeredAbility.java | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Mage.Sets/src/mage/cards/o/OrcishBowmasters.java b/Mage.Sets/src/mage/cards/o/OrcishBowmasters.java index 9b8f772b320..409d51260a1 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishBowmasters.java +++ b/Mage.Sets/src/mage/cards/o/OrcishBowmasters.java @@ -15,7 +15,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAnyTarget; -import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -40,8 +39,8 @@ public class OrcishBowmasters extends CardImpl { new OrTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1, "{this}"), new EntersBattlefieldTriggeredAbility(null, false), new OpponentDrawCardExceptFirstCardDrawStepTriggeredAbility(Zone.BATTLEFIELD, null, false) - .setTriggerPhrase("When {this} enters the battlefield and whenever an opponent draws a card " + - "except the first one they draw in each of their draw steps, ")); + ).setTriggerPhrase("When {this} enters the battlefield and whenever an opponent draws a card " + + "except the first one they draw in each of their draw steps, "); triggeredAbility.addTarget(new TargetAnyTarget()); Effect amass = new AmassEffect(1, SubType.ORC); diff --git a/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java b/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java index b76def2fea2..e2ed07278d8 100644 --- a/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java @@ -41,6 +41,10 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl { for (TriggeredAbility ability : triggeredAbilities) { //Remove useless data ability.getEffects().clear(); + + for(Watcher watcher : ability.getWatchers()) { + super.addWatcher(watcher); + } } setTriggerPhrase(generateTriggerPhrase()); }