From f40a26f52c1645b8986789c8d6c051f6de06272b Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 29 Oct 2022 12:48:59 +0200 Subject: [PATCH] Fix color choice --- forge-ai/src/main/java/forge/ai/ComputerUtilCard.java | 4 +--- .../forge/game/ability/effects/ChooseColorEffect.java | 3 +-- .../src/main/java/forge/player/PlayerControllerHuman.java | 8 ++++++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java index bbfb57ccf9a..3f0e6ef9e41 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java @@ -8,7 +8,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import java.util.stream.Collectors; import forge.card.mana.ManaCost; import org.apache.commons.lang3.StringUtils; @@ -1082,8 +1081,7 @@ public class ComputerUtilCard { //chosen.add(MagicColor.Constant.GREEN); chosen.add(getMostProminentColor(ai.getAllCards(), colorChoices)); } - //convert to proper case same with the colorChoices.. - return chosen.stream().map(s -> Character.toUpperCase(s.charAt(0)) + s.substring(1)).collect(Collectors.toList()); + return chosen; } public static boolean useRemovalNow(final SpellAbility sa, final Card c, final int dmg, ZoneType destination) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseColorEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseColorEffect.java index 257545caf44..75c5655960d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseColorEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseColorEffect.java @@ -82,14 +82,13 @@ public class ChooseColorEffect extends SpellAbilityEffect { } noNotify = null; } else { - colorChoices = colorChoices.stream().map(DeckRecognizer::getLocalisedMagicColorName).collect(Collectors.toList()); chosenColors = p.getController().chooseColors(prompt, sa, cntMin, cntMax, colorChoices); - chosenColors = chosenColors.stream().map(DeckRecognizer::getColorNameByLocalisedName).collect(Collectors.toList()); } if (chosenColors.isEmpty()) { return; } card.setChosenColors(chosenColors); + chosenColors = chosenColors.stream().map(DeckRecognizer::getLocalisedMagicColorName).collect(Collectors.toList()); p.getGame().getAction().notifyOfValue(sa, p, Lang.joinHomogenous(chosenColors), noNotify); } } diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 1ddc397d326..b0d5b77cfdf 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -16,6 +16,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.stream.Collectors; import java.util.TreeSet; import forge.util.ImageUtil; @@ -49,6 +50,7 @@ import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; import forge.deck.CardPool; import forge.deck.Deck; +import forge.deck.DeckRecognizer; import forge.deck.DeckSection; import forge.game.Game; import forge.game.GameEntity; @@ -1712,8 +1714,10 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont @Override public List chooseColors(final String message, final SpellAbility sa, final int min, final int max, - final List options) { - return getGui().getChoices(message, min, max, options); + List options) { + options = options.stream().map(DeckRecognizer::getLocalisedMagicColorName).collect(Collectors.toList()); + List choices = getGui().getChoices(message, min, max, options); + return choices.stream().map(DeckRecognizer::getColorNameByLocalisedName).collect(Collectors.toList()); } @Override