diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 452f49d69ea..6f0b68c466f 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -842,7 +842,11 @@ public class CardFactoryUtil { // only used by Opal Palace, and it does add the trigger to the card return doXMath(cc.getCommanderCast(c), m, c); } - + + if (l[0].startsWith("TotalCommanderCastFromCommandZone")) { + return doXMath(cc.getTotalCommanderCast(), m, c); + } + if (l[0].startsWith("MostProminentCreatureType")) { String restriction = l[0].split(" ")[1]; CardCollection list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), restriction, cc, c); diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 56415c518bc..e4e5bfe45ce 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -2665,6 +2665,14 @@ public class Player extends GameEntity implements Comparable { commanderCast.put(commander, getCommanderCast(commander) + 1); } + public int getTotalCommanderCast() { + int result = 0; + for (Integer i : commanderCast.values()) { + result += i; + } + return result; + } + public boolean isPlayingExtraTurn() { return isPlayingExtraTrun; } diff --git a/forge-game/src/main/java/forge/game/zone/MagicStack.java b/forge-game/src/main/java/forge/game/zone/MagicStack.java index 357cbfd44de..53e8e676291 100644 --- a/forge-game/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-game/src/main/java/forge/game/zone/MagicStack.java @@ -368,7 +368,8 @@ public class MagicStack /* extends MyObservable */ implements Iterable