diff --git a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java index df7ac314437..3fd77edf9fc 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java @@ -365,6 +365,10 @@ public class DrawAi extends SpellAbilityAi { if (numCards >= computerLibrarySize) { if (xPaid) { numCards = computerLibrarySize - 1; + if (numCards <= 0 && !mandatory) { + // not drawing anything, so don't do it + return false; + } } else if (!ai.isCardInPlay("Laboratory Maniac")) { aiTarget = false; } @@ -398,6 +402,9 @@ public class DrawAi extends SpellAbilityAi { if (computerHandSize + numCards > computerMaxHandSize && game.getPhaseHandler().isPlayerTurn(ai)) { if (xPaid) { numCards = computerMaxHandSize - computerHandSize; + if (sa.getHostCard().getZone().is(ZoneType.Hand)) { + numCards++; // the card will be spent + } source.setSVar("PayX", Integer.toString(numCards)); } else { // Don't draw too many cards and then risk discarding