From d7c509828a5a329a3b9b653b438ec4fe54ec4d81 Mon Sep 17 00:00:00 2001 From: beholder Date: Tue, 13 Sep 2011 15:19:14 +0200 Subject: [PATCH] added Soul Warden and Soul's Attendant --- resources/magic/data/cards.txt | 26 +++++++++++++++++++++ src/magic/card/Soul_Warden.java | 34 ++++++++++++++++++++++++++++ src/magic/card/Soul_s_Attendant.java | 34 ++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 src/magic/card/Soul_Warden.java create mode 100644 src/magic/card/Soul_s_Attendant.java diff --git a/resources/magic/data/cards.txt b/resources/magic/data/cards.txt index c1a809ba51..3148863dc2 100644 --- a/resources/magic/data/cards.txt +++ b/resources/magic/data/cards.txt @@ -1397,6 +1397,32 @@ toughness=1 ability=flying,can't block creatures without flying timing=main +>Soul Warden +image=http://magiccards.info/scans/en/pch/7.jpg +value=2 +rarity=C +type=Creature +subtype=Human,Cleric +color=w +converted=1 +cost={W} +power=1 +toughness=1 +timing=main + +>Soul's Attendant +image=http://magiccards.info/scans/en/roe/44.jpg +value=2 +rarity=C +type=Creature +subtype=Human,Cleric +color=w +converted=1 +cost={W} +power=1 +toughness=1 +timing=main + >Stillmoon Cavalier image=http://magiccards.info/scans/en/eve/95.jpg value=3 diff --git a/src/magic/card/Soul_Warden.java b/src/magic/card/Soul_Warden.java new file mode 100644 index 0000000000..2aa4c94c3b --- /dev/null +++ b/src/magic/card/Soul_Warden.java @@ -0,0 +1,34 @@ +package magic.card; + +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.action.MagicChangeLifeAction; +import magic.model.event.MagicEvent; +import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger; + +public class Soul_Warden { + public static final MagicWhenOtherComesIntoPlayTrigger T = new MagicWhenOtherComesIntoPlayTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) { + final MagicPlayer player = permanent.getController(); + return (otherPermanent != permanent && otherPermanent.isCreature()) ? + new MagicEvent( + permanent, + player, + new Object[]{player}, + this, + player + " gains 1 life."): + MagicEvent.NONE; + } + + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + game.doAction(new MagicChangeLifeAction((MagicPlayer)data[0],1)); + } + }; +} diff --git a/src/magic/card/Soul_s_Attendant.java b/src/magic/card/Soul_s_Attendant.java new file mode 100644 index 0000000000..c1a151b092 --- /dev/null +++ b/src/magic/card/Soul_s_Attendant.java @@ -0,0 +1,34 @@ +package magic.card; + +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.action.MagicChangeLifeAction; +import magic.model.event.MagicEvent; +import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger; + +public class Soul_s_Attendant { + public static final MagicWhenOtherComesIntoPlayTrigger T = new MagicWhenOtherComesIntoPlayTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) { + final MagicPlayer player = permanent.getController(); + return (otherPermanent != permanent && otherPermanent.isCreature()) ? + new MagicEvent( + permanent, + player, + new Object[]{player}, + this, + player + " gains 1 life."): + MagicEvent.NONE; + } + + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + game.doAction(new MagicChangeLifeAction((MagicPlayer)data[0],1)); + } + }; +}