convert from java code to groovy code
parent
9eae96048b
commit
349f0373df
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
|
@ -6,4 +6,4 @@ rarity=C
|
||||||
type=Instant
|
type=Instant
|
||||||
cost={U}
|
cost={U}
|
||||||
timing=counter
|
timing=counter
|
||||||
requires_card_code
|
requires_groovy_code
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue