diff --git a/resources/magic/data/cards.txt b/resources/magic/data/cards.txt index 65ee1b8934..1fd6c633a0 100644 --- a/resources/magic/data/cards.txt +++ b/resources/magic/data/cards.txt @@ -12321,3 +12321,26 @@ converted=5 cost={3}{B}{B} pt=4/3 timing=main + +>Cosi's Ravager +image=http://magiccards.info/scans/en/wwk/77.jpg +value=3 +rarity=C +type=Creature +subtype=Elemental +converted=4 +cost={3}{R} +pt=2/2 +timing=main + +>Emeria Angel +image=http://magiccards.info/scans/en/zen/11.jpg +value=4 +rarity=R +type=Creature +subtype=Angel +converted=4 +cost={2}{W}{W} +pt=3/3 +ability=flying +timing=main diff --git a/resources/magic/data/images.txt b/resources/magic/data/images.txt index c5525df191..3c65319ed7 100644 --- a/resources/magic/data/images.txt +++ b/resources/magic/data/images.txt @@ -77,6 +77,7 @@ Beast3.jpg;http://magiccards.info/extras/token/magic-2011/beast.jpg Beast4.jpg;http://magiccards.info/extras/token/zendikar/beast.jpg Beast8.jpg;http://magiccards.info/extras/token/shards-of-alara/beast.jpg Bird.jpg;http://magiccards.info/extras/token/magic-2011/bird.jpg +Bird1.jpg;http://magiccards.info/extras/token/zendikar/bird.jpg Dragon4.jpg;http://magiccards.info/extras/token/shards-of-alara/dragon.jpg Dragon5.jpg;http://magiccards.info/extras/token/worldwake/dragon.jpg Eldrazi Spawn.jpg;http://magiccards.info/extras/token/rise-of-the-eldrazi/eldrazi-spawn-1.jpg diff --git a/src/magic/card/Cosi_s_Ravager.java b/src/magic/card/Cosi_s_Ravager.java new file mode 100644 index 0000000000..13d09a1e18 --- /dev/null +++ b/src/magic/card/Cosi_s_Ravager.java @@ -0,0 +1,51 @@ +package magic.card; + +import magic.model.MagicDamage; +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.action.MagicDealDamageAction; +import magic.model.action.MagicTargetAction; +import magic.model.choice.MagicMayChoice; +import magic.model.choice.MagicTargetChoice; +import magic.model.event.MagicEvent; +import magic.model.target.MagicDamageTargetPicker; +import magic.model.target.MagicTarget; +import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger; + +public class Cosi_s_Ravager { + public static final MagicWhenOtherComesIntoPlayTrigger T = new MagicWhenOtherComesIntoPlayTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent played) { + final MagicPlayer player = permanent.getController(); + return (player == played.getController() && played.isLand()) ? + new MagicEvent( + permanent, + player, + new MagicMayChoice( + player + " may have " + permanent + " deal 1 damage to target player", + MagicTargetChoice.NEG_TARGET_PLAYER), + new MagicDamageTargetPicker(1), + new Object[]{permanent}, + this, + player + " may have " + permanent + " deal 1 damage to target player"): + MagicEvent.NONE; + } + + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + if (MagicMayChoice.isYesChoice(choiceResults[0])) { + event.processTarget(game,choiceResults,1,new MagicTargetAction() { + public void doAction(final MagicTarget target) { + final MagicDamage damage = new MagicDamage((MagicPermanent)data[0],target,1,false); + game.doAction(new MagicDealDamageAction(damage)); + } + }); + } + } + }; +} diff --git a/src/magic/card/Emeria_Angel.java b/src/magic/card/Emeria_Angel.java new file mode 100644 index 0000000000..3cd46693bc --- /dev/null +++ b/src/magic/card/Emeria_Angel.java @@ -0,0 +1,44 @@ +package magic.card; + +import magic.data.TokenCardDefinitions; +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.action.MagicPlayTokenAction; +import magic.model.choice.MagicMayChoice; +import magic.model.choice.MagicSimpleMayChoice; +import magic.model.event.MagicEvent; +import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger; + +public class Emeria_Angel { + public static final MagicWhenOtherComesIntoPlayTrigger T = new MagicWhenOtherComesIntoPlayTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent played) { + final MagicPlayer player = permanent.getController(); + return (player == played.getController() && played.isLand()) ? + new MagicEvent( + permanent, + player, + new MagicSimpleMayChoice( + player + " may put a 1/1 white Bird creature token with flying onto the battlefield.", + MagicSimpleMayChoice.PLAY_TOKEN, + 1, + MagicSimpleMayChoice.DEFAULT_YES), + new Object[]{player}, + this, + player + " may put a 1/1 white Bird creature token with flying onto the battlefield."): + MagicEvent.NONE; + } + + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + if (MagicMayChoice.isYesChoice(choiceResults[0])) { + game.doAction(new MagicPlayTokenAction((MagicPlayer)data[0],TokenCardDefinitions.BIRD1_TOKEN_CARD)); + } + } + }; +} diff --git a/src/magic/data/TokenCardDefinitions.java b/src/magic/data/TokenCardDefinitions.java index ea66b73768..d6c49c13af 100644 --- a/src/magic/data/TokenCardDefinitions.java +++ b/src/magic/data/TokenCardDefinitions.java @@ -109,6 +109,20 @@ public class TokenCardDefinitions { } }; + public static final MagicCardDefinition BIRD1_TOKEN_CARD = new MagicCardDefinition("Bird","Bird1") { + public void initialize() { + setToken(); + setValue(1); + addType(MagicType.Creature); + setSubTypes(new String[]{"Bird"}); + setCost(MagicManaCost.ZERO); + setColor(MagicColor.White); + setColoredType(); + setPowerToughness(1,1); + setAbility(MagicAbility.Flying); + } + }; + public static final MagicCardDefinition CAT2_TOKEN_CARD = new MagicCardDefinition("Cat","Cat2") { public void initialize() { setToken(); @@ -522,6 +536,7 @@ public class TokenCardDefinitions { BEAST4_TOKEN_CARD, BEAST8_TOKEN_CARD, BIRD_TOKEN_CARD, + BIRD1_TOKEN_CARD, CAT2_TOKEN_CARD, DRAGON4_TOKEN_CARD, DRAGON5_TOKEN_CARD,