From b3e96da2e20b65c36598b8353a306800848a8c5f Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 28 Jun 2017 16:53:10 +0000 Subject: [PATCH] - For Multikicker cards, AI should bail if the original cost was {0} and no multikicker was paid (e.g. Everflowing Chalice). --- forge-ai/src/main/java/forge/ai/ability/PermanentAi.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/forge-ai/src/main/java/forge/ai/ability/PermanentAi.java b/forge-ai/src/main/java/forge/ai/ability/PermanentAi.java index 3f3987445fe..78e55b2b4d1 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PermanentAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PermanentAi.java @@ -124,6 +124,7 @@ public class PermanentAi extends SpellAbilityAi { // String announce = sa.getParam("Announce"); ManaCost mkCost = sa.getMultiKickerManaCost(); ManaCost mCost = sa.getPayCosts().getTotalMana(); + boolean isZeroCost = mCost.isZero(); for (int i = 0; i < 10; i++) { mCost = ManaCost.combine(mCost, mkCost); ManaCostBeingPaid mcbp = new ManaCostBeingPaid(mCost); @@ -133,6 +134,11 @@ public class PermanentAi extends SpellAbilityAi { } card.setKickerMagnitude(i + 1); } + if (isZeroCost && card.getKickerMagnitude() == 0) { + // Bail if the card cost was {0} and no multikicker was paid (e.g. Everflowing Chalice). + // TODO: update this if there's ever a card where it makes sense to play it for {0} with no multikicker + return false; + } } // don't play cards without being able to pay the upkeep for