From ad63362c33b4672cacae76f41519681302011e39 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Sat, 23 Mar 2024 17:17:50 -0400 Subject: [PATCH] fix #9877 (Disorder in the Court) (#11987) --- Mage.Sets/src/mage/cards/d/DisorderInTheCourt.java | 6 ++++-- .../ExileReturnBattlefieldNextEndStepTargetEffect.java | 7 ++++--- ...turnToBattlefieldUnderOwnerControlTargetEffect.java | 10 +++------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Mage.Sets/src/mage/cards/d/DisorderInTheCourt.java b/Mage.Sets/src/mage/cards/d/DisorderInTheCourt.java index 0b2b7b32bd8..993de177287 100644 --- a/Mage.Sets/src/mage/cards/d/DisorderInTheCourt.java +++ b/Mage.Sets/src/mage/cards/d/DisorderInTheCourt.java @@ -10,7 +10,6 @@ import mage.abilities.effects.keyword.InvestigateEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; import mage.game.Game; @@ -93,7 +92,10 @@ class DisorderInTheCourtEffect extends OneShotEffect { new InvestigateEffect(ManacostVariableValue.REGULAR).apply(game, source); if (!toExile.isEmpty()) { Effect effect = new ReturnToBattlefieldUnderOwnerControlTargetEffect(true, true); - effect.setTargetPointer(new FixedTargets(new CardsImpl(toExile), game)); + effect.setTargetPointer(new FixedTargets(toExile + .stream() + .map(Card::getMainCard) + .collect(Collectors.toSet()), game)); game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect), source); } return true; diff --git a/Mage/src/main/java/mage/abilities/effects/common/ExileReturnBattlefieldNextEndStepTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ExileReturnBattlefieldNextEndStepTargetEffect.java index 9ea93adf090..8a45e7c21e6 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ExileReturnBattlefieldNextEndStepTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ExileReturnBattlefieldNextEndStepTargetEffect.java @@ -6,14 +6,12 @@ import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbil import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; -import mage.cards.CardsImpl; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; import mage.target.targetpointer.FixedTargets; import mage.util.CardUtil; -import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.Objects; import java.util.Set; @@ -75,7 +73,10 @@ public class ExileReturnBattlefieldNextEndStepTargetEffect extends OneShotEffect Effect effect = yourControl ? new ReturnToBattlefieldUnderYourControlTargetEffect(exiledOnly) : new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, exiledOnly); - effect.setTargetPointer(new FixedTargets(toExile, game)); + effect.setTargetPointer(new FixedTargets(toExile + .stream() + .map(Card::getMainCard) + .collect(Collectors.toSet()), game)); game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect), source); return true; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/ReturnToBattlefieldUnderOwnerControlTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ReturnToBattlefieldUnderOwnerControlTargetEffect.java index ea31739eff1..0a6ea1f6b1e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ReturnToBattlefieldUnderOwnerControlTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ReturnToBattlefieldUnderOwnerControlTargetEffect.java @@ -18,8 +18,8 @@ import java.util.UUID; */ public class ReturnToBattlefieldUnderOwnerControlTargetEffect extends OneShotEffect { - private boolean tapped; - protected boolean returnFromExileZoneOnly; + private final boolean tapped; + private final boolean returnFromExileZoneOnly; /** * @param returnFromExileZoneOnly see https://github.com/magefree/mage/issues/5151 @@ -27,14 +27,10 @@ public class ReturnToBattlefieldUnderOwnerControlTargetEffect extends OneShotEff * return exiled card - true */ public ReturnToBattlefieldUnderOwnerControlTargetEffect(boolean tapped, boolean returnFromExileZoneOnly) { - this(tapped, returnFromExileZoneOnly, "that card"); - } - - public ReturnToBattlefieldUnderOwnerControlTargetEffect(boolean tapped, boolean returnFromExileZoneOnly, String description) { super(Outcome.Benefit); this.tapped = tapped; this.returnFromExileZoneOnly = returnFromExileZoneOnly; - staticText = "return " + description + " to the battlefield " + (tapped ? "tapped " : "") + "under its owner's control"; + staticText = "return that card to the battlefield " + (tapped ? "tapped " : "") + "under its owner's control"; } protected ReturnToBattlefieldUnderOwnerControlTargetEffect(final ReturnToBattlefieldUnderOwnerControlTargetEffect effect) {