target.setRequired(true); while (cards.size() > 1) { this.choose(Outcome.Neutral, cards, target, game); if (!canRespond()) { return false;
int possibleAmount = Math.min(getHand().size(), amount); TargetDiscard target = new TargetDiscard(possibleAmount, possibleAmount, new FilterCard(CardUtil.numberToText(possibleAmount, "a") + " card" + (possibleAmount > 1 ? "s" : "")), playerId); choose(Outcome.Discard, target, source == null ? null : source.getSourceId(), game); for (UUID cardId : target.getTargets()) { Card card = this.getHand().get(cardId, game);
target.setRequired(true); while (cards.size() > 1) { this.choose(Outcome.Neutral, cards, target, game); if (!canRespond()) { return false;