diff --git a/resources/magic/data/cards.txt b/resources/magic/data/cards.txt index 2c68267ee7..5bb6884195 100644 --- a/resources/magic/data/cards.txt +++ b/resources/magic/data/cards.txt @@ -17504,3 +17504,29 @@ converted=2 cost={1}{U} pt=0/3 timing=main + +>Hedron-Field Purists +url=http://magiccards.info/roe/en/25.html +image=http://magiccards.info/scans/en/roe/25.jpg +value=2 +rarity=R +type=Creature +subtype=Human,Cleric +color=w +converted=3 +cost={2}{W} +pt=0/3 +timing=main + +>Ikiral Outrider +url=http://magiccards.info/roe/en/27.html +image=http://magiccards.info/scans/en/roe/27.jpg +value=2 +rarity=C +type=Creature +subtype=Human,Soldier +color=w +converted=1 +cost={1}{W} +pt=1/2 +timing=main diff --git a/src/magic/card/Hedron_Field_Purists.java b/src/magic/card/Hedron_Field_Purists.java new file mode 100644 index 0000000000..91b1ddc68d --- /dev/null +++ b/src/magic/card/Hedron_Field_Purists.java @@ -0,0 +1,63 @@ +package magic.card; + +import magic.model.MagicCounterType; +import magic.model.MagicDamage; +import magic.model.MagicGame; +import magic.model.MagicManaCost; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.MagicPowerToughness; +import magic.model.event.MagicEvent; +import magic.model.event.MagicLevelUpActivation; +import magic.model.event.MagicPermanentActivation; +import magic.model.mstatic.MagicLayer; +import magic.model.mstatic.MagicStatic; +import magic.model.trigger.MagicIfDamageWouldBeDealtTrigger; + +public class Hedron_Field_Purists { + public static final MagicStatic S = new MagicStatic(MagicLayer.SetPT) { + @Override + public void getPowerToughness( + final MagicGame game, + final MagicPermanent permanent, + final MagicPowerToughness pt) { + final int charges = permanent.getCounters(MagicCounterType.Charge); + if (charges >= 5) { + pt.set(2,5); + } else if (charges >= 1) { + pt.set(1,4); + } + } + }; + + public static final MagicIfDamageWouldBeDealtTrigger T = new MagicIfDamageWouldBeDealtTrigger(5) { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) { + final MagicPlayer player = permanent.getController(); + final int amountDamage = damage.getAmount(); + final int amountCounters = permanent.getCounters(MagicCounterType.Charge); + if (amountCounters > 0 && + !damage.isUnpreventable() && + amountDamage > 0) { + if ((damage.getTarget().isPermanent() && + ((MagicPermanent)damage.getTarget()).isCreature(game) && + damage.getTarget().getController() == player) || + damage.getTarget() == player) { + final int amountPrevented = amountCounters >= 5 ? 2:1; + // Prevention effect. + damage.setAmount(amountDamage - amountPrevented); + } + } + return MagicEvent.NONE; + } + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object data[], + final Object[] choiceResults) { + } + }; + + public static final MagicPermanentActivation A = new MagicLevelUpActivation(MagicManaCost.TWO_WHITE,5); +} diff --git a/src/magic/card/Ikiral_Outrider.java b/src/magic/card/Ikiral_Outrider.java new file mode 100644 index 0000000000..4495268610 --- /dev/null +++ b/src/magic/card/Ikiral_Outrider.java @@ -0,0 +1,44 @@ +package magic.card; + +import magic.model.MagicAbility; +import magic.model.MagicCounterType; +import magic.model.MagicGame; +import magic.model.mstatic.MagicLayer; +import magic.model.MagicManaCost; +import magic.model.MagicPermanent; +import magic.model.MagicPowerToughness; +import magic.model.event.MagicLevelUpActivation; +import magic.model.event.MagicPermanentActivation; +import magic.model.mstatic.MagicStatic; + +public class Ikiral_Outrider { + public static final MagicStatic S1 = new MagicStatic(MagicLayer.SetPT) { + @Override + public void getPowerToughness( + final MagicGame game, + final MagicPermanent permanent, + final MagicPowerToughness pt) { + final int charges = permanent.getCounters(MagicCounterType.Charge); + if (charges >= 4) { + pt.set(3,10); + } else if (charges >= 1) { + pt.set(2,6); + } + } + }; + + public static final MagicStatic S2 = new MagicStatic(MagicLayer.Ability) { + @Override + public long getAbilityFlags( + final MagicGame game, + final MagicPermanent permanent, + final long flags) { + if (permanent.getCounters(MagicCounterType.Charge) >= 1) { + return flags|MagicAbility.Vigilance.getMask(); + } + return flags; + } + }; + + public static final MagicPermanentActivation A = new MagicLevelUpActivation(MagicManaCost.FOUR,4); +}