@Override public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { return attacker.getAbilities().contains(SpaceflightAbility.getInstance()); }
public TIEFighterToken() { super("TIE Fighter", "1/1 black Starship artifact creature tokens with Spaceflight named TIE Fighter", 1, 1); this.setOriginalExpansionSetCode("SWS"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); color.setBlack(true); addAbility(SpaceflightAbility.getInstance()); subtype.add(SubType.STARSHIP); }
@Override public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { return attacker.getAbilities().containsKey(SpaceflightAbility.getInstance().getId()); }
public RebelStarshipToken() { super("B-Wing", "2/3 blue Rebel Starship artifact creature tokens with spaceflight name B-Wing", 2, 3); this.setOriginalExpansionSetCode("SWS"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); abilities.add(SpaceflightAbility.getInstance()); color.setBlue(true); subtype.add(SubType.REBEL); subtype.add(SubType.STARSHIP); }
public TIEStriker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{B}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(2); this.toughness = new MageInt(1); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); }
public RepublicFrigate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(3); this.toughness = new MageInt(3); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); }
public VWing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{R}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(1); this.toughness = new MageInt(2); // Haste this.addAbility(HasteAbility.getInstance()); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); }
public CorellianCorvette(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{G}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(3); this.toughness = new MageInt(3); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // You may have Corellian assign its combat damage as though it weren't blocked. this.addAbility(DamageAsThoughNotBlockedAbility.getInstance()); }
public TriFighter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{U/B}{U/B}"); this.subtype.add(SubType.DROID); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(2); this.toughness = new MageInt(2); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // Repair 3 this.addAbility(new RepairAbility(3)); }
@Override public boolean canBeBlocked(Permanent attacker, Permanent blocker, Ability source, Game game) { return blocker.getAbilities().containsKey(SpaceflightAbility.getInstance().getId()) || blocker.getAbilities().containsKey(CanBlockSpaceflightAbility.getInstance().getId()); }
public MonCalamariCruiser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}{U}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(4); this.toughness = new MageInt(4); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // Whenever Mon Calamari Cruiser deals combat damage to a player, you may draw a card. this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); }
public TIEInterceptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(1); this.toughness = new MageInt(1); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // Whenever TIE Interceptor attacks, each opponent loses 2 life. this.addAbility(new AttacksTriggeredAbility(new TIEInterceptorEffect(), false)); }
public CorellianGunship(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{R}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(1); this.toughness = new MageInt(1); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // When Corellian Gunship enters the battlefield, it deals 1 damage to target player or planeswalker. Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(1)); ability.addTarget(new TargetPlayerOrPlaneswalker()); this.addAbility(ability); }
public XWing(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{W}"); this.subtype.add(SubType.REBEL); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(2); this.toughness = new MageInt(2); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // {W}: X-Wing gains viginlance until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); }
public NebulonBFrigate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}{W}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(4); this.toughness = new MageInt(2); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // Whenever Nebulon-B Frigate enters the battlefield, creatures you control gain vigilance until end of turn. this.addAbility(new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent("creatures you control")), false)); }
public SlaveI(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(3); this.toughness = new MageInt(3); // First strike this.addAbility(FirstStrikeAbility.getInstance()); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // Whenever a creature dealt damage by Slave I this turn dies, put two +1/+1 counters on Slave I. this.addAbility(new DealtDamageAndDiedTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), false)); }
public IonCannon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{W}"); this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(4); // Defender this.addAbility(DefenderAbility.getInstance()); // {T}: Target creature an opponent control loses spaceflight until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilityTargetEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new TapSourceCost()); ability.addTarget(new TargetOpponentsCreaturePermanent()); this.addAbility(ability); }
public TIESilencer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{B}{R}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(2); this.toughness = new MageInt(2); // Haste this.addAbility(HasteAbility.getInstance()); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // Whenever TIE Silencer attacks, it deals 1 damage to defending player and 1 damage to up to one target creature that player controls. Ability ability = new AttacksTriggeredAbility(new TIESilencerEffect(), false); ability.addTarget(new TargetCreaturePermanent(0, 1)); this.addAbility(ability); }
public LAATGunship(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(3); this.toughness = new MageInt(2); // When LAAT Gunship attacks, create a 1/1 white Trooper creature token on to battlefield tapped and attacking. this.addAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new TrooperToken(), 1, true, true), false)); // {W}: LAAT Gunship gains spaceflight until the end of turn. Activate this ability only as a sorcery this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); }
public TradeFederationBattleship(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}{U}{B}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(0); this.toughness = new MageInt(6); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // Droid creatures you control get +1/+1 this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false))); // {T}: Create two 1/1 colorless Droid artifact token cretures. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new DroidToken(), 2), new TapSourceCost())); }