added Deranged Hermit and Extruder

master
beholder 2011-11-05 18:08:21 +01:00
parent 9b0ced63c9
commit 6dbf08f434
5 changed files with 162 additions and 0 deletions

View File

@ -24646,3 +24646,28 @@ cost={2}{B}
pt=2/2
ability=flying,haste
timing=fmain
>Deranged Hermit
url=http://magiccards.info/ul/en/101.html
image=http://magiccards.info/scans/en/ul/101.jpg
value=3
rarity=R
type=Creature
subtype=Elf
color=g
converted=5
cost={3}{G}{G}
pt=1/1
timing=main
>Extruder
url=http://magiccards.info/ud/en/130.html
image=http://magiccards.info/scans/en/ud/130.jpg
value=4
rarity=U
type=Artifact,Creature
subtype=Juggernaut
converted=4
cost={4}
pt=4/3
timing=main

View File

@ -392,6 +392,17 @@ cost={0}
pt=1/1
ability=flying
>Squirrel
token=Squirrel1
image=http://magiccards.info/extras/token/player-rewards-2002/squirrel.jpg
value=1
type=Creature
subtype=Squirrel
color=g
converted=0
cost={0}
pt=1/1
>Tuktuk the Returned
token=Tuktuk the Returned
image=http://magiccards.info/extras/token/rise-of-the-eldrazi/tuktuk-the-returned.jpg

View File

@ -0,0 +1,52 @@
package magic.card;
import magic.data.TokenCardDefinitions;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.MagicPowerToughness;
import magic.model.action.MagicPlayTokenAction;
import magic.model.event.MagicEvent;
import magic.model.mstatic.MagicLayer;
import magic.model.mstatic.MagicStatic;
import magic.model.target.MagicTargetFilter;
import magic.model.trigger.MagicEchoTrigger;
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
public class Deranged_Hermit {
public static final MagicStatic S = new MagicStatic(
MagicLayer.ModPT,
MagicTargetFilter.TARGET_SQUIRREL_CREATURE) {
@Override
public void getPowerToughness(final MagicGame game,final MagicPermanent permanent,final MagicPowerToughness pt) {
pt.add(1,1);
}
};
public static final MagicEchoTrigger T1 = new MagicEchoTrigger();
public static final MagicWhenComesIntoPlayTrigger T2 = new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer player) {
return new MagicEvent(
permanent,
player,
new Object[]{player},
this,
player + " puts four 1/1 green Squirrel creature tokens onto the battlefield.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
for (int i=4;i>0;i--) {
game.doAction(new MagicPlayTokenAction(
(MagicPlayer)data[0],
TokenCardDefinitions.getInstance().getTokenDefinition("Squirrel1")));
}
}
};
}

View File

@ -0,0 +1,64 @@
package magic.card;
import magic.model.MagicCounterType;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicSource;
import magic.model.action.MagicChangeCountersAction;
import magic.model.action.MagicPermanentAction;
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.MagicSacrificePermanentEvent;
import magic.model.event.MagicTiming;
import magic.model.target.MagicPumpTargetPicker;
import magic.model.trigger.MagicEchoTrigger;
public class Extruder {
public static final MagicEchoTrigger T = new MagicEchoTrigger();
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{
MagicCondition.CONTROL_ARTIFACT_CONDITION
},
new MagicActivationHints(MagicTiming.Pump),
"Pump") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
return new MagicEvent[]{new MagicSacrificePermanentEvent(
source,
source.getController(),
MagicTargetChoice.SACRIFICE_ARTIFACT)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
MagicTargetChoice.POS_TARGET_CREATURE,
MagicPumpTargetPicker.getInstance(),
MagicEvent.NO_DATA,
this,
source.getController() + " puts a +1/+1 counter on target creature$.");
}
@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 MagicChangeCountersAction(
creature,
MagicCounterType.PlusOne,
1,
true));
}
});
}
};
}

View File

@ -840,6 +840,16 @@ public interface MagicTargetFilter {
}
};
MagicTargetFilter TARGET_SQUIRREL_CREATURE = new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return ((MagicPermanent)target).isCreature(game) &&
((MagicPermanent)target).hasSubType(MagicSubType.Squirrel,game);
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType == MagicTargetType.Permanent;
}
};
MagicTargetFilter TARGET_CAT_YOU_CONTROL = new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return target.getController() == player &&