int amount = this.getTargets().get(0).getMaxNumberOfTargets();
int maxAmount = Math.min(amount, player.getHand().size());
for (int i = 0; i < maxAmount; i++) {
Card card = player.getHand().getRandom(game);
if (card != null) {
paid |= player.discard(card, null, game);
}
}
} else {
if (targets.choose(Outcome.Discard, controllerId, sourceId, game)) {