Add script for Ambush Commander
parent
1fa0ed7b74
commit
32b42567cc
|
@ -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));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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
|
Loading…
Reference in New Issue