From be9f6c8ef2c0477accf16ef89a3911f904b16005 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Thu, 4 Aug 2016 13:49:12 +0000 Subject: [PATCH] ComputerUtil: fixed chooseSomeType PlayerControllerAi & MessageUtil: fixed output for chooseType --- forge-ai/src/main/java/forge/ai/ComputerUtil.java | 5 +++-- forge-ai/src/main/java/forge/ai/PlayerControllerAi.java | 2 +- forge-game/src/main/java/forge/util/MessageUtil.java | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index 686ab8d1e14..35542cc6925 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -29,6 +29,7 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import com.google.common.collect.Multimap; import forge.ai.ability.ProtectAi; @@ -1748,7 +1749,7 @@ public class ComputerUtil { } } else if (kindOfType.equals("Creature")) { if (logic != null) { - List valid = CardType.getAllCreatureTypes(); + List valid = Lists.newArrayList(CardType.getAllCreatureTypes()); valid.removeAll(invalidTypes); if (logic.equals("MostProminentOnBattlefield")) { @@ -1780,7 +1781,7 @@ public class ComputerUtil { if (logic != null) { if (logic.equals("MostProminentOppControls")) { CardCollection list = CardLists.filterControlledBy(game.getCardsIn(ZoneType.Battlefield), ai.getOpponents()); - List valid = CardType.getBasicTypes(); + List valid = Lists.newArrayList(CardType.getBasicTypes()); valid.removeAll(invalidTypes); chosen = ComputerUtilCard.getMostProminentType(list, valid); diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index 35429051c5d..05f05e329fa 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -353,7 +353,7 @@ public class PlayerControllerAi extends PlayerController { chosen = validTypes.get(0); Log.warn("AI has no idea how to choose " + kindOfType +", defaulting to 1st element: chosen"); } - game.getAction().nofityOfValue(sa, null, "Computer picked: " + chosen, player); + game.getAction().nofityOfValue(sa, player, chosen, player); return chosen; } diff --git a/forge-game/src/main/java/forge/util/MessageUtil.java b/forge-game/src/main/java/forge/util/MessageUtil.java index d09707aa26b..cdf7a15e9f7 100644 --- a/forge-game/src/main/java/forge/util/MessageUtil.java +++ b/forge-game/src/main/java/forge/util/MessageUtil.java @@ -31,6 +31,7 @@ public class MessageUtil { if (sa == null || sa.getApi() == null || sa.getHostCard() == null) { return ("Result: " + value); } + String choser = StringUtils.capitalize(mayBeYou(player, target)); switch(sa.getApi()) { case ChooseDirection: return value; @@ -40,13 +41,14 @@ public class MessageUtil { } final boolean random = sa.hasParam("Random"); return String.format(random ? "Randomly chosen number for %s is %s" : "%s chooses number: %s", mayBeYou(player, target), value); + case ChooseType: + return String.format("%s choose %s for effect of %s", choser, value, sa.getHostCard().getName()); case FlipACoin: String flipper = StringUtils.capitalize(mayBeYou(player, target)); return sa.hasParam("NoCall") ? String.format("%s flip comes up %s", Lang.getPossesive(flipper), value) : String.format("%s %s the flip", flipper, Lang.joinVerb(flipper, value)); case Protection: - String choser = StringUtils.capitalize(mayBeYou(player, target)); return String.format("%s %s protection from %s", choser, Lang.joinVerb(choser, "choose"), value); case Vote: String chooser = StringUtils.capitalize(mayBeYou(player, target));