merged card changes

master
melvin 2012-03-11 00:10:54 +08:00
commit 1ad0a7f9ad
10 changed files with 34 additions and 53 deletions

View File

@ -9,5 +9,5 @@ color=b
converted=4 converted=4
cost={3}{B} cost={3}{B}
pt=3/1 pt=3/1
ability=can't block,landfall pump ability=can't block,landfall pump +2/+2
timing=main timing=main

View File

@ -8,5 +8,5 @@ subtype=Construct
converted=4 converted=4
cost={4} cost={4}
pt=2/2 pt=2/2
ability=landfall pump ability=landfall pump +2/+2
timing=main timing=main

View File

@ -8,5 +8,5 @@ subtype=Construct
converted=2 converted=2
cost={2} cost={2}
pt=1/1 pt=1/1
ability=landfall pump +1/+1
timing=main timing=main
requires_card_code

View File

@ -9,5 +9,5 @@ color=r
converted=2 converted=2
cost={1}{R} cost={1}{R}
pt=1/1 pt=1/1
ability=first strike,landfall pump ability=first strike,landfall pump +2/+2
timing=main timing=main

View File

@ -9,5 +9,5 @@ color=w
converted=1 converted=1
cost={W} cost={W}
pt=0/1 pt=0/1
ability=landfall pump ability=landfall pump +2/+2
timing=main timing=main

View File

@ -9,5 +9,5 @@ color=g
converted=5 converted=5
cost={4}{G} cost={4}{G}
pt=4/4 pt=4/4
ability=landfall pump ability=landfall pump +2/+2
timing=main timing=main

View File

@ -9,5 +9,5 @@ color=u
converted=4 converted=4
cost={3}{U} cost={3}{U}
pt=2/2 pt=2/2
ability=flying,landfall pump ability=flying,landfall pump +2/+2
timing=main timing=main

View File

@ -1,34 +0,0 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.action.MagicChangeTurnPTAction;
import magic.model.event.MagicEvent;
import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger;
public class Hedron_Scrabbler {
public static final MagicWhenOtherComesIntoPlayTrigger T = new MagicWhenOtherComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent played) {
final MagicPlayer player = permanent.getController();
return (player == played.getController() && played.isLand()) ?
new MagicEvent(
permanent,
player,
new Object[]{permanent},
this,
permanent + " gets +1/+1 until end of turn."):
MagicEvent.NONE;
}
@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));
}
};
}

View File

@ -234,7 +234,10 @@ public enum MagicAbility {
}, },
LandfallPump("landfall pump",20) { LandfallPump("landfall pump",20) {
public void addAbilityImpl(final MagicCardDefinition card, final String arg) { public void addAbilityImpl(final MagicCardDefinition card, final String arg) {
card.add(MagicLandfallPumpTrigger.create()); final String[] pt = arg.replace("+","").split("/");
final int power = Integer.parseInt(pt[0]);
final int toughness = Integer.parseInt(pt[1]);
card.add(new MagicLandfallPumpTrigger(power,toughness));
} }
}, },
TapAddMana("tap add mana",10) { TapAddMana("tap add mana",10) {

View File

@ -8,17 +8,19 @@ import magic.model.event.MagicEvent;
import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger; import magic.model.trigger.MagicWhenOtherComesIntoPlayTrigger;
public class MagicLandfallPumpTrigger extends MagicWhenOtherComesIntoPlayTrigger { public class MagicLandfallPumpTrigger extends MagicWhenOtherComesIntoPlayTrigger {
private final int power;
private final int toughness;
private static final MagicLandfallPumpTrigger INSTANCE = new MagicLandfallPumpTrigger(); public MagicLandfallPumpTrigger(final int power, final int toughness) {
this.power = power;
private MagicLandfallPumpTrigger() {} this.toughness = toughness;
public static final MagicLandfallPumpTrigger create() {
return INSTANCE;
} }
@Override @Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent played) { public MagicEvent executeTrigger(
final MagicGame game,
final MagicPermanent permanent,
final MagicPermanent played) {
final MagicPlayer player = permanent.getController(); final MagicPlayer player = permanent.getController();
return (player == played.getController() && played.isLand()) ? return (player == played.getController() && played.isLand()) ?
new MagicEvent( new MagicEvent(
@ -26,7 +28,8 @@ public class MagicLandfallPumpTrigger extends MagicWhenOtherComesIntoPlayTrigger
player, player,
new Object[]{permanent}, new Object[]{permanent},
this, this,
permanent + " gets +2/+2 until end of turn."): permanent + " gets " + getString(power) +
"/" + getString(toughness) + " until end of turn.") :
MagicEvent.NONE; MagicEvent.NONE;
} }
@ -36,6 +39,15 @@ public class MagicLandfallPumpTrigger extends MagicWhenOtherComesIntoPlayTrigger
final MagicEvent event, final MagicEvent event,
final Object data[], final Object data[],
final Object[] choiceResults) { final Object[] choiceResults) {
game.doAction(new MagicChangeTurnPTAction((MagicPermanent)data[0],2,2)); game.doAction(new MagicChangeTurnPTAction(
(MagicPermanent)data[0],
power,
toughness));
}
private String getString(final int pt) {
return pt >= 0 ?
"+" + pt :
Integer.toString(pt);
} }
} }