@Override public SimpleStaticAbility copy() { return new AffinityForArtifactsAbility(this); }
public AffinityForArtifactsAbility() { super(Zone.OUTSIDE, new AffinityEffect(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT)); setRuleAtTheTop(true); }
public MycosynthGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{11}"); this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(5); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // Artifact creature spells you cast have affinity for artifacts. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledSpellsEffect(new AffinityForArtifactsAbility(), filter))); }
public Thoughtcast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{U}"); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // Draw two cards. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); }
public BlinkmothInfusion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{12}{U}{U}"); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // Untap all artifacts. this.getSpellAbility().addEffect(new UntapAllArtifactsEffect()); }
public Frogmite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); this.subtype.add(SubType.FROG); this.power = new MageInt(2); this.toughness = new MageInt(2); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); }
public MyrEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); this.subtype.add(SubType.MYR); this.power = new MageInt(4); this.toughness = new MageInt(4); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); }
public SomberHoverguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(2); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); this.addAbility(FlyingAbility.getInstance()); }
public Qumulox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); this.addAbility(FlyingAbility.getInstance()); }
public AssertAuthority(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{5}{U}{U}"); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // Counter target spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. this.getSpellAbility().addEffect(new CounterTargetWithReplacementEffect(Zone.EXILED)); this.getSpellAbility().addTarget(new TargetSpell()); }
public IntoThinAir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{5}{U}"); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // Return target artifact to its owner's hand. this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent()); }
public ToothOfChissGoria(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); this.addAbility(FlashAbility.getInstance()); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // {tap}: Target creature gets +1/+0 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 0, Duration.EndOfTurn), new TapSourceCost()); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public ScaleOfChissGoria(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); this.addAbility(FlashAbility.getInstance()); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // {tap}: Target creature gets +0/+1 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(0, 1, Duration.EndOfTurn), new TapSourceCost()); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public Broodstar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}{U}{U}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(0); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); this.addAbility(FlyingAbility.getInstance()); // Broodstar's power and toughness are each equal to the number of artifacts you control. this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame))); }
public ChromescaleDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{U}{U}{U}"); this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(4); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // Flying this.addAbility(FlyingAbility.getInstance()); // When Chromescale Drake enters the battlefield, reveal the top three cards of your library. Put all artifact cards revealed this way into your hand and the rest into your graveyard. this.addAbility(new EntersBattlefieldTriggeredAbility(new RevealLibraryPutIntoHandEffect(3, new FilterArtifactCard("artifact cards"), Zone.GRAVEYARD))); }
public QuicksilverBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // When Quicksilver Behemoth attacks or blocks, return it to its owner's hand at end of combat. Effect effect = new CreateDelayedTriggeredAbilityEffect( new AtTheEndOfCombatDelayedTriggeredAbility(new ReturnToHandSourceEffect(true))); effect.setText("return it to its owner's hand at end of combat"); this.addAbility(new AttacksOrBlocksTriggeredAbility(effect, false)); }
public FurnaceDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}{R}{R}"); this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); // Affinity for artifacts this.addAbility(new AffinityForArtifactsAbility()); // Flying this.addAbility(FlyingAbility.getInstance()); // When Furnace Dragon enters the battlefield, if you cast it from your hand, exile all artifacts. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new ExileAllEffect(filter), false), CastFromHandSourceCondition.instance, "When {this} enters the battlefield, if you cast it from your hand, exile all artifacts."), new CastFromHandWatcher()); }