magarena/release/Magarena/scripts/Rest_in_Peace.groovy

42 lines
1.7 KiB
Groovy

[
new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPayedCost payedCost) {
return new MagicEvent(
permanent,
this,
"Exile all cards from all graveyards."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
for (final MagicPlayer player : game.getPlayers()) {
for (final MagicCard card : new MagicCardList(player.getGraveyard())) {
game.doAction(new MagicRemoveCardAction(card, MagicLocationType.Graveyard));
game.doAction(new MagicMoveCardAction(card, MagicLocationType.Graveyard, MagicLocationType.Exile));
}
}
}
},
//handles permanents
new MagicWhenLeavesPlayTrigger(MagicTrigger.REPLACEMENT) {
@Override
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicRemoveFromPlayAction act) {
if (act.getToLocation() == MagicLocationType.Graveyard) {
act.setToLocation(MagicLocationType.Exile);
}
return MagicEvent.NONE;
}
},
//handles cards
new MagicWouldBeMovedTrigger(MagicTrigger.REPLACEMENT) {
@Override
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicMoveCardAction act) {
if (act.getToLocation() == MagicLocationType.Graveyard) {
act.setToLocation(MagicLocationType.Exile);
}
return MagicEvent.NONE;
}
}
]