Add script for Ambush Commander

master
Jericho Pumpkin 2013-10-04 17:49:11 +00:00
parent 1fa0ed7b74
commit 32b42567cc
3 changed files with 117 additions and 0 deletions

View File

@ -0,0 +1,39 @@
def BEAST_CREATURE_YOU_CONTROL = new MagicTargetFilterImpl() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return (target.isCreature() && target.hasSubType(MagicSubType.Beast) && player == target.getController());
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType==MagicTargetType.Permanent;
}
};
def POS_TARGET_BEAST_YOU_CONTROL = new MagicTargetChoice(
BEAST_CREATURE_YOU_CONTROL,
MagicTargetHint.Positive,
"target Beast creature you control"
)
[
new MagicAtEndOfTurnTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPlayer eotPlayer) {
return (eotPlayer == permanent.getController())? new MagicEvent(
permanent,
POS_TARGET_BEAST_YOU_CONTROL,
MagicPumpTargetPicker.create(),
this,
"PN put a +1/+1 counter on target Beast creature\$ he controls."
):
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game,new MagicPermanentAction() {
public void doAction(final MagicPermanent creature) {
game.doAction(new MagicChangeCountersAction(creature,MagicCounterType.PlusOne,1,true));
}
});
}
}
]

View File

@ -0,0 +1,67 @@
def SACRIFICE_ELF = new MagicTargetChoice(
MagicTargetFilter.TARGET_ELF_YOU_CONTROL,
MagicTargetHint.Positive,
"a Elf creature"
);
[
new MagicStatic(
MagicLayer.SetPT,
MagicTargetFilter.TARGET_FOREST_YOU_CONTROL
) {
@Override
public void modPowerToughness(final MagicPermanent source,final MagicPermanent permanent,final MagicPowerToughness pt) {
pt.set(1,1);
}
},
new MagicStatic(
MagicLayer.Type,
MagicTargetFilter.TARGET_FOREST_YOU_CONTROL
) {
@Override
public int getTypeFlags(final MagicPermanent permanent,final int flags) {
return flags|MagicType.Creature.getMask();
}
},
new MagicStatic(
MagicLayer.Type,
MagicTargetFilter.TARGET_FOREST_YOU_CONTROL
) {
@Override
public void modSubTypeFlags(final MagicPermanent permanent, final Set<MagicSubType> flags) {
flags.add(MagicSubType.Elf);
}
},
new MagicPermanentActivation(
new MagicActivationHints(MagicTiming.Pump),
"Pump"
) {
@Override
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
return [
new MagicPayManaCostEvent(source,"{1}{G}"),
new MagicSacrificePermanentEvent(source, SACRIFICE_ELF)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
MagicTargetChoice.TARGET_CREATURE,
MagicPumpTargetPicker.create(),
this,
"Target creature\$ gets +3/+3 until end of turn."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game,new MagicPermanentAction() {
public void doAction(final MagicPermanent creature) {
game.doAction(new MagicChangeTurnPTAction(creature,3,3));
}
});
}
}
]

View File

@ -0,0 +1,11 @@
name=Ambush Commander
url=http://magiccards.info/evg/en/1.html
image=http://magiccards.info/scans/en/evg/1.jpg
value=4.292
rarity=R
type=Creature
subtype=Elf
cost={3}{G}{G}
pt=2/2
timing=main
requires_groovy_code