From f3949a7177e3912d612f092bf72000226f543fe3 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sun, 7 Aug 2022 00:17:29 +0200 Subject: [PATCH] display expected P/T for unanimated vehicles --- .../main/java/forge/game/card/CardView.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index 4c31d2c1cd6..352ced47d8c 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -1247,12 +1247,17 @@ public class CardView extends GameEntityView { return get(TrackableProperty.Power); } void updatePower(Card c) { - if (c.getCurrentState().getView() == this || c.getAlternateState() == null) { - set(TrackableProperty.Power, c.getNetPower()); + int num; + if (getType().hasSubtype("Vehicle") && !isCreature()) { + // use printed value so user can still see it + num = c.getCurrentPower(); + } else { + num = c.getNetPower(); } - else { - set(TrackableProperty.Power, c.getNetPower() - c.getBasePower() + c.getAlternateState().getBasePower()); + if (c.getCurrentState().getView() != this && c.getAlternateState() != null) { + num -= c.getBasePower() + c.getAlternateState().getBasePower(); } + set(TrackableProperty.Power, num); } void updatePower(CardState c) { Card card = c.getCard(); @@ -1267,12 +1272,17 @@ public class CardView extends GameEntityView { return get(TrackableProperty.Toughness); } void updateToughness(Card c) { - if (c.getCurrentState().getView() == this || c.getAlternateState() == null) { - set(TrackableProperty.Toughness, c.getNetToughness()); + int num; + if (getType().hasSubtype("Vehicle") && !isCreature()) { + // use printed value so user can still see it + num = c.getCurrentToughness(); + } else { + num = c.getNetToughness(); } - else { - set(TrackableProperty.Toughness, c.getNetToughness() - c.getBaseToughness() + c.getAlternateState().getBaseToughness()); + if (c.getCurrentState().getView() != this && c.getAlternateState() != null) { + num -= c.getBaseToughness() + c.getAlternateState().getBaseToughness(); } + set(TrackableProperty.Toughness, num); } void updateToughness(CardState c) { Card card = c.getCard();