convert from java code to groovy code

master
melvin 2013-05-19 13:31:22 +08:00
parent d6b7cad6d1
commit 1446f0a1eb
3 changed files with 26 additions and 41 deletions

View File

@ -0,0 +1,25 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_CREATURE_OR_PLAYER,
new MagicDamageTargetPicker(4),
this,
"SN deals 4 damage to target creature or player\$ and 2 damage to you."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTarget(game,new MagicTargetAction() {
public void doAction(final MagicTarget target) {
final MagicDamage damage1=new MagicDamage(event.getSource(),target,4);
game.doAction(new MagicDealDamageAction(damage1));
final MagicDamage damage2=new MagicDamage(event.getSource(),event.getPlayer(),2);
game.doAction(new MagicDealDamageAction(damage2));
}
});
}
}
]

View File

@ -7,4 +7,4 @@ rarity=R
type=Instant
cost={2}{R}
timing=removal
requires_card_code
requires_groovy_code

View File

@ -1,40 +0,0 @@
package magic.card;
import magic.model.MagicDamage;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
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 Char {
public static final MagicSpellCardEvent S = new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_CREATURE_OR_PLAYER,
new MagicDamageTargetPicker(4),
this,
"SN deals 4 damage to target creature or player$ and 2 damage to you.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
event.processTarget(game,new MagicTargetAction() {
public void doAction(final MagicTarget target) {
final MagicDamage damage1=new MagicDamage(event.getSource(),target,4);
game.doAction(new MagicDealDamageAction(damage1));
final MagicDamage damage2=new MagicDamage(event.getSource(),event.getPlayer(),2);
game.doAction(new MagicDealDamageAction(damage2));
}
});
}
};
}