[ new MagicPermanentActivation( new MagicActivationHints(MagicTiming.Token,true), "Token" ) { @Override public Iterable getCostEvent(final MagicPermanent source) { return [ new MagicDiscardEvent(source,2) ]; } @Override public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) { return new MagicEvent( source, this, "PN puts a 2/2 black Zombie creature token onto the battlefield." ); } @Override public void executeEvent(final MagicGame game, final MagicEvent event) { game.doAction(new MagicPlayTokenAction( event.getPlayer(), TokenCardDefinitions.get("Zombie") )); } } ]