package magic.model.event; import magic.model.MagicCard; import magic.model.MagicCardList; import magic.model.MagicGame; import magic.model.MagicPlayer; import magic.model.MagicSource; import magic.model.action.DiscardCardAction; public class MagicDiscardHandEvent extends MagicEvent { public MagicDiscardHandEvent(final MagicSource source, final MagicPlayer player) { super( source, player, EVENT_ACTION, "PN discards his or her hand." ); } public MagicDiscardHandEvent(final MagicSource source) { this(source, source.getController()); } private static final MagicEventAction EVENT_ACTION = (final MagicGame game, final MagicEvent event) -> { final MagicPlayer player = event.getPlayer(); final MagicCardList hand = new MagicCardList(player.getHand()); for (final MagicCard card : hand) { game.doAction(new DiscardCardAction(player,card)); } }; }