diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java index 8a71e557d4d..7e2805a9add 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java @@ -67,7 +67,7 @@ public class ChooseSourceAi extends SpellAbilityAi { if (sa.getParam("AILogic").equals("NeedsPrevention")) { if (!game.getStack().isEmpty()) { final SpellAbility topStack = game.getStack().peekAbility(); - if (sa.hasParam("Choices") && !topStack.getHostCard().isValid(sa.getParam("Choices"), ai, source, sa)) { + if (sa.hasParam("Choices") && !topStack.matchesValid(topStack.getHostCard(), sa.getParam("Choices").split(","))) { return false; } final ApiType threatApi = topStack.getApi(); @@ -111,8 +111,6 @@ public class ChooseSourceAi extends SpellAbilityAi { return true; } - - @Override public Card chooseSingleCard(final Player aiChoser, SpellAbility sa, Iterable options, boolean isOptional, Player targetedPlayer, Map params) { if ("NeedsPrevention".equals(sa.getParam("AILogic"))) { @@ -178,7 +176,7 @@ public class ChooseSourceAi extends SpellAbilityAi { final Card source = si.getSourceCard(); final SpellAbility abilityOnStack = si.getSpellAbility(true); - if (sa.hasParam("Choices") && !abilityOnStack.getHostCard().isValid(sa.getParam("Choices"), ai, sa.getHostCard(), sa)) { + if (sa.hasParam("Choices") && !abilityOnStack.matchesValid(source, sa.getParam("Choices").split(","))) { continue; } final ApiType threatApi = abilityOnStack.getApi();