added Goblin Burrows and Gods' Eye, Gate to the Reikai

master
beholder 2011-10-23 11:49:35 +02:00
parent f2b5b4e6e4
commit 91749641ca
5 changed files with 139 additions and 0 deletions

View File

@ -16737,3 +16737,19 @@ value=4
rarity=R
type=Land
timing=land
>Goblin Burrows
url=http://magiccards.info/evg/en/58.html
image=http://magiccards.info/scans/en/evg/58.jpg
value=3
rarity=U
type=Land
timing=land
>Gods' Eye, Gate to the Reikai
url=http://magiccards.info/bok/en/164.html
image=http://magiccards.info/scans/en/bok/164.jpg
value=3
rarity=R
type=Legendary,Land
timing=land

View File

@ -0,0 +1,62 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicManaCost;
import magic.model.MagicManaType;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicSource;
import magic.model.action.MagicChangeTurnPTAction;
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.MagicManaActivation;
import magic.model.event.MagicPayManaCostTapEvent;
import magic.model.event.MagicPermanentActivation;
import magic.model.event.MagicTapManaActivation;
import magic.model.event.MagicTiming;
import magic.model.target.MagicPumpTargetPicker;
import java.util.Arrays;
public class Goblin_Burrows {
public static final MagicManaActivation M = new MagicTapManaActivation(
Arrays.asList(MagicManaType.Colorless),0);
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{
MagicCondition.CAN_TAP_CONDITION,
MagicManaCost.ONE_RED.getCondition()
},
new MagicActivationHints(MagicTiming.Pump),
"Pump") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
return new MagicEvent[]{
new MagicPayManaCostTapEvent(source,source.getController(),MagicManaCost.ONE_RED)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
MagicTargetChoice.POS_TARGET_GOBLIN_CREATURE,
MagicPumpTargetPicker.getInstance(),
MagicEvent.NO_DATA,
this,
"Target Goblin creature$ gets +2/+0 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 creature) {
game.doAction(new MagicChangeTurnPTAction(creature,2,0));
}
});
}
};
}

View File

@ -0,0 +1,47 @@
package magic.card;
import magic.data.TokenCardDefinitions;
import magic.model.MagicGame;
import magic.model.MagicLocationType;
import magic.model.MagicManaType;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.action.MagicPlayTokenAction;
import magic.model.event.MagicEvent;
import magic.model.event.MagicManaActivation;
import magic.model.event.MagicTapManaActivation;
import magic.model.trigger.MagicGraveyardTriggerData;
import magic.model.trigger.MagicWhenPutIntoGraveyardTrigger;
import java.util.Arrays;
public class Gods__Eye__Gate_to_the_Reikai {
public static final MagicManaActivation M = new MagicTapManaActivation(
Arrays.asList(MagicManaType.Colorless),0);
public static final MagicWhenPutIntoGraveyardTrigger T = new MagicWhenPutIntoGraveyardTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicGraveyardTriggerData triggerData) {
final MagicPlayer player = permanent.getController();
return (MagicLocationType.Play == triggerData.fromLocation) ?
new MagicEvent(
permanent,
player,
new Object[]{player},
this,
player + " puts a 1/1 colorless Spirit creature token onto the battlefield.") :
MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
game.doAction(new MagicPlayTokenAction(
(MagicPlayer)data[0],
TokenCardDefinitions.getInstance().getTokenDefinition("Spirit1")));
}
};
}

View File

@ -233,6 +233,9 @@ public class MagicTargetChoice extends MagicChoice {
public static final MagicTargetChoice POS_TARGET_KNIGHT_CREATURE =
new MagicTargetChoice(MagicTargetFilter.TARGET_KNIGHT_CREATURE,true,MagicTargetHint.Positive,
"target Knight creature ");
public static final MagicTargetChoice POS_TARGET_GOBLIN_CREATURE =
new MagicTargetChoice(MagicTargetFilter.TARGET_GOBLIN_CREATURE,true,MagicTargetHint.Positive,
"target Goblin creature ");
private static final MagicTargetChoice SACRIFICE_PERMANENT=
new MagicTargetChoice(MagicTargetFilter.TARGET_PERMANENT_YOU_CONTROL,false,MagicTargetHint.None,"a permanent to sacrifice");
public static final MagicTargetChoice SACRIFICE_CREATURE=

View File

@ -762,6 +762,17 @@ public interface MagicTargetFilter {
}
};
MagicTargetFilter TARGET_GOBLIN_CREATURE = new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return ((MagicPermanent)target).isCreature(game) &&
((MagicPermanent)target).hasSubType(MagicSubType.Goblin,game);
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType == MagicTargetType.Permanent;
}
};
MagicTargetFilter TARGET_GOBLIN_YOU_CONTROL=new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return target.getController()==player &&