From 9039178927594325dfdae4bbdad865beb96bafb6 Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 20 Sep 2017 09:51:27 +0000 Subject: [PATCH] - AI: Look in all graveyards for potential targets of Deathgorge Scavenger, starting with the opponents' graveyards and then ending with the AI's own. --- forge-ai/src/main/java/forge/ai/SpecialCardAi.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/SpecialCardAi.java b/forge-ai/src/main/java/forge/ai/SpecialCardAi.java index f8dc7563699..320a827b93f 100644 --- a/forge-ai/src/main/java/forge/ai/SpecialCardAi.java +++ b/forge-ai/src/main/java/forge/ai/SpecialCardAi.java @@ -215,8 +215,14 @@ public class SpecialCardAi { // Deathgorge Scavenger public static class DeathgorgeScavenger { public static boolean consider(final Player ai, final SpellAbility sa) { - final Card worstCreat = ComputerUtilCard.getWorstAI(CardLists.filter(ai.getCardsIn(ZoneType.Graveyard), CardPredicates.Presets.CREATURES)); - final Card worstNonCreat = ComputerUtilCard.getWorstAI(CardLists.filter(ai.getCardsIn(ZoneType.Graveyard), Predicates.not(CardPredicates.Presets.CREATURES))); + Card worstCreat = ComputerUtilCard.getWorstAI(CardLists.filter(ai.getOpponents().getCardsIn(ZoneType.Graveyard), CardPredicates.Presets.CREATURES)); + Card worstNonCreat = ComputerUtilCard.getWorstAI(CardLists.filter(ai.getOpponents().getCardsIn(ZoneType.Graveyard), Predicates.not(CardPredicates.Presets.CREATURES))); + if (worstCreat == null) { + worstCreat = ComputerUtilCard.getWorstAI(CardLists.filter(ai.getCardsIn(ZoneType.Graveyard), CardPredicates.Presets.CREATURES)); + } + if (worstNonCreat == null) { + worstNonCreat = ComputerUtilCard.getWorstAI(CardLists.filter(ai.getCardsIn(ZoneType.Graveyard), Predicates.not(CardPredicates.Presets.CREATURES))); + } sa.resetTargets(); if (worstCreat != null && ai.getLife() <= ai.getStartingLife() / 4) {