diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java index 58deb3885bc..c413c6cfb55 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java @@ -113,7 +113,7 @@ public enum CSubmenuSealed implements ICDoc { @SuppressWarnings("unchecked") private void setupSealed() { - final DeckGroup sealed = SealedCardPoolGenerator.generateSealedDeck(); + final DeckGroup sealed = SealedCardPoolGenerator.generateSealedDeck(true); if (sealed == null) { return; } final ACEditorBase editor = (ACEditorBase) new CEditorLimited( diff --git a/forge-gui-mobile/src/forge/screens/sealed/SealedScreen.java b/forge-gui-mobile/src/forge/screens/sealed/SealedScreen.java index f0fbdcf6577..e89cdd1a2f1 100644 --- a/forge-gui-mobile/src/forge/screens/sealed/SealedScreen.java +++ b/forge-gui-mobile/src/forge/screens/sealed/SealedScreen.java @@ -46,7 +46,7 @@ public class SealedScreen extends LaunchScreen { ThreadUtil.invokeInGameThread(new Runnable() { //must run in game thread to prevent blocking UI thread @Override public void run() { - final DeckGroup sealed = SealedCardPoolGenerator.generateSealedDeck(); + final DeckGroup sealed = SealedCardPoolGenerator.generateSealedDeck(false); if (sealed == null) { return; } FThreads.invokeInEdtLater(new Runnable() { diff --git a/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java b/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java index b724d61c4dc..83196ec5aed 100644 --- a/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java +++ b/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java @@ -66,7 +66,7 @@ public class SealedCardPoolGenerator { /** The Land set code. */ private String landSetCode = null; - public static DeckGroup generateSealedDeck() { + public static DeckGroup generateSealedDeck(boolean addBasicLands) { final String prompt = "Choose Sealed Deck Format"; final LimitedPoolType poolType = SGuiChoose.oneOrNone(prompt, LimitedPoolType.values()); if (poolType == null) { return null; } @@ -107,23 +107,25 @@ public class SealedCardPoolGenerator { final Deck deck = new Deck(sDeckName); deck.getOrCreate(DeckSection.Sideboard).addAll(humanPool); - final int landsCount = 10; - - final boolean isZendikarSet = sd.getLandSetCode().equals("ZEN"); // we want to generate one kind of Zendikar lands at a time only - final boolean zendikarSetMode = MyRandom.getRandom().nextBoolean(); - - for (final String element : MagicColor.Constant.BASIC_LANDS) { - int numArt = FModel.getMagicDb().getCommonCards().getArtCount(element, sd.getLandSetCode()); - int minArtIndex = isZendikarSet ? (zendikarSetMode ? 1 : 5) : 1; - int maxArtIndex = isZendikarSet ? minArtIndex + 3 : numArt; - - if (FModel.getPreferences().getPrefBoolean(FPref.UI_RANDOM_ART_IN_POOLS)) { - for (int i = minArtIndex; i <= maxArtIndex; i++) { - deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), i, numArt > 1 ? landsCount : 30); + if (addBasicLands) { + final int landsCount = 10; + + final boolean isZendikarSet = sd.getLandSetCode().equals("ZEN"); // we want to generate one kind of Zendikar lands at a time only + final boolean zendikarSetMode = MyRandom.getRandom().nextBoolean(); + + for (final String element : MagicColor.Constant.BASIC_LANDS) { + int numArt = FModel.getMagicDb().getCommonCards().getArtCount(element, sd.getLandSetCode()); + int minArtIndex = isZendikarSet ? (zendikarSetMode ? 1 : 5) : 1; + int maxArtIndex = isZendikarSet ? minArtIndex + 3 : numArt; + + if (FModel.getPreferences().getPrefBoolean(FPref.UI_RANDOM_ART_IN_POOLS)) { + for (int i = minArtIndex; i <= maxArtIndex; i++) { + deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), i, numArt > 1 ? landsCount : 30); + } + } + else { + deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), 30); } - } - else { - deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), 30); } }