From b0d1f868902bca8f70e2e0827459c7cffbb47c69 Mon Sep 17 00:00:00 2001
From: Michael Simons <rystan@gmail.com>
Date: Sun, 3 Jun 2018 22:50:56 -0400
Subject: [PATCH] Changes to try and better handle X mana costs with minimum X
 values with AI decisions #4906

---
 .../main/java/mage/player/ai/ComputerPlayer.java  | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java
index 75409c91a4..cc862b47c1 100644
--- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java
+++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java
@@ -1472,18 +1472,25 @@ public class ComputerPlayer extends PlayerImpl implements Player {
         int numAvailable = getAvailableManaProducers(game).size() - ability.getManaCosts().convertedManaCost();
         if (numAvailable < 0) {
             numAvailable = 0;
-        }
-        if (numAvailable > max) {
-            numAvailable = max;
+        } else {
+            if (numAvailable < min) {
+                numAvailable = min;
+            }
+            if (numAvailable > max) {
+                numAvailable = max;
+            }
         }
         return numAvailable;
     }
 
     @Override
     public int announceXCost(int min, int max, String message, Game game, Ability ability, VariableCost variablCost) {
-        log.debug("announceXMana");
+        log.debug("announceXCost");
         //TODO: improve this
         int value = RandomUtil.nextInt(max + 1);
+        if (value < min) {
+            value = min;
+        }
         if (value < max) {
             value++;
         }