From a949a988a56561225d435d9cc11a748408a5e6ca Mon Sep 17 00:00:00 2001 From: tool4ever Date: Sun, 29 Sep 2024 22:18:35 +0200 Subject: [PATCH] Fix GameStates starting with frozen stack if RE executes (#6213) * Fix GameStates starting with frozen stack if RE executes * Fix NPE when facedown --- forge-ai/src/main/java/forge/ai/GameState.java | 1 + forge-game/src/main/java/forge/game/card/Card.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/GameState.java b/forge-ai/src/main/java/forge/ai/GameState.java index 4939cdd9282..a0afe54be58 100644 --- a/forge-ai/src/main/java/forge/ai/GameState.java +++ b/forge-ai/src/main/java/forge/ai/GameState.java @@ -627,6 +627,7 @@ public abstract class GameState { } game.getStack().setResolving(false); + game.getStack().unfreezeStack(); // Advance to a certain phase, activating all triggered abilities if (advPhase != null) { diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index fe5b8489d91..0d989ad6f4a 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -2482,8 +2482,9 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr sbLong.append(" (").append(inst.getReminderText()).append(")"); } else if (keyword.equals("Gift")) { sbLong.append(keyword); - if (inst.getHostCard() != null && inst.getHostCard().getFirstSpellAbility().hasAdditionalAbility("GiftAbility")) { - sbLong.append(" ").append(inst.getHostCard().getFirstSpellAbility().getAdditionalAbility("GiftAbility").getParam("GiftDescription")); + Trigger trig = inst.getTriggers().stream().findFirst().orElse(null); + if (trig != null && trig.getCardState().getFirstSpellAbility().hasAdditionalAbility("GiftAbility")) { + sbLong.append(" ").append(trig.getCardState().getFirstSpellAbility().getAdditionalAbility("GiftAbility").getParam("GiftDescription")); } sbLong.append("\r\n"); } else if (keyword.startsWith("Starting intensity")) {