From 8d15a38380da67d6d5b03a6cb1c6f60dc0465bb3 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 4 Nov 2022 16:56:40 -0400 Subject: [PATCH] DestroyEffect.getStackDescription clean up --- .../game/ability/effects/DestroyEffect.java | 35 ++++--------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java index a12961da355..a3171d4f12f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java @@ -16,6 +16,7 @@ import forge.game.card.CardUtil; import forge.game.card.CardZoneTable; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import forge.util.Lang; public class DestroyEffect extends SpellAbilityEffect { @Override @@ -24,40 +25,18 @@ public class DestroyEffect extends SpellAbilityEffect { final StringBuilder sb = new StringBuilder(); final List tgtCards = getTargetCards(sa); + final boolean justOne = tgtCards.size() == 1; - if (sa.hasParam("Sacrifice")) { - sb.append("Sacrifice "); - } else { - sb.append("Destroy "); - } - - final Iterator it = tgtCards.iterator(); - while (it.hasNext()) { - sb.append(it.next()); - - if (it.hasNext()) { - sb.append(", "); - } - } + sb.append(sa.hasParam("Sacrifice") ? "Sacrifice " : "Destroy ").append(Lang.joinHomogenous(tgtCards)); if (sa.hasParam("Radiance")) { - sb.append(" and each other ").append(sa.getParam("ValidTgts")) - .append(" that shares a color with "); - if (tgtCards.size() > 1) { - sb.append("them"); - } else { - sb.append("it"); - } + final String thing = sa.getParamOrDefault("ValidTgts", "thing"); + sb.append(" and each other ").append(thing).append(" that shares a color with "); + sb.append(justOne ? "it" : "them"); } if (noRegen) { - sb.append(". "); - if (tgtCards.size() == 1) { - sb.append("It"); - } else { - sb.append("They"); - } - sb.append(" can't be regenerated"); + sb.append(". ").append(justOne ? "It" : "They").append(" can't be regenerated"); } sb.append(".");