diff --git a/resources/magic/data/cards.txt b/resources/magic/data/cards.txt index 4fa63edb32..d2e10a3ca0 100644 --- a/resources/magic/data/cards.txt +++ b/resources/magic/data/cards.txt @@ -1,3 +1,16 @@ +>Reya Dawnbringer +image=http://magiccards.info/scans/en/10e/35.jpg +value=5 +rarity=R +type=Legendary,Creature +subtype=Angel +color=w +converted=9 +cost={6}{W}{W}{W} +pt=4/6 +ability=flying +timing=main + >Relentless Rats image=http://magiccards.info/scans/en/m11/113.jpg value=2 @@ -3642,6 +3655,16 @@ converted=4 cost={2}{W}{W} timing=draw +>Reviving Dose +image=http://magiccards.info/scans/en/10e/34.jpg +value=2 +rarity=C +type=Instant +color=w +converted=3 +cost={2}{W} +timing=draw + >Char image=http://magiccards.info/scans/en/rav/117.jpg value=4 @@ -6008,6 +6031,16 @@ converted=2 cost={1}{U} timing=counter +>Remove Soul +image=http://magiccards.info/scans/en/10e/100.jpg +value=3 +rarity=C +type=Instant +color=u +converted=2 +cost={1}{U} +timing=counter + >Sphinx of Magosi image=http://magiccards.info/scans/en/roe/89.jpg value=5 diff --git a/src/magic/card/Remove_Soul.java b/src/magic/card/Remove_Soul.java new file mode 100644 index 0000000000..2ae6c733cc --- /dev/null +++ b/src/magic/card/Remove_Soul.java @@ -0,0 +1,39 @@ +package magic.card; + +import magic.model.MagicGame; +import magic.model.MagicPayedCost; +import magic.model.action.MagicCardOnStackAction; +import magic.model.action.MagicCounterItemOnStackAction; +import magic.model.action.MagicMoveCardAction; +import magic.model.choice.MagicTargetChoice; +import magic.model.event.MagicEvent; +import magic.model.event.MagicSpellCardEvent; +import magic.model.stack.MagicCardOnStack; + +public class Remove_Soul { + public static final MagicSpellCardEvent S = new MagicSpellCardEvent() { + @Override + public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) { + return new MagicEvent( + cardOnStack.getCard(), + cardOnStack.getController(), + MagicTargetChoice.NEG_TARGET_CREATURE_SPELL, + new Object[]{cardOnStack}, + this, + "Counter target creature spell$."); + } + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object[] data, + final Object[] choiceResults) { + game.doAction(new MagicMoveCardAction((MagicCardOnStack)data[0])); + event.processTargetCardOnStack(game,choiceResults,0,new MagicCardOnStackAction() { + public void doAction(final MagicCardOnStack targetSpell) { + game.doAction(new MagicCounterItemOnStackAction(targetSpell)); + } + }); + } + }; +} diff --git a/src/magic/card/Reviving_Dose.java b/src/magic/card/Reviving_Dose.java new file mode 100644 index 0000000000..06229c396d --- /dev/null +++ b/src/magic/card/Reviving_Dose.java @@ -0,0 +1,36 @@ +package magic.card; + +import magic.model.MagicGame; +import magic.model.MagicPayedCost; +import magic.model.MagicPlayer; +import magic.model.action.MagicChangeLifeAction; +import magic.model.action.MagicDrawAction; +import magic.model.action.MagicMoveCardAction; +import magic.model.event.MagicEvent; +import magic.model.event.MagicSpellCardEvent; +import magic.model.stack.MagicCardOnStack; + +public class Reviving_Dose { + public static final MagicSpellCardEvent S = new MagicSpellCardEvent() { + @Override + public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) { + final MagicPlayer player = cardOnStack.getController(); + return new MagicEvent( + cardOnStack.getCard(), + player, + new Object[]{cardOnStack,player}, + this, + player + " gains 3 life and draws a card."); + } + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object[] data, + final Object[] choiceResults) { + game.doAction(new MagicMoveCardAction((MagicCardOnStack)data[0])); + game.doAction(new MagicChangeLifeAction((MagicPlayer)data[1],3)); + game.doAction(new MagicDrawAction((MagicPlayer)data[1],1)); + } + }; +} diff --git a/src/magic/card/Reya_Dawnbringer.java b/src/magic/card/Reya_Dawnbringer.java new file mode 100644 index 0000000000..d36549168a --- /dev/null +++ b/src/magic/card/Reya_Dawnbringer.java @@ -0,0 +1,51 @@ +package magic.card; + +import magic.model.MagicCard; +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.action.MagicCardAction; +import magic.model.action.MagicPlayCardAction; +import magic.model.action.MagicReanimateAction; +import magic.model.choice.MagicMayChoice; +import magic.model.choice.MagicTargetChoice; +import magic.model.event.MagicEvent; +import magic.model.target.MagicGraveyardTargetPicker; +import magic.model.trigger.MagicAtUpkeepTrigger; + + +public class Reya_Dawnbringer { + 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) ? + MagicEvent.NONE : + new MagicEvent( + permanent, + player, + new MagicMayChoice( + "You may return target creature card from your graveyard to the battlefield.", + MagicTargetChoice.TARGET_CREATURE_CARD_FROM_GRAVEYARD), + new MagicGraveyardTargetPicker(true), + new Object[]{player}, + this, + player + " may$ return target creature card$ from " + + "his or her graveyard to the battlefield."); + } + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + if (MagicMayChoice.isYesChoice(choiceResults[0])) { + event.processTargetCard(game,choiceResults,1,new MagicCardAction() { + public void doAction(final MagicCard card) { + game.doAction(new MagicReanimateAction((MagicPlayer)data[0],card,MagicPlayCardAction.NONE)); + } + }); + } + } + }; +}