mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
Fix possible NPE in having a player select from a list.
This commit is contained in:
@@ -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<String> invalidTypes) {
|
||||
if (invalidTypes == null) {
|
||||
invalidTypes = ImmutableList.<String>of();
|
||||
}
|
||||
|
||||
final Game game = ai.getGame();
|
||||
String chosen = "";
|
||||
if( kindOfType.equals("Card")) {
|
||||
|
||||
@@ -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<String> validTypes, List<String> invalidTypes, boolean isOptional) {
|
||||
public String chooseSomeType(final String kindOfType, final SpellAbility sa, final List<String> validTypes, List<String> invalidTypes, final boolean isOptional) {
|
||||
final List<String> 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
|
||||
|
||||
Reference in New Issue
Block a user