some more getStackDescription improvements

This commit is contained in:
Tim Mocny
2022-02-06 04:57:10 +00:00
committed by Michael Kamensky
parent 5c3aeb508e
commit 39d2362eb5
2 changed files with 25 additions and 14 deletions

View File

@@ -293,13 +293,6 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
private static String changeKnownOriginStackDescription(final SpellAbility sa) { private static String changeKnownOriginStackDescription(final SpellAbility sa) {
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
final Card host = sa.getHostCard(); final Card host = sa.getHostCard();
if (!(sa instanceof AbilitySub)) {
sb.append(host.getName()).append(" -");
}
sb.append(" ");
final ZoneType destination = ZoneType.smartValueOf(sa.getParam("Destination")); final ZoneType destination = ZoneType.smartValueOf(sa.getParam("Destination"));
ZoneType origin = null; ZoneType origin = null;
if (sa.hasParam("Origin")) { if (sa.hasParam("Origin")) {

View File

@@ -22,6 +22,7 @@ import forge.game.card.CardUtil;
import forge.game.event.GameEventCardStatsChanged; import forge.game.event.GameEventCardStatsChanged;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.player.PlayerCollection; import forge.game.player.PlayerCollection;
import forge.game.spellability.AbilitySub;
import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.Aggregates; import forge.util.Aggregates;
@@ -158,12 +159,33 @@ public class PumpEffect extends SpellAbilityEffect {
} }
if (tgts.size() > 0) { if (tgts.size() > 0) {
for (final GameEntity c : tgts) { List<String> keywords = Lists.newArrayList();
sb.append(c).append(" "); if (sa.hasParam("KW")) {
if (sa.getParam("KW").equals("HIDDEN This card doesn't untap during your next untap step.")) {
if (sa instanceof AbilitySub) {
sb.append(tgts.size() == 1 ? "It doesn't " : "They don't ");
} else {
sb.append(Lang.joinHomogenous(tgts)).append(tgts.size() == 1 ? " doesn't " : " don't ");
}
sb.append("untap during ");
String whose = "your";
for (GameEntity t : tgts) {
final Card c = (Card) t;
if (!(c.getOwner() == sa.getActivatingPlayer())) {
whose = (tgts.size() == 1 ? "its controller's" : "their controller's");
break;
}
}
sb.append(whose).append(" next untap step.");
return sb.toString();
}
keywords.addAll(Arrays.asList(sa.getParam("KW").split(" & ")));
} }
sb.append(Lang.joinHomogenous(tgts)).append(" ");
if (sa.hasParam("Radiance")) { if (sa.hasParam("Radiance")) {
sb.append(" and each other ").append(sa.getParam("ValidTgts")) sb.append("and each other ").append(sa.getParam("ValidTgts"))
.append(" that shares a color with "); .append(" that shares a color with ");
if (tgts.size() > 1) { if (tgts.size() > 1) {
sb.append("them "); sb.append("them ");
@@ -172,10 +194,6 @@ public class PumpEffect extends SpellAbilityEffect {
} }
} }
List<String> keywords = Lists.newArrayList();
if (sa.hasParam("KW")) {
keywords.addAll(Arrays.asList(sa.getParam("KW").split(" & ")));
}
final int atk = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumAtt"), sa, true); final int atk = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumAtt"), sa, true);
final int def = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumDef"), sa, true); final int def = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumDef"), sa, true);