From a0de29bc13e16f90f47703391d21d58c6bf41a80 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Wed, 20 Mar 2013 04:30:05 +0000 Subject: [PATCH] setPriority to human player moved from Input and CField to Player.playSpellAbility (that both sources call) InputProxy.selectCard no longer requires PlayerZone (it can be derived from card by those who needed it) ComputerUtil - rem imports --- src/main/java/forge/control/input/InputPassPriority.java | 1 - src/main/java/forge/game/ai/ComputerUtil.java | 3 --- src/main/java/forge/game/player/Player.java | 6 ++++-- src/main/java/forge/gui/InputProxy.java | 3 +-- src/main/java/forge/gui/match/nonsingleton/CCommand.java | 2 +- src/main/java/forge/gui/match/nonsingleton/CField.java | 1 - src/main/java/forge/gui/match/nonsingleton/CHand.java | 5 ++--- 7 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/main/java/forge/control/input/InputPassPriority.java b/src/main/java/forge/control/input/InputPassPriority.java index 77ce4595bb0..1647022f8cd 100644 --- a/src/main/java/forge/control/input/InputPassPriority.java +++ b/src/main/java/forge/control/input/InputPassPriority.java @@ -85,7 +85,6 @@ public class InputPassPriority extends Input { SpellAbility ab = player.getController().getAbilityToPlay(game.getAbilitesOfCard(card, player)); if ( null != ab) { player.playSpellAbility(card, ab); - Singletons.getModel().getGame().getPhaseHandler().setPriority(player); } else { SDisplayUtil.remind(VMessage.SINGLETON_INSTANCE); diff --git a/src/main/java/forge/game/ai/ComputerUtil.java b/src/main/java/forge/game/ai/ComputerUtil.java index 986ce7e1aff..1f87304e148 100644 --- a/src/main/java/forge/game/ai/ComputerUtil.java +++ b/src/main/java/forge/game/ai/ComputerUtil.java @@ -36,11 +36,8 @@ import forge.card.ability.ApiType; import forge.card.ability.effects.CharmEffect; import forge.card.cardfactory.CardFactoryUtil; import forge.card.cost.Cost; -import forge.card.cost.CostPart; -import forge.card.cost.CostPartMana; import forge.card.cost.CostPayment; import forge.card.cost.CostUtil; -import forge.card.mana.ManaCost; import forge.card.spellability.AbilityStatic; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index a3c02cc63ab..049922c5b02 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -2994,10 +2994,12 @@ public abstract class Player extends GameEntity implements Comparable { * @param ab */ public void playSpellAbility(Card c, SpellAbility ab) { - if (ab == Ability.PLAY_LAND_SURROGATE) { + if (ab == Ability.PLAY_LAND_SURROGATE) this.playLand(c); - } else + else { game.getActionPlay().playSpellAbility(ab, this); + } + game.getPhaseHandler().setPriority(this); } /** diff --git a/src/main/java/forge/gui/InputProxy.java b/src/main/java/forge/gui/InputProxy.java index c186c935348..cef0ac2573b 100644 --- a/src/main/java/forge/gui/InputProxy.java +++ b/src/main/java/forge/gui/InputProxy.java @@ -24,7 +24,6 @@ import forge.Card; import forge.Singletons; import forge.control.input.Input; import forge.game.player.Player; -import forge.game.zone.PlayerZone; import forge.view.ButtonUtil; /** @@ -102,7 +101,7 @@ public class InputProxy implements Observer { * @param zone * a {@link forge.game.zone.PlayerZone} object. */ - public final void selectCard(final Card card, final PlayerZone zone) { + public final void selectCard(final Card card) { this.getInput().selectCard(card); } diff --git a/src/main/java/forge/gui/match/nonsingleton/CCommand.java b/src/main/java/forge/gui/match/nonsingleton/CCommand.java index 28fc6ed8aeb..99546328178 100644 --- a/src/main/java/forge/gui/match/nonsingleton/CCommand.java +++ b/src/main/java/forge/gui/match/nonsingleton/CCommand.java @@ -114,7 +114,7 @@ public class CCommand implements ICDoc { if (c != null && c.isInZone(ZoneType.Command)) { //TODO: Cast commander/activate avatar/roll planar dice here. - CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(c, player.getZone(ZoneType.Command)); + CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(c); } } diff --git a/src/main/java/forge/gui/match/nonsingleton/CField.java b/src/main/java/forge/gui/match/nonsingleton/CField.java index 155794a7e5f..93dbc735ce2 100644 --- a/src/main/java/forge/gui/match/nonsingleton/CField.java +++ b/src/main/java/forge/gui/match/nonsingleton/CField.java @@ -348,7 +348,6 @@ public class CField implements ICDoc { SpellAbility ab = player.getController().getAbilityToPlay(game.getAbilitesOfCard(c, player)); if ( null != ab) { player.playSpellAbility(c, ab); - game.getPhaseHandler().setPriority(player); } } }.actionPerformed(null); diff --git a/src/main/java/forge/gui/match/nonsingleton/CHand.java b/src/main/java/forge/gui/match/nonsingleton/CHand.java index c6599d8a1be..d4629a2f7b6 100644 --- a/src/main/java/forge/gui/match/nonsingleton/CHand.java +++ b/src/main/java/forge/gui/match/nonsingleton/CHand.java @@ -108,8 +108,7 @@ public class CHand implements ICDoc { public void mousePressed(final MouseEvent e) { if (e.getButton() != MouseEvent.BUTTON1) { return; } - CMessage.SINGLETON_INSTANCE.getInputControl() - .selectCard(cardobj, Singletons.getControl().getPlayer().getZone(ZoneType.Hand)); + CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(cardobj); } }); } @@ -184,7 +183,7 @@ public class CHand implements ICDoc { } final Card c = view.getHandArea().getHoveredCard(e); if (c != null) { - CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(c, Singletons.getControl().getPlayer().getZone(ZoneType.Hand)); + CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(c); } }