From 7fbdb70fd4d7e0538e9bb23696e236e55a409acd Mon Sep 17 00:00:00 2001 From: beholder Date: Thu, 6 Oct 2011 08:35:21 +0200 Subject: [PATCH] added Arcbound Reclaimer and Arcbound Slith --- resources/magic/data/cards.txt | 22 +++++++++ src/magic/card/Arcbound_Reclaimer.java | 63 ++++++++++++++++++++++++++ src/magic/card/Arcbound_Slith.java | 42 +++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 src/magic/card/Arcbound_Reclaimer.java create mode 100644 src/magic/card/Arcbound_Slith.java diff --git a/resources/magic/data/cards.txt b/resources/magic/data/cards.txt index 49f8863f7d..ba4c78dd89 100644 --- a/resources/magic/data/cards.txt +++ b/resources/magic/data/cards.txt @@ -12243,3 +12243,25 @@ converted=8 cost={8} ability=modular timing=main + +>Arcbound Reclaimer +image=http://magiccards.info/scans/en/ds/101.jpg +value=3 +rarity=R +type=Artifact,Creature +subtype=Golem +converted=4 +cost={4} +ability=modular +timing=main + +>Arcbound Slith +image=http://magiccards.info/scans/en/pch/106.jpg +value=2 +rarity=U +type=Artifact,Creature +subtype=Slith +converted=2 +cost={2} +ability=modular +timing=main diff --git a/src/magic/card/Arcbound_Reclaimer.java b/src/magic/card/Arcbound_Reclaimer.java new file mode 100644 index 0000000000..286b2a4b41 --- /dev/null +++ b/src/magic/card/Arcbound_Reclaimer.java @@ -0,0 +1,63 @@ +package magic.card; + +import magic.model.MagicCard; +import magic.model.MagicCounterType; +import magic.model.MagicGame; +import magic.model.MagicLocationType; +import magic.model.MagicPayedCost; +import magic.model.MagicPermanent; +import magic.model.MagicSource; +import magic.model.action.MagicCardAction; +import magic.model.action.MagicMoveCardAction; +import magic.model.action.MagicRemoveCardAction; +import magic.model.choice.MagicTargetChoice; +import magic.model.condition.MagicCondition; +import magic.model.event.MagicActivationHints; +import magic.model.event.MagicEvent; +import magic.model.event.MagicPermanentActivation; +import magic.model.event.MagicRemoveCounterEvent; +import magic.model.event.MagicTiming; +import magic.model.target.MagicGraveyardTargetPicker; +import magic.model.trigger.MagicComesIntoPlayWithCounterTrigger; +import magic.model.trigger.MagicModularTrigger; + +public class Arcbound_Reclaimer { + public static final MagicPermanentActivation A = new MagicPermanentActivation( + new MagicCondition[] {MagicCondition.PLUS_COUNTER_CONDITION}, + new MagicActivationHints(MagicTiming.Main), + "Card") { + @Override + public MagicEvent[] getCostEvent(final MagicSource source) { + return new MagicEvent[]{ + new MagicRemoveCounterEvent((MagicPermanent)source,MagicCounterType.PlusOne,1)}; + } + @Override + public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) { + return new MagicEvent( + source, + source.getController(), + MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD, + new MagicGraveyardTargetPicker(false), + MagicEvent.NO_DATA, + this, + "Put target artifact card$ from your graveyard on top of your library"); + } + @Override + public void executeEvent(final MagicGame game,final MagicEvent event,final Object[] data,final Object[] choiceResults) { + event.processTargetCard(game,choiceResults,0,new MagicCardAction() { + public void doAction(final MagicCard targetCard) { + game.doAction(new MagicRemoveCardAction(targetCard,MagicLocationType.Graveyard)); + game.doAction(new MagicMoveCardAction( + targetCard, + MagicLocationType.Graveyard, + MagicLocationType.TopOfOwnersLibrary)); + } + }); + } + }; + + public static final MagicComesIntoPlayWithCounterTrigger T = + new MagicComesIntoPlayWithCounterTrigger(MagicCounterType.PlusOne,"+1/+1",2); + + public static final MagicModularTrigger T2 = new MagicModularTrigger(); +} diff --git a/src/magic/card/Arcbound_Slith.java b/src/magic/card/Arcbound_Slith.java new file mode 100644 index 0000000000..8dedd4c563 --- /dev/null +++ b/src/magic/card/Arcbound_Slith.java @@ -0,0 +1,42 @@ +package magic.card; + +import magic.model.MagicCounterType; +import magic.model.MagicDamage; +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.action.MagicChangeCountersAction; +import magic.model.event.MagicEvent; +import magic.model.trigger.MagicComesIntoPlayWithCounterTrigger; +import magic.model.trigger.MagicModularTrigger; +import magic.model.trigger.MagicWhenDamageIsDealtTrigger; + +public class Arcbound_Slith { + public static final MagicComesIntoPlayWithCounterTrigger T1 = + new MagicComesIntoPlayWithCounterTrigger(MagicCounterType.PlusOne,"+1/+1",1); + + public static final MagicModularTrigger T2 = new MagicModularTrigger(); + + public static final MagicWhenDamageIsDealtTrigger T3 = new MagicWhenDamageIsDealtTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) { + return (damage.getSource() == permanent && + damage.getTarget().isPlayer() && + damage.isCombat()) ? + new MagicEvent( + permanent, + permanent.getController(), + new Object[]{permanent}, + this, + "Put a +1/+1 counter on " + permanent + "."): + MagicEvent.NONE; + } + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + game.doAction(new MagicChangeCountersAction((MagicPermanent)data[0],MagicCounterType.PlusOne,1,true)); + } + }; +}