diff --git a/Mage.Server/src/main/java/mage/server/util/SystemUtil.java b/Mage.Server/src/main/java/mage/server/util/SystemUtil.java index 8bfd1a2abc9..b07227c694f 100644 --- a/Mage.Server/src/main/java/mage/server/util/SystemUtil.java +++ b/Mage.Server/src/main/java/mage/server/util/SystemUtil.java @@ -87,6 +87,8 @@ public final class SystemUtil { gameZone = Zone.LIBRARY; } else if ("token".equalsIgnoreCase(zone)) { gameZone = Zone.BATTLEFIELD; + } else if ("emblem".equalsIgnoreCase(zone)) { + gameZone = Zone.COMMAND; } else { continue; // go parse next line } @@ -103,6 +105,17 @@ public final class SystemUtil { Object token = cons.newInstance(); if (token != null && token instanceof mage.game.permanent.token.Token) { ((mage.game.permanent.token.Token) token).putOntoBattlefield(amount, game, null, player.getId(), false, false); + continue; + } + } else if ("emblem".equalsIgnoreCase(zone)) { + // eg: emblem:Human:ElspethSunsChampionEmblem:1 + Class c = Class.forName("mage.game.command.emblems." + cardName); + Constructor cons = c.getConstructor(); + Object emblem = cons.newInstance(); + if (emblem != null && emblem instanceof mage.game.command.Emblem) { + ((mage.game.command.Emblem) emblem).setControllerId(player.getId()); + game.addEmblem((mage.game.command.Emblem) emblem, null, player.getId()); + continue; } } logger.warn("Couldn't find a card: " + cardName); diff --git a/Mage/src/main/java/mage/game/command/emblems/ElspethSunsChampionEmblem.java b/Mage/src/main/java/mage/game/command/emblems/ElspethSunsChampionEmblem.java index 20ad19457ae..140fb38791b 100644 --- a/Mage/src/main/java/mage/game/command/emblems/ElspethSunsChampionEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/ElspethSunsChampionEmblem.java @@ -48,6 +48,7 @@ public class ElspethSunsChampionEmblem extends Emblem { public ElspethSunsChampionEmblem() { this.setName("Emblem Elspeth"); + this.setExpansionSetCodeForImage("THS"); Ability ability = new SimpleStaticAbility(Zone.COMMAND, new BoostControlledEffect(2, 2, Duration.EndOfGame, filter, false)); ability.addEffect(new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfGame, filter)); this.getAbilities().add(ability);