added Kamahl, Fist of Krosa

master
beholder 2012-02-16 14:27:43 +01:00
parent 4f3958db9f
commit 1fe463067a
2 changed files with 128 additions and 0 deletions

View File

@ -0,0 +1,13 @@
>Kamahl, Fist of Krosa
url=http://magiccards.info/arc/en/61.html
image=http://magiccards.info/scans/en/arc/61.jpg
value=4
rarity=R
type=Legendary,Creature
subtype=Human,Druid
color=g
converted=6
cost={4}{G}{G}
pt=4/3
timing=fmain
requires_card_code

View File

@ -0,0 +1,115 @@
package magic.card;
import java.util.Collection;
import magic.model.MagicAbility;
import magic.model.MagicGame;
import magic.model.MagicManaCost;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.MagicPowerToughness;
import magic.model.MagicSource;
import magic.model.MagicType;
import magic.model.action.MagicBecomesCreatureAction;
import magic.model.action.MagicChangeTurnPTAction;
import magic.model.action.MagicPermanentAction;
import magic.model.action.MagicSetAbilityAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.condition.MagicCondition;
import magic.model.event.MagicActivationHints;
import magic.model.event.MagicEvent;
import magic.model.event.MagicPayManaCostEvent;
import magic.model.event.MagicPermanentActivation;
import magic.model.event.MagicTiming;
import magic.model.mstatic.MagicLayer;
import magic.model.mstatic.MagicStatic;
import magic.model.target.MagicTarget;
import magic.model.target.MagicTargetFilter;
public class Kamahl__Fist_of_Krosa {
private static final MagicStatic PT = new MagicStatic(MagicLayer.SetPT, MagicStatic.UntilEOT) {
@Override
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
pt.set(1,1);
}
};
private static final MagicStatic ST = new MagicStatic(MagicLayer.Type, MagicStatic.UntilEOT) {
@Override
public int getTypeFlags(final MagicPermanent permanent,final int flags) {
return flags|MagicType.Creature.getMask();
}
};
public static final MagicPermanentActivation A1 = new MagicPermanentActivation(
new MagicCondition[]{MagicManaCost.GREEN.getCondition()},
new MagicActivationHints(MagicTiming.Animate),
"Animate") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
return new MagicEvent[]{new MagicPayManaCostEvent(source,source.getController(),MagicManaCost.GREEN)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
MagicTargetChoice.TARGET_LAND,
MagicEvent.NO_DATA,
this,
"Target land$ becomes a 1/1 creature until end of turn.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] data,
final Object[] choiceResults) {
event.processTargetPermanent(game,choiceResults,0,new MagicPermanentAction() {
public void doAction(final MagicPermanent land) {
game.doAction(new MagicBecomesCreatureAction(land,PT,ST));
}
});
}
};
public static final MagicPermanentActivation A2 = new MagicPermanentActivation(
new MagicCondition[]{
MagicManaCost.TWO_GREEN_GREEN_GREEN.getCondition()},
new MagicActivationHints(MagicTiming.Pump,true),
"Pump") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
return new MagicEvent[]{new MagicPayManaCostEvent(source,source.getController(),MagicManaCost.TWO_GREEN_GREEN_GREEN)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
new Object[]{source.getController()},
this,
"Creatures you control get +3/+3 and gain trample until end of turn.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] data,
final Object[] choiceResults) {
final Collection<MagicTarget> targets =
game.filterTargets((MagicPlayer)data[0],MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
for (final MagicTarget target : targets) {
final MagicPermanent creature = (MagicPermanent)target;
game.doAction(new MagicChangeTurnPTAction(creature,3,3));
game.doAction(new MagicSetAbilityAction(creature,MagicAbility.Trample));
}
}
};
}