From 933368338b448fc41b7857bd628b94e7687b8837 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Mon, 20 May 2013 19:13:56 +0000 Subject: [PATCH] one less call to isHuman --- .../card/ability/effects/PlayEffect.java | 19 ++++--------------- src/main/java/forge/game/MatchController.java | 1 + .../forge/game/player/PlayerControllerAi.java | 9 ++++----- .../game/player/PlayerControllerHuman.java | 2 +- 4 files changed, 10 insertions(+), 21 deletions(-) diff --git a/src/main/java/forge/card/ability/effects/PlayEffect.java b/src/main/java/forge/card/ability/effects/PlayEffect.java index 6f6c2888fc5..a8b6d951239 100644 --- a/src/main/java/forge/card/ability/effects/PlayEffect.java +++ b/src/main/java/forge/card/ability/effects/PlayEffect.java @@ -148,19 +148,15 @@ public class PlayEffect extends SpellAbilityEffect { tgtCards = CardLists.filter(tgtCards, new Predicate() { @Override public boolean apply(final Card c) { - List sas = new ArrayList(); for (SpellAbility s : c.getBasicSpells()) { Spell spell = (Spell) s; s.setActivatingPlayer(controller); // timing restrictions still apply if (s.getRestrictions().checkTimingRestrictions(c, s) && spell.canPlayFromEffectAI(false, true)) { - sas.add(s); + return true; } } - if (sas.isEmpty()) { - return false; - } - return true; + return false; } }); tgtCard = ComputerUtilCard.getBestAI(tgtCards); @@ -175,8 +171,7 @@ public class PlayEffect extends SpellAbilityEffect { } final StringBuilder sb = new StringBuilder(); sb.append("Do you want to play " + tgtCard + "?"); - if (controller.isHuman() && optional - && !GuiDialog.confirm(source, sb.toString())) { + if (controller.isHuman() && optional && !GuiDialog.confirm(source, sb.toString())) { // i--; // This causes an infinite loop (ArsenalNut) if (wasFaceDown) { tgtCard.setState(CardCharacteristicName.FaceDown); @@ -229,13 +224,7 @@ public class PlayEffect extends SpellAbilityEffect { tgtCards.remove(tgtCard); SpellAbility tgtSA = null; // only one mode can be used - if (sas.size() == 1) { - tgtSA = sas.get(0); - } else if (sa.getActivatingPlayer().isHuman()) { - tgtSA = GuiChoose.one("Select a spell to cast", sas); - } else { - tgtSA = sas.get(0); - } + tgtSA = sa.getActivatingPlayer().getController().getAbilityToPlay(sas); if (tgtSA.getTarget() != null && !optional) { tgtSA.getTarget().setMandatory(true); diff --git a/src/main/java/forge/game/MatchController.java b/src/main/java/forge/game/MatchController.java index f18a96b6021..d7e799b61aa 100644 --- a/src/main/java/forge/game/MatchController.java +++ b/src/main/java/forge/game/MatchController.java @@ -373,6 +373,7 @@ public class MatchController { * @return */ private Player seeWhoPlaysFirstDice(final GameState game) { + // Play the Flip Coin sound game.getEvents().post(new FlipCoinEvent()); diff --git a/src/main/java/forge/game/player/PlayerControllerAi.java b/src/main/java/forge/game/player/PlayerControllerAi.java index 1257c65f667..8d00855420c 100644 --- a/src/main/java/forge/game/player/PlayerControllerAi.java +++ b/src/main/java/forge/game/player/PlayerControllerAi.java @@ -29,7 +29,6 @@ import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilBlock; import forge.game.ai.ComputerUtilCombat; import forge.game.zone.ZoneType; -import forge.gui.GuiChoose; import forge.util.Aggregates; @@ -78,11 +77,11 @@ public class PlayerControllerAi extends PlayerController { public SpellAbility getAbilityToPlay(List abilities) { if (abilities.size() == 0) { return null; - } else if (abilities.size() == 1) { + } else return abilities.get(0); - } else { - return GuiChoose.oneOrNone("Choose ability for AI to play", abilities); // some day network interaction will be here - } +// } else { +// return GuiChoose.oneOrNone("Choose ability for AI to play", abilities); // some day network interaction will be here +// } } /** diff --git a/src/main/java/forge/game/player/PlayerControllerHuman.java b/src/main/java/forge/game/player/PlayerControllerHuman.java index 416e422bf93..6aa7351c07c 100644 --- a/src/main/java/forge/game/player/PlayerControllerHuman.java +++ b/src/main/java/forge/game/player/PlayerControllerHuman.java @@ -87,7 +87,7 @@ public class PlayerControllerHuman extends PlayerController { } else if (abilities.size() == 1) { return abilities.get(0); } else { - return GuiChoose.oneOrNone("Choose", abilities); // some day network interaction will be here + return GuiChoose.oneOrNone("Choose ability to play", abilities); } }