From 1ce2556e9994c469b099bd9def3e02f942a7221b Mon Sep 17 00:00:00 2001 From: Agetian Date: Fri, 21 Jun 2019 18:55:57 +0300 Subject: [PATCH] - Improve the AI for combat pumps when it comes to timing the activation. --- forge-ai/src/main/java/forge/ai/ability/PumpAi.java | 3 ++- forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/PumpAi.java b/forge-ai/src/main/java/forge/ai/ability/PumpAi.java index b0a1a054e59..47aeb602b13 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PumpAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PumpAi.java @@ -113,7 +113,8 @@ public class PumpAi extends PumpAiBase { return false; } } - if (game.getStack().isEmpty() && ph.getPhase().isBefore(PhaseType.COMBAT_BEGIN)) { + if (game.getStack().isEmpty() && (ph.getPhase().isBefore(PhaseType.COMBAT_BEGIN) + || ph.getPhase().isAfter(PhaseType.COMBAT_DECLARE_BLOCKERS))) { // Instant-speed pumps should not be cast outside of combat when the // stack is empty if (!sa.isCurse() && !SpellAbilityAi.isSorcerySpeed(sa) && !main1Preferred) { diff --git a/forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java b/forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java index e4567af164f..3ccc5b81605 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java +++ b/forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java @@ -460,6 +460,10 @@ public abstract class PumpAiBase extends SpellAbilityAi { if (combat == null || !(combat.isBlocking(card) || combat.isBlocked(card))) { return false; } + } else if (keyword.equals("Menace")) { + if (combat == null || !combat.isAttacking(card)) { + return false; + } } return true; }