diff --git a/resources/magic/data/cards.txt b/resources/magic/data/cards.txt index 1a4804005b..b8e19a80e1 100644 --- a/resources/magic/data/cards.txt +++ b/resources/magic/data/cards.txt @@ -13178,3 +13178,27 @@ converted=2 cost={1}{R} pt=1/1 timing=main + +>Elven Warhounds +image=http://magiccards.info/scans/en/tp/119.jpg +value=3 +rarity=R +type=Creature +subtype=Hound +color=g +converted=4 +cost={3}{G} +pt=2/2 +timing=main + +>Elvish Berserker +image=http://magiccards.info/scans/en/10e/260.jpg +value=2 +rarity=C +type=Creature +subtype=Elf,Berserker +color=g +converted=1 +cost={G} +pt=1/1 +timing=main diff --git a/src/magic/card/Elven_Warhounds.java b/src/magic/card/Elven_Warhounds.java new file mode 100644 index 0000000000..e177d5e854 --- /dev/null +++ b/src/magic/card/Elven_Warhounds.java @@ -0,0 +1,41 @@ +package magic.card; + +import magic.model.MagicGame; +import magic.model.MagicLocationType; +import magic.model.MagicPermanent; +import magic.model.MagicPermanentList; +import magic.model.action.MagicRemoveFromPlayAction; +import magic.model.event.MagicEvent; +import magic.model.trigger.MagicWhenBecomesBlockedTrigger; + +public class Elven_Warhounds { + public static final MagicWhenBecomesBlockedTrigger T = new MagicWhenBecomesBlockedTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) { + if (creature == permanent) { + final MagicPermanentList plist = new MagicPermanentList(permanent.getBlockingCreatures()); + return new MagicEvent( + permanent, + permanent.getController(), + new Object[]{plist}, + this, + plist.size() > 1 ? + "Put blocking creatures on top of their owner's library." : + "Put blocking creature on top of its owner's library."); + } + return MagicEvent.NONE; + } + + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + final MagicPermanentList plist = (MagicPermanentList)data[0]; + for (final MagicPermanent blocker : plist) { + game.doAction(new MagicRemoveFromPlayAction(blocker,MagicLocationType.TopOfOwnersLibrary)); + } + } + }; +} diff --git a/src/magic/card/Elvish_Berserker.java b/src/magic/card/Elvish_Berserker.java new file mode 100644 index 0000000000..45af750936 --- /dev/null +++ b/src/magic/card/Elvish_Berserker.java @@ -0,0 +1,37 @@ +package magic.card; + +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.action.MagicChangeTurnPTAction; +import magic.model.event.MagicEvent; +import magic.model.trigger.MagicWhenBecomesBlockedTrigger; + +public class Elvish_Berserker { + public static final MagicWhenBecomesBlockedTrigger T = new MagicWhenBecomesBlockedTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent data) { + if (data == permanent) { + final int amount = permanent.getBlockingCreatures().size(); + return new MagicEvent( + permanent, + permanent.getController(), + new Object[]{permanent,amount}, + this, + permanent + " gets +" + amount + "/+" + amount + " until end of turn."); + } + return MagicEvent.NONE; + } + + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + game.doAction(new MagicChangeTurnPTAction( + (MagicPermanent)data[0], + (Integer)data[1], + (Integer)data[1])); + } + }; +}