From edc921bf98ca85e8873040904cb1720fab946aee Mon Sep 17 00:00:00 2001 From: austinio7116 Date: Fri, 2 Mar 2018 19:49:42 +0000 Subject: [PATCH] Fixed bug with not counting keycards as lands in the land count causing various issues. Fixed final keyword issue causing build warnings. --- .../src/main/java/forge/view/SimulateMatch.java | 4 ++-- forge-gui/src/main/java/forge/deck/DeckgenUtil.java | 2 +- .../java/forge/limited/CardThemedDeckBuilder.java | 13 +++++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java b/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java index be176d263d7..5b901753a8f 100644 --- a/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java +++ b/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java @@ -161,10 +161,10 @@ public class SimulateMatch { private static void simulateSingleMatch(Match mc, int iGame, boolean outputGamelog) { - StopWatch sw = new StopWatch(); + final StopWatch sw = new StopWatch(); sw.start(); - Game g1 = mc.createGame(); + final Game g1 = mc.createGame(); // will run match in the same thread long startTime = System.currentTimeMillis(); diff --git a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java index 602e8c1b6ea..e663cf86c8d 100644 --- a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java +++ b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java @@ -217,7 +217,7 @@ public class DeckgenUtil { System.out.println("Wrong card count "+deck.getMain().countAll()); deck=buildCardGenDeck(format,isForAI); } - if(deck.getMain().countAll(Predicates.compose(CardRulesPredicates.Presets.IS_LAND, PaperCard.FN_GET_RULES))>30){ + if(deck.getMain().countAll(Predicates.compose(CardRulesPredicates.Presets.IS_LAND, PaperCard.FN_GET_RULES))>27){ System.out.println("Too many lands "+deck.getMain().countAll(Predicates.compose(CardRulesPredicates.Presets.IS_LAND, PaperCard.FN_GET_RULES))); deck=buildCardGenDeck(format,isForAI); } diff --git a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java index 883904e398e..2f9db7e8aea 100644 --- a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java @@ -249,6 +249,7 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { addLands(clrCnts); } if (logToConsole) { + System.out.println("Lands needed : " + landsNeeded); System.out.println("Post Lands : " + deckList.size()); } if (keyCard.getRules().getColorIdentity().isColorless()&&landsNeeded>0){ @@ -313,6 +314,7 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { deckList.addAll(keyCardList); aiPlayables.removeAll(keyCardList); rankedColorList.removeAll(keyCardList); + landsNeeded--; } // Add the deck card if(secondKeyCard.getRules().getMainPart().getType().isLand()) { @@ -321,6 +323,7 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { deckList.addAll(keyCardList); aiPlayables.removeAll(keyCardList); rankedColorList.removeAll(keyCardList); + landsNeeded--; } } @@ -650,6 +653,16 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { } } } + //check all colors have at least one count for each color in colors + for ( int i = 0 ; i < MagicColor.WUBRG.length; i++ ) { + final byte c = MagicColor.WUBRG[i]; + + if ( colors.hasAnyColor(c)) { + if(clrCnts[i] == 0 ) { + clrCnts[i]++; + } + } + } return clrCnts; }