From 088879bdd0ea2019cea98ce86961a9c486d3a630 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Mon, 8 Aug 2016 12:21:22 +0000 Subject: [PATCH] ComputerUtil: scoreHand, prevent crash on zero lands deck --- forge-ai/src/main/java/forge/ai/ComputerUtil.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index ac4f1e6fb2e..6cc0853efae 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -1543,6 +1543,14 @@ public class ComputerUtil { return handList.size(); } + CardCollectionView library = ai.getZone(ZoneType.Library).getCards(); + int landsInDeck = CardLists.filter(library, CardPredicates.isType("Land")).size(); + + // no land deck, can't do anything better + if (landsInDeck == 0) { + return handList.size(); + } + final CardCollectionView lands = CardLists.filter(handList, new Predicate() { @Override public boolean apply(final Card c) { @@ -1581,9 +1589,6 @@ public class ComputerUtil { return score; } - CardCollectionView library = ai.getZone(ZoneType.Library).getCards(); - int landsInDeck = CardLists.filter(library, CardPredicates.isType("Land")).size(); - // otherwise, reject bad hands or return score if ( landSize < 2) { // BAD Hands, 0 or 1 lands