convert from java code to groovy code

master
melvin 2013-05-19 16:10:18 +08:00
parent c3ef75012b
commit ed3f756f12
3 changed files with 29 additions and 46 deletions

View File

@ -0,0 +1,28 @@
[
new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPlayer player) {
return new MagicEvent(
permanent,
player,
MagicTargetChoice.TARGET_SPELL,
this,
"Counter target spell\$. Put X +1/+1 counters on SN, " +
"where X is that spell's converted mana cost.");
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetCardOnStack(game,new MagicCardOnStackAction() {
public void doAction(final MagicCardOnStack card) {
game.doAction(new MagicCounterItemOnStackAction(card));
game.doAction(new MagicChangeCountersAction(
event.getPermanent(),
MagicCounterType.PlusOne,
card.getConvertedCost(),
true
));
}
});
}
}
]

View File

@ -9,4 +9,4 @@ cost={4}{U}{U}
pt=1/1
ability=flash,flying
timing=counterflash
requires_card_code
requires_groovy_code

View File

@ -1,45 +0,0 @@
package magic.card;
import magic.model.MagicCounterType;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.action.MagicCardOnStackAction;
import magic.model.action.MagicChangeCountersAction;
import magic.model.action.MagicCounterItemOnStackAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.stack.MagicCardOnStack;
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
public class Draining_Whelk {
public static final MagicWhenComesIntoPlayTrigger T = new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPlayer player) {
return new MagicEvent(
permanent,
player,
MagicTargetChoice.TARGET_SPELL,
this,
"Counter target spell$. Put X +1/+1 counters on SN " +
", where X is that spell's converted mana cost.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
event.processTargetCardOnStack(game,new MagicCardOnStackAction() {
public void doAction(final MagicCardOnStack card) {
game.doAction(new MagicCounterItemOnStackAction(card));
game.doAction(new MagicChangeCountersAction(
event.getPermanent(),
MagicCounterType.PlusOne,
card.getConvertedCost(),
true
));
}
});
}
};
}