magarena/release/Magarena/scripts/Unbreathing_Horde.groovy

46 lines
1.7 KiB
Groovy
Raw Normal View History

2013-05-28 05:48:21 -07:00
[
new MagicWhenComesIntoPlayTrigger() {
2013-04-12 19:32:25 -07:00
@Override
2013-06-19 07:23:35 -07:00
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPayedCost payedCost) {
final MagicTargetFilter<MagicPermanent> targetFilter = new MagicOtherPermanentTargetFilter(
2013-04-12 19:32:25 -07:00
MagicTargetFilter.TARGET_ZOMBIE_YOU_CONTROL,permanent);
2013-06-19 07:23:35 -07:00
final MagicPlayer player = permanent.getController();
2013-04-12 19:32:25 -07:00
final int amount = game.filterPermanents(player,targetFilter).size() +
game.filterCards(player,MagicTargetFilter.TARGET_ZOMBIE_CARD_FROM_GRAVEYARD).size();
game.doAction(new MagicChangeCountersAction(
permanent,
MagicCounterType.PlusOne,
amount,
true
));
return MagicEvent.NONE;
}
2013-05-28 05:48:21 -07:00
},
2013-07-23 23:24:11 -07:00
new MagicIfDamageWouldBeDealtTrigger(MagicTrigger.PREVENT_DAMAGE) {
2013-04-12 19:32:25 -07:00
@Override
2013-07-23 23:24:11 -07:00
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicDamage damage) {
if (damage.getTarget() == permanent) {
2013-06-23 18:29:26 -07:00
2013-04-12 19:32:25 -07:00
// Prevention effect.
2013-07-23 23:24:11 -07:00
damage.prevent();
2013-04-12 19:32:25 -07:00
return new MagicEvent(
permanent,
this,
"Remove a +1/+1 counter from SN."
);
}
return MagicEvent.NONE;
2013-06-23 18:29:26 -07:00
}
2013-04-12 19:32:25 -07:00
@Override
2013-05-28 05:48:21 -07:00
public void executeEvent(final MagicGame game, final MagicEvent event) {
2013-04-12 19:32:25 -07:00
game.doAction(new MagicChangeCountersAction(
event.getPermanent(),
MagicCounterType.PlusOne,
-1,
true
));
}
2013-05-28 05:48:21 -07:00
}
]