diff --git a/src/main/java/forge/control/input/InputBlock.java b/src/main/java/forge/control/input/InputBlock.java index 11234c391c3..c32c40e4691 100644 --- a/src/main/java/forge/control/input/InputBlock.java +++ b/src/main/java/forge/control/input/InputBlock.java @@ -105,7 +105,7 @@ public class InputBlock extends InputBase { if (isMetaDown) { - if (card.getController() == Singletons.getControl().getPlayer() ) { + if (card.getController() == player ) { game.getCombat().removeFromCombat(card); } removeFromAllBlocking(card); diff --git a/src/main/java/forge/control/input/InputCleanup.java b/src/main/java/forge/control/input/InputCleanup.java index ab22214865f..f2d3e53821b 100644 --- a/src/main/java/forge/control/input/InputCleanup.java +++ b/src/main/java/forge/control/input/InputCleanup.java @@ -73,8 +73,7 @@ public class InputCleanup extends InputBase { /** {@inheritDoc} */ @Override public final void selectCard(final Card card, boolean isMetaDown) { - Zone zone = game.getZoneOf(card); - if (!zone.is(ZoneType.Hand, Singletons.getControl().getPlayer())) + if (!player.getZone(ZoneType.Hand).contains(card)) return; game.getInputQueue().LockAndInvokeGameAction(new Runnable() { diff --git a/src/main/java/forge/game/MatchController.java b/src/main/java/forge/game/MatchController.java index 1327bb256f8..31c288d09bf 100644 --- a/src/main/java/forge/game/MatchController.java +++ b/src/main/java/forge/game/MatchController.java @@ -20,6 +20,7 @@ import forge.game.player.LobbyPlayer; import forge.game.player.LobbyPlayerHuman; import forge.game.player.Player; import forge.game.player.PlayerStatistics; +import forge.game.player.PlayerType; import forge.gui.GuiDialog; import forge.gui.framework.EDocID; import forge.gui.framework.SDisplayUtil; @@ -374,7 +375,7 @@ public class MatchController { } boolean willPlay = goesFirst.getController().getWillPlayOnFirstTurn(message); - if ( goesFirst != FControl.SINGLETON_INSTANCE.getPlayer() ) { + if ( goesFirst.getLobbyPlayer().getType() == PlayerType.COMPUTER ) { GuiDialog.message(message + "\nComputer Going First"); } goesFirst = willPlay ? goesFirst : goesFirst.getOpponent(); diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java index 02b58af676a..694d45f4fdc 100644 --- a/src/main/java/forge/game/phase/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.java @@ -387,7 +387,7 @@ public class CombatUtil { */ public static boolean finishedMandatoryBlocks(final Combat combat, final Player defending) { - final List blockers = Singletons.getControl().getPlayer().getCreaturesInPlay(); + final List blockers = defending.getCreaturesInPlay(); final List attackers = combat.getAttackers(); // if a creature does not block but should, return false diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index 1717dd8cccb..ee28a17a80c 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -1811,7 +1811,7 @@ public class Player extends GameEntity implements Comparable { } // Dev Mode - if (this == FControl.SINGLETON_INSTANCE.getPlayer() && Preferences.DEV_MODE && + if (this.getLobbyPlayer().getType() == PlayerType.HUMAN && Preferences.DEV_MODE && Singletons.getModel().getPreferences().getPrefBoolean(FPref.DEV_UNLIMITED_LAND)) { return true; } diff --git a/src/main/java/forge/gui/GuiDisplayUtil.java b/src/main/java/forge/gui/GuiDisplayUtil.java index 571958db03c..e7c8651b40e 100644 --- a/src/main/java/forge/gui/GuiDisplayUtil.java +++ b/src/main/java/forge/gui/GuiDisplayUtil.java @@ -120,8 +120,7 @@ public final class GuiDisplayUtil { public static void devModeGenerateMana() { final Card dummy = new Card(); - final Player human = Singletons.getControl().getPlayer(); - dummy.setOwner(human); + dummy.setOwner(getPlayer()); Map produced = new HashMap(); produced.put("Produced", "W W W W W W W U U U U U U U B B B B B B B G G G G G G G R R R R R R R 7"); final AbilityManaPart abMana = new AbilityManaPart(dummy, produced); @@ -287,7 +286,7 @@ public final class GuiDisplayUtil { List humanDevExileSetup = new ArrayList(); List computerDevExileSetup = new ArrayList(); - final Player human = Singletons.getControl().getPlayer(); + final Player human = getPlayer(); final Player ai = human.getOpponents().get(0); if (!tChangePlayer.trim().toLowerCase().equals("none")) { @@ -455,7 +454,7 @@ public final class GuiDisplayUtil { * @since 1.0.15 */ public static void devModeTutor() { - final List lib = Singletons.getControl().getPlayer().getCardsIn(ZoneType.Library); + final List lib = getPlayer().getCardsIn(ZoneType.Library); final Object o = GuiChoose.oneOrNone("Choose a card", lib); if (null == o) { return; @@ -540,7 +539,7 @@ public final class GuiDisplayUtil { * @since 1.0.16 */ public static void devModeUnlimitedLand() { - Singletons.getControl().getPlayer().addMaxLandsToPlay(100); + getPlayer().addMaxLandsToPlay(100); } /** @@ -637,7 +636,7 @@ public final class GuiDisplayUtil { game.getAction().moveToHand(forgeCard); // this is really needed (for rollbacks at least) // Human player is choosing targets for an ability controlled by chosen player. sa.setActivatingPlayer(p); - HumanPlay.playSaWithoutPayingManaCost(Singletons.getControl().getPlayer(), sa); + HumanPlay.playSaWithoutPayingManaCost(getPlayer(), sa); } }); } @@ -705,5 +704,9 @@ public final class GuiDisplayUtil { private static GameState getGame() { return Singletons.getControl().getMatch().getCurrentGame(); } + + private static Player getPlayer() { + return Singletons.getControl().getPlayer(); + } } // end class GuiDisplayUtil