From 593218343cf67f061e22b9feb9c06fc0ce07fc9c Mon Sep 17 00:00:00 2001 From: "Jamin W. Collins" Date: Tue, 25 Sep 2018 21:42:22 -0600 Subject: [PATCH] avoid CME in chooseSaToActivateFromOpeningHand() Signed-off-by: Jamin W. Collins --- forge-ai/src/main/java/forge/ai/AiController.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index 2c761044964..97943fe1750 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -1483,23 +1483,25 @@ public class AiController { boolean hasLeyline1 = false; SpellAbility saGemstones = null; - - for(int i = 0; i < result.size(); i++) { - SpellAbility sa = result.get(i); - + + List toRemove = Lists.newArrayList(); + for(SpellAbility sa : result) { String srcName = sa.getHostCard().getName(); if ("Gemstone Caverns".equals(srcName)) { if (saGemstones == null) saGemstones = sa; else - result.remove(i--); + toRemove.add(sa); } else if ("Leyline of Singularity".equals(srcName)) { if (!hasLeyline1) hasLeyline1 = true; else - result.remove(i--); + toRemove.add(sa); } } + for(SpellAbility sa : toRemove) { + result.remove(sa); + } // Play them last if (saGemstones != null) {