[ new MagicSpellCardEvent() { @Override public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) { return new MagicEvent( cardOnStack, this, "PN draws a card for each creature " + "card in his or her graveyard." ); } @Override public void executeEvent(final MagicGame game, final MagicEvent event) { final MagicPlayer player = event.getPlayer(); final int amount = game.filterCards(player, MagicTargetFilter.TARGET_CREATURE_CARD_FROM_GRAVEYARD).size(); game.doAction(new MagicDrawAction(player,amount)); } } ]