diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java b/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java index 0db0dd975d1..99747810235 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java @@ -1462,6 +1462,26 @@ public class ComputerUtilMana { } } } + // exclude cards that will deal lethal damage when tapped + if (ai.canLoseLife() && !ai.cantLoseForZeroOrLessLife()) { + boolean dealsLethalOnTap = false; + for (Trigger t : card.getTriggers()) { + if (t.getMode() == TriggerType.Taps || t.getMode() == TriggerType.TapsForMana) { + SpellAbility trigSa = t.getOverridingAbility(); + if (trigSa.getApi() == ApiType.DealDamage && trigSa.getParamOrDefault("Defined", "").equals("You")) { + int numDamage = AbilityUtils.calculateAmount(card, trigSa.getParam("NumDmg"), null); + numDamage = ai.staticReplaceDamage(numDamage, card, false); + if (ai.getLife() <= numDamage) { + dealsLethalOnTap = true; + break; + } + } + } + } + if (dealsLethalOnTap) { + continue; + } + } if (card.isCreature() || card.isEnchanted()) { otherManaSources.add(card);