convert from java code to groovy code

master
melvin 2013-05-28 16:02:54 +08:00
parent 5f68aeb1b3
commit fffbf9fa1d
3 changed files with 42 additions and 65 deletions

View File

@ -0,0 +1,41 @@
[
new MagicPermanentActivation(
MagicActivation.NO_COND,
new MagicActivationHints(MagicTiming.Removal),
"Exile"
) {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicSacrificeEvent(source)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
MagicTargetChoice.NEG_TARGET_CARD_FROM_ALL_GRAVEYARDS,
// exiling a high cost card is good here
new MagicGraveyardTargetPicker(true),
this,
"Exile target card\$ from a graveyard."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetCard(game,new MagicCardAction() {
public void doAction(final MagicCard card) {
game.doAction(new MagicRemoveCardAction(
card,
MagicLocationType.Graveyard
));
game.doAction(new MagicMoveCardAction(
card,
MagicLocationType.Graveyard,
MagicLocationType.Exile
));
}
});
}
}
]

View File

@ -8,4 +8,4 @@ subtype=Zombie
cost={1}{B}
pt=2/1
timing=main
requires_card_code
requires_groovy_code

View File

@ -1,64 +0,0 @@
package magic.card;
import magic.model.MagicCard;
import magic.model.MagicGame;
import magic.model.MagicLocationType;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.action.MagicCardAction;
import magic.model.action.MagicMoveCardAction;
import magic.model.action.MagicRemoveCardAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicActivation;
import magic.model.event.MagicActivationHints;
import magic.model.event.MagicEvent;
import magic.model.event.MagicPermanentActivation;
import magic.model.event.MagicSacrificeEvent;
import magic.model.event.MagicTiming;
import magic.model.target.MagicGraveyardTargetPicker;
public class Crypt_Creeper {
public static final MagicPermanentActivation A = new MagicPermanentActivation(
MagicActivation.NO_COND,
new MagicActivationHints(MagicTiming.Removal),
"Exile"
) {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return new MagicEvent[]{
new MagicSacrificeEvent(source)
};
}
@Override
public MagicEvent getPermanentEvent(
final MagicPermanent source,
final MagicPayedCost payedCost) {
return new MagicEvent(
source,
MagicTargetChoice.NEG_TARGET_CARD_FROM_ALL_GRAVEYARDS,
// exiling a high cost card is good here
new MagicGraveyardTargetPicker(true),
this,
"Exile target card$ from a graveyard."
);
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
event.processTargetCard(game,new MagicCardAction() {
public void doAction(final MagicCard card) {
game.doAction(new MagicRemoveCardAction(
card,
MagicLocationType.Graveyard
));
game.doAction(new MagicMoveCardAction(
card,
MagicLocationType.Graveyard,
MagicLocationType.Exile
));
}
});
}
};
}