From 5cebdd49949de739eff8a3650c223a447e49f346 Mon Sep 17 00:00:00 2001 From: melvin Date: Fri, 31 May 2013 11:30:19 +0800 Subject: [PATCH] convert from java code to groovy code --- .../Magarena/scripts/Angelheart_Vial.groovy | 61 ++++++++++++ release/Magarena/scripts/Angelheart_Vial.txt | 2 +- src/magic/card/Angelheart_Vial.java | 93 ------------------- 3 files changed, 62 insertions(+), 94 deletions(-) create mode 100644 release/Magarena/scripts/Angelheart_Vial.groovy delete mode 100644 src/magic/card/Angelheart_Vial.java diff --git a/release/Magarena/scripts/Angelheart_Vial.groovy b/release/Magarena/scripts/Angelheart_Vial.groovy new file mode 100644 index 0000000000..0237d3a98f --- /dev/null +++ b/release/Magarena/scripts/Angelheart_Vial.groovy @@ -0,0 +1,61 @@ +[ + new MagicPermanentActivation( + [ + MagicCondition.CAN_TAP_CONDITION, + MagicConditionFactory.ChargeCountersAtLeast(4), + MagicConditionFactory.ManaCost("{2}") + ], + new MagicActivationHints(MagicTiming.Draw), + "Draw" + ) { + + @Override + public MagicEvent[] getCostEvent(final MagicPermanent source) { + return [ + new MagicPayManaCostTapEvent(source,"{2}"), + new MagicRemoveCounterEvent( + source, + MagicCounterType.Charge, + 4 + ) + ]; + } + + @Override + public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) { + return new MagicEvent( + source, + this, + "PN gains 2 life and draws a card" + ); + } + + @Override + public void executeEvent(final MagicGame game, final MagicEvent event) { + game.doAction(new MagicChangeLifeAction(event.getPlayer(),2)); + game.doAction(new MagicDrawAction(event.getPlayer(),1)); + } + }, + new MagicWhenDamageIsDealtTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) { + return permanent.isController(damage.getTarget()) ? + new MagicEvent( + permanent, + damage.getDealtAmount(), + this, + "Put RN charge counters on SN." + ): + MagicEvent.NONE; + } + @Override + public void executeEvent(final MagicGame game, final MagicEvent event) { + game.doAction(new MagicChangeCountersAction( + event.getPermanent(), + MagicCounterType.Charge, + event.getRefInt(), + false + )); + } + } +] diff --git a/release/Magarena/scripts/Angelheart_Vial.txt b/release/Magarena/scripts/Angelheart_Vial.txt index 8775f8292c..75ec9bcc21 100644 --- a/release/Magarena/scripts/Angelheart_Vial.txt +++ b/release/Magarena/scripts/Angelheart_Vial.txt @@ -6,4 +6,4 @@ rarity=R type=Artifact cost={5} timing=main -requires_card_code +requires_groovy_code diff --git a/src/magic/card/Angelheart_Vial.java b/src/magic/card/Angelheart_Vial.java deleted file mode 100644 index 5cf15007cd..0000000000 --- a/src/magic/card/Angelheart_Vial.java +++ /dev/null @@ -1,93 +0,0 @@ -package magic.card; - -import magic.model.MagicCounterType; -import magic.model.MagicDamage; -import magic.model.MagicGame; -import magic.model.MagicManaCost; -import magic.model.MagicPayedCost; -import magic.model.MagicPermanent; -import magic.model.MagicPlayer; -import magic.model.action.MagicChangeCountersAction; -import magic.model.action.MagicChangeLifeAction; -import magic.model.action.MagicDrawAction; -import magic.model.condition.MagicCondition; -import magic.model.condition.MagicConditionFactory; -import magic.model.event.MagicActivationHints; -import magic.model.event.MagicEvent; -import magic.model.event.MagicPayManaCostTapEvent; -import magic.model.event.MagicPermanentActivation; -import magic.model.event.MagicRemoveCounterEvent; -import magic.model.event.MagicTiming; -import magic.model.target.MagicTarget; -import magic.model.trigger.MagicWhenDamageIsDealtTrigger; - - -public class Angelheart_Vial { - public static final MagicPermanentActivation A = new MagicPermanentActivation( - new MagicCondition[]{ - MagicCondition.CAN_TAP_CONDITION, - MagicConditionFactory.ChargeCountersAtLeast(4), - MagicConditionFactory.ManaCost("{2}") - }, - new MagicActivationHints(MagicTiming.Draw), - "Draw") { - - @Override - public MagicEvent[] getCostEvent(final MagicPermanent source) { - return new MagicEvent[]{ - new MagicPayManaCostTapEvent(source,"{2}"), - new MagicRemoveCounterEvent( - source, - MagicCounterType.Charge, - 4 - ) - }; - } - - @Override - public MagicEvent getPermanentEvent( - final MagicPermanent source, - final MagicPayedCost payedCost) { - return new MagicEvent( - source, - this, - "PN gains 2 life and draws a card"); - } - - @Override - public void executeEvent( - final MagicGame game, - final MagicEvent event) { - game.doAction(new MagicChangeLifeAction(event.getPlayer(),2)); - game.doAction(new MagicDrawAction(event.getPlayer(),1)); - } - }; - - - public static final MagicWhenDamageIsDealtTrigger T = new MagicWhenDamageIsDealtTrigger() { - @Override - public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) { - final MagicPlayer player = permanent.getController(); - final MagicTarget target = damage.getTarget(); - final int amount = damage.getDealtAmount(); - return (target.isPlayer() && target == player) ? - new MagicEvent( - permanent, - player, - amount, - this, - "Put " + amount + " charge counters on SN."): - MagicEvent.NONE; - } - @Override - public void executeEvent( - final MagicGame game, - final MagicEvent event) { - game.doAction(new MagicChangeCountersAction( - event.getPermanent(), - MagicCounterType.Charge, - event.getRefInt(), - false)); - } - }; -}