From 73a623cc1b8e953f99a69cf919774d71331c91d4 Mon Sep 17 00:00:00 2001 From: austinio7116 Date: Sat, 3 Mar 2018 10:53:57 +0000 Subject: [PATCH] Fixed card-based deck generation where extra colours were kept despite no cards of that colour being included. --- .../limited/CardThemedCommanderDeckBuilder.java | 4 ++++ .../java/forge/limited/CardThemedDeckBuilder.java | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/forge-gui/src/main/java/forge/limited/CardThemedCommanderDeckBuilder.java b/forge-gui/src/main/java/forge/limited/CardThemedCommanderDeckBuilder.java index 656a9d1a569..a08992016a5 100644 --- a/forge-gui/src/main/java/forge/limited/CardThemedCommanderDeckBuilder.java +++ b/forge-gui/src/main/java/forge/limited/CardThemedCommanderDeckBuilder.java @@ -62,6 +62,10 @@ public class CardThemedCommanderDeckBuilder extends CardThemedDeckBuilder { //do nothing as we cannot add extra colours beyond commanders } + @Override + protected void updateColors(){ + //do nothing as we cannot deviate from commander colours + } /** * Generate a descriptive name. * diff --git a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java index 2f9db7e8aea..4f2bb391d78 100644 --- a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java @@ -133,6 +133,19 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { return buildDeck().getMain(); } + protected void updateColors(){ + //update colors + FullDeckColors finalDeckColors = new FullDeckColors(); + for(PaperCard c:deckList){ + if(finalDeckColors.canChoseMoreColors()){ + finalDeckColors.addColorsOf(c); + } + } + colors = finalDeckColors.getChosenColors(); + if (logColorsToConsole) { + System.out.println("Final Colors: " + colors.toEnumSet().toString()); + } + } /** *

* buildDeck. @@ -223,6 +236,8 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { System.out.println("Post Randoms : " + deckList.size()); } + updateColors(); + addLandKeyCards(); List duals = getDualLandList();