convert from java code to groovy code

master
melvin 2013-05-26 19:06:03 +08:00
parent 673c0c299d
commit f57518e8a3
3 changed files with 31 additions and 48 deletions

View File

@ -0,0 +1,30 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_PLAYER,
this,
"Target player\$ loses X life and you gain X life, where " +
"X is the greatest power among creatures PN controls."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final Collection<MagicPermanent> targets = game.filterPermanents(
event.getPlayer(),
MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
int power = 0;
for (final MagicPermanent creature : targets) {
power = Math.max(power,creature.getPower());
}
game.doAction(new MagicChangeLifeAction(player,-power));
game.doAction(new MagicChangeLifeAction(event.getPlayer(),power));
}
});
}
}
]

View File

@ -6,4 +6,4 @@ rarity=C
type=Sorcery
cost={2}{B}
timing=removal
requires_card_code
requires_groovy_code

View File

@ -1,47 +0,0 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.action.MagicChangeLifeAction;
import magic.model.action.MagicPlayerAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.event.MagicSpellCardEvent;
import magic.model.stack.MagicCardOnStack;
import magic.model.target.MagicTargetFilter;
import java.util.Collection;
public class Essence_Harvest {
public static final MagicSpellCardEvent E = new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_PLAYER,
this,
"Target player$ loses X life and you gain X life, where " +
"X is the greatest power among creatures PN controls.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final Collection<MagicPermanent> targets = game.filterPermanents(
event.getPlayer(),
MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
int power = 0;
for (final MagicPermanent creature : targets) {
power = Math.max(power,creature.getPower());
}
game.doAction(new MagicChangeLifeAction(player,-power));
game.doAction(new MagicChangeLifeAction(event.getPlayer(),power));
}
});
}
};
}