From 676a0b9b433aed3f4748da44d563fda5d1e772be Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Fri, 26 Feb 2021 20:07:37 +0100 Subject: [PATCH] CloneStates: fix crash when adding trigger with subs --- .../java/forge/game/card/CardFactory.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardFactory.java b/forge-game/src/main/java/forge/game/card/CardFactory.java index e2106e04b07..ac5cadbffdb 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -670,18 +670,6 @@ public class CardFactory { state.setBaseLoyalty(String.valueOf(sa.getParam("SetLoyalty"))); } - - // triggers to add to clone - if (sa.hasParam("AddTriggers")) { - for (final String s : sa.getParam("AddTriggers").split(",")) { - if (origSVars.containsKey(s)) { - final String actualTrigger = origSVars.get(s); - final Trigger parsedTrigger = TriggerHandler.parseTrigger(actualTrigger, out, true); - state.addTrigger(parsedTrigger); - } - } - } - // SVars to add to clone if (sa.hasParam("AddSVars") || sa.hasParam("GainTextSVars")) { final String str = sa.getParamOrDefault("GainTextSVars", sa.getParam("AddSVars")); @@ -693,6 +681,17 @@ public class CardFactory { } } + // triggers to add to clone + if (sa.hasParam("AddTriggers")) { + for (final String s : sa.getParam("AddTriggers").split(",")) { + if (origSVars.containsKey(s)) { + final String actualTrigger = origSVars.get(s); + final Trigger parsedTrigger = TriggerHandler.parseTrigger(actualTrigger, out, true, state); + state.addTrigger(parsedTrigger); + } + } + } + // abilities to add to clone if (sa.hasParam("AddAbilities") || sa.hasParam("GainTextAbilities")) { final String str = sa.getParamOrDefault("GainTextAbilities", sa.getParam("AddAbilities"));