From ee6872686590358c2dc1d90f3cebbf4c36fa7562 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Thu, 21 Sep 2023 00:12:47 -0400 Subject: [PATCH] use common methods for WardAbility --- .../mage/abilities/keyword/WardAbility.java | 24 +++++-------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/keyword/WardAbility.java b/Mage/src/main/java/mage/abilities/keyword/WardAbility.java index 03a4c667362..c80fe36ee9a 100644 --- a/Mage/src/main/java/mage/abilities/keyword/WardAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/WardAbility.java @@ -11,7 +11,6 @@ import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.stack.StackObject; -import mage.target.Target; import mage.target.targetpointer.FixedTarget; import mage.util.CardUtil; @@ -22,7 +21,6 @@ public class WardAbility extends TriggeredAbilityImpl { private final Cost cost; private final DynamicValue genericMana; - private final boolean showAbilityHint; private final String whereXIs; @@ -74,29 +72,19 @@ public class WardAbility extends TriggeredAbilityImpl { return event.getType() == GameEvent.EventType.TARGETED; } - private StackObject getTargetingObject(GameEvent event, Game game) { - for (StackObject stackObject : game.getStack()) { - if (stackObject.getId().equals(event.getSourceId()) || stackObject.getSourceId().equals(event.getSourceId())) { - for (Target target : stackObject.getStackAbility().getTargets()) { - if (target.contains(getSourceId())) { - return stackObject; - } - } - } - } - return null; - } - @Override public boolean checkTrigger(GameEvent event, Game game) { if (!getSourceId().equals(event.getTargetId())) { return false; } - StackObject stackObject = getTargetingObject(event, game); - if (stackObject == null || !game.getOpponents(getControllerId()).contains(stackObject.getControllerId())) { + StackObject targetingObject = CardUtil.getTargetingStackObject(event, game); + if (targetingObject == null || !game.getOpponents(getControllerId()).contains(targetingObject.getControllerId())) { return false; } - getEffects().setTargetPointer(new FixedTarget(stackObject.getId(), game)); + if (!CardUtil.checkTargetMap(this.id, targetingObject, event, game)) { + return false; + } + getEffects().setTargetPointer(new FixedTarget(targetingObject.getId())); return true; }