diff --git a/src/main/java/forge/card/cost/Cost.java b/src/main/java/forge/card/cost/Cost.java index 4f0c1c319c8..f50f25e9adb 100644 --- a/src/main/java/forge/card/cost/Cost.java +++ b/src/main/java/forge/card/cost/Cost.java @@ -18,7 +18,7 @@ import forge.card.spellability.SpellAbility; */ public class Cost { private boolean isAbility = true; - ArrayList costParts = new ArrayList(); + private ArrayList costParts = new ArrayList(); public ArrayList getCostParts(){ return costParts; } diff --git a/src/main/java/forge/card/cost/CostMana.java b/src/main/java/forge/card/cost/CostMana.java index 07ad5ee74af..9a867648bd0 100644 --- a/src/main/java/forge/card/cost/CostMana.java +++ b/src/main/java/forge/card/cost/CostMana.java @@ -103,10 +103,15 @@ public class CostMana extends CostPart { manaToAdd = AbilityFactory.calculateAmount(source, "X", ability) * getXMana(); } } - if (!getManaToPay().equals("0") || manaToAdd > 0) + if (!getManaToPay().equals("0") || manaToAdd > 0){ CostUtil.setInput(CostMana.input_payMana(ability, payment, this, manaToAdd)); - else if (getXMana() > 0) + } + else if (getXMana() > 0){ CostUtil.setInput(CostMana.input_payXMana(ability, payment, this, getXMana())); + } + else{ + payment.paidCost(this); + } // We return false here because the Inputs set above should recall payment.payCosts() return false; diff --git a/src/main/java/forge/card/mana/ManaCost.java b/src/main/java/forge/card/mana/ManaCost.java index e976e201c66..ff45c352e37 100644 --- a/src/main/java/forge/card/mana/ManaCost.java +++ b/src/main/java/forge/card/mana/ManaCost.java @@ -352,7 +352,13 @@ public class ManaCost { sb.append(list.get(i).toString()); } - return sb.toString().trim(); + String str = sb.toString().trim(); + + if (str.equals("")){ + return "0"; + } + + return str; } /**