From d5a239526af2387883f430d5dd585900780c9178 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Sun, 4 Feb 2024 23:57:08 -0500 Subject: [PATCH] simplify Pyrrhic Revival and remove unused param related to #10626 --- .../src/mage/cards/a/AbuelosAwakening.java | 2 +- .../src/mage/cards/p/PyrrhicRevival.java | 23 +++++++------------ ...romGraveyardToBattlefieldTargetEffect.java | 21 ++++------------- ...dToBattlefieldWithCounterTargetEffect.java | 6 +---- 4 files changed, 15 insertions(+), 37 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AbuelosAwakening.java b/Mage.Sets/src/mage/cards/a/AbuelosAwakening.java index c59c708a0cb..54a23770f8b 100644 --- a/Mage.Sets/src/mage/cards/a/AbuelosAwakening.java +++ b/Mage.Sets/src/mage/cards/a/AbuelosAwakening.java @@ -58,7 +58,7 @@ public final class AbuelosAwakening extends CardImpl { class AbuelosAwakeningEffect extends ReturnFromGraveyardToBattlefieldTargetEffect { AbuelosAwakeningEffect() { - super(false, false, false); + super(); staticText = "return target artifact or non-Aura enchantment card from your graveyard to the battlefield " + "with X additional +1/+1 counters on it. " + "It's a 1/1 Spirit creature with flying in addition to its other types"; diff --git a/Mage.Sets/src/mage/cards/p/PyrrhicRevival.java b/Mage.Sets/src/mage/cards/p/PyrrhicRevival.java index 44b8cc76c2b..0fba4931129 100644 --- a/Mage.Sets/src/mage/cards/p/PyrrhicRevival.java +++ b/Mage.Sets/src/mage/cards/p/PyrrhicRevival.java @@ -1,19 +1,17 @@ - package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldWithCounterTargetEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.Zone; import mage.counters.CounterType; +import mage.counters.Counters; import mage.game.Game; import mage.players.Player; -import mage.target.targetpointer.FixedTargets; import java.util.Objects; import java.util.Set; @@ -65,7 +63,6 @@ class PyrrhicRevivalEffect extends OneShotEffect { if (controller == null) { return false; } - Set toBattlefield = game.getState().getPlayersInRange(source.getControllerId(), game) .stream() @@ -74,16 +71,12 @@ class PyrrhicRevivalEffect extends OneShotEffect { .flatMap(p -> p.getGraveyard().getCards(game).stream()) .filter(c -> c != null && c.isCreature(game)) .collect(Collectors.toSet()); - - Effect returnEffect = - new ReturnFromGraveyardToBattlefieldWithCounterTargetEffect( - CounterType.M1M1.createInstance(), - true, - true); - - returnEffect.setTargetPointer(new FixedTargets(toBattlefield, game)); - returnEffect.apply(game, source); - + Counters counters = new Counters(); + counters.addCounter(CounterType.M1M1.createInstance()); + for (Card card : toBattlefield) { + game.setEnterWithCounters(card.getId(), counters.copy()); + } + controller.moveCards(toBattlefield, Zone.BATTLEFIELD, source, game, false, false, true, null); return true; } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java index 9bb538495ea..4323e3b2115 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java @@ -23,9 +23,8 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect private final boolean tapped; private final boolean attacking; - // If true, creatures are returned to their owner's control. - // If false, creatures are returned under the effect's controller control. - private final boolean underOwnerControl; + + // Targets are returned under the control of the effect controller (e.g. "under your control") public ReturnFromGraveyardToBattlefieldTargetEffect() { this(false); @@ -34,22 +33,17 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect public ReturnFromGraveyardToBattlefieldTargetEffect(boolean tapped) { this(tapped, false); } - public ReturnFromGraveyardToBattlefieldTargetEffect(boolean tapped, boolean attacking) { - this(tapped, attacking, false); - } - public ReturnFromGraveyardToBattlefieldTargetEffect(boolean tapped, boolean attacking, boolean underOwnerControl) { + public ReturnFromGraveyardToBattlefieldTargetEffect(boolean tapped, boolean attacking) { super(Outcome.PutCreatureInPlay); this.tapped = tapped; this.attacking = attacking; - this.underOwnerControl = underOwnerControl; } protected ReturnFromGraveyardToBattlefieldTargetEffect(final ReturnFromGraveyardToBattlefieldTargetEffect effect) { super(effect); this.tapped = effect.tapped; this.attacking = effect.attacking; - this.underOwnerControl = effect.underOwnerControl; } @Override @@ -68,7 +62,7 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect cardsToMove.add(card); } } - controller.moveCards(cardsToMove, Zone.BATTLEFIELD, source, game, tapped, false, underOwnerControl, null); + controller.moveCards(cardsToMove, Zone.BATTLEFIELD, source, game, tapped, false, false, null); if (attacking) { for (Card card : cardsToMove) { game.getCombat().addAttackingCreature(card.getId(), game); @@ -119,12 +113,7 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect sb.append(" attacking"); } if (!yourGrave) { - if (underOwnerControl) { - sb.append("under their owner's control"); - } - else { - sb.append(" under your control"); - } + sb.append(" under your control"); } return sb.toString(); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldWithCounterTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldWithCounterTargetEffect.java index 8dd57eeb247..04556d530eb 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldWithCounterTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldWithCounterTargetEffect.java @@ -27,11 +27,7 @@ public class ReturnFromGraveyardToBattlefieldWithCounterTargetEffect extends Ret } public ReturnFromGraveyardToBattlefieldWithCounterTargetEffect(Counter counter, boolean additional) { - this(counter, additional, false); - } - - public ReturnFromGraveyardToBattlefieldWithCounterTargetEffect(Counter counter, boolean additional, boolean underOwnerControl) { - super(false, false, underOwnerControl); + super(false); this.counter = counter; this.additional = additional; }