@Override public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) { Player player = game.getPlayer(controllerId); if (player != null) { player.revealCards("Land Grant", player.getHand(), game); paid = true; } return paid; }
@Override public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) { Player controller = game.getPlayer(controllerId); MageObject sourceObject = game.getObject(sourceId); if (controller != null && sourceObject != null) { controller.revealCards(sourceObject.getName(), controller.getHand(), game); paid = true; } return paid; }
@Override public void doOpeningHandAction(Card card, Player player, Game game) { Cards cards = new CardsImpl(); cards.add(card); player.revealCards(card.getName(), cards, game); this.resolve(game); } }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); if (player != null) { player.revealCards(player.getName() + "'s hand cards", player.getHand(), game, false); } return true; }
@Override public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) { paid = false; Player player = game.getPlayer(controllerId); if (player != null) { Card card = player.getHand().get(ability.getSourceId(), game); if (card != null) { Cards cards = new CardsImpl(card); paid = true; player.revealCards("Reveal card cost", cards, game); } } return paid; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); MageObject sourceObject = game.getObject(source.getSourceId()); if (player != null && sourceObject != null) { player.revealCards(sourceObject.getIdName(), player.getHand(), game); return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getFirstTarget()); MageObject sourceObject = game.getObject(source.getSourceId()); if (player != null && sourceObject != null) { player.revealCards(sourceObject.getIdName(), player.getHand(), game); return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); MageObject sourceObject = game.getObject(source.getSourceId()); if (controller != null && sourceObject != null) { controller.revealCards(controller.getName(), controller.getHand(), game, false); return true; } return false; }
private void chooseAndSearchLibrary(List<Player> usingPlayers, Player player, int xValue, Ability source, MageObject sourceObject, Game game) { if (player.chooseUse(Outcome.PutCardInPlay, "Search your library for up " + xValue + " creature cards and put them into your hand?", source, game)) { usingPlayers.add(player); TargetCardInLibrary target = new TargetCardInLibrary(0, xValue, new FilterCreatureCard()); if (player.searchLibrary(target, game)) { if (!target.getTargets().isEmpty()) { Cards cards = new CardsImpl(target.getTargets()); player.moveCards(cards, Zone.HAND, source, game); player.revealCards(sourceObject.getIdName() + " (" + player.getName() + ')', cards, game); } } } }
@Override public boolean apply(Game game, Ability source) { Player you = game.getPlayer(source.getControllerId()); if (you == null) { return false; } Cards cards = new CardsImpl(); searchCard(you, source, game, cards, "Zombie"); searchCard(you, source, game, cards, "Swamp"); you.revealCards("Corpse Harvester", cards, game); you.shuffleLibrary(source, game); return true; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player == null) { return false; } Cards cards = new CardsImpl(); searchLand(player, source, game, cards, "Island"); searchLand(player, source, game, cards, "Swamp"); searchLand(player, source, game, cards, "Mountain"); player.revealCards("Gem of Becoming", cards, game); player.shuffleLibrary(source, game); return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(targetPointer.getFirst(game, source)); if (player != null && !player.getHand().isEmpty()) { Cards revealed = new CardsImpl(); revealed.add(player.getHand().getRandom(game)); player.revealCards("Hired Torturer", revealed, game); return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(targetPointer.getFirst(game, source)); if (player != null && !player.getHand().isEmpty()) { Cards revealed = new CardsImpl(); revealed.add(player.getHand().getRandom(game)); player.revealCards("Merfolk Spy", revealed, game); return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); Player targetPlayer = game.getPlayer(source.getFirstTarget()); if (player != null && targetPlayer != null) { targetPlayer.revealCards("Search Warrant", targetPlayer.getHand(), game); int ctd = targetPlayer.getHand().size(); player.gainLife(ctd, game, source); return true; } return false; } }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); Player targetPlayer = game.getPlayer(source.getFirstTarget()); MageObject sourceObject = source.getSourceObject(game); if (player == null || targetPlayer == null || sourceObject == null) { return false; } Cards cards = new CardsImpl(); cards.addAll(player.getLibrary().getTopCards(game, amountCards.calculate(game, source, this))); player.revealCards(sourceObject.getIdName() + " - Top " + amountCards.toString() + "cards of " + targetPlayer.getName() + "\'s library", cards, game); return true; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Card card = controller.getLibrary().getFromTop(game); if (card != null) { controller.revealCards(source, new CardsImpl(card), game); controller.moveCards(card, Zone.HAND, source, game); controller.gainLife(card.getConvertedManaCost(), game, source); } return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Permanent sourcePermanent = game.getPermanent(source.getSourceId()); Player controller = game.getPlayer(source.getControllerId()); if (controller != null && sourcePermanent != null) { Player defender = game.getPlayer(this.getTargetPointer().getFirst(game, source)); if (defender != null) { defender.revealCards(defender.getName() + "'s hand cards", defender.getHand(), game, false); } return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Card card = controller.getLibrary().getFromTop(game); if (card != null) { controller.revealCards(source, new CardsImpl(card), game); card.moveToZone(Zone.HAND, source.getSourceId(), game, false); controller.loseLife(card.getConvertedManaCost(), game, false); return true; } } return false; }
@Override public boolean replaceEvent(GameEvent event, Ability source, Game game) { Player player = game.getPlayer(event.getPlayerId()); if (player != null) { Cards revealedCards = new CardsImpl(player.getLibrary().getTopCards(game, 3)); player.revealCards(source, revealedCards, game); Cards creatures = new CardsImpl(revealedCards.getCards(StaticFilters.FILTER_CARD_CREATURE, game)); player.moveCards(creatures, Zone.HAND, source, game); revealedCards.removeAll(creatures); player.putCardsOnBottomOfLibrary(revealedCards, game, source, true); return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player opponent = game.getPlayer(targetPointer.getFirst(game, source)); if (opponent != null && !opponent.getHand().isEmpty()) { Cards revealed = new CardsImpl(); Card card = opponent.getHand().getRandom(game); if (card != null) { revealed.add(card); opponent.revealCards("Planeswalker's Fury", revealed, game); opponent.damage(card.getConvertedManaCost(), source.getSourceId(), game, false, true); } return true; } return false; }