added Remove Soul, Reviving Dose and Reya Dawnbringer

master
beholder 2011-09-22 11:06:20 +02:00
parent 7e104e9e6e
commit 12f3ded9ac
4 changed files with 159 additions and 0 deletions

View File

@ -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

View File

@ -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));
}
});
}
};
}

View File

@ -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));
}
};
}

View File

@ -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));
}
});
}
}
};
}