@Override public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { return attacker.getAbilities().contains(SpaceflightAbility.getInstance()); }
private SpaceflightAbility() { this.addEffect(new SpaceFlightEffect()); }
@Override public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { return attacker.getAbilities().containsKey(SpaceflightAbility.getInstance().getId()); }
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 applies(Permanent permanent, Ability source, Game game) { return permanent.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); }
@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 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 UpsilonClassShuttle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(2); this.toughness = new MageInt(3); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // Whenever Upsilon-class Shuttle attacks, target creature you control gains spaceflight until end of turn. Ability ability = new AttacksTriggeredAbility( new GainAbilityTargetEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn) .setText("target creature you control gains spaceflight until end of turn"), false); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); }
public TIEBomber(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{B}"); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(3); this.toughness = new MageInt(2); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // {1}: TIE Bomber loses Spaceflight until end od turn. Activate this ability only during combat. this.addAbility(new ConditionalActivatedAbility( Zone.BATTLEFIELD, new LoseAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(1), new IsPhaseCondition(TurnPhase.COMBAT), "{1}: {this} loses Spaceflight until end od turn. Activate this ability only during combat.")); }
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)); }
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 JediStarfighter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{W}{W}"); this.subtype.add(SubType.JEDI); this.subtype.add(SubType.STARSHIP); this.power = new MageInt(2); this.toughness = new MageInt(2); // Spaceflight this.addAbility(SpaceflightAbility.getInstance()); // When Jedi Starfighter enters the battlefield, up to two Jedi creatures you control gain spaceflight until end of turn. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainAbilityTargetEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn)); ability.addTarget(new TargetCreaturePermanent(0, 2, filter, true)); this.addAbility(ability); // Meditate {1}{W} this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{W}"))); }
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)); }