diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index a0b5f377480..046c3dd0cf1 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -19,6 +19,7 @@ package forge.ai; import com.google.common.base.Predicate; import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import forge.ai.ability.ProtectAi; @@ -1704,6 +1705,10 @@ public class ComputerUtil { } public static String chooseSomeType(Player ai, String kindOfType, String logic, List invalidTypes) { + if (invalidTypes == null) { + invalidTypes = ImmutableList.of(); + } + final Game game = ai.getGame(); String chosen = ""; if( kindOfType.equals("Card")) { diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 134da91244f..42ef21f1392 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -588,9 +588,11 @@ public class PlayerControllerHuman extends PlayerController { * @see forge.game.player.PlayerController#chooseSomeType(java.lang.String, java.lang.String, java.util.List, java.util.List, java.lang.String) */ @Override - public String chooseSomeType(String kindOfType, SpellAbility sa, List validTypes, List invalidTypes, boolean isOptional) { + public String chooseSomeType(final String kindOfType, final SpellAbility sa, final List validTypes, List invalidTypes, final boolean isOptional) { final List types = Lists.newArrayList(validTypes); - Iterables.removeAll(types, invalidTypes); + if (invalidTypes != null && !invalidTypes.isEmpty()) { + Iterables.removeAll(types, invalidTypes); + } if(isOptional) return SGuiChoose.oneOrNone("Choose a " + kindOfType.toLowerCase() + " type", types); else