convert from java code to groovy code

master
melvin 2013-05-26 10:23:07 +08:00
parent a8a7651145
commit ad5d152fcf
3 changed files with 28 additions and 44 deletions

View File

@ -0,0 +1,27 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
final int amount=payedCost.getX();
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_CREATURE_OR_PLAYER,
new MagicDamageTargetPicker(amount),
this,
"SN deals " + amount + " damage to target creature or player$. " +
"PN gains " + amount + " life."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final int amount = event.getCardOnStack().getX();
event.processTarget(game,new MagicTargetAction() {
public void doAction(final MagicTarget target) {
final MagicDamage damage=new MagicDamage(event.getSource(),target,amount);
game.doAction(new MagicDealDamageAction(damage));
game.doAction(new MagicChangeLifeAction(event.getPlayer(),amount));
}
});
}
}
]

View File

@ -7,4 +7,4 @@ rarity=R
type=Sorcery
cost={X}{W}{B}
timing=removal
requires_card_code
requires_groovy_code

View File

@ -1,43 +0,0 @@
package magic.card;
import magic.model.MagicDamage;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.action.MagicChangeLifeAction;
import magic.model.action.MagicDealDamageAction;
import magic.model.action.MagicTargetAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.event.MagicSpellCardEvent;
import magic.model.stack.MagicCardOnStack;
import magic.model.target.MagicDamageTargetPicker;
import magic.model.target.MagicTarget;
public class Death_Grasp {
public static final MagicSpellCardEvent S = new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
final int amount=payedCost.getX();
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_CREATURE_OR_PLAYER,
new MagicDamageTargetPicker(amount),
this,
"SN deals " + amount + " damage to target creature or player$. " +
"PN gains " + amount + " life.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
final int amount = event.getCardOnStack().getX();
event.processTarget(game,new MagicTargetAction() {
public void doAction(final MagicTarget target) {
final MagicDamage damage=new MagicDamage(event.getSource(),target,amount);
game.doAction(new MagicDealDamageAction(damage));
game.doAction(new MagicChangeLifeAction(event.getPlayer(),amount));
}
});
}
};
}