added landfall pump keyword ability

master
melvin 2011-11-21 11:38:17 +08:00
parent 4d3bc97f4a
commit 27f2497dcd
2 changed files with 47 additions and 0 deletions

View File

@ -37,6 +37,7 @@ import magic.model.trigger.MagicRampageTrigger;
import magic.model.trigger.MagicAttacksPumpTrigger;
import magic.model.trigger.MagicEntersDrawCardTrigger;
import magic.model.trigger.MagicAllyGrowTrigger;
import magic.model.trigger.MagicLandfallPumpTrigger;
public enum MagicAbility {
@ -287,6 +288,11 @@ public enum MagicAbility {
card.add(MagicAllyGrowTrigger.create());
}
},
LandfallPump("landfall pump",20) {
public void addAbilityImpl(final MagicCardDefinition card, final String arg) {
card.add(MagicLandfallPumpTrigger.create());
}
},
None("",0);
public static final long PROTECTION_FLAGS=

View File

@ -0,0 +1,41 @@
package magic.model.trigger;
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 MagicLandfallPumpTrigger extends MagicWhenOtherComesIntoPlayTrigger {
private static final MagicLandfallPumpTrigger INSTANCE = new MagicLandfallPumpTrigger();
private MagicLandfallPumpTrigger() {}
public static final MagicLandfallPumpTrigger create() {
return INSTANCE;
}
@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 +2/+2 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],2,2));
}
}