From e428e666233a8cc007b79cbffd9d4d2d43ec74de Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Thu, 25 Feb 2021 10:17:20 +0100 Subject: [PATCH] WrappedAbility: fixed StackDescription --- .../forge/game/spellability/SpellAbility.java | 4 ++-- .../forge/game/trigger/WrappedAbility.java | 23 ++++++++----------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index cd706323c1c..48445ae770d 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -1648,13 +1648,13 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit final List res = Lists.newArrayList(); SpellAbility sa = getRootAbility(); - if (sa.getTargetRestrictions() != null) { + if (sa.usesTargeting()) { res.add(sa.getTargets()); } while (sa.getSubAbility() != null) { sa = sa.getSubAbility(); - if (sa.getTargetRestrictions() != null) { + if (sa.usesTargeting()) { res.add(sa.getTargets()); } } diff --git a/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java b/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java index d364d93b626..935ae869c4c 100644 --- a/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java +++ b/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java @@ -2,7 +2,6 @@ package forge.game.trigger; import forge.card.mana.ManaCost; import forge.game.Game; -import forge.game.GameObject; import forge.game.ability.AbilityKey; import forge.game.ability.ApiType; import forge.game.card.Card; @@ -231,23 +230,19 @@ public class WrappedAbility extends Ability { public String getStackDescription() { final Trigger regtrig = getTrigger(); final StringBuilder sb = new StringBuilder(regtrig.replaceAbilityText(regtrig.toString(true), this)); - if (usesTargeting()) { + List allTargets = sa.getAllTargetChoices(); + if (!allTargets.isEmpty()) { sb.append(" (Targeting "); - for (final GameObject o : this.getTargets()) { - sb.append(o.toString()); - sb.append(", "); - } - if (sb.toString().endsWith(", ")) { - sb.setLength(sb.length() - 2); - } else { - sb.append("ERROR"); - } + sb.append(allTargets); sb.append(")"); } - sb.append(" ["); - sb.append(regtrig.getImportantStackObjects(this)); - sb.append("]"); + String important = regtrig.getImportantStackObjects(this); + if (!important.isEmpty()) { + sb.append(" ["); + sb.append(important); + sb.append("]"); + } return sb.toString(); }