diff --git a/src/main/java/forge/game/player/PlayerControllerHuman.java b/src/main/java/forge/game/player/PlayerControllerHuman.java index dc663b7eacd..6561616402c 100644 --- a/src/main/java/forge/game/player/PlayerControllerHuman.java +++ b/src/main/java/forge/game/player/PlayerControllerHuman.java @@ -572,6 +572,8 @@ public class PlayerControllerHuman extends PlayerController { */ @Override public List chooseCardsToRevealFromHand(int min, int max, List valid) { + max = Math.min(max, valid.size()); + min = Math.min(min, max); InputSelectCardsFromList inp = new InputSelectCardsFromList(min, max, valid); inp.setMessage("Choose Which Cards to Reveal"); Singletons.getControl().getInputQueue().setInputAndWait(inp); diff --git a/src/main/java/forge/gui/input/InputSelectCardsFromList.java b/src/main/java/forge/gui/input/InputSelectCardsFromList.java index f27bd2235cd..8ba94ce160c 100644 --- a/src/main/java/forge/gui/input/InputSelectCardsFromList.java +++ b/src/main/java/forge/gui/input/InputSelectCardsFromList.java @@ -10,11 +10,11 @@ public class InputSelectCardsFromList extends InputSelectCards { private final List validChoices; public InputSelectCardsFromList(int min, int max, List validCards) { - super(min, Math.min(max, validCards.size())); // to avoid hangs + super(Math.min(min, validCards.size()), Math.min(max, validCards.size())); // to avoid hangs this.validChoices = validCards; if ( min > validCards.size() ) - throw new RuntimeException(String.format("Trying to choose at least %d cards from a list with only %d cards!", min, validCards.size())); + System.out.println(String.format("Trying to choose at least %d cards from a list with only %d cards!", min, validCards.size())); } @Override