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 9718e59b41a..a2cd74fe17c 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -253,6 +253,13 @@ public class CardView extends GameEntityView { } return counters.equals(otherCard.getCounters()); } + public boolean hasSamePT(CardView otherCard) { + if (getCurrentState().getPower() != otherCard.getCurrentState().getPower()) + return false; + if (getCurrentState().getToughness() != otherCard.getCurrentState().getToughness()) + return false; + return true; + } void updateCounters(Card c) { set(TrackableProperty.Counters, c.getCounters()); updateLethalDamage(c); diff --git a/forge-gui-mobile/src/forge/screens/match/views/VField.java b/forge-gui-mobile/src/forge/screens/match/views/VField.java index 1447408b257..da3d6587707 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VField.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VField.java @@ -114,6 +114,7 @@ public class VField extends FContainer { if (!c.hasCardAttachments() && cardName.equals(c.getCurrentState().getName()) && card.hasSameCounters(c) && + card.hasSamePT(c) && //don't stack token with different PT card.getCurrentState().getKeywordKey().equals(c.getCurrentState().getKeywordKey()) && card.isTapped() == c.isTapped() && // don't stack tapped tokens on untapped tokens card.isSick() == c.isSick() && //don't stack sick tokens on non sick