convert from java code to groovy code

master
melvin 2013-05-19 16:12:03 +08:00
parent 91e5a11a7d
commit c58560a8b5
3 changed files with 31 additions and 50 deletions

View File

@ -0,0 +1,30 @@
[
new MagicPermanentActivation(
[MagicCondition.CAN_TAP_CONDITION],
new MagicActivationHints(MagicTiming.Pump),
"Gain life"
) {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicTapEvent(source),
new MagicSacrificeEvent(source)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
"PN gains life equal to the number of charge counters on SN."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final int amount = event.getPermanent().getCounters(MagicCounterType.Charge);
game.doAction(new MagicChangeLifeAction(event.getPlayer(),amount));
}
}
]

View File

@ -7,4 +7,4 @@ type=Artifact
cost={1}
timing=artifact
ability=charge at upkeep
requires_card_code
requires_groovy_code

View File

@ -1,49 +0,0 @@
package magic.card;
import magic.model.MagicCounterType;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.action.MagicChangeLifeAction;
import magic.model.condition.MagicCondition;
import magic.model.event.MagicActivationHints;
import magic.model.event.MagicEvent;
import magic.model.event.MagicPermanentActivation;
import magic.model.event.MagicSacrificeEvent;
import magic.model.event.MagicTapEvent;
import magic.model.event.MagicTiming;
public class Golden_Urn {
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{
MagicCondition.CAN_TAP_CONDITION,
},
new MagicActivationHints(MagicTiming.Pump),
"Gain life") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
final MagicPermanent permanent = source;
return new MagicEvent[]{
new MagicTapEvent(permanent),
new MagicSacrificeEvent(permanent)};
}
@Override
public MagicEvent getPermanentEvent(
final MagicPermanent source,
final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
"PN gains life equal to the number of charge counters on SN.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event) {
final int amount = event.getPermanent().getCounters(MagicCounterType.Charge);
game.doAction(new MagicChangeLifeAction(event.getPlayer(),amount));
}
};
}