Demonstrate: fix copy order

This commit is contained in:
TRT
2022-03-31 09:40:17 +02:00
parent 0b05a7809b
commit ef00f41bcc
3 changed files with 5 additions and 2 deletions

View File

@@ -158,6 +158,9 @@ public class CopySpellAbilityEffect extends SpellAbilityEffect {
} else { } else {
for (int i = 0; i < amount; i++) { for (int i = 0; i < amount; i++) {
SpellAbility copy = CardFactory.copySpellAbilityAndPossiblyHost(sa, chosenSA, controller); SpellAbility copy = CardFactory.copySpellAbilityAndPossiblyHost(sa, chosenSA, controller);
if (sa.hasParam("IgnoreFreeze")) {
copy.putParam("IgnoreFreeze", "True");
}
if (sa.hasParam("MayChooseTarget")) { if (sa.hasParam("MayChooseTarget")) {
copy.setMayChooseNewTargets(true); copy.setMayChooseNewTargets(true);
} }

View File

@@ -1022,7 +1022,7 @@ public class CardFactoryUtil {
inst.addTrigger(parsedTrigger); inst.addTrigger(parsedTrigger);
} else if (keyword.equals("Demonstrate")) { } else if (keyword.equals("Demonstrate")) {
final String trigScript = "Mode$ SpellCast | ValidCard$ Card.Self | TriggerDescription$ Demonstrate (" + inst.getReminderText() + ")"; 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 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 oppCopyStr = "DB$ CopySpellAbility | Controller$ ChosenPlayer | Defined$ TriggeredSpellAbility | MayChooseTarget$ True | ConditionDefined$ Remembered | ConditionPresent$ Spell";
final String cleanupStr = "DB$ Cleanup | ClearRemembered$ True | ClearChosenPlayer$ True"; final String cleanupStr = "DB$ Cleanup | ClearRemembered$ True | ClearChosenPlayer$ True";

View File

@@ -273,7 +273,7 @@ public class MagicStack /* extends MyObservable */ implements Iterable<SpellAbil
} }
} }
if (frozen) { if (frozen && !sp.hasParam("IgnoreFreeze")) {
si = new SpellAbilityStackInstance(sp); si = new SpellAbilityStackInstance(sp);
frozenStack.push(si); frozenStack.push(si);
return; return;