From c2cea6fb3cb792fe07b00676350718b7c56cb81e Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Fri, 13 Jan 2023 19:32:16 +0100 Subject: [PATCH] Fix including unjustified decisions --- .../main/java/forge/ai/simulation/SimulationController.java | 6 ++++-- forge-game/src/main/java/forge/game/cost/Cost.java | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/simulation/SimulationController.java b/forge-ai/src/main/java/forge/ai/simulation/SimulationController.java index 5c9b19ddeb3..0225886893d 100644 --- a/forge-ai/src/main/java/forge/ai/simulation/SimulationController.java +++ b/forge-ai/src/main/java/forge/ai/simulation/SimulationController.java @@ -81,9 +81,11 @@ public class SimulationController { } public void doneEvaluating(Score score) { - if (score.value > bestScore.value) { + // if we're here during a deeper level this hasn't been called for the level above yet + // in such case we need to check that this decision has really lead to the improvement in score + if (getLastDecision().initialScore.value < score.value && score.value > bestScore.value) { bestScore = score; - bestSequence = currentStack.get(currentStack.size() - 1); + bestSequence = getLastDecision(); } currentStack.remove(currentStack.size() - 1); } diff --git a/forge-game/src/main/java/forge/game/cost/Cost.java b/forge-game/src/main/java/forge/game/cost/Cost.java index 5361516179f..e0b9033cc33 100644 --- a/forge-game/src/main/java/forge/game/cost/Cost.java +++ b/forge-game/src/main/java/forge/game/cost/Cost.java @@ -254,7 +254,6 @@ public class Cost implements Serializable { else manaParts.append(part).append(" "); } - } if (parsedMana == null && (manaParts.length() > 0 || xCantBe0)) {