diff --git a/forge-gui/res/deckgendecks/Standard.dat b/forge-gui/res/deckgendecks/Standard.dat index 01bd86e7cf4..d97fc0c183b 100644 Binary files a/forge-gui/res/deckgendecks/Standard.dat and b/forge-gui/res/deckgendecks/Standard.dat differ diff --git a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java index f4bc1418575..ef205c81ee6 100644 --- a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java @@ -58,8 +58,8 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { protected Predicate hasColor; protected final List availableList; protected final List aiPlayables; - protected final List deckList = new ArrayList(); - protected final List setsWithBasicLands = new ArrayList(); + protected final List deckList = new ArrayList<>(); + protected final List setsWithBasicLands = new ArrayList<>(); protected List rankedColorList; // Views for aiPlayable @@ -424,7 +424,7 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { * Find the sets that have basic lands for the available cards. */ private void findBasicLandSets() { - final Set sets = new HashSet(); + final Set sets = new HashSet<>(); for (final PaperCard cp : aiPlayables) { final CardEdition ee = FModel.getMagicDb().getEditions().get(cp.getEdition()); if( !sets.contains(cp.getEdition()) && CardEdition.Predicates.hasBasicLands.apply(ee)) { @@ -575,6 +575,13 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { // (a) dual-land of the correct two colors, or // (b) a land that generates colorless mana and has some other // beneficial effect. + if (!card.getRules().getColorIdentity().isColorless() && card.getRules().getColorIdentity().getSharedColors(colors).countColors()==0){ + //skip as does not match colours + if (logToConsole) { + System.out.println("Excluding NonBasicLand: " + card.getName()); + } + continue; + } if (!inverseDLands.contains(card.getName())&&!dLands.contains(card.getName())&&r.nextInt(100)<90) { landsToAdd.add(card); landsNeeded--;