added Hedron-Field Purists and Ikiral Outrider

master
beholder 2011-10-28 14:26:07 +02:00
parent 5a6dde8ee1
commit 4460424b14
3 changed files with 133 additions and 0 deletions

View File

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

View File

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

View File

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