From e5b9c313b4e646cd90cd26212086b13d0db9b35e Mon Sep 17 00:00:00 2001 From: Hanmac Date: Sat, 3 Aug 2019 10:39:15 +0200 Subject: [PATCH] CardView: updateStateForView on GameAction changeZone --- forge-game/src/main/java/forge/game/GameAction.java | 3 +++ forge-game/src/main/java/forge/game/card/Card.java | 3 +-- forge-game/src/main/java/forge/game/card/CardView.java | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 59b32063fb0..2b95afafab1 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -376,6 +376,9 @@ public class GameAction { copied.clearEtbCounters(); } + // update state for view + copied.updateStateForView(); + if (fromBattlefield) { c.setDamage(0); //clear damage after a card leaves the battlefield c.setHasBeenDealtDeathtouchDamage(false); 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 ab6660bbc2b..c2e9bacd4de 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -539,8 +539,7 @@ public class Card extends GameEntity implements Comparable { } public final void updatePowerToughnessForView() { - currentState.getView().updatePower(this); - currentState.getView().updateToughness(this); + view.updateCounters(this); } public final void updateTypesForView() { 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 78668503c4f..b7727f2caa6 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -659,6 +659,8 @@ public class CardView extends GameEntityView { if (c.getGame() != null) { currentStateView.updateColors(currentState); } + } else { + currentStateView.updateLoyalty(currentState); } currentState.getView().updateKeywords(c, currentState); //update keywords even if state doesn't change @@ -685,6 +687,8 @@ public class CardView extends GameEntityView { if (c.getGame() != null) { alternateStateView.updateColors(alternateState); } + } else { + alternateStateView.updateLoyalty(alternateState); } alternateState.getView().updateKeywords(c, alternateState); }