diff --git a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java index 4a88345ddae..a6452827851 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java @@ -358,7 +358,8 @@ public class TokenAi extends SpellAbilityAi { if (!sa.hasParam("TokenScript")) { throw new RuntimeException("Spell Ability has no TokenScript: " + sa); } - Card result = TokenInfo.getProtoType(sa.getParam("TokenScript"), sa, ai); + // TODO for now, only checking the first token is good enough + Card result = TokenInfo.getProtoType(sa.getParam("TokenScript").split(",")[0], sa, ai); if (result == null) { throw new RuntimeException("don't find Token for TokenScript: " + sa.getParam("TokenScript")); diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 30b43f4c427..e6507f34d62 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -1319,14 +1319,17 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont } if (sa.hasParam("TokenScript")) { sa.setActivatingPlayer(player); - Card protoType = TokenInfo.getProtoType(sa.getParam("TokenScript"), sa, null); - for (String type : protoType.getType().getCreatureTypes()) { - Integer count = typesInDeck.get(type); - if (count == null) { - count = 0; + for (String token : sa.getParam("TokenScript").split(",")) { + Card protoType = TokenInfo.getProtoType(token, sa, null); + for (String type : protoType.getType().getCreatureTypes()) { + Integer count = typesInDeck.get(type); + if (count == null) { + count = 0; + } + typesInDeck.put(type, count + 1); } - typesInDeck.put(type, count + 1); } + } } // same for Trigger that does make Tokens @@ -1335,13 +1338,15 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont if (sa != null) { if (sa.hasParam("TokenScript")) { sa.setActivatingPlayer(player); - Card protoType = TokenInfo.getProtoType(sa.getParam("TokenScript"), sa, null); - for (String type : protoType.getType().getCreatureTypes()) { - Integer count = typesInDeck.get(type); - if (count == null) { - count = 0; + for (String token : sa.getParam("TokenScript").split(",")) { + Card protoType = TokenInfo.getProtoType(token, sa, null); + for (String type : protoType.getType().getCreatureTypes()) { + Integer count = typesInDeck.get(type); + if (count == null) { + count = 0; + } + typesInDeck.put(type, count + 1); } - typesInDeck.put(type, count + 1); } } }