diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index f114b32f0dc..9cc68bea358 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -279,6 +279,11 @@ public class AiController { continue; } + // can't fetch partner isn't problematic + if (tr.getKeyword() != null && tr.getKeyword().getOriginal().startsWith("Partner")) { + continue; + } + if (!ZoneType.Battlefield.toString().equals(tr.getParam("Destination"))) { continue; } diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index 2933ebf3be0..db0f9c0a9d8 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -593,15 +593,6 @@ public class PlayerControllerAi extends PlayerController { return !ComputerUtil.wantMulligan(player, cardsToReturn); } - @Override - public CardCollectionView getCardsToMulligan(Player firstPlayer) { - if (!ComputerUtil.wantMulligan(player, 0)) { - return null; - } - - return player.getCardsIn(ZoneType.Hand); - } - @Override public CardCollectionView londonMulliganReturnCards(final Player mulliganingPlayer, int cardsToReturn) { // TODO This is better than it was before, but still suboptimal (but fast). diff --git a/forge-game/src/main/java/forge/game/player/PlayerController.java b/forge-game/src/main/java/forge/game/player/PlayerController.java index 85ab2eec1e9..033736d3932 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerController.java +++ b/forge-game/src/main/java/forge/game/player/PlayerController.java @@ -191,7 +191,6 @@ public abstract class PlayerController { public abstract Object vote(SpellAbility sa, String prompt, List options, ListMultimap votes, Player forPlayer); - public abstract CardCollectionView getCardsToMulligan(Player firstPlayer); public abstract boolean mulliganKeepHand(Player player, int cardsToReturn); public abstract CardCollectionView londonMulliganReturnCards(Player mulliganingPlayer, int cardsToReturn); diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java index ba20e68bac8..0d73b0ba31a 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java @@ -319,11 +319,6 @@ public class PlayerControllerForTests extends PlayerController { return true; } - @Override - public CardCollectionView getCardsToMulligan(Player firstPlayer) { - return null; - } - @Override public void declareAttackers(Player attacker, Combat combat) { //Doing nothing is safe in most cases, but not all (creatures that must attack etc). TODO: introduce checks? diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index dda155c9637..eaef9a35974 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -1460,14 +1460,6 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont return inp.getSelectedCards(); } - @Override - public CardCollectionView getCardsToMulligan(final Player firstPlayer) { - // Partial Paris is gone, so it being commander doesn't really matter anymore... - final InputConfirmMulligan inp = new InputConfirmMulligan(this, player, firstPlayer); - inp.showAndWait(); - return inp.isKeepHand() ? null : player.getCardsIn(ZoneType.Hand); - } - @Override public void declareAttackers(final Player attackingPlayer, final Combat combat) { if (mayAutoPass()) {