From c95ee53137ee6d885c292a62bd791d6b587aa07c Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Sun, 12 Jan 2014 18:22:26 +0000 Subject: [PATCH] remove gui calls from RepeatEachEffect.java --- .../game/ability/effects/RepeatEachEffect.java | 16 ++++++++-------- .../forge/gui/player/PlayerControllerHuman.java | 2 ++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/forge-gui/src/main/java/forge/game/ability/effects/RepeatEachEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/RepeatEachEffect.java index b30f6ae6ba8..6674aae42f3 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/RepeatEachEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/RepeatEachEffect.java @@ -21,7 +21,6 @@ import forge.game.player.Player; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import forge.gui.GuiChoose; import forge.util.Aggregates; public class RepeatEachEffect extends SpellAbilityEffect { @@ -38,7 +37,8 @@ public class RepeatEachEffect extends SpellAbilityEffect { repeat.setActivatingPlayer(sa.getActivatingPlayer()); ((AbilitySub) repeat).setParent(sa); - final Game game = sa.getActivatingPlayer().getGame(); + final Player player = sa.getActivatingPlayer(); + final Game game = player.getGame(); boolean useImprinted = sa.hasParam("UseImprinted"); boolean loopOverCards = false; @@ -66,8 +66,8 @@ public class RepeatEachEffect extends SpellAbilityEffect { if (loopOverCards) { // TODO (ArsenalNut 22 Dec 2012) Add logic to order cards for AI - if (sa.getActivatingPlayer().isHuman() && sa.hasParam("ChooseOrder") && repeatCards.size() >= 2) { - repeatCards = GuiChoose.order("Choose order of copies to cast", "Put first", repeatCards, null); + if (sa.hasParam("ChooseOrder") && repeatCards.size() >= 2) { + repeatCards = player.getController().orderMoveToZoneList(repeatCards, ZoneType.Stack); } for (Card card : repeatCards) { @@ -92,13 +92,13 @@ public class RepeatEachEffect extends SpellAbilityEffect { if (sa.hasParam("RepeatOptionalForEachPlayer")) { optional = true; } - for (Player player : repeatPlayers) { - if (optional && !player.getController().confirmAction(repeat, null, sa.getParam("RepeatOptionalMessage"))) { + for (Player p : repeatPlayers) { + if (optional && !p.getController().confirmAction(repeat, null, sa.getParam("RepeatOptionalMessage"))) { continue; } - source.addRemembered(player); + source.addRemembered(p); AbilityUtils.resolve(repeat); - source.removeRemembered(player); + source.removeRemembered(p); } } diff --git a/forge-gui/src/main/java/forge/gui/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/gui/player/PlayerControllerHuman.java index b604efd3149..55f0e31769f 100644 --- a/forge-gui/src/main/java/forge/gui/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/gui/player/PlayerControllerHuman.java @@ -511,6 +511,8 @@ public class PlayerControllerHuman extends PlayerController { return GuiChoose.order("Choose order of cards to put into the planar deck", "Closest to top", cards, null); case SchemeDeck: return GuiChoose.order("Choose order of cards to put into the scheme deck", "Closest to top", cards, null); + case Stack: + return GuiChoose.order("Choose order of copies to cast", "Put first", cards, null); default: System.out.println("ZoneType " + destinationZone + " - Not Ordered"); break;