add ability 'Fabricate <n>', closes #831
parent
dec1a963ba
commit
9449be257a
|
@ -0,0 +1,8 @@
|
|||
name=1/1 colorless Servo artifact creature token
|
||||
token=Servo
|
||||
image=http://media.wizards.com/2016/bVvMNuiu2i_KLD/en_b786LD89UN.png
|
||||
value=1
|
||||
pt=1/1
|
||||
color=
|
||||
subtype=Servo
|
||||
type=Artifact,Creature
|
|
@ -1452,6 +1452,12 @@ public enum MagicAbility {
|
|||
card.add(DamageIsDealtTrigger.Renown(n));
|
||||
}
|
||||
},
|
||||
Fabricate("fabricate " + ARG.NUMBER,10) {
|
||||
protected void addAbilityImpl(final MagicAbilityStore card, final Matcher arg) {
|
||||
final int n = ARG.number(arg);
|
||||
card.add(EntersBattlefieldTrigger.Fabricate(n));
|
||||
}
|
||||
},
|
||||
/*
|
||||
Suspend("suspend " + ARG.NUMBER + "( |—)" + ARG.MANACOST, 0) {
|
||||
protected void addAbilityImpl(final MagicAbilityStore card, final Matcher arg) {
|
||||
|
|
|
@ -75,7 +75,7 @@ public enum MagicSubType {
|
|||
Orb, Orc, Orgg, Ouphe, Ox, Oyster, Pegasus, Pentavite, Pest, Phelddagrif,
|
||||
Phoenix, Pilot, Pincher, Pirate, Plant, Praetor, Prism, Processor, Rabbit, Rat, Rebel,
|
||||
Reflection, Rhino, Rigger, Rogue, Sable, Salamander, Samurai, Sand, Saproling, Satyr,
|
||||
Scarecrow, Scion, Scorpion, Scout, Serf, Serpent, Shade, Shaman, Shapeshifter, Sheep,
|
||||
Scarecrow, Scion, Scorpion, Scout, Serf, Serpent, Servo, Shade, Shaman, Shapeshifter, Sheep,
|
||||
Siren, Skeleton, Slith, Sliver, Slug, Snake, Soldier, Soltari, Spawn, Specter,
|
||||
Spellshaper, Sphinx, Spider, Spike, Spirit, Splinter, Sponge, Squid, Squirrel,
|
||||
Starfish, Surrakar, Survivor, Tetravite, Thalakos, Thopter, Thrull, Treefolk,
|
||||
|
|
|
@ -5,10 +5,17 @@ import magic.model.MagicGame;
|
|||
import magic.model.MagicPayedCost;
|
||||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPermanentState;
|
||||
import magic.model.MagicCounterType;
|
||||
import magic.model.MagicMessage;
|
||||
import magic.data.CardDefinitions;
|
||||
import magic.model.action.ChangeStateAction;
|
||||
import magic.model.action.ChangeCountersAction;
|
||||
import magic.model.action.PlayTokensAction;
|
||||
import magic.model.action.SacrificeAction;
|
||||
import magic.model.choice.MagicMayChoice;
|
||||
import magic.model.choice.MagicTargetChoice;
|
||||
import magic.model.choice.MagicOrChoice;
|
||||
import magic.model.choice.MagicChoice;
|
||||
import magic.model.event.MagicEvent;
|
||||
import magic.model.event.MagicEventAction;
|
||||
import magic.model.event.MagicSacrificePermanentEvent;
|
||||
|
@ -109,4 +116,65 @@ public abstract class EntersBattlefieldTrigger extends MagicTrigger<MagicPayedCo
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static final EntersBattlefieldTrigger Fabricate(final int n) {
|
||||
return new EntersBattlefieldTrigger() {
|
||||
private final MagicEventAction EVENT_ACTION = (final MagicGame game, final MagicEvent event) -> {
|
||||
if (event.isYes()) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOne,
|
||||
event.getRefInt()
|
||||
));
|
||||
game.logAppendMessage(
|
||||
event.getPlayer(),
|
||||
event.getPlayer() + " puts " + event.getRefInt() + " +1/+1 counters on " + event.getPermanent() + "."
|
||||
);
|
||||
} else {
|
||||
game.doAction(new PlayTokensAction(
|
||||
event.getPlayer(),
|
||||
CardDefinitions.getToken("1/1 colorless Servo artifact creature token"),
|
||||
event.getRefInt()
|
||||
));
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
n,
|
||||
this,
|
||||
"Fabriate RN."
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.getPermanent().isValid()) {
|
||||
game.addEvent(new MagicEvent(
|
||||
event.getSource(),
|
||||
event.getPlayer(),
|
||||
new MagicMayChoice(
|
||||
MagicMessage.replaceName(
|
||||
"Put RN +1/+1 counters on SN? If you don’t, create RN Servo tokens.",
|
||||
event.getSource(),
|
||||
event.getPlayer(),
|
||||
event.getRefInt()
|
||||
)
|
||||
),
|
||||
event.getRefInt(),
|
||||
EVENT_ACTION,
|
||||
"You may$ put RN +1/+1 counters on SN. If you don’t, create RN 1/1 colorless Servo artifact creature tokens."
|
||||
));
|
||||
} else {
|
||||
game.doAction(new PlayTokensAction(
|
||||
event.getPlayer(),
|
||||
CardDefinitions.getToken("1/1 colorless Servo artifact creature token"),
|
||||
event.getRefInt()
|
||||
));
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue