magarena/release/Magarena/scripts/Jace_Beleren.groovy

119 lines
4.0 KiB
Groovy
Raw Normal View History

2013-02-26 06:33:13 -08:00
[
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION
],
new MagicActivationHints(MagicTiming.Main),
"+2") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
MagicPutCounterEvent.Self(
source,
MagicCounterType.Charge,
2
),
new MagicPlayAbilityEvent(source)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
"Each player draws a card."
);
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] choiceResults) {
for (final MagicPlayer player : game.getPlayers()) {
game.doAction(new MagicDrawAction(player, 1));
}
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(1)
2013-02-26 06:33:13 -08:00
],
new MagicActivationHints(MagicTiming.Main),
"-1") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
MagicTargetChoice.POS_TARGET_PLAYER,
this,
"Target player\$ draws a card."
);
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] choiceResults) {
event.processTargetPlayer(game,choiceResults,0,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.doAction(new MagicDrawAction(player,1));
}
});
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(10)
2013-02-26 06:33:13 -08:00
],
new MagicActivationHints(MagicTiming.Main),
"-10") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
10
),
new MagicPlayAbilityEvent(source)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
MagicTargetChoice.NEG_TARGET_PLAYER,
this,
"Target player\$ puts the top twenty cards of his or her library into his or her graveyard."
);
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] choiceResults) {
event.processTargetPlayer(game,choiceResults,0,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.doAction(new MagicMillLibraryAction(player, 20));
}
});
}
}
]