convert from java code to groovy code

master
melvin 2013-05-27 13:08:21 +08:00
parent 655416e450
commit 33ac998146
3 changed files with 31 additions and 49 deletions

View File

@ -0,0 +1,30 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
new MagicBuybackChoice(
MagicTargetChoice.NEG_TARGET_CREATURE,
MagicManaCost.create("{3}")
),
MagicMustAttackTargetPicker.create(),
this,
"Target creature\$ attacks this turn if able. " +
"If the buyback cost was payed\$, return SN to its owner's hand as it resolves."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game,new MagicPermanentAction() {
public void doAction(final MagicPermanent creature) {
game.doAction(new MagicSetAbilityAction(creature,MagicAbility.AttacksEachTurnIfAble));
if (event.isBuyback()) {
game.doAction(new MagicChangeCardDestinationAction(event.getCardOnStack(), MagicLocationType.OwnersHand));
}
}
});
}
}
]

View File

@ -7,4 +7,4 @@ rarity=U
type=Instant type=Instant
cost={1}{B} cost={1}{B}
timing=mustattack timing=mustattack
requires_card_code requires_groovy_code

View File

@ -1,48 +0,0 @@
package magic.card;
import magic.model.MagicAbility;
import magic.model.MagicGame;
import magic.model.MagicLocationType;
import magic.model.MagicManaCost;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.action.MagicChangeCardDestinationAction;
import magic.model.action.MagicPermanentAction;
import magic.model.action.MagicSetAbilityAction;
import magic.model.choice.MagicBuybackChoice;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.event.MagicSpellCardEvent;
import magic.model.stack.MagicCardOnStack;
import magic.model.target.MagicMustAttackTargetPicker;
public class Imps__Taunt {
public static final MagicSpellCardEvent E = new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
new MagicBuybackChoice(
MagicTargetChoice.NEG_TARGET_CREATURE,
MagicManaCost.create("{3}")),
MagicMustAttackTargetPicker.create(),
this,
"Target creature$ attacks this turn if able. " +
"If the buyback cost was payed$, return SN to its owner's hand as it resolves.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
event.processTargetPermanent(game,new MagicPermanentAction() {
public void doAction(final MagicPermanent creature) {
game.doAction(new MagicSetAbilityAction(creature,MagicAbility.AttacksEachTurnIfAble));
if (event.isBuyback()) {
game.doAction(new MagicChangeCardDestinationAction(event.getCardOnStack(), MagicLocationType.OwnersHand));
}
}
});
}
};
}