From 32b4407b041158d85e07dcfccf28758ea35a7d6c Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Thu, 5 Aug 2021 21:42:04 +0200 Subject: [PATCH] Fix mulligan with zero cards --- forge-ai/src/main/java/forge/ai/ComputerUtil.java | 2 +- forge-game/src/main/java/forge/game/card/CardFactory.java | 2 -- .../src/main/java/forge/game/mulligan/AbstractMulligan.java | 1 + 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index 0b95e2ae065..f1351afc09a 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -2066,7 +2066,7 @@ public class ComputerUtil { // Computer mulligans if there are no cards with converted mana cost of 0 in its hand public static boolean wantMulligan(Player ai, int cardsToReturn) { final CardCollectionView handList = ai.getCardsIn(ZoneType.Hand); - return scoreHand(handList, ai, cardsToReturn) <= 0; + return !handList.isEmpty() && scoreHand(handList, ai, cardsToReturn) <= 0; } public static CardCollection getPartialParisCandidates(Player ai) { diff --git a/forge-game/src/main/java/forge/game/card/CardFactory.java b/forge-game/src/main/java/forge/game/card/CardFactory.java index b5de258fe41..94d3b84e117 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -116,7 +116,6 @@ public class CardFactory { //out.setFaceDown(in.isFaceDown()); return out; - } /** @@ -740,7 +739,6 @@ public class CardFactory { } } - if (sa.hasParam("GainThisAbility") && (sa instanceof SpellAbility)) { SpellAbility root = ((SpellAbility) sa).getRootAbility(); diff --git a/forge-game/src/main/java/forge/game/mulligan/AbstractMulligan.java b/forge-game/src/main/java/forge/game/mulligan/AbstractMulligan.java index 4ee23380e8e..4e16e01a691 100644 --- a/forge-game/src/main/java/forge/game/mulligan/AbstractMulligan.java +++ b/forge-game/src/main/java/forge/game/mulligan/AbstractMulligan.java @@ -29,6 +29,7 @@ public abstract class AbstractMulligan { public void mulligan() { CardCollection toMulligan = new CardCollection(player.getCardsIn(ZoneType.Hand)); + if (toMulligan.isEmpty()) return; revealPreMulligan(toMulligan); for (final Card c : toMulligan) { player.getGame().getAction().moveToLibrary(c, null);