From c855a107ab6de1030342fae90a9251174a4d5417 Mon Sep 17 00:00:00 2001 From: Agetian Date: Tue, 9 Jan 2018 10:17:44 +0300 Subject: [PATCH] - Experimental (needs review): grant SVars to tokens before granting abilities and triggers in order to ensure that the game can see SubAbility SVars (e.g. Rekindling Phoenix). --- .../game/ability/effects/TokenEffect.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/TokenEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TokenEffect.java index 85d8cb915b0..f520e046f2a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TokenEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TokenEffect.java @@ -287,6 +287,22 @@ public class TokenEffect extends SpellAbilityEffect { } } + // Grant SVars + if (this.tokenSVars != null) { + for (final String s : this.tokenSVars) { + String actualSVar = AbilityUtils.getSVar(root, s); + String name = s; + if (actualSVar.startsWith("SVar")) { + actualSVar = actualSVar.split("SVar:")[1]; + name = actualSVar.split(":")[0]; + actualSVar = actualSVar.split(":")[1]; + } + for (final Card c : tokens) { + c.setSVar(name, actualSVar); + } + } + } + // Grant abilities if (this.tokenAbilities != null) { for (final String s : this.tokenAbilities) { @@ -313,22 +329,6 @@ public class TokenEffect extends SpellAbilityEffect { } } - // Grant SVars - if (this.tokenSVars != null) { - for (final String s : this.tokenSVars) { - String actualSVar = AbilityUtils.getSVar(root, s); - String name = s; - if (actualSVar.startsWith("SVar")) { - actualSVar = actualSVar.split("SVar:")[1]; - name = actualSVar.split(":")[0]; - actualSVar = actualSVar.split(":")[1]; - } - for (final Card c : tokens) { - c.setSVar(name, actualSVar); - } - } - } - // Grant static abilities if (this.tokenStaticAbilities != null) { for (final String s : this.tokenStaticAbilities) {