From ba9b4617f7c2135f9189fb422dca919402912b91 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Fri, 4 Jun 2021 20:25:05 +0200 Subject: [PATCH] Better fix for manapool payment --- .../forge/screens/match/controllers/CField.java | 15 +++++++++++---- .../java/forge/player/PlayerControllerHuman.java | 3 +-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java index c6fa8bb6a04..6c861591e46 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java @@ -25,7 +25,10 @@ import com.google.common.base.Function; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; +import forge.gamemodes.match.input.Input; +import forge.gamemodes.match.input.InputPayMana; import forge.gui.framework.ICDoc; +import forge.player.PlayerControllerHuman; import forge.screens.match.CMatchUI; import forge.screens.match.ZoneAction; import forge.screens.match.views.VField; @@ -69,10 +72,14 @@ public class CField implements ICDoc { final Function manaAction = new Function() { @Override public final Boolean apply(final Byte colorCode) { - if (player.getHasPriority()) { - final int oldMana = player.getMana(colorCode); - matchUI.getGameController().useMana(colorCode.byteValue()); - return Boolean.valueOf(oldMana != player.getMana(colorCode)); + if (matchUI.getGameController() instanceof PlayerControllerHuman) { + final PlayerControllerHuman controller = (PlayerControllerHuman) matchUI.getGameController(); + final Input ipm = controller.getInputQueue().getInput(); + if (ipm instanceof InputPayMana && ipm.getOwner().equals(player)) { + final int oldMana = player.getMana(colorCode); + controller.useMana(colorCode.byteValue()); + return Boolean.valueOf(oldMana != player.getMana(colorCode)); + } } return Boolean.FALSE; } diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index a447ffe0e01..ed5476ec063 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -2170,8 +2170,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont public IDevModeCheats cheat() { if (cheats == null) { cheats = new DevModeCheats(); - // TODO: In Network game, inform other players that this player is - // cheating + // TODO: In Network game, inform other players that this player is cheating } return cheats; }