added Parallax Wave and Phyrexian Prowler

master
beholder 2011-10-18 12:11:23 +02:00
parent 03fa20d33b
commit d94da0dcaf
3 changed files with 167 additions and 0 deletions

View File

@ -15447,3 +15447,27 @@ color=u
converted=4
cost={2}{U}{U}
timing=enchantment
>Parallax Wave
url=http://magiccards.info/ne/en/17.html
image=http://magiccards.info/scans/en/ne/17.jpg
value=3
rarity=R
type=Enchantment
color=w
converted=4
cost={2}{W}{W}
timing=enchantment
>Phyrexian Prowler
url=http://magiccards.info/ne/en/65.html
image=http://magiccards.info/scans/en/ne/65.jpg
value=3
rarity=U
type=Creature
subtype=Zombie,Mercenary
color=b
converted=4
cost={3}{B}
pt=3/3
timing=main

View File

@ -0,0 +1,93 @@
package magic.card;
import magic.model.MagicCardList;
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.MagicExileUntilThisLeavesPlayAction;
import magic.model.action.MagicPermanentAction;
import magic.model.action.MagicReturnExiledUntilThisLeavesPlayAction;
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.MagicExileTargetPicker;
import magic.model.trigger.MagicComesIntoPlayWithCounterTrigger;
import magic.model.trigger.MagicFadeVanishCounterTrigger;
import magic.model.trigger.MagicWhenLeavesPlayTrigger;
public class Parallax_Wave {
public static final MagicComesIntoPlayWithCounterTrigger T1 =
new MagicComesIntoPlayWithCounterTrigger(MagicCounterType.Charge,"fade",5);
public static final MagicFadeVanishCounterTrigger T2 = new MagicFadeVanishCounterTrigger("fade");
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{MagicCondition.CHARGE_COUNTER_CONDITION},
new MagicActivationHints(MagicTiming.Pump),
"Exile") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
return new MagicEvent[]{
new MagicRemoveCounterEvent((MagicPermanent)source,MagicCounterType.Charge,1)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
MagicTargetChoice.NEG_TARGET_CREATURE,
MagicExileTargetPicker.getInstance(),
new Object[]{source},
this,
"Exile 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 permanent) {
game.doAction(new MagicExileUntilThisLeavesPlayAction(
(MagicPermanent)data[0],
permanent));
}
});
}
};
public static final MagicWhenLeavesPlayTrigger T3 = new MagicWhenLeavesPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPermanent data) {
if (permanent == data &&
!permanent.getExiledCards().isEmpty()) {
final MagicCardList clist = new MagicCardList(permanent.getExiledCards());
return new MagicEvent(
permanent,
permanent.getController(),
new Object[]{permanent},
this,
clist.size() > 1 ?
"Return exiled creatures to the battlefield " :
"Return " + clist.get(0) + " to the battlefield ");
}
return MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
final MagicPermanent permanent = (MagicPermanent)data[0];
game.doAction(new MagicReturnExiledUntilThisLeavesPlayAction(permanent,MagicLocationType.Play));
}
};
}

View File

@ -0,0 +1,50 @@
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.MagicChangeTurnPTAction;
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.trigger.MagicComesIntoPlayWithCounterTrigger;
import magic.model.trigger.MagicFadeVanishCounterTrigger;
public class Phyrexian_Prowler {
public static final MagicComesIntoPlayWithCounterTrigger T1 =
new MagicComesIntoPlayWithCounterTrigger(MagicCounterType.Charge,"fade",3);
public static final MagicFadeVanishCounterTrigger T2 = new MagicFadeVanishCounterTrigger("fade");
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{MagicCondition.CHARGE_COUNTER_CONDITION},
new MagicActivationHints(MagicTiming.Pump),
"Pump") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
return new MagicEvent[]{
new MagicRemoveCounterEvent((MagicPermanent)source,MagicCounterType.Charge,1)};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
new Object[]{source},
this,
source + " gets +1/+1 until end of turn.");
}
@Override
public void executeEvent(final MagicGame game,final MagicEvent event,final Object[] data,final Object[] choiceResults) {
game.doAction(new MagicChangeTurnPTAction((MagicPermanent)data[0],1,1));
}
};
}