Menu

Submission for Lim-Dûl's Paladin

191

Config

name=Lim-Dûl's Paladin
image=http://mtgimage.com/card/lim-dul%27s%20paladin.jpg
value=2.500
rarity=U
type=Creature
subtype=Human,Knight
cost={2}{B}{R}
pt=0/3
ability=Trample;\
        Whenever SN becomes blocked, SN gets +6/+3 until end of turn.
timing=main
requires_groovy_code
oracle=Trample. At the beginning of your upkeep, you may discard a card. If you don't, sacrifice Lim-Dûl's Paladin and draw a card. Whenever Lim-Dûl's Paladin becomes blocked, it gets +6/+3 until end of turn. Whenever Lim-Dûl's Paladin attacks and isn't blocked, it assigns no combat damage to defending player this turn and that player loses 4 life.

Script

[
    new MagicAtYourUpkeepTrigger() {
        @Override
        public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
            return new MagicEvent(
                permanent,
                new MagicMayChoice(
                    "Discard a card?",
                ),
                this,
                "PN may\$ discard a card. If PN doesn't, sacrifice SN and draw a card."
            );
        }

        @Override
        public void executeEvent(final MagicGame game, final MagicEvent event) {
	    if (event.isYes()) {
		game.addEvent(new MagicDiscardEvent(event.getSource(), event.getPlayer(), 1));
	    }
            if (event.isNo()) {
                final MagicSacrificeAction act = new MagicSacrificeAction(event.getPermanent());
                game.doAction(act);
		game.doAction(new MagicDrawAction(event.getPlayer(),1));
	    }
        }
    },

    new MagicWhenAttacksUnblockedTrigger() {
        @Override
        public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
            return (creature == permanent) ?
                new MagicEvent(
                    permanent,
                    this,
                    "SN assigns no combat damage this turn and defending player loses 4 life."
                ) :
                MagicEvent.NONE;
        }

        @Override
        public void executeEvent(final MagicGame game, final MagicEvent event) {
            game.doAction(MagicChangeStateAction.Set(
                event.getPermanent(),
                MagicPermanentState.NoCombatDamage
            ));
            game.doAction(new MagicChangeLifeAction(game.getDefendingPlayer(), -4));
        }
    }
]
Pushed