From cbb8d9c6d3289e3a6e2e48087b47576c17a9e96b Mon Sep 17 00:00:00 2001 From: beholder Date: Mon, 26 Sep 2011 11:23:22 +0200 Subject: [PATCH] added Endless Ranks of the Dead and Falkenrath Marauders --- resources/magic/data/cards2.txt | 23 ++++++++++ src/magic/card/Endless_Ranks_of_the_Dead.java | 44 +++++++++++++++++++ src/magic/card/Falkenrath_Marauders.java | 35 +++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 src/magic/card/Endless_Ranks_of_the_Dead.java create mode 100644 src/magic/card/Falkenrath_Marauders.java diff --git a/resources/magic/data/cards2.txt b/resources/magic/data/cards2.txt index afa82e441a..95d792f51a 100644 --- a/resources/magic/data/cards2.txt +++ b/resources/magic/data/cards2.txt @@ -4214,6 +4214,29 @@ pt=2/2 ability=first strike,vigilance,protection from Vampires,protection from Werewolves,protection from Zombies timing=main +>Endless Ranks of the Dead +image=http://magiccards.info/scans/en/isd/99.jpg +value=4 +rarity=R +type=Enchantment +color=b +converted=4 +cost={2}{B}{B} +timing=enchantment + +>Falkenrath Marauders +image=http://magiccards.info/scans/en/isd/141.jpg +value=3 +rarity=R +type=Creature +subtype=Vampire,Warrior +color=r +converted=5 +cost={3}{R}{R} +pt=2/2 +ability=flying,haste +timing=fmain + >Morkrut Banshee image=http://magiccards.info/scans/en/isd/110.jpg value=4 diff --git a/src/magic/card/Endless_Ranks_of_the_Dead.java b/src/magic/card/Endless_Ranks_of_the_Dead.java new file mode 100644 index 0000000000..26e3e1a797 --- /dev/null +++ b/src/magic/card/Endless_Ranks_of_the_Dead.java @@ -0,0 +1,44 @@ +package magic.card; + +import java.util.Collection; +import magic.data.TokenCardDefinitions; +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.action.MagicPlayTokenAction; +import magic.model.event.MagicEvent; +import magic.model.target.MagicTarget; +import magic.model.target.MagicTargetFilter; +import magic.model.trigger.MagicAtUpkeepTrigger; + +public class Endless_Ranks_of_the_Dead { + public static final MagicAtUpkeepTrigger T = new MagicAtUpkeepTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer data) { + final MagicPlayer player = permanent.getController(); + return (player == data) ? + new MagicEvent( + permanent, + player, + new Object[]{player}, + this, + player + " puts X 2/2 black Zombie creature tokens onto the " + + "battlefield, where X is half the number of Zombies you control, rounded down"): + MagicEvent.NONE; + } + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + final MagicPlayer player = (MagicPlayer)data[0]; + final Collection targets = + game.filterTargets(player,MagicTargetFilter.TARGET_ZOMBIE_YOU_CONTROL); + final int amount = targets.size() / 2; + for (int count=amount;count>0;count--) { + game.doAction(new MagicPlayTokenAction(player,TokenCardDefinitions.ZOMBIE_TOKEN_CARD));; + } + } + }; +} diff --git a/src/magic/card/Falkenrath_Marauders.java b/src/magic/card/Falkenrath_Marauders.java new file mode 100644 index 0000000000..30c5cced77 --- /dev/null +++ b/src/magic/card/Falkenrath_Marauders.java @@ -0,0 +1,35 @@ +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.MagicWhenDamageIsDealtTrigger; + +public class Falkenrath_Marauders { + public static final MagicWhenDamageIsDealtTrigger T = 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 two +1/+1 counters 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,2,true)); + } + }; +}