int count = 0; while (player.chooseUse(Outcome.Benefit, textToAsk.toString(), source, game)) { Cards cards = player.getSideboard(); if (cards.isEmpty()) { game.informPlayer(player, "You have no cards outside the game."); Card card = player.getSideboard().get(target.getFirstTarget(), game); if (card != null) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, false);
Player player = getPlayer(playerId); if (player != null) { if (player.getSideboard().isEmpty()) { // needed for restart game of e.g. Karn Liberated for (UUID commanderId : player.getCommandersIds()) { Card commander = this.getCard(commanderId); while (!player.getSideboard().isEmpty()) { Card commander = this.getCard(player.getSideboard().iterator().next()); if (commander != null) { player.addCommanderId(commander.getId());
this.sideboard = player.getSideboard().copy(); this.hand = player.getHand().copy(); this.graveyard = player.getGraveyard().copy();
Cards cards = player.getSideboard(); if (cards.isEmpty()) { if (!game.isSimulation()) { Card card = player.getSideboard().get(target.getFirstTarget(), game); if (card != null) { player.cast(card.getSpellAbility(), game, true, new MageObjectReference(source.getSourceObject(game), game));
if (controller != null && sourceObject != null) { if (controller.chooseUse(Outcome.Benefit, choiceText, source, game)) { Cards cards = controller.getSideboard(); List<Card> exile = game.getExile().getAllCards(game); boolean noTargets = cards.isEmpty() && (alsoFromExile ? exile.isEmpty() : true); target.setNotTarget(true); if (controller.choose(Outcome.Benefit, filteredCards, target, game)) { Card card = controller.getSideboard().get(target.getFirstTarget(), game); if (card == null && alsoFromExile) { card = game.getCard(target.getFirstTarget());
for (Card card : game.getCards()) { if (card.isOwnedBy(player.getId()) && !card.isCopy() // no copies && !player.getSideboard().contains(card.getId())
if (isCopy()) { // copied cards have no need to be removed from a previous zone removed = true; } else if (game.getPlayer(ownerId).getSideboard().contains(this.getId())) { game.getPlayer(ownerId).getSideboard().remove(this.getId()); removed = true; } else if (game.getPhase() == null) {