From 3ba614c551cf4388d8c7229a45a22531197348d2 Mon Sep 17 00:00:00 2001 From: Michael Kamensky Date: Sun, 6 Feb 2022 17:45:28 +0300 Subject: [PATCH] - Filter valid options for the AI when choosing a card name before running the logic. --- forge-ai/src/main/java/forge/ai/PlayerControllerAi.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index 7782b139151..b8641ef9c23 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -1204,6 +1204,12 @@ public class PlayerControllerAi extends PlayerController { final Card source = sa.getHostCard(); final String logic = sa.getParam("AILogic"); + // Filter for valid options only + if (!valid.isEmpty()) { + aiLibrary = CardLists.getValidCards(aiLibrary, valid, source.getController(), source, sa); + oppLibrary = CardLists.getValidCards(oppLibrary, valid, source.getController(), source, sa); + } + if (source != null && source.getState(CardStateName.Original).hasIntrinsicKeyword("Hidden agenda")) { // If any Conspiracies are present, try not to choose the same name twice // (otherwise the AI will spam the same name)