From 59b7f9c7756d795d1c03024e27a612d80bec3064 Mon Sep 17 00:00:00 2001 From: Agetian Date: Mon, 28 Aug 2017 04:25:19 +0000 Subject: [PATCH] - Somewhat better AI for Exhaustion. --- .../src/main/java/forge/ai/ability/EffectAi.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/EffectAi.java b/forge-ai/src/main/java/forge/ai/ability/EffectAi.java index 037759aaac8..fea4de3ed7f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/EffectAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/EffectAi.java @@ -16,10 +16,7 @@ import forge.ai.SpellApiToAi; import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.ability.ApiType; -import forge.game.card.Card; -import forge.game.card.CardCollection; -import forge.game.card.CardLists; -import forge.game.card.CardPredicates; +import forge.game.card.*; import forge.game.combat.CombatUtil; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -54,9 +51,11 @@ public class EffectAi extends SpellAbilityAi { } else if (logic.equals("KeepOppCreatsLandsTapped")) { for (Player opp : ai.getOpponents()) { boolean worthHolding = false; - if (CardLists.filter(opp.getCardsIn(ZoneType.Battlefield), - Predicates.and(Predicates.or(CardPredicates.Presets.LANDS, CardPredicates.Presets.CREATURES), - CardPredicates.Presets.TAPPED)).size() >= 3) { + CardCollectionView oppCreatsLands = CardLists.filter(opp.getCardsIn(ZoneType.Battlefield), + Predicates.or(CardPredicates.Presets.LANDS, CardPredicates.Presets.CREATURES)); + CardCollectionView oppCreatsLandsTapped = CardLists.filter(oppCreatsLands, CardPredicates.Presets.TAPPED); + + if (oppCreatsLandsTapped.size() >= 3 || oppCreatsLands.size() == oppCreatsLandsTapped.size()) { worthHolding = true; } if (!worthHolding) {