From deb9744b38027d24b294f838d95eec06073f342f Mon Sep 17 00:00:00 2001 From: Tim Mocny Date: Tue, 22 Feb 2022 09:48:51 +0000 Subject: [PATCH] some more getStackDescription improvements --- .../game/ability/effects/CountersPutEffect.java | 2 +- .../java/forge/game/ability/effects/PumpEffect.java | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java index 7a04a7b5a2f..7ad3efdcae3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java @@ -88,7 +88,7 @@ public class CountersPutEffect extends SpellAbilityEffect { stringBuilder.append(targetCard); Integer v = spellAbility.getDividedValue(targetCard); if (v != null) // fix null counter stack description - stringBuilder.append(" (").append(v).append(" counter)"); + stringBuilder.append(" (").append(v).append(v == 1 ? " counter)" : " counters)"); if(i == targetCards.size() - 2) { stringBuilder.append(" and "); diff --git a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java index e6703bc7c29..38cb08013cf 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java @@ -182,16 +182,17 @@ public class PumpEffect extends SpellAbilityEffect { keywords.addAll(Arrays.asList(sa.getParam("KW").split(" & "))); } - sb.append(Lang.joinHomogenous(tgts)).append(" "); + if (sa instanceof AbilitySub & sa.getRootAbility().getTargets().containsAll(tgts)) { + //try to avoid having the same long list of targets twice in a StackDescription + sb.append(tgts.size() == 1 && tgts.get(0) instanceof Card ? "It " : "They "); + } else { + sb.append(Lang.joinHomogenous(tgts)).append(" "); + } if (sa.hasParam("Radiance")) { sb.append("and each other ").append(sa.getParam("ValidTgts")) .append(" that shares a color with "); - if (tgts.size() > 1) { - sb.append("them "); - } else { - sb.append("it "); - } + sb.append(tgts.size() > 1 ? "them " : "it "); } final int atk = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumAtt"), sa, true);