added Arcbound Reclaimer and Arcbound Slith

master
beholder 2011-10-06 08:35:21 +02:00
parent 11e2a81ba8
commit 7fbdb70fd4
3 changed files with 127 additions and 0 deletions

View File

@ -12243,3 +12243,25 @@ converted=8
cost={8}
ability=modular
timing=main
>Arcbound Reclaimer
image=http://magiccards.info/scans/en/ds/101.jpg
value=3
rarity=R
type=Artifact,Creature
subtype=Golem
converted=4
cost={4}
ability=modular
timing=main
>Arcbound Slith
image=http://magiccards.info/scans/en/pch/106.jpg
value=2
rarity=U
type=Artifact,Creature
subtype=Slith
converted=2
cost={2}
ability=modular
timing=main

View File

@ -0,0 +1,63 @@
package magic.card;
import magic.model.MagicCard;
import magic.model.MagicCounterType;
import magic.model.MagicGame;
import magic.model.MagicLocationType;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicSource;
import magic.model.action.MagicCardAction;
import magic.model.action.MagicMoveCardAction;
import magic.model.action.MagicRemoveCardAction;
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.MagicRemoveCounterEvent;
import magic.model.event.MagicTiming;
import magic.model.target.MagicGraveyardTargetPicker;
import magic.model.trigger.MagicComesIntoPlayWithCounterTrigger;
import magic.model.trigger.MagicModularTrigger;
public class Arcbound_Reclaimer {
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[] {MagicCondition.PLUS_COUNTER_CONDITION},
new MagicActivationHints(MagicTiming.Main),
"Card") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
return new MagicEvent[]{
new MagicRemoveCounterEvent((MagicPermanent)source,MagicCounterType.PlusOne,1)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD,
new MagicGraveyardTargetPicker(false),
MagicEvent.NO_DATA,
this,
"Put target artifact card$ from your graveyard on top of your library");
}
@Override
public void executeEvent(final MagicGame game,final MagicEvent event,final Object[] data,final Object[] choiceResults) {
event.processTargetCard(game,choiceResults,0,new MagicCardAction() {
public void doAction(final MagicCard targetCard) {
game.doAction(new MagicRemoveCardAction(targetCard,MagicLocationType.Graveyard));
game.doAction(new MagicMoveCardAction(
targetCard,
MagicLocationType.Graveyard,
MagicLocationType.TopOfOwnersLibrary));
}
});
}
};
public static final MagicComesIntoPlayWithCounterTrigger T =
new MagicComesIntoPlayWithCounterTrigger(MagicCounterType.PlusOne,"+1/+1",2);
public static final MagicModularTrigger T2 = new MagicModularTrigger();
}

View File

@ -0,0 +1,42 @@
package magic.card;
import magic.model.MagicCounterType;
import magic.model.MagicDamage;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.action.MagicChangeCountersAction;
import magic.model.event.MagicEvent;
import magic.model.trigger.MagicComesIntoPlayWithCounterTrigger;
import magic.model.trigger.MagicModularTrigger;
import magic.model.trigger.MagicWhenDamageIsDealtTrigger;
public class Arcbound_Slith {
public static final MagicComesIntoPlayWithCounterTrigger T1 =
new MagicComesIntoPlayWithCounterTrigger(MagicCounterType.PlusOne,"+1/+1",1);
public static final MagicModularTrigger T2 = new MagicModularTrigger();
public static final MagicWhenDamageIsDealtTrigger T3 = new MagicWhenDamageIsDealtTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
return (damage.getSource() == permanent &&
damage.getTarget().isPlayer() &&
damage.isCombat()) ?
new MagicEvent(
permanent,
permanent.getController(),
new Object[]{permanent},
this,
"Put a +1/+1 counter on " + permanent + "."):
MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
game.doAction(new MagicChangeCountersAction((MagicPermanent)data[0],MagicCounterType.PlusOne,1,true));
}
};
}