diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 13737010512..19e874f7bb3 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -5709,22 +5709,34 @@ public class CardFactory implements NewConstants { 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 name = k[2]; + final String imageName = k[3]; + final String controllerString = k[4]; + final String manaCost = k[5]; + final String[] types = k[6].split(";"); + final int attack = Integer.valueOf(k[7]); + final int defense = Integer.valueOf(k[8]); + final String[] keywords = k[9].split(";"); + SpellAbility spell = new Spell(card) { private static final long serialVersionUID = -5286946184688616830L; - + + @Override + public boolean canPlayAI() { + if(num == 0) { + return false; + } + else{ + return true; + } + } + @Override public void resolve() { - final int num = "X".equals(k[1]) ? CardFactoryUtil.xCount(card, card.getSVar("X")) : Integer.valueOf(k[1]); - final String name = k[2]; - final String imageName = k[3]; - final String controller = (k[4].equals("Controller") ? card.getController() : AllZone.GameAction.getOpponent(card.getController())); - final String manaCost = k[5]; - final String[] types = k[6].split(";"); - final int attack = Integer.valueOf(k[7]); - final int defense = Integer.valueOf(k[8]); - final String[] keywords = k[9].split(";"); + String controller = (controllerString.equals("Controller") ? card.getController() : AllZone.GameAction.getOpponent(card.getController())); for(int i = 0; i < num; i ++ ){ - if(k[9].equals("None")) keywords[0] = ""; + if(keywords[0].equals("None")) keywords[0] = ""; CardFactoryUtil.makeToken(name, imageName, controller, manaCost, types, attack, defense, keywords); } }