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: "