From 847d165300106cbe086a9d49719b98b0d48a919f Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 03:43:43 +0000 Subject: [PATCH 1/9] Update StaticData.java --- forge-core/src/main/java/forge/StaticData.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/forge-core/src/main/java/forge/StaticData.java b/forge-core/src/main/java/forge/StaticData.java index 22473eeb56e..6b23eb176de 100644 --- a/forge-core/src/main/java/forge/StaticData.java +++ b/forge-core/src/main/java/forge/StaticData.java @@ -59,6 +59,7 @@ public class StaticData { private IStorage boosterBoxes; private IStorage printSheets; private final Map> setLookup = new HashMap<>(); + private List blocksLandCodes = new ArrayList<>(); private static StaticData lastInstance = null; @@ -298,6 +299,9 @@ public class StaticData { return databases; } + public List getBlockLands() { + return blocksLandCodes; + } public TokenDb getAllTokens() { return allTokens; } From cb82d570eb00acafa848b8242ba100841397b6e7 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 03:48:01 +0000 Subject: [PATCH 2/9] Update FModel.java --- forge-gui/src/main/java/forge/model/FModel.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java index ca2731ff7b9..b83e3b59646 100644 --- a/forge-gui/src/main/java/forge/model/FModel.java +++ b/forge-gui/src/main/java/forge/model/FModel.java @@ -217,6 +217,10 @@ public final class FModel { magicDb.setMulliganRule(MulliganDefs.MulliganRule.valueOf(preferences.getPref(FPref.MULLIGAN_RULE))); blocks = new StorageBase<>("Block definitions", new CardBlock.Reader(ForgeConstants.BLOCK_DATA_DIR + "blocks.txt", magicDb.getEditions())); + //setblockLands + for (final CardBlock b : blocks) { + magicDb.getBlockLands().add(b.getLandSet().getCode()); + } questPreferences = new QuestPreferences(); conquestPreferences = new ConquestPreferences(); fantasyBlocks = new StorageBase<>("Custom blocks", new CardBlock.Reader(ForgeConstants.BLOCK_DATA_DIR + "fantasyblocks.txt", magicDb.getEditions())); From cb06cf9029e1309473d6f49a13d56058e12021b9 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 03:55:12 +0000 Subject: [PATCH 3/9] Update GameType.java --- .../src/main/java/forge/game/GameType.java | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/forge-game/src/main/java/forge/game/GameType.java b/forge-game/src/main/java/forge/game/GameType.java index 7483b80de99..bf1c3279fe7 100644 --- a/forge-game/src/main/java/forge/game/GameType.java +++ b/forge-game/src/main/java/forge/game/GameType.java @@ -41,11 +41,21 @@ public enum GameType { public Deck apply(RegisteredPlayer player) { Deck deck = new Deck(); CardPool mainDeck = deck.getMain(); - mainDeck.add("Plains", 12); - mainDeck.add("Island", 12); - mainDeck.add("Swamp", 12); - mainDeck.add("Mountain", 12); - mainDeck.add("Forest", 12); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards() .getCard("Momir Vig, Simic Visionary Avatar"), 1); return deck; @@ -56,11 +66,21 @@ public enum GameType { public Deck apply(RegisteredPlayer player) { Deck deck = new Deck(); CardPool mainDeck = deck.getMain(); - mainDeck.add("Plains", 12); - mainDeck.add("Island", 12); - mainDeck.add("Swamp", 12); - mainDeck.add("Mountain", 12); - mainDeck.add("Forest", 12); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards() .getCard("Momir Vig, Simic Visionary Avatar"), 1); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards() From 35ded5bd95fd6e82c74f2f625e22987440c2d95b Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 04:12:05 +0000 Subject: [PATCH 4/9] Update GameType.java --- .../src/main/java/forge/game/GameType.java | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/forge-game/src/main/java/forge/game/GameType.java b/forge-game/src/main/java/forge/game/GameType.java index bf1c3279fe7..587f9fcb2ed 100644 --- a/forge-game/src/main/java/forge/game/GameType.java +++ b/forge-game/src/main/java/forge/game/GameType.java @@ -41,21 +41,21 @@ public enum GameType { public Deck apply(RegisteredPlayer player) { Deck deck = new Deck(); CardPool mainDeck = deck.getMain(); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards() .getCard("Momir Vig, Simic Visionary Avatar"), 1); return deck; @@ -66,21 +66,21 @@ public enum GameType { public Deck apply(RegisteredPlayer player) { Deck deck = new Deck(); CardPool mainDeck = deck.getMain(); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards() .getCard("Momir Vig, Simic Visionary Avatar"), 1); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards() From 62ac73c91612f3329d3102037d022ec2d7b0ff10 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 04:12:37 +0000 Subject: [PATCH 5/9] Update CardPool.java --- forge-core/src/main/java/forge/deck/CardPool.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/forge-core/src/main/java/forge/deck/CardPool.java b/forge-core/src/main/java/forge/deck/CardPool.java index 72fe0a22d4a..19e4ff63c3d 100644 --- a/forge-core/src/main/java/forge/deck/CardPool.java +++ b/forge-core/src/main/java/forge/deck/CardPool.java @@ -64,8 +64,15 @@ public class CardPool extends ItemPool { this.add(cardName, setCode, IPaperCard.DEFAULT_ART_INDEX, amount); } + public void add(final String cardName, final String setCode, final int amount, boolean addAny) { + this.add(cardName, setCode, IPaperCard.DEFAULT_ART_INDEX, amount, addAny); + } + // NOTE: ART indices are "1" -based public void add(String cardName, String setCode, int artIndex, final int amount) { + this.add(cardName, setCode, artIndex, amount, false); + } + public void add(String cardName, String setCode, int artIndex, final int amount, boolean addAny) { Map dbs = StaticData.instance().getAvailableDatabases(); PaperCard paperCard = null; String selectedDbName = ""; @@ -89,6 +96,10 @@ public class CardPool extends ItemPool { artIndex = IPaperCard.DEFAULT_ART_INDEX; // Reset Any artIndex passed in, at this point } } + if (addAny && paperCard == null) { + paperCard = StaticData.instance().getCommonCards().getCard(cardName); + selectedDbName = "Common"; + } if (paperCard == null){ // after all still null System.err.println("An unsupported card was requested: \"" + cardName + "\" from \"" + setCode + "\". \n"); From 74f86aa0c6908ecdfec5a2c5eea6dc086aba6b3d Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 04:33:38 +0000 Subject: [PATCH 6/9] Update CardPool.java --- forge-core/src/main/java/forge/deck/CardPool.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-core/src/main/java/forge/deck/CardPool.java b/forge-core/src/main/java/forge/deck/CardPool.java index 19e4ff63c3d..a694018ed08 100644 --- a/forge-core/src/main/java/forge/deck/CardPool.java +++ b/forge-core/src/main/java/forge/deck/CardPool.java @@ -65,7 +65,7 @@ public class CardPool extends ItemPool { } public void add(final String cardName, final String setCode, final int amount, boolean addAny) { - this.add(cardName, setCode, IPaperCard.DEFAULT_ART_INDEX, amount, addAny); + this.add(cardName, setCode, IPaperCard.NO_ART_INDEX, amount, addAny); } // NOTE: ART indices are "1" -based From 9c172833e8bd27192601192c2c91e6a09c8d702d Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 04:45:44 +0000 Subject: [PATCH 7/9] Update GameType.java --- forge-game/src/main/java/forge/game/GameType.java | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-game/src/main/java/forge/game/GameType.java b/forge-game/src/main/java/forge/game/GameType.java index 587f9fcb2ed..32bf55d59cc 100644 --- a/forge-game/src/main/java/forge/game/GameType.java +++ b/forge-game/src/main/java/forge/game/GameType.java @@ -13,6 +13,7 @@ import forge.deck.DeckFormat; import forge.deck.DeckSection; import forge.game.player.RegisteredPlayer; import forge.util.Localizer; +import forge.util.MyRandom; public enum GameType { From 7c56d50192a0ebf680b03dea59663974e95ff6b1 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 05:43:41 +0000 Subject: [PATCH 8/9] addAny must be random art --- forge-core/src/main/java/forge/deck/CardPool.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-core/src/main/java/forge/deck/CardPool.java b/forge-core/src/main/java/forge/deck/CardPool.java index a694018ed08..fd3a517c6ec 100644 --- a/forge-core/src/main/java/forge/deck/CardPool.java +++ b/forge-core/src/main/java/forge/deck/CardPool.java @@ -114,7 +114,7 @@ public class CardPool extends ItemPool { boolean artIndexExplicitlySet = (artIndex > IPaperCard.DEFAULT_ART_INDEX) || (CardDb.CardRequest.fromString(cardName).artIndex > IPaperCard.NO_ART_INDEX); - if (artIndexExplicitlySet || artCount == 1) { + if ((artIndexExplicitlySet || artCount == 1) && !addAny) { // either a specific art index is specified, or there is only one art, so just add the card this.add(paperCard, amount); } else { From 290140bca341bb389785957054ed1d6887a24dd2 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 26 Aug 2021 07:31:39 +0000 Subject: [PATCH 9/9] Update GameType.java --- .../src/main/java/forge/game/GameType.java | 42 ++++++------------- 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/forge-game/src/main/java/forge/game/GameType.java b/forge-game/src/main/java/forge/game/GameType.java index 32bf55d59cc..b1b0c5cf512 100644 --- a/forge-game/src/main/java/forge/game/GameType.java +++ b/forge-game/src/main/java/forge/game/GameType.java @@ -42,21 +42,12 @@ public enum GameType { public Deck apply(RegisteredPlayer player) { Deck deck = new Deck(); CardPool mainDeck = deck.getMain(); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + String setcode = StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())); + mainDeck.add("Plains", setcode, 12, true); + mainDeck.add("Island", setcode, 12, true); + mainDeck.add("Swamp", setcode, 12, true); + mainDeck.add("Mountain", setcode, 12, true); + mainDeck.add("Forest", setcode, 12, true); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards() .getCard("Momir Vig, Simic Visionary Avatar"), 1); return deck; @@ -67,21 +58,12 @@ public enum GameType { public Deck apply(RegisteredPlayer player) { Deck deck = new Deck(); CardPool mainDeck = deck.getMain(); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Plains", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Island", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Swamp", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Mountain", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); - mainDeck.add("Forest", StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())), 4, true); + String setcode = StaticData.instance().getBlockLands().get(MyRandom.getRandom().nextInt(StaticData.instance().getBlockLands().size())); + mainDeck.add("Plains", setcode, 12, true); + mainDeck.add("Island", setcode, 12, true); + mainDeck.add("Swamp", setcode, 12, true); + mainDeck.add("Mountain", setcode, 12, true); + mainDeck.add("Forest", setcode, 12, true); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards() .getCard("Momir Vig, Simic Visionary Avatar"), 1); deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards()