convert from java code to groovy code

master
melvin 2013-05-20 13:29:12 +08:00
parent 9eae96048b
commit 349f0373df
3 changed files with 32 additions and 46 deletions

View File

@ -0,0 +1,31 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack, final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_SPELL,
this,
"Counter target spell\$ that targets a player."
);
}
//FIXME: check if result contains a player NOT targets a player
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetCardOnStack(game,new MagicCardOnStackAction() {
public void doAction(final MagicCardOnStack targetSpell) {
if (targetSpell.getChoiceResults() != null) {
for (final Object choiceResult : targetSpell.getChoiceResults()) {
for (final MagicPlayer player : game.getPlayers()) {
if (choiceResult == player) {
game.doAction(new MagicCounterItemOnStackAction(targetSpell));
break;
}
}
}
}
}
});
}
}
]

View File

@ -6,4 +6,4 @@ rarity=C
type=Instant type=Instant
cost={U} cost={U}
timing=counter timing=counter
requires_card_code requires_groovy_code

View File

@ -1,45 +0,0 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPlayer;
import magic.model.action.MagicCardOnStackAction;
import magic.model.action.MagicCounterItemOnStackAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.event.MagicSpellCardEvent;
import magic.model.stack.MagicCardOnStack;
public class Outwit {
public static final MagicSpellCardEvent S = new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(
final MagicCardOnStack cardOnStack,
final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_SPELL,
this,
"Counter target spell$ that targets a player.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
event.processTargetCardOnStack(game,new MagicCardOnStackAction() {
public void doAction(final MagicCardOnStack targetSpell) {
if (targetSpell.getChoiceResults() != null) {
for (final Object choiceResult : targetSpell.getChoiceResults()) {
for (final MagicPlayer player : game.getPlayers()) {
if (choiceResult == player) {
game.doAction(new MagicCounterItemOnStackAction(targetSpell));
break;
}
}
}
}
}
});
}
};
}