From a90f04c0fdc5e861fa501e162ebdc305d5535866 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 7 Jan 2022 12:21:24 -0500 Subject: [PATCH] ChooseCardNameEffect workaround to handle X in "ValidCards" --- .../forge/game/ability/effects/ChooseCardNameEffect.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java index 895a0e066f4..c39b2869d7b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java @@ -146,6 +146,12 @@ public class ChooseCardNameEffect extends SpellAbilityEffect { // use CardFace because you might name a alternate names Predicate cpp = Predicates.alwaysTrue(); if (sa.hasParam("ValidCards")) { + //Calculating/replacing X must happen before before running valid in CardFacePredicates + if (valid.endsWith("X")) { //for now, only works for X and valid must end with X + int num = AbilityUtils.calculateAmount(host, "X", sa); + String str = Integer.toString(num); + valid = valid.replace("X", str); + } cpp = CardFacePredicates.valid(valid); }