simplify Benalish Lancer using kicker in card script
parent
918fc615ae
commit
b147a08228
|
@ -8,4 +8,5 @@ subtype=Human,Knight
|
|||
cost={2}{W}
|
||||
pt=2/2
|
||||
timing=main
|
||||
ability=kicker {2}{W} it enters the battlefield with two +1/+1 counters on it and with first strike
|
||||
requires_card_code
|
||||
|
|
|
@ -9,53 +9,27 @@ import magic.model.MagicPayedCost;
|
|||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPlayer;
|
||||
import magic.model.action.MagicChangeCountersAction;
|
||||
import magic.model.action.MagicPlayCardFromStackAction;
|
||||
import magic.model.action.MagicSetAbilityAction;
|
||||
import magic.model.choice.MagicKickerChoice;
|
||||
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
|
||||
import magic.model.event.MagicEvent;
|
||||
import magic.model.event.MagicSpellCardEvent;
|
||||
import magic.model.stack.MagicCardOnStack;
|
||||
import magic.model.mstatic.MagicStatic;
|
||||
|
||||
public class Benalish_Lancer {
|
||||
public static final MagicSpellCardEvent S = new MagicSpellCardEvent() {
|
||||
public static final MagicWhenComesIntoPlayTrigger T = new MagicWhenComesIntoPlayTrigger() {
|
||||
@Override
|
||||
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
|
||||
final MagicPlayer player = cardOnStack.getController();
|
||||
final MagicCard card = cardOnStack.getCard();
|
||||
return new MagicEvent(
|
||||
card,
|
||||
player,
|
||||
new MagicKickerChoice(MagicManaCost.TWO_WHITE,false),
|
||||
new Object[]{cardOnStack,player},
|
||||
this,
|
||||
"$Play " + card + ". If " + card + " was kicked$, " +
|
||||
"it enters the battlefield with two +1/+1 counters " +
|
||||
"on it and with first strike.");
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(
|
||||
public MagicEvent executeTrigger(
|
||||
final MagicGame game,
|
||||
final MagicEvent event,
|
||||
final Object[] data,
|
||||
final Object[] choiceResults) {
|
||||
final int kickerCount = (Integer)choiceResults[1];
|
||||
final MagicCardOnStack cardOnStack = (MagicCardOnStack)data[0];
|
||||
final MagicPlayCardFromStackAction action = new MagicPlayCardFromStackAction(cardOnStack);
|
||||
game.doAction(action);
|
||||
if (kickerCount > 0) {
|
||||
final MagicPermanent permanent = action.getPermanent();
|
||||
final MagicPermanent permanent,
|
||||
final MagicPlayer player) {
|
||||
if (permanent.isKicked()) {
|
||||
game.doAction(new MagicChangeCountersAction(
|
||||
permanent,
|
||||
MagicCounterType.PlusOne,
|
||||
2,
|
||||
true));
|
||||
game.doAction(new MagicSetAbilityAction(
|
||||
permanent,
|
||||
MagicAbility.FirstStrike,
|
||||
MagicStatic.Forever
|
||||
));
|
||||
game.doAction(new MagicSetAbilityAction(permanent,MagicAbility.FirstStrike,MagicStatic.Forever));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue