diff --git a/Mage.Sets/src/mage/sets/antiquities/TransmuteArtifact.java b/Mage.Sets/src/mage/sets/antiquities/TransmuteArtifact.java index a7a4c2b67a1..9c58d59617d 100644 --- a/Mage.Sets/src/mage/sets/antiquities/TransmuteArtifact.java +++ b/Mage.Sets/src/mage/sets/antiquities/TransmuteArtifact.java @@ -92,15 +92,15 @@ class TransmuteArtifactEffect extends SearchEffect { @Override public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if (player == null) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller == null) { return false; } //Sacrifice an artifact. int convertedManaCost = 0; boolean sacrifice = false; TargetControlledPermanent targetArtifact = new TargetControlledPermanent(new FilterControlledArtifactPermanent()); - if(player.chooseTarget(Outcome.Sacrifice, targetArtifact, source, game)){ + if(controller.chooseTarget(Outcome.Sacrifice, targetArtifact, source, game)){ Permanent permanent = game.getPermanent(targetArtifact.getFirstTarget()); if(permanent != null){ convertedManaCost = permanent.getManaCost().convertedManaCost(); @@ -112,34 +112,34 @@ class TransmuteArtifactEffect extends SearchEffect { return true; } //If you do, search your library for an artifact card. - if (sacrifice && player.searchLibrary(target, game)) { + if (sacrifice && controller.searchLibrary(target, game)) { if (target.getTargets().size() > 0) { - for (UUID cardId: (List)target.getTargets()) { - Card card = player.getLibrary().getCard(cardId, game); + for (UUID cardId: target.getTargets()) { + Card card = controller.getLibrary().getCard(cardId, game); if (card != null) { //If that card's converted mana cost is less than or equal to the sacrificed artifact's converted mana cost, put it onto the battlefield. if(card.getManaCost().convertedManaCost() <= convertedManaCost){ - card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), source.getControllerId(), false); + controller.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId()); } else { //If it's greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. GenericManaCost cost = new GenericManaCost(card.getManaCost().convertedManaCost() - convertedManaCost); if(cost.pay(source, game, source.getSourceId(), source.getControllerId(), false)){ - card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), source.getControllerId(), false); + controller.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId()); } else{ //If you don't, put it into its owner's graveyard. Then shuffle your library - card.moveToZone(Zone.GRAVEYARD, source.getSourceId(), game, true); + controller.moveCardToGraveyardWithInfo(card, source.getSourceId(), game, Zone.LIBRARY); } } } } } - player.shuffleLibrary(game); + controller.shuffleLibrary(game); return true; } - player.shuffleLibrary(game); + controller.shuffleLibrary(game); return false; } diff --git a/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java b/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java index d69aeab4621..6e23b841d66 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java @@ -103,7 +103,7 @@ class PeregrinationEffect extends OneShotEffect { if (player.searchLibrary(target, game)) { if (target.getTargets().size() > 0) { Cards revealed = new CardsImpl(); - for (UUID cardId: (List)target.getTargets()) { + for (UUID cardId: target.getTargets()) { Card card = player.getLibrary().getCard(cardId, game); revealed.add(card); } @@ -113,23 +113,14 @@ class PeregrinationEffect extends OneShotEffect { player.choose(Outcome.Benefit, revealed, target2, game); Card card = revealed.get(target2.getFirstTarget(), game); - player.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId()); - + player.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId(), true); revealed.remove(card); - Permanent permanent = game.getPermanent(card.getId()); - if (permanent != null) { - permanent.setTapped(true); - } card = revealed.getCards(game).iterator().next(); player.moveCardToHandWithInfo(card, source.getSourceId(), game, Zone.LIBRARY); } else if (target.getTargets().size() == 1) { Card card = revealed.getCards(game).iterator().next(); - player.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId()); - Permanent permanent = game.getPermanent(card.getId()); - if (permanent != null) { - permanent.setTapped(true); - } + player.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId(), true); } } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java b/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java index 1278c9b651a..29e29f60a57 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java @@ -100,7 +100,7 @@ class GiftsUngivenEffect extends OneShotEffect { if (player.searchLibrary(target, game)) { if (target.getTargets().size() > 0) { Cards cards = new CardsImpl(); - for (UUID cardId : (List) target.getTargets()) { + for (UUID cardId : target.getTargets()) { Card card = player.getLibrary().remove(cardId, game); if (card != null) { cards.add(card); diff --git a/Mage.Sets/src/mage/sets/commander/BuriedAlive.java b/Mage.Sets/src/mage/sets/commander/BuriedAlive.java index 6b3e13f96d9..980d2414170 100644 --- a/Mage.Sets/src/mage/sets/commander/BuriedAlive.java +++ b/Mage.Sets/src/mage/sets/commander/BuriedAlive.java @@ -92,7 +92,7 @@ class BuriedAliveEffect extends SearchEffect { if (player != null) { if (player.searchLibrary(target, game)) { if (target.getTargets().size() > 0) { - for (UUID cardId: (List)target.getTargets()) { + for (UUID cardId: target.getTargets()) { Card card = player.getLibrary().remove(cardId, game); if (card != null){ card.moveToZone(Zone.GRAVEYARD, source.getSourceId(), game, false); diff --git a/Mage.Sets/src/mage/sets/commander/KodamasReach.java b/Mage.Sets/src/mage/sets/commander/KodamasReach.java index 85f3e8ed814..663c225454b 100644 --- a/Mage.Sets/src/mage/sets/commander/KodamasReach.java +++ b/Mage.Sets/src/mage/sets/commander/KodamasReach.java @@ -98,7 +98,7 @@ class KodamasReachEffect extends OneShotEffect { if (player.searchLibrary(target, game)) { if (target.getTargets().size() > 0) { Cards revealed = new CardsImpl(); - for (UUID cardId: (List)target.getTargets()) { + for (UUID cardId: target.getTargets()) { Card card = player.getLibrary().getCard(cardId, game); revealed.add(card); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/ReapIntellect.java b/Mage.Sets/src/mage/sets/dragonsmaze/ReapIntellect.java index 01d9d7097ef..38c09088c99 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/ReapIntellect.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/ReapIntellect.java @@ -106,7 +106,7 @@ class ReapIntellectEffect extends OneShotEffect { TargetCard target = new TargetCard(0, xCost, Zone.PICK, filter); target.setNotTarget(true); if (you.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) { - for (UUID cardId : (List) target.getTargets()) { + for (UUID cardId : target.getTargets()) { Card chosenCard = game.getCard(cardId); if (chosenCard != null) { if (chosenCard.moveToExile(source.getSourceId(), "Reap Intellect", source.getSourceId(), game)) { @@ -116,41 +116,39 @@ class ReapIntellectEffect extends OneShotEffect { } for (UUID cardId : exiledCards) { if (cardId != null) { - if (targetPlayer != null) { - Card card = game.getCard(cardId); + Card card = game.getCard(cardId); - // cards in Graveyard - Cards cardsInGraveyard = new CardsImpl(Zone.GRAVEYARD); - cardsInGraveyard.addAll(targetPlayer.getGraveyard()); - you.lookAtCards("Reap Intellect search of Graveyard", cardsInGraveyard, game); - - // cards in Hand - Cards cardsInHand = new CardsImpl(Zone.HAND); - cardsInHand.addAll(targetPlayer.getHand()); - you.lookAtCards("Reap Intellect search of Hand", cardsInHand, game); + // cards in Graveyard + Cards cardsInGraveyard = new CardsImpl(Zone.GRAVEYARD); + cardsInGraveyard.addAll(targetPlayer.getGraveyard()); + you.lookAtCards("Reap Intellect search of Graveyard", cardsInGraveyard, game); - //cards in Library - Cards cardsInLibrary = new CardsImpl(Zone.LIBRARY); - cardsInLibrary.addAll(targetPlayer.getLibrary().getCards(game)); - you.lookAtCards("Reap Intellect search of Library", cardsInLibrary, game); + // cards in Hand + Cards cardsInHand = new CardsImpl(Zone.HAND); + cardsInHand.addAll(targetPlayer.getHand()); + you.lookAtCards("Reap Intellect search of Hand", cardsInHand, game); - // exile same named cards from zones + //cards in Library + Cards cardsInLibrary = new CardsImpl(Zone.LIBRARY); + cardsInLibrary.addAll(targetPlayer.getLibrary().getCards(game)); + you.lookAtCards("Reap Intellect search of Library", cardsInLibrary, game); - for (Card checkCard : cardsInGraveyard.getCards(game)) { - if (checkCard.getName().equals(card.getName())) { - checkCard.moveToExile(source.getSourceId(), "Graveyard", source.getSourceId(), game); - } + // exile same named cards from zones + + for (Card checkCard : cardsInGraveyard.getCards(game)) { + if (checkCard.getName().equals(card.getName())) { + checkCard.moveToExile(source.getSourceId(), "Graveyard", source.getSourceId(), game); } - for (Card checkCard : cardsInHand.getCards(game)) { - if (checkCard.getName().equals(card.getName())) { - checkCard.moveToExile(source.getSourceId(), "Hand", source.getSourceId(), game); - } + } + for (Card checkCard : cardsInHand.getCards(game)) { + if (checkCard.getName().equals(card.getName())) { + checkCard.moveToExile(source.getSourceId(), "Hand", source.getSourceId(), game); } + } - for (Card checkCard : cardsInLibrary.getCards(game)) { - if (checkCard.getName().equals(card.getName())) { - checkCard.moveToExile(source.getSourceId(), "Library", source.getSourceId(), game); - } + for (Card checkCard : cardsInLibrary.getCards(game)) { + if (checkCard.getName().equals(card.getName())) { + checkCard.moveToExile(source.getSourceId(), "Library", source.getSourceId(), game); } } } diff --git a/Mage.Sets/src/mage/sets/newphyrexia/SurgicalExtraction.java b/Mage.Sets/src/mage/sets/newphyrexia/SurgicalExtraction.java index 5c0dd3a97aa..cfe0ec8513f 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/SurgicalExtraction.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/SurgicalExtraction.java @@ -124,7 +124,7 @@ class SurgicalExtractionEffect extends OneShotEffect { for (UUID targetId : targets) { Card targetCard = targetPlayer.getGraveyard().get(targetId, game); if (targetCard != null) { - targetCard.moveToExile(null, null, source.getSourceId(), game); + player.moveCardToExileWithInfo(targetCard, null, "", source.getSourceId(), game, Zone.GRAVEYARD); } } } @@ -140,7 +140,7 @@ class SurgicalExtractionEffect extends OneShotEffect { for (UUID targetId : targets) { Card targetCard = targetPlayer.getHand().get(targetId, game); if (targetCard != null) { - targetCard.moveToExile(null, null, source.getSourceId(), game); + player.moveCardToExileWithInfo(targetCard, null, "", source.getSourceId(), game, Zone.HAND); } } } @@ -153,12 +153,12 @@ class SurgicalExtractionEffect extends OneShotEffect { if (cardsCount > 0) { filter.setMessage("card named " + card.getName() + " in the library of " + targetPlayer.getName()); TargetCardInLibrary target = new TargetCardInLibrary(0, cardsCount, filter); - if (player.choose(Outcome.Exile, cardsInLibrary, target, game)) { + if (player.searchLibrary(target, game, targetPlayer.getId())) { List targets = target.getTargets(); for (UUID targetId : targets) { Card targetCard = targetPlayer.getLibrary().getCard(targetId, game); if (targetCard != null) { - targetCard.moveToExile(null, null, source.getSourceId(), game); + player.moveCardToExileWithInfo(targetCard, null, "", source.getSourceId(), game, Zone.LIBRARY); } } } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/FiremindsForesight.java b/Mage.Sets/src/mage/sets/returntoravnica/FiremindsForesight.java index 5aef515823b..d28df37e41c 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/FiremindsForesight.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/FiremindsForesight.java @@ -115,7 +115,7 @@ class FiremindsForesightSearchEffect extends OneShotEffect { if (cardsCount > 0) { TargetCardInLibrary target = new TargetCardInLibrary(0, 1, filter); if (player.searchLibrary(target, game)) { - for (UUID cardId: (List)target.getTargets()) { + for (UUID cardId: target.getTargets()) { Card card = player.getLibrary().remove(cardId, game); if (card != null){ card.moveToZone(Zone.HAND, source.getSourceId(), game, false);