From f0b31dd58538e6cf2d30623a661d73df9c5a173a Mon Sep 17 00:00:00 2001 From: Jeff Wadsworth <jeff@delmarus.com> Date: Tue, 5 Oct 2021 15:48:39 -0500 Subject: [PATCH] - Fixed #8304 --- Mage.Sets/src/mage/cards/w/Willbreaker.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Mage.Sets/src/mage/cards/w/Willbreaker.java b/Mage.Sets/src/mage/cards/w/Willbreaker.java index f3c017decc..f75f3face0 100644 --- a/Mage.Sets/src/mage/cards/w/Willbreaker.java +++ b/Mage.Sets/src/mage/cards/w/Willbreaker.java @@ -34,7 +34,9 @@ public final class Willbreaker extends CardImpl { this.toughness = new MageInt(3); // Whenever a creature an opponent controls becomes the target of a spell or ability you control, gain control of that creature for as long as you control Willbreaker. - ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new GainControlTargetEffect(Duration.Custom), new SourceOnBattlefieldControlUnchangedCondition(), null); + ConditionalContinuousEffect effect = new ConditionalContinuousEffect( + new GainControlTargetEffect(Duration.EndOfGame), + new SourceOnBattlefieldControlUnchangedCondition(), null); effect.setText("gain control of that creature for as long as you control {this}"); this.addAbility(new WillbreakerTriggeredAbility(effect), new LostControlWatcher()); } @@ -68,10 +70,13 @@ class WillbreakerTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (isControlledBy(event.getPlayerId())) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.isCreature(game)) { + if (permanent != null + && permanent.isCreature(game)) { Player controller = game.getPlayer(getControllerId()); - if (controller != null && controller.hasOpponent(permanent.getControllerId(), game)) { - getEffects().get(0).setTargetPointer(new FixedTarget(event.getTargetId())); + if (controller != null + && controller.hasOpponent(permanent.getControllerId(), game)) { + // always call this method for FixedTargets in case it is blinked + getEffects().setTargetPointer(new FixedTarget(event.getTargetId(), game)); return true; } } @@ -81,7 +86,7 @@ class WillbreakerTriggeredAbility extends TriggeredAbilityImpl { @Override public String getTriggerPhrase() { - return "Whenever a creature an opponent controls becomes the target of a spell or ability you control, " ; + return "Whenever a creature an opponent controls becomes the target of a spell or ability you control, "; } @Override