From 931359980b799549d5525fbb7368e8bba819118b Mon Sep 17 00:00:00 2001 From: Agetian Date: Fri, 22 May 2015 13:44:42 +0000 Subject: [PATCH] - Fix an issue with Retribution of the Ancients causing a NPE when X=0. --- .../src/main/java/forge/player/HumanCostDecision.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/forge-gui/src/main/java/forge/player/HumanCostDecision.java b/forge-gui/src/main/java/forge/player/HumanCostDecision.java index 30e0f9584de..fc7e633179f 100644 --- a/forge-gui/src/main/java/forge/player/HumanCostDecision.java +++ b/forge-gui/src/main/java/forge/player/HumanCostDecision.java @@ -898,6 +898,10 @@ public class HumanCostDecision extends CostDecisionMakerBase { } private int getDistibutedCounters() { + if (cardsChosen == null) { + return 0; + } + int sum = 0; for (final Entry kv : cardsChosen.entrySet()) { sum += kv.getValue().intValue(); @@ -965,6 +969,10 @@ public class HumanCostDecision extends CostDecisionMakerBase { final CardCollectionView validCards = CardLists.getValidCards(player.getCardsIn(cost.zone), type.split(";"), player, source); if (cost.zone.equals(ZoneType.Battlefield)) { + if (cntRemoved == 0) { + return PaymentDecision.card(source, 0); + } + final InputSelectCardToRemoveCounter inp = new InputSelectCardToRemoveCounter(controller, cntRemoved, cost.counter, validCards); inp.setMessage("Remove %d " + cost.counter.getName() + " counters from " + cost.getDescriptiveType()); inp.setCancelAllowed(true);