forked from External/mage
[DFT] Implement Valor's Flagship
This commit is contained in:
parent
13adabd169
commit
3a479073e9
2 changed files with 105 additions and 0 deletions
104
Mage.Sets/src/mage/cards/v/ValorsFlagship.java
Normal file
104
Mage.Sets/src/mage/cards/v/ValorsFlagship.java
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
package mage.cards.v;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.keyword.*;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.token.PilotSaddleCrewToken;
|
||||
import mage.game.stack.StackObject;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class ValorsFlagship extends CardImpl {
|
||||
|
||||
public ValorsFlagship(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}{W}{W}{W}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.VEHICLE);
|
||||
this.power = new MageInt(7);
|
||||
this.toughness = new MageInt(7);
|
||||
|
||||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// First strike
|
||||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
// Lifelink
|
||||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
||||
// Crew 3
|
||||
this.addAbility(new CrewAbility(3));
|
||||
|
||||
// Cycling {X}{2}{W}
|
||||
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{X}{2}{W}")));
|
||||
|
||||
// When you cycle this card, create X 1/1 colorless Pilot creature tokens with "This token saddles Mounts and crews Vehicles as though its power were 2 greater."
|
||||
this.addAbility(new ValorsFlagshipTriggeredAbility());
|
||||
}
|
||||
|
||||
private ValorsFlagship(final ValorsFlagship card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ValorsFlagship copy() {
|
||||
return new ValorsFlagship(this);
|
||||
}
|
||||
}
|
||||
|
||||
class ValorsFlagshipTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
ValorsFlagshipTriggeredAbility() {
|
||||
super(Zone.ALL, null);
|
||||
}
|
||||
|
||||
private ValorsFlagshipTriggeredAbility(final ValorsFlagshipTriggeredAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ValorsFlagshipTriggeredAbility copy() {
|
||||
return new ValorsFlagshipTriggeredAbility(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkEventType(GameEvent event, Game game) {
|
||||
return event.getType() == GameEvent.EventType.ACTIVATED_ABILITY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
if (!event.getSourceId().equals(this.getSourceId())) {
|
||||
return false;
|
||||
}
|
||||
StackObject object = game.getStack().getStackObject(event.getSourceId());
|
||||
if (object == null || !(object.getStackAbility() instanceof CyclingAbility)) {
|
||||
return false;
|
||||
}
|
||||
this.getEffects().clear();
|
||||
int amount = CardUtil.getSourceCostsTag(game, object.getStackAbility(), "X", 0);
|
||||
this.addEffect(new CreateTokenEffect(new PilotSaddleCrewToken(), amount));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When you cycle this card, create X 1/1 colorless Pilot creature tokens with " +
|
||||
"\"This token saddles Mounts and crews Vehicles as though its power were 2 greater.\"";
|
||||
}
|
||||
}
|
||||
|
|
@ -115,6 +115,7 @@ public final class Aetherdrift extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Tranquil Cove", 267, Rarity.COMMON, mage.cards.t.TranquilCove.class));
|
||||
cards.add(new SetCardInfo("Transit Mage", 70, Rarity.UNCOMMON, mage.cards.t.TransitMage.class));
|
||||
cards.add(new SetCardInfo("Unswerving Sloth", 34, Rarity.UNCOMMON, mage.cards.u.UnswervingSloth.class));
|
||||
cards.add(new SetCardInfo("Valor's Flagship", 35, Rarity.MYTHIC, mage.cards.v.ValorsFlagship.class));
|
||||
cards.add(new SetCardInfo("Veloheart Bike", 184, Rarity.COMMON, mage.cards.v.VeloheartBike.class));
|
||||
cards.add(new SetCardInfo("Venomsac Lagac", 185, Rarity.COMMON, mage.cards.v.VenomsacLagac.class));
|
||||
cards.add(new SetCardInfo("Wastewood Verge", 268, Rarity.RARE, mage.cards.w.WastewoodVerge.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue