@Override public BecomesCreatureIfVehicleEffect copy() { return new BecomesCreatureIfVehicleEffect(this); } }
public AerialModification(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{W}"); this.subtype.add(SubType.AURA); // Enchant creature or Vehicle TargetPermanent auraTarget = new TargetPermanent(filter); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // As long as enchanted permanent is a Vehicle, it's a creature in addition to its other types. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureIfVehicleEffect())); // Enchanted creature gets +2/+2 and has flying. Effect effect = new BoostEnchantedEffect(2, 2); effect.setText("Enchanted creature gets +2/+2"); ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA); effect.setText(" and has flying"); ability.addEffect(effect); this.addAbility(ability); }
public SiegeModification(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{R}"); this.subtype.add(SubType.AURA); // Enchant creature or Vehicle TargetPermanent auraTarget = new TargetPermanent(filter); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // As long as enchanted permanent is a Vehicle, it's a creature in addition to its other types. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureIfVehicleEffect())); // Enchanted creature gets +3/+0 and has first strike. Effect effect = new BoostEnchantedEffect(3, 0); effect.setText("Enchanted creature gets +3/+0"); ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); effect = new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA); effect.setText(" and has first strike"); ability.addEffect(effect); this.addAbility(ability); }