From df6479437212063ada71c5183bec0b60c1176e10 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Wed, 21 Oct 2020 06:53:15 +0800 Subject: [PATCH] [Mobile] Don't stack token creature with different PT - ie Shark Typhoon produces same shark token with different PT --- forge-game/src/main/java/forge/game/card/CardView.java | 7 +++++++ forge-gui-mobile/src/forge/screens/match/views/VField.java | 1 + 2 files changed, 8 insertions(+) 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