From 4fc8bd2b8e493d14b482edd688fd1f3e21cee40d Mon Sep 17 00:00:00 2001 From: Agetian Date: Sun, 28 May 2017 16:05:50 +0000 Subject: [PATCH] - Show that the card was Exerted this turn in the card detail panel. --- forge-game/src/main/java/forge/game/card/Card.java | 2 ++ forge-game/src/main/java/forge/game/card/CardView.java | 7 +++++++ .../src/main/java/forge/trackable/TrackableProperty.java | 1 + forge-gui/src/main/java/forge/card/CardDetailUtil.java | 8 ++++++++ 4 files changed, 18 insertions(+) diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 6c503462008..8ca631fac9d 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -6116,6 +6116,7 @@ public class Card extends GameEntity implements Comparable { public void exert() { exertedByPlayer.add(getController()); exertThisTurn++; + view.updateExertedThisTurn(this, true); } public boolean isExertedBy(final Player player) { @@ -6124,6 +6125,7 @@ public class Card extends GameEntity implements Comparable { public void removeExertedBy(final Player player) { exertedByPlayer.remove(player); + view.updateExertedThisTurn(this, getExertedThisTurn() > 0); } protected void resetExtertedThisTurn() { 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 c44a0ac7011..86ae1293c3c 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -139,6 +139,13 @@ public class CardView extends GameEntityView { set(TrackableProperty.Attacking, combat != null && combat.isAttacking(c)); } + public boolean isExertedThisTurn() { + return get(TrackableProperty.ExertedThisTurn); + } + void updateExertedThisTurn(Card c, boolean exerted) { + set(TrackableProperty.ExertedThisTurn, exerted); + } + public boolean isBlocking() { return get(TrackableProperty.Blocking); } diff --git a/forge-game/src/main/java/forge/trackable/TrackableProperty.java b/forge-game/src/main/java/forge/trackable/TrackableProperty.java index 825e42e2be7..f47f76efe12 100644 --- a/forge-game/src/main/java/forge/trackable/TrackableProperty.java +++ b/forge-game/src/main/java/forge/trackable/TrackableProperty.java @@ -57,6 +57,7 @@ public enum TrackableProperty { CurrentState(TrackableTypes.CardStateViewType, false), //can't respect freeze, otherwise card constructor can crash AlternateState(TrackableTypes.CardStateViewType), HiddenId(TrackableTypes.IntegerType), + ExertedThisTurn(TrackableTypes.BooleanType), //Card State Name(TrackableTypes.StringType), diff --git a/forge-gui/src/main/java/forge/card/CardDetailUtil.java b/forge-gui/src/main/java/forge/card/CardDetailUtil.java index 4c9a987b150..70ec5f895b0 100644 --- a/forge-gui/src/main/java/forge/card/CardDetailUtil.java +++ b/forge-gui/src/main/java/forge/card/CardDetailUtil.java @@ -532,6 +532,14 @@ public class CardDetailUtil { area.append("Must block " + mustBlockThese); } + // exerted + if (card.isExertedThisTurn()) { + if (area.length() != 0) { + area.append("\n\n"); + } + area.append("^Exerted^"); + } + //show current card colors if enabled String curCardColors = formatCurrentCardColors(state); if (!curCardColors.isEmpty()) {