From 03f97f470ced2688e8b7a58a45543949e501fcd4 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 08:16:46 +0000 Subject: [PATCH] more updates to spMakeToken --- src/forge/CardFactory.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 19e874f7bb3..da1fa71ed04 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -5708,8 +5708,8 @@ public class CardFactory implements NewConstants { String parse = card.getKeyword().get(n).toString(); card.removeIntrinsicKeyword(parse); final String[] k = parse.split("<>"); - - final int num = "X".equals(k[1]) ? CardFactoryUtil.xCount(card, card.getSVar("X")) : Integer.valueOf(k[1]); + final String numString = k[1].equals("X") ? card.getSVar("X") : k[1]; + final boolean xString = k[1].equals("X") ? true : false; final String name = k[2]; final String imageName = k[3]; final String controllerString = k[4]; @@ -5724,7 +5724,7 @@ public class CardFactory implements NewConstants { @Override public boolean canPlayAI() { - if(num == 0) { + if(xString && CardFactoryUtil.xCount(card, numString) > 0) { return false; } else{ @@ -5734,7 +5734,8 @@ public class CardFactory implements NewConstants { @Override public void resolve() { - String controller = (controllerString.equals("Controller") ? card.getController() : AllZone.GameAction.getOpponent(card.getController())); + int num = xString ? CardFactoryUtil.xCount(card, numString) : Integer.valueOf(numString); + String controller = (controllerString.equals("Controller") ? card.getController() : AllZone.GameAction.getOpponent(card.getController())); for(int i = 0; i < num; i ++ ){ if(keywords[0].equals("None")) keywords[0] = ""; CardFactoryUtil.makeToken(name, imageName, controller, manaCost, types, attack, defense, keywords);