From 14ca6da9cff978884b08930dfac4156d99e8e542 Mon Sep 17 00:00:00 2001 From: drdev Date: Mon, 6 Apr 2015 20:11:53 +0000 Subject: [PATCH] Avoid prompting user to choose which replacement effect to apply first if all options are the same --- .../forge/game/replacement/ReplacementHandler.java | 1 - .../main/java/forge/player/PlayerControllerHuman.java | 11 +++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java index 862b0471fa0..db80720167b 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java @@ -97,7 +97,6 @@ public class ReplacementHandler { * @return true if the event was replaced. */ public ReplacementResult run(final HashMap runParams, final ReplacementLayer layer, final Player decider, final Game game) { - final List possibleReplacers = new ArrayList(); // Round up Non-static replacement effects ("Until EOT," or // "The next time you would..." etc) diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 442c56f5b3a..e5c9e8b1616 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -1118,10 +1118,17 @@ public class PlayerControllerHuman @Override public ReplacementEffect chooseSingleReplacementEffect(String prompt, List possibleReplacers, HashMap runParams) { + ReplacementEffect first = possibleReplacers.get(0); if (possibleReplacers.size() == 1) { - return possibleReplacers.get(0); + return first; } - return getGui().one(prompt, possibleReplacers); + String firstStr = first.toString(); + for (int i = 1; i < possibleReplacers.size(); i++) { + if (!possibleReplacers.get(i).toString().equals(firstStr)) { + return getGui().one(prompt, possibleReplacers); //prompt user if there are multiple different options + } + } + return first; //return first option without prompting if all options are the same } @Override