From ef00f41bcc7937fccba1763617f9dc1a3aafac5f Mon Sep 17 00:00:00 2001 From: TRT <> Date: Thu, 31 Mar 2022 09:40:17 +0200 Subject: [PATCH] Demonstrate: fix copy order --- .../forge/game/ability/effects/CopySpellAbilityEffect.java | 3 +++ forge-game/src/main/java/forge/game/card/CardFactoryUtil.java | 2 +- forge-game/src/main/java/forge/game/zone/MagicStack.java | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java index 59b3c86585d..bb6f226403c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java @@ -158,6 +158,9 @@ public class CopySpellAbilityEffect extends SpellAbilityEffect { } else { for (int i = 0; i < amount; i++) { SpellAbility copy = CardFactory.copySpellAbilityAndPossiblyHost(sa, chosenSA, controller); + if (sa.hasParam("IgnoreFreeze")) { + copy.putParam("IgnoreFreeze", "True"); + } if (sa.hasParam("MayChooseTarget")) { copy.setMayChooseNewTargets(true); } diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 954bc91b226..145ca73b613 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -1022,7 +1022,7 @@ public class CardFactoryUtil { inst.addTrigger(parsedTrigger); } else if (keyword.equals("Demonstrate")) { final String trigScript = "Mode$ SpellCast | ValidCard$ Card.Self | TriggerDescription$ Demonstrate (" + inst.getReminderText() + ")"; - final String youCopyStr = "DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | MayChooseTarget$ True | Optional$ True | RememberCopies$ True"; + final String youCopyStr = "DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | MayChooseTarget$ True | Optional$ True | RememberCopies$ True | IgnoreFreeze$ True"; final String chooseOppStr = "DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ConditionDefined$ Remembered | ConditionPresent$ Spell"; final String oppCopyStr = "DB$ CopySpellAbility | Controller$ ChosenPlayer | Defined$ TriggeredSpellAbility | MayChooseTarget$ True | ConditionDefined$ Remembered | ConditionPresent$ Spell"; final String cleanupStr = "DB$ Cleanup | ClearRemembered$ True | ClearChosenPlayer$ True"; diff --git a/forge-game/src/main/java/forge/game/zone/MagicStack.java b/forge-game/src/main/java/forge/game/zone/MagicStack.java index bb7b2d2daa3..0522bac6114 100644 --- a/forge-game/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-game/src/main/java/forge/game/zone/MagicStack.java @@ -273,7 +273,7 @@ public class MagicStack /* extends MyObservable */ implements Iterable