diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index 42d4eca7c5c..faed8a063a9 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -1383,11 +1383,14 @@ public class ComputerUtil { if (c.isCreature() && c.isInZone(ZoneType.Battlefield) && CombatUtil.canAttack(c)) { for (final Trigger t : c.getTriggers()) { if ("Attacks".equals(t.getParam("Mode")) && t.hasParam("Execute")) { - SpellAbility trigSa = AbilityFactory.getAbility(c.getSVar(t.getParam("Execute")), c); - if (trigSa != null && trigSa.getApi() == ApiType.LoseLife - && trigSa.getParamOrDefault("Defined", "").contains("Opponent")) { - trigSa.setHostCard(c); - damage += AbilityUtils.calculateAmount(trigSa.getHostCard(), trigSa.getParam("LifeAmount"), trigSa); + String exec = c.getSVar(t.getParam("Execute")); + if (!exec.isEmpty()) { + SpellAbility trigSa = AbilityFactory.getAbility(exec, c); + if (trigSa != null && trigSa.getApi() == ApiType.LoseLife + && trigSa.getParamOrDefault("Defined", "").contains("Opponent")) { + trigSa.setHostCard(c); + damage += AbilityUtils.calculateAmount(trigSa.getHostCard(), trigSa.getParam("LifeAmount"), trigSa); + } } } }