merge new cards

master
melvin 2012-12-30 18:10:29 +08:00
commit 72d673024e
6 changed files with 209 additions and 0 deletions

View File

@ -0,0 +1,9 @@
name=Genesis Chamber
url=http://magiccards.info/ds/en/122.html
image=http://magiccards.info/scans/en/ds/122.jpg
value=4.575
rarity=U
type=Artifact
cost={2}
timing=main
requires_card_code

View File

@ -0,0 +1,9 @@
name=Serum Tank
url=http://magiccards.info/pch/en/125.html
image=http://magiccards.info/scans/en/pch/125.jpg
value=3.300
rarity=U
type=Artifact
cost={3}
timing=main
requires_card_code

View File

@ -0,0 +1,10 @@
name=Steel Overseer
url=http://magiccards.info/ddf/en/44.html
image=http://magiccards.info/scans/en/ddf/44.jpg
value=4.668
rarity=R
type=Artifact,Creature
cost={2}
pt=1/1
timing=main
requires_card_code

View File

@ -0,0 +1,37 @@
package magic.card;
import magic.data.TokenCardDefinitions;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.action.MagicPlayTokenAction;
import magic.model.event.MagicEvent;
import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger;
public class Genesis_Chamber {
public static final MagicWhenOtherComesIntoPlayTrigger T = new MagicWhenOtherComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(
final MagicGame game,
final MagicPermanent permanent,
final MagicPermanent otherPermanent) {
return (otherPermanent != permanent &&
permanent.isUntapped() &&
otherPermanent.isNonToken() &&
otherPermanent.isCreature()) ?
new MagicEvent(
permanent,
this,
"PN puts a 1/1 colorless Myr artifact creature token onto the battlefield."
):
MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] choiceResults) {
game.doAction(new MagicPlayTokenAction(event.getPlayer(),TokenCardDefinitions.get("Myr1")));
}
};
}

View File

@ -0,0 +1,85 @@
package magic.card;
import magic.model.MagicCounterType;
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.MagicChangeCountersAction;
import magic.model.action.MagicDrawAction;
import magic.model.condition.MagicCondition;
import magic.model.event.MagicActivationHints;
import magic.model.event.MagicEvent;
import magic.model.event.MagicPayManaCostTapEvent;
import magic.model.event.MagicPermanentActivation;
import magic.model.event.MagicRemoveCounterEvent;
import magic.model.event.MagicTiming;
import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger;
public class Serum_Tank {
public static final MagicWhenOtherComesIntoPlayTrigger T = new MagicWhenOtherComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(
final MagicGame game,
final MagicPermanent permanent,
final MagicPermanent otherPermanent) {
return (otherPermanent.getCardDefinition().isArtifact()) ?
new MagicEvent(
permanent,
this,
"PN put a charge counter on SN."
):
MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] choiceResults) {
game.doAction(new MagicChangeCountersAction(event.getPermanent(),MagicCounterType.Charge,1,true));
}
};
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{
MagicCondition.CHARGE_COUNTER_CONDITION,
MagicCondition.CAN_TAP_CONDITION,
MagicManaCost.THREE.getCondition()},
new MagicActivationHints(MagicTiming.Draw),
"Draw") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return new MagicEvent[]{new MagicPayManaCostTapEvent(
source,
source.getController(),
MagicManaCost.THREE),
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
1)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
"PN drew a card");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] choiceResults) {
game.doAction(new MagicDrawAction(event.getPlayer(),1));
}
};
}

View File

@ -0,0 +1,59 @@
package magic.card;
import magic.model.MagicCounterType;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.MagicSource;
import magic.model.action.MagicChangeCountersAction;
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.MagicTarget;
import magic.model.target.MagicTargetFilter;
import java.util.Collection;
public class Steel_Overseer {
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{
MagicCondition.CAN_TAP_CONDITION
},
new MagicActivationHints(MagicTiming.Pump),
"Pump") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return new MagicEvent[]{
new MagicTapEvent(source)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
this,
"Put a +1/+1 counter on each artifact creature you control.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] choiceResults) {
final MagicPlayer player = event.getPlayer();
final Collection<MagicPermanent> targets =
game.filterPermanents(player,MagicTargetFilter.TARGET_ARTIFACT_CREATURE_YOU_CONTROL);
for (final MagicPermanent target : targets) {
game.doAction(new MagicChangeCountersAction(
target,
MagicCounterType.PlusOne,
1,
true
));
}
}
};
}