diff --git a/Mage.Sets/src/mage/cards/a/ArsenalThresher.java b/Mage.Sets/src/mage/cards/a/ArsenalThresher.java index a9d3f5eb3ae..9f05a7a06fd 100644 --- a/Mage.Sets/src/mage/cards/a/ArsenalThresher.java +++ b/Mage.Sets/src/mage/cards/a/ArsenalThresher.java @@ -77,18 +77,13 @@ class ArsenalThresherEffect extends OneShotEffect { FilterArtifactCard filter = new FilterArtifactCard(); filter.add(AnotherPredicate.instance); if (controller.chooseUse(Outcome.Benefit, "Reveal other artifacts in your hand?", source, game)) { - Cards cards = new CardsImpl(); - if (controller.getHand().count(filter, source.getControllerId(), source, game) > 0) { - TargetCardInHand target = new TargetCardInHand(0, Integer.MAX_VALUE, filter); - if (controller.choose(Outcome.Benefit, target, source, game)) { - for (UUID uuid : target.getTargets()) { - cards.add(controller.getHand().get(uuid, game)); - } - if (arsenalThresher != null) { - controller.revealCards(arsenalThresher.getIdName(), cards, game); - List appliedEffects = (ArrayList) this.getValue("appliedEffects"); // the basic event is the EntersBattlefieldEvent, so use already applied replacement effects from that event - arsenalThresher.addCounters(CounterType.P1P1.createInstance(cards.size()), source.getControllerId(), source, game, appliedEffects); - } + TargetCardInHand target = new TargetCardInHand(0, Integer.MAX_VALUE, filter); + if (controller.choose(Outcome.Benefit, target, source, game)) { + Cards cards = new CardsImpl(target.getTargets()); + if (arsenalThresher != null) { + controller.revealCards(arsenalThresher.getIdName(), cards, game); + List appliedEffects = (ArrayList) this.getValue("appliedEffects"); // the basic event is the EntersBattlefieldEvent, so use already applied replacement effects from that event + arsenalThresher.addCounters(CounterType.P1P1.createInstance(cards.size()), source.getControllerId(), source, game, appliedEffects); } } return true; diff --git a/Mage.Sets/src/mage/cards/p/PhosphorescentFeast.java b/Mage.Sets/src/mage/cards/p/PhosphorescentFeast.java index eaa97002e89..b0a432a727b 100644 --- a/Mage.Sets/src/mage/cards/p/PhosphorescentFeast.java +++ b/Mage.Sets/src/mage/cards/p/PhosphorescentFeast.java @@ -63,12 +63,8 @@ class PhosphorescentFeastEffect extends OneShotEffect { if (player.getHand().count(new FilterCard(), game) > 0) { TargetCardInHand target = new TargetCardInHand(0, Integer.MAX_VALUE, new FilterCard()); if (player.choose(Outcome.Benefit, target, source, game)) { - - Cards cards = new CardsImpl(); - for (UUID uuid : target.getTargets()) { - cards.add(player.getHand().get(uuid, game)); - } - player.revealCards("cards", cards, game); + Cards cards = new CardsImpl(target.getTargets()); + player.revealCards(source, cards, game); for (Card card : cards.getCards(game)) { chroma += card.getManaCost().getMana().getGreen(); } diff --git a/Mage.Sets/src/mage/cards/r/RofellossGift.java b/Mage.Sets/src/mage/cards/r/RofellossGift.java index 1b976dea14d..afde46000ea 100644 --- a/Mage.Sets/src/mage/cards/r/RofellossGift.java +++ b/Mage.Sets/src/mage/cards/r/RofellossGift.java @@ -73,27 +73,15 @@ class RofellossGiftEffect extends OneShotEffect { if (!player.choose(outcome, player.getHand(), targetCardInHand, source, game)) { return false; } - Cards cards = new CardsImpl(); - for (UUID cardId : targetCardInHand.getTargets()) { - Card card = game.getCard(cardId); - if (card != null) { - cards.add(card); - } - } - player.revealCards(source, cards, game); + Cards revealedCards = new CardsImpl(targetCardInHand.getTargets()); + player.revealCards(source, revealedCards, game); int enchantmentsToReturn = Math.min(player.getGraveyard().count(filter2, game), targetCardInHand.getTargets().size()); TargetCardInYourGraveyard targetCardInYourGraveyard = new TargetCardInYourGraveyard(enchantmentsToReturn, filter2); targetCardInYourGraveyard.setNotTarget(true); if (!player.choose(outcome, targetCardInYourGraveyard, source, game)) { return false; } - cards = new CardsImpl(); - for (UUID cardId : targetCardInYourGraveyard.getTargets()) { - Card card = game.getCard(cardId); - if (card != null) { - cards.add(card); - } - } - return player.moveCards(cards, Zone.HAND, source, game); + Cards returnedCards = new CardsImpl(targetCardInYourGraveyard.getTargets()); + return player.moveCards(returnedCards, Zone.HAND, source, game); } } diff --git a/Mage.Sets/src/mage/cards/s/SacellumGodspeaker.java b/Mage.Sets/src/mage/cards/s/SacellumGodspeaker.java index 677262f5dae..8122db2b389 100644 --- a/Mage.Sets/src/mage/cards/s/SacellumGodspeaker.java +++ b/Mage.Sets/src/mage/cards/s/SacellumGodspeaker.java @@ -8,6 +8,7 @@ import mage.abilities.effects.mana.ManaEffect; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.cards.CardsImpl; import mage.constants.*; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.PowerPredicate; @@ -88,9 +89,13 @@ class SacellumGodspeakerEffect extends ManaEffect { @Override public Mana produceMana(Game game, Ability source) { if (game != null) { - TargetCardInHand target = new TargetCardInHand(0, Integer.MAX_VALUE, filter); - if (target.choose(Outcome.Benefit, source.getControllerId(), source.getSourceId(), source, game)) { - return Mana.GreenMana(target.getTargets().size()); + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + TargetCardInHand target = new TargetCardInHand(0, Integer.MAX_VALUE, filter); + if (target.choose(Outcome.Benefit, source.getControllerId(), source.getSourceId(), source, game)) { + controller.revealCards(source, new CardsImpl(target.getTargets()), game); + return Mana.GreenMana(target.getTargets().size()); + } } } return new Mana();