convert from java code to groovy code

master
melvin 2013-05-19 16:16:38 +08:00
parent 6b076da539
commit 8a57281ae5
3 changed files with 30 additions and 44 deletions

View File

@ -0,0 +1,29 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
final int amount=payedCost.getX();
return new MagicEvent(
cardOnStack,
this,
"Put "+amount+" -1/-1 counters on each creature. " +
"Shuffle SN into its owner's library."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final int amount = event.getCardOnStack().getX();
final Collection<MagicPermanent> targets =
game.filterPermanents(event.getPlayer(),MagicTargetFilter.TARGET_CREATURE);
for (final MagicPermanent target : targets) {
game.doAction(new MagicChangeCountersAction(
target,
MagicCounterType.MinusOne,
amount,
true
));
}
game.doAction(new MagicChangeCardDestinationAction(event.getCardOnStack(),MagicLocationType.OwnersLibrary));
}
}
]

View File

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

View File

@ -1,43 +0,0 @@
package magic.card;
import magic.model.MagicCounterType;
import magic.model.MagicGame;
import magic.model.MagicLocationType;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.action.MagicChangeCardDestinationAction;
import magic.model.action.MagicChangeCountersAction;
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 Black_Sun_s_Zenith {
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,
this,
"Put "+amount+" -1/-1 counters on each creature. " +
"Shuffle SN into its owner's library.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
final int amount = event.getCardOnStack().getX();
final Collection<MagicPermanent> targets =
game.filterPermanents(event.getPlayer(),MagicTargetFilter.TARGET_CREATURE);
for (final MagicPermanent target : targets) {
game.doAction(new MagicChangeCountersAction(
target,
MagicCounterType.MinusOne,amount,true));
}
game.doAction(new MagicChangeCardDestinationAction(event.getCardOnStack(),MagicLocationType.OwnersLibrary));
}
};
}