diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java index 9a7f368a4ba..5028c00c32c 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java @@ -1869,19 +1869,24 @@ public final class AbilityFactoryChoose { sb.append(" "); } - ArrayList tgtPlayers; - - final Target tgt = sa.getTarget(); - if (tgt != null) { - tgtPlayers = tgt.getTargetPlayers(); - } else { - tgtPlayers = AbilityFactory.getDefinedPlayers(sa.getSourceCard(), params.get("Defined"), sa); + if (params.containsKey("StackDescription")) { + sb.append(params.get("StackDescription")); } + else { + ArrayList tgtPlayers; - for (final Player p : tgtPlayers) { - sb.append(p).append(" "); + final Target tgt = sa.getTarget(); + if (tgt != null) { + tgtPlayers = tgt.getTargetPlayers(); + } else { + tgtPlayers = AbilityFactory.getDefinedPlayers(sa.getSourceCard(), params.get("Defined"), sa); + } + + for (final Player p : tgtPlayers) { + sb.append(p).append(" "); + } + sb.append("chooses from a list."); } - sb.append("chooses from a list."); final AbilitySub abSub = sa.getSubAbility(); if (abSub != null) { diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java index ea4bf27db8b..000f53e9754 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java @@ -857,45 +857,50 @@ public class AbilityFactoryPump { sb.append(name).append(" - "); } - for (final GameEntity c : tgts) { - sb.append(c.getName()).append(" "); + if (params.containsKey("StackDescription")) { + sb.append(params.get("StackDescription")); } - - if (af.getMapParams().containsKey("Radiance")) { - sb.append(" and each other ").append(af.getMapParams().get("ValidTgts")) - .append(" that shares a color with "); - if (tgts.size() > 1) { - sb.append("them "); - } else { - sb.append("it "); + else { + for (final GameEntity c : tgts) { + sb.append(c.getName()).append(" "); } - } - final int atk = this.getNumAttack(sa); - final int def = this.getNumDefense(sa); - - sb.append("gains "); - if ((atk != 0) || (def != 0)) { - if (atk >= 0) { - sb.append("+"); + if (af.getMapParams().containsKey("Radiance")) { + sb.append(" and each other ").append(af.getMapParams().get("ValidTgts")) + .append(" that shares a color with "); + if (tgts.size() > 1) { + sb.append("them "); + } else { + sb.append("it "); + } } - sb.append(atk); - sb.append("/"); - if (def >= 0) { - sb.append("+"); - } - sb.append(def); - sb.append(" "); - } - for (int i = 0; i < this.keywords.size(); i++) { - if (!this.keywords.get(i).equals("none")) { - sb.append(this.keywords.get(i)).append(" "); - } - } + final int atk = this.getNumAttack(sa); + final int def = this.getNumDefense(sa); - if (!this.params.containsKey("Permanent")) { - sb.append("until end of turn."); + sb.append("gains "); + if ((atk != 0) || (def != 0)) { + if (atk >= 0) { + sb.append("+"); + } + sb.append(atk); + sb.append("/"); + if (def >= 0) { + sb.append("+"); + } + sb.append(def); + sb.append(" "); + } + + for (int i = 0; i < this.keywords.size(); i++) { + if (!this.keywords.get(i).equals("none")) { + sb.append(this.keywords.get(i)).append(" "); + } + } + + if (!this.params.containsKey("Permanent")) { + sb.append("until end of turn."); + } } }