From b07a9944aa9c3c0ae9e4db77b453807598dcc2ed Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Sat, 30 Aug 2025 11:07:57 +0200 Subject: [PATCH] GameActionUtil: fix getFirstSpellAbility using castSA --- forge-game/src/main/java/forge/game/GameActionUtil.java | 1 + .../forge/game/ability/effects/PermanentCreatureEffect.java | 5 +++-- forge-game/src/main/java/forge/game/card/CardState.java | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/GameActionUtil.java b/forge-game/src/main/java/forge/game/GameActionUtil.java index f9fd21b76c3..f49775ba993 100644 --- a/forge-game/src/main/java/forge/game/GameActionUtil.java +++ b/forge-game/src/main/java/forge/game/GameActionUtil.java @@ -242,6 +242,7 @@ public final class GameActionUtil { } stackCopy.setLastKnownZone(game.getStackZone()); stackCopy.setCastFrom(oldZone); + stackCopy.setCastSA(sa); lkicheck = true; stackCopy.clearStaticChangedCardKeywords(false); diff --git a/forge-game/src/main/java/forge/game/ability/effects/PermanentCreatureEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PermanentCreatureEffect.java index 220db684055..af40471d554 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PermanentCreatureEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PermanentCreatureEffect.java @@ -15,8 +15,9 @@ public class PermanentCreatureEffect extends PermanentEffect { public String getStackDescription(final SpellAbility sa) { final CardState source = sa.getCardState(); final StringBuilder sb = new StringBuilder(); - sb.append(CardTranslation.getTranslatedName(source.getName())).append(" - ").append(Localizer.getInstance().getMessage("lblCreature")).append(" ").append(source.getBasePowerString()); - sb.append(" / ").append(source.getBaseToughnessString()); + sb.append(CardTranslation.getTranslatedName(source.getName())).append(" - ").append(Localizer.getInstance().getMessage("lblCreature")).append(" "); + sb.append(sa.getParamOrDefault("SetPower", source.getBasePowerString())); + sb.append(" / ").append(sa.getParamOrDefault("SetToughness", source.getBaseToughnessString())); return sb.toString(); } } diff --git a/forge-game/src/main/java/forge/game/card/CardState.java b/forge-game/src/main/java/forge/game/card/CardState.java index 20dc321ba44..fbe570cfc0a 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -468,6 +468,9 @@ public class CardState extends GameObject implements IHasSVars, ITranslatable { return Iterables.getFirst(getIntrinsicSpellAbilities(), null); } public final SpellAbility getFirstSpellAbility() { + if (this.card.getCastSA() != null) { + return this.card.getCastSA(); + } return Iterables.getFirst(getNonManaAbilities(), null); }