added Vedalken Certarch and Barrage Ogre

master
beholder 2011-10-03 11:24:21 +02:00
parent 1658766982
commit 50cf53e9f2
5 changed files with 152 additions and 0 deletions

View File

@ -11536,3 +11536,27 @@ converted=3
cost={3}
pt=2/2
timing=main
>Vedalken Certarch
image=http://magiccards.info/scans/en/som/52.jpg
value=1
rarity=C
type=Creature
subtype=Vedalken,Wizard
color=u
converted=1
cost={U}
pt=1/1
timing=main
>Barrage Ogre
image=http://magiccards.info/scans/en/som/83.jpg
value=3
rarity=U
type=Creature
subtype=Ogre,Warrior
color=r
converted=5
cost={3}{R}{R}
pt=3/3
timing=main

View File

@ -0,0 +1,65 @@
package magic.card;
import magic.model.MagicDamage;
import magic.model.MagicGame;
import magic.model.MagicManaCost;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.MagicSource;
import magic.model.action.MagicDealDamageAction;
import magic.model.action.MagicTargetAction;
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.MagicSacrificePermanentEvent;
import magic.model.event.MagicTapEvent;
import magic.model.event.MagicTiming;
import magic.model.target.MagicDamageTargetPicker;
import magic.model.target.MagicTarget;
public class Barrage_Ogre {
public static final MagicPermanentActivation A =new MagicPermanentActivation(
new MagicCondition[]{
MagicCondition.CAN_TAP_CONDITION,
MagicCondition.CONTROL_ARTIFACT_CONDITION
},
new MagicActivationHints(MagicTiming.Removal,false,1),
"Damage") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
final MagicPlayer player = source.getController();
return new MagicEvent[]{
new MagicTapEvent((MagicPermanent)source),
new MagicSacrificePermanentEvent(source,player,MagicTargetChoice.SACRIFICE_ARTIFACT)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
MagicTargetChoice.NEG_TARGET_CREATURE_OR_PLAYER,
new MagicDamageTargetPicker(2),
new Object[]{source},
this,
source + " deals 2 damage to target creature or player$.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] data,
final Object[] choiceResults) {
event.processTarget(game,choiceResults,0,new MagicTargetAction() {
public void doAction(final MagicTarget target) {
final MagicDamage damage = new MagicDamage((MagicSource)data[0],target,2,false);
game.doAction(new MagicDealDamageAction(damage));
}
});
}
};
}

View File

@ -0,0 +1,55 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicSource;
import magic.model.action.MagicPermanentAction;
import magic.model.action.MagicTapAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.condition.MagicCondition;
import magic.model.event.MagicActivationHints;
import magic.model.event.MagicEvent;
import magic.model.event.MagicPermanentActivation;
import magic.model.event.MagicTapEvent;
import magic.model.event.MagicTiming;
import magic.model.target.MagicTapTargetPicker;
public class Vedalken_Certarch {
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{
MagicCondition.CAN_TAP_CONDITION,
MagicCondition.METALCRAFT_CONDITION},
new MagicActivationHints(MagicTiming.Tapping),
"Tap") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
final MagicPermanent permanent=(MagicPermanent)source;
return new MagicEvent[]{new MagicTapEvent(permanent)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
MagicTargetChoice.NEG_TARGET_ARTIFACT_OR_CREATURE_OR_LAND,
new MagicTapTargetPicker(true,false),
MagicEvent.NO_DATA,
this,
"Tap target artifact, creature, or land$.");
}
@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 creature) {
game.doAction(new MagicTapAction(creature,true));
}
});
}
};
}

View File

@ -206,6 +206,8 @@ public class MagicTargetChoice extends MagicChoice {
new MagicTargetChoice(MagicTargetFilter.TARGET_PERMANENT_YOU_CONTROL,false,MagicTargetHint.None,"a permanent to sacrifice");
public static final MagicTargetChoice SACRIFICE_CREATURE=
new MagicTargetChoice(MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL,false,MagicTargetHint.None,"a creature to sacrifice");
public static final MagicTargetChoice SACRIFICE_ARTIFACT=
new MagicTargetChoice(MagicTargetFilter.TARGET_ARTIFACT_YOU_CONTROL,false,MagicTargetHint.None,"an artifact to sacrifice");
public static final MagicTargetChoice SACRIFICE_BAT=
new MagicTargetChoice(MagicTargetFilter.TARGET_BAT_YOU_CONTROL,false,MagicTargetHint.None,"a Bat to sacrifice");
public static final MagicTargetChoice SACRIFICE_BEAST=

View File

@ -180,6 +180,12 @@ public interface MagicCondition {
}
};
MagicCondition CONTROL_ARTIFACT_CONDITION = new MagicCondition() {
public boolean accept(final MagicGame game,final MagicSource source) {
return source.getController().controlsPermanentWithType(MagicType.Artifact,game);
}
};
MagicCondition ONE_CREATURE_CONDITION=new MagicCondition() {
public boolean accept(final MagicGame game,final MagicSource source) {
return source.getController().getNrOfPermanentsWithType(MagicType.Creature,game)>=1;