From 5fed7ec93a27652cbe9b81551ac7bc9df19ac70b Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Thu, 11 Apr 2013 05:06:01 +0000 Subject: [PATCH] made canPay calculate life when it's defined --- src/main/java/forge/card/cost/CostPayLife.java | 10 +++++++++- src/main/java/forge/gui/match/views/VPlayers.java | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/forge/card/cost/CostPayLife.java b/src/main/java/forge/card/cost/CostPayLife.java index 181193bc0d4..5fb290f5d1f 100644 --- a/src/main/java/forge/card/cost/CostPayLife.java +++ b/src/main/java/forge/card/cost/CostPayLife.java @@ -73,8 +73,16 @@ public class CostPayLife extends CostPart { */ @Override public final boolean canPay(final SpellAbility ability) { - final Integer amount = this.convertAmount(); + Integer amount = this.convertAmount(); Player activator = ability.getActivatingPlayer(); + if(amount == null) { // try to calculate when it's defined. + String sAmount = getAmount(); + String sVar = ability.getSVar(sAmount); + if(!sVar.startsWith("XChoice")) { + amount = AbilityUtils.calculateAmount(ability.getSourceCard(), getAmount(), ability); + } + } + if ((amount != null) && !activator.canPayLife(amount)) { return false; } diff --git a/src/main/java/forge/gui/match/views/VPlayers.java b/src/main/java/forge/gui/match/views/VPlayers.java index fa14bc82a4e..df19cac5677 100644 --- a/src/main/java/forge/gui/match/views/VPlayers.java +++ b/src/main/java/forge/gui/match/views/VPlayers.java @@ -145,7 +145,7 @@ public enum VPlayers implements IVDoc { /** @param p0 {@link forge.game.player.Player} */ public void updatePlayerLabels(final Player p0) { // No need to update if this panel isn't showing - if (!parentCell.getSelected().equals(this)) { return; } + if (!this.equals(parentCell.getSelected())) { return; } final JLabel[] temp = this.infoLBLs.get(p0); temp[1].setText("Life: " + String.valueOf(p0.getLife()) + " | Poison counters: "