refactor: SimpleActivatedAbility default zone (cards N O)

This commit is contained in:
xenohedron 2024-11-16 22:29:14 -05:00
parent c3e4b64ead
commit cc6f78dfb4
158 changed files with 186 additions and 186 deletions

View file

@ -36,13 +36,13 @@ public final class NacatlHuntPride extends CardImpl {
this.addAbility(VigilanceAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance());
// {R}, {tap}: Target creature can't block this turn. // {R}, {tap}: Target creature can't block this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{R}")); Ability ability = new SimpleActivatedAbility(new CantBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
// {G}, {tap}: Target creature blocks this turn if able. // {G}, {tap}: Target creature blocks this turn if able.
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BlocksIfAbleTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{G}")); Ability ability2 = new SimpleActivatedAbility(new BlocksIfAbleTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability2.addCost(new TapSourceCost()); ability2.addCost(new TapSourceCost());
ability2.addTarget(new TargetCreaturePermanent()); ability2.addTarget(new TargetCreaturePermanent());
this.addAbility(ability2); this.addAbility(ability2);

View file

@ -33,7 +33,7 @@ public final class NahirisMachinations extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
// {1}{R}: Nahiri's Machinations deals 1 damage to target blocking creature. // {1}{R}: Nahiri's Machinations deals 1 damage to target blocking creature.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{1}{R}")); ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new ManaCostsImpl<>("{1}{R}"));
ability.addTarget(new TargetCreaturePermanent(new FilterBlockingCreature("blocking creature"))); ability.addTarget(new TargetCreaturePermanent(new FilterBlockingCreature("blocking creature")));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,7 +31,7 @@ public final class NantukoDisciple extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {G}, {tap}: Target creature gets +2/+2 until end of turn. // {G}, {tap}: Target creature gets +2/+2 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -30,7 +30,7 @@ public final class NantukoHusk extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// Sacrifice a creature: Nantuko Husk gets +2/+2 until end of turn. // Sacrifice a creature: Nantuko Husk gets +2/+2 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn),
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE))); new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)));
} }

View file

@ -37,7 +37,7 @@ public final class NantukoMentor extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {2}{G}, {tap}: Target creature gets +X/+X until end of turn, where X is that creature's power. // {2}{G}, {tap}: Target creature gets +X/+X until end of turn, where X is that creature's power.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new NantukoMentorEffect(), new ManaCostsImpl<>("{2}{G}")); Ability ability = new SimpleActivatedAbility(new NantukoMentorEffect(), new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class NantukoShade extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
} }
private NantukoShade(final NantukoShade card) { private NantukoShade(final NantukoShade card) {

View file

@ -25,12 +25,12 @@ public final class Narcissism extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}");
// {G}, Discard a card: Target creature gets +2/+2 until end of turn. // {G}, Discard a card: Target creature gets +2/+2 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
// {G}, Sacrifice Narcissism: Target creature gets +2/+2 until end of turn. // {G}, Sacrifice Narcissism: Target creature gets +2/+2 until end of turn.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")); ability = new SimpleActivatedAbility(new BoostTargetEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -27,7 +27,7 @@ public final class NarstadScrapper extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {2}: Narstad Scrapper gets +1/+0 until end of turn. // {2}: Narstad Scrapper gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new GenericManaCost(2))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new GenericManaCost(2)));
} }
private NarstadScrapper(final NarstadScrapper card) { private NarstadScrapper(final NarstadScrapper card) {

View file

@ -37,7 +37,7 @@ public final class NaturesBlessing extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{W}"); super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{W}");
// {G}{W}, Discard a card: Put a +1/+1 counter on target creature or that creature gains banding, first strike, or trample. // {G}{W}, Discard a card: Put a +1/+1 counter on target creature or that creature gains banding, first strike, or trample.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new NaturesBlessingEffect(), new ManaCostsImpl<>("{G}{W}")); Ability ability = new SimpleActivatedAbility(new NaturesBlessingEffect(), new ManaCostsImpl<>("{G}{W}"));
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -29,7 +29,7 @@ public final class NavigatorsCompass extends CardImpl {
Ability etbAbility = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3)); Ability etbAbility = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3));
this.addAbility(etbAbility); this.addAbility(etbAbility);
// {tap}: Until end of turn, target land you control becomes the basic land type of your choice in addition to its other types. // {tap}: Until end of turn, target land you control becomes the basic land type of your choice in addition to its other types.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn, true, false) Ability ability = new SimpleActivatedAbility(new BecomesBasicLandTargetEffect(Duration.EndOfTurn, true, false)
.setText("Until end of turn, target land you control becomes the basic land type of your choice in addition to its other types"), .setText("Until end of turn, target land you control becomes the basic land type of your choice in addition to its other types"),
new TapSourceCost()); new TapSourceCost());
ability.addTarget(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND)); ability.addTarget(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND));

View file

@ -31,11 +31,11 @@ public final class NayaBattlemage extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{W}")); ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -39,7 +39,7 @@ public final class NayaPanorama extends CardImpl {
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
TargetCardInLibrary target = new TargetCardInLibrary(filter); TargetCardInLibrary target = new TargetCardInLibrary(filter);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(target, true), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new SearchLibraryPutInPlayEffect(target, true), new GenericManaCost(1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -30,7 +30,7 @@ public final class NecraDisciple extends CardImpl {
Ability firstAbility = new AnyColorManaAbility(new ColoredManaCost(ColoredManaSymbol.G)); Ability firstAbility = new AnyColorManaAbility(new ColoredManaCost(ColoredManaSymbol.G));
firstAbility.addCost(new TapSourceCost()); firstAbility.addCost(new TapSourceCost());
this.addAbility(firstAbility); this.addAbility(firstAbility);
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new ColoredManaCost(ColoredManaSymbol.W)); Ability secondAbility = new SimpleActivatedAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new ColoredManaCost(ColoredManaSymbol.W));
secondAbility.addCost(new TapSourceCost()); secondAbility.addCost(new TapSourceCost());
secondAbility.addTarget(new TargetAnyTarget()); secondAbility.addTarget(new TargetAnyTarget());
this.addAbility(secondAbility); this.addAbility(secondAbility);

View file

@ -26,7 +26,7 @@ public final class Necratog extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// Exile the top creature card of your graveyard: Necratog gets +2/+2 until end of turn. // Exile the top creature card of your graveyard: Necratog gets +2/+2 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ExileTopCreatureCardOfGraveyardCost(1))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ExileTopCreatureCardOfGraveyardCost(1)));
} }
private Necratog(final Necratog card) { private Necratog(final Necratog card) {

View file

@ -26,7 +26,7 @@ public final class NecrogenCenser extends CardImpl {
public NecrogenCenser (UUID ownerId, CardSetInfo setInfo) { public NecrogenCenser (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(2)), "with two charge counters on it")); this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(2)), "with two charge counters on it"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(2), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(2), new TapSourceCost());
ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1))); ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)));
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);

View file

@ -24,11 +24,11 @@ public final class NecrogenSpellbomb extends CardImpl {
public NecrogenSpellbomb(UUID ownerId, CardSetInfo setInfo) { public NecrogenSpellbomb(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ColoredManaCost(ColoredManaSymbol.B)); Ability firstAbility = new SimpleActivatedAbility(new DiscardTargetEffect(1), new ColoredManaCost(ColoredManaSymbol.B));
firstAbility.addCost(new SacrificeSourceCost()); firstAbility.addCost(new SacrificeSourceCost());
firstAbility.addTarget(new TargetPlayer()); firstAbility.addTarget(new TargetPlayer());
this.addAbility(firstAbility); this.addAbility(firstAbility);
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); Ability secondAbility = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
secondAbility.addCost(new SacrificeSourceCost()); secondAbility.addCost(new SacrificeSourceCost());
this.addAbility(secondAbility); this.addAbility(secondAbility);
} }

View file

@ -25,7 +25,7 @@ public final class Necrogenesis extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{G}"); super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{G}");
// {2}: Exile target creature card from a graveyard. Create a 1/1 green Saproling creature token. // {2}: Exile target creature card from a graveyard. Create a 1/1 green Saproling creature token.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new ExileTargetEffect(), new GenericManaCost(2));
ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD)); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD));
ability.addEffect(new CreateTokenEffect(new SaprolingToken())); ability.addEffect(new CreateTokenEffect(new SaprolingToken()));
this.addAbility(ability); this.addAbility(ability);

View file

@ -39,7 +39,7 @@ public final class NecronOverlord extends CardImpl {
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
// Relentless March -- {X}, {T}, Tap X untapped artifacts you control: Target opponent loses X life. // Relentless March -- {X}, {T}, Tap X untapped artifacts you control: Target opponent loses X life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(GetXValue.instance), new ManaCostsImpl<>("{X}")); Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(GetXValue.instance), new ManaCostsImpl<>("{X}"));
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new NecronOverlordTapVariableArtifactCost()); ability.addCost(new NecronOverlordTapVariableArtifactCost());

View file

@ -38,7 +38,7 @@ public final class Necropolis extends CardImpl {
this.addAbility(DefenderAbility.getInstance()); this.addAbility(DefenderAbility.getInstance());
// Exile a creature card from your graveyard: Put X +0/+1 counters on Necropolis, where X is the exiled card's converted mana cost. // Exile a creature card from your graveyard: Put X +0/+1 counters on Necropolis, where X is the exiled card's converted mana cost.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleActivatedAbility(
new AddCountersSourceEffect(CounterType.P0P1.createInstance(0), new NecropolisValue(), true).setText("Put X +0/+1 counters on {this}, where X is the exiled card's mana value"), new AddCountersSourceEffect(CounterType.P0P1.createInstance(0), new NecropolisValue(), true).setText("Put X +0/+1 counters on {this}, where X is the exiled card's mana value"),
new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("a creature card"))))); new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("a creature card")))));
} }

View file

@ -43,7 +43,7 @@ public final class Necropotence extends CardImpl {
effect.setText("exile that card from your graveyard"); effect.setText("exile that card from your graveyard");
this.addAbility(new NecropotenceTriggeredAbility(effect)); this.addAbility(new NecropotenceTriggeredAbility(effect));
// Pay 1 life: Exile the top card of your library face down. Put that card into your hand at the beginning of your next end step. // Pay 1 life: Exile the top card of your library face down. Put that card into your hand at the beginning of your next end step.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new NecropotenceEffect(), new PayLifeCost(1))); this.addAbility(new SimpleActivatedAbility(new NecropotenceEffect(), new PayLifeCost(1)));
} }

View file

@ -33,7 +33,7 @@ public final class NecroticSliver extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// All Slivers have "{3}, Sacrifice this permanent: Destroy target permanent." // All Slivers have "{3}, Sacrifice this permanent: Destroy target permanent."
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new SacrificeSourceCost()); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new SacrificeSourceCost());
ability.addCost(new GenericManaCost(3)); ability.addCost(new GenericManaCost(3));
ability.addTarget(new TargetPermanent()); ability.addTarget(new TargetPermanent());
this.addAbility(new SimpleStaticAbility( this.addAbility(new SimpleStaticAbility(

View file

@ -38,7 +38,7 @@ public final class NectarFaerie extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {B}, {tap}: Target Faerie or Elf gains lifelink until end of turn. // {B}, {tap}: Target Faerie or Elf gains lifelink until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect( Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(
LifelinkAbility.getInstance(), Duration.EndOfTurn) LifelinkAbility.getInstance(), Duration.EndOfTurn)
.setText("target Faerie or Elf gains lifelink until end of turn"), .setText("target Faerie or Elf gains lifelink until end of turn"),
new ColoredManaCost(ColoredManaSymbol.B)); new ColoredManaCost(ColoredManaSymbol.B));

View file

@ -30,7 +30,7 @@ public final class NeedForSpeed extends CardImpl {
// Sacrifice a land: Target creature gains haste until end of turn. // Sacrifice a land: Target creature gains haste until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, Ability ability = new SimpleActivatedAbility(
new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn),
new SacrificeTargetCost(StaticFilters.FILTER_LAND)); new SacrificeTargetCost(StaticFilters.FILTER_LAND));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -38,7 +38,7 @@ public final class NeedleSpires extends CardImpl {
// {2}{R}{W}: Needle Spires becomes a 2/1 red and white Elemental creature with double strike until end of turn. It's still a land. // {2}{R}{W}: Needle Spires becomes a 2/1 red and white Elemental creature with double strike until end of turn. It's still a land.
Effect effect = new BecomesCreatureSourceEffect(new NeedleSpiresToken(), CardType.LAND, Duration.EndOfTurn); Effect effect = new BecomesCreatureSourceEffect(new NeedleSpiresToken(), CardType.LAND, Duration.EndOfTurn);
effect.setText("{this} becomes a 2/1 red and white Elemental creature with double strike until end of turn. It's still a land"); effect.setText("{this} becomes a 2/1 red and white Elemental creature with double strike until end of turn. It's still a land");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{R}{W}"))); this.addAbility(new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{2}{R}{W}")));
} }
private NeedleSpires(final NeedleSpires card) { private NeedleSpires(final NeedleSpires card) {

View file

@ -38,9 +38,9 @@ public final class NemataGroveGuardian extends CardImpl {
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
// {2}{G}: Create a 1/1 green Saproling creature token. // {2}{G}: Create a 1/1 green Saproling creature token.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new ManaCostsImpl<>("{2}{G}"))); this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken()), new ManaCostsImpl<>("{2}{G}")));
// Sacrifice a Saproling: Saproling creatures get +1/+1 until end of turn. // Sacrifice a Saproling: Saproling creatures get +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.EndOfTurn, filter, false), new SacrificeTargetCost(filter1))); this.addAbility(new SimpleActivatedAbility(new BoostAllEffect(1, 1, Duration.EndOfTurn, filter, false), new SacrificeTargetCost(filter1)));
} }
private NemataGroveGuardian(final NemataGroveGuardian card) { private NemataGroveGuardian(final NemataGroveGuardian card) {

View file

@ -28,7 +28,7 @@ public final class NeophyteHateflayer extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {T}, Pay 1 life: Each opponent loses 1 life. // {T}, Pay 1 life: Each opponent loses 1 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeOpponentsEffect(1), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new LoseLifeOpponentsEffect(1), new TapSourceCost());
ability.addCost(new PayLifeCost(1)); ability.addCost(new PayLifeCost(1));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -26,7 +26,7 @@ public final class NephaliaDrownyard extends CardImpl {
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
// {1}{U}{B}, {T}: Target player puts the top three cards of their library into their graveyard. // {1}{U}{B}, {T}: Target player puts the top three cards of their library into their graveyard.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsTargetEffect(3), new ManaCostsImpl<>("{1}{U}{B}")); Ability ability = new SimpleActivatedAbility(new MillCardsTargetEffect(3), new ManaCostsImpl<>("{1}{U}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);

View file

@ -30,7 +30,7 @@ public final class NephaliaSmuggler extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {3}{U}, {tap}: Exile another target creature you control, then return that card to the battlefield under your control. // {3}{U}, {tap}: Exile another target creature you control, then return that card to the battlefield under your control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileThenReturnTargetEffect(true, true), new ManaCostsImpl<>("{3}{U}")); Ability ability = new SimpleActivatedAbility(new ExileThenReturnTargetEffect(true, true), new ManaCostsImpl<>("{3}{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL)); ability.addTarget(new TargetControlledCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class NetterEnDal extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {W}, {tap}, Discard a card: Target creature can't attack this turn. // {W}, {tap}, Discard a card: Target creature can't attack this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{W}")); Ability ability = new SimpleActivatedAbility(new CantAttackTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -41,7 +41,7 @@ public final class NettleDrone extends CardImpl {
this.addAbility(new DevoidAbility(this.color)); this.addAbility(new DevoidAbility(this.color));
// {T}: Nettle Drone deals 1 damage to each opponent. // {T}: Nettle Drone deals 1 damage to each opponent.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(new DamagePlayersEffect(1, TargetController.OPPONENT), new TapSourceCost()));
// Whenever you cast a colorless spell, untap Nettle Drone. // Whenever you cast a colorless spell, untap Nettle Drone.
this.addAbility(new SpellCastControllerTriggeredAbility(new UntapSourceEffect(), filterSpell, false)); this.addAbility(new SpellCastControllerTriggeredAbility(new UntapSourceEffect(), filterSpell, false));

View file

@ -39,7 +39,7 @@ public final class NeurokProdigy extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// Discard an artifact card: Return Neurok Prodigy to its owner's hand. // Discard an artifact card: Return Neurok Prodigy to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new DiscardTargetCost(new TargetCardInHand(filter)))); this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new DiscardTargetCost(new TargetCardInHand(filter))));
} }
private NeurokProdigy(final NeurokProdigy card) { private NeurokProdigy(final NeurokProdigy card) {

View file

@ -27,7 +27,7 @@ public final class NeurokReplica extends CardImpl {
this.subtype.add(SubType.WIZARD); this.subtype.add(SubType.WIZARD);
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{1}{U}")); Ability ability = new SimpleActivatedAbility(new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class NeurokStealthsuit extends CardImpl {
// Equipped creature has shroud. // Equipped creature has shroud.
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.EQUIPMENT))); this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.EQUIPMENT)));
// {U}{U}: Attach Neurok Stealthsuit to target creature you control. // {U}{U}: Attach Neurok Stealthsuit to target creature you control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl<>("{U}{U}")); Ability ability = new SimpleActivatedAbility(new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl<>("{U}{U}"));
ability.addTarget(new TargetControlledCreaturePermanent()); ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
// Equip {1} // Equip {1}

View file

@ -40,13 +40,13 @@ public final class NeurokTransmuter extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {U}: Target creature becomes an artifact in addition to its other types until end of turn. // {U}: Target creature becomes an artifact in addition to its other types until end of turn.
Ability becomeArtifactAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCardTypeTargetEffect(Duration.EndOfTurn, CardType.ARTIFACT), new ManaCostsImpl<>("{U}")); Ability becomeArtifactAbility = new SimpleActivatedAbility(new AddCardTypeTargetEffect(Duration.EndOfTurn, CardType.ARTIFACT), new ManaCostsImpl<>("{U}"));
becomeArtifactAbility.addTarget(new TargetCreaturePermanent()); becomeArtifactAbility.addTarget(new TargetCreaturePermanent());
this.addAbility(becomeArtifactAbility); this.addAbility(becomeArtifactAbility);
// {U}: Until end of turn, target artifact creature becomes blue and isn't an artifact. // {U}: Until end of turn, target artifact creature becomes blue and isn't an artifact.
Effect blueEffect = new BecomesColorTargetEffect(ObjectColor.BLUE, Duration.EndOfTurn); Effect blueEffect = new BecomesColorTargetEffect(ObjectColor.BLUE, Duration.EndOfTurn);
blueEffect.setText("Until end of turn, target artifact creature becomes blue"); blueEffect.setText("Until end of turn, target artifact creature becomes blue");
Ability becomeBlueAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, blueEffect, new ManaCostsImpl<>("{U}")); Ability becomeBlueAbility = new SimpleActivatedAbility(blueEffect, new ManaCostsImpl<>("{U}"));
becomeBlueAbility.addTarget(new TargetCreaturePermanent(filter)); becomeBlueAbility.addTarget(new TargetCreaturePermanent(filter));
Effect loseArtifactEffect = new LoseArtifactTypeTargetEffect(Duration.EndOfTurn); Effect loseArtifactEffect = new LoseArtifactTypeTargetEffect(Duration.EndOfTurn);
loseArtifactEffect.setText("and isn't an artifact"); loseArtifactEffect.setText("and isn't an artifact");

View file

@ -38,7 +38,7 @@ public final class NevinyrralsDisk extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility()); this.addAbility(new EntersBattlefieldTappedAbility());
// {1}, {tap}: Destroy all artifacts, creatures, and enchantments. // {1}, {tap}: Destroy all artifacts, creatures, and enchantments.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter, false), new ManaCostsImpl<>("{1}")); Ability ability = new SimpleActivatedAbility(new DestroyAllEffect(filter, false), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -43,13 +43,13 @@ public final class NewPrahvGuildmage extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {W}{U}: Target creature gains flying until end of turn. // {W}{U}: Target creature gains flying until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}{U}")); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}{U}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
// {3}{W}{U}: Detain target nonland permanent an opponent controls. // {3}{W}{U}: Detain target nonland permanent an opponent controls.
// (Until your next turn, that permanent can't attack or block and its activated abilities can't be activated.) // (Until your next turn, that permanent can't attack or block and its activated abilities can't be activated.)
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DetainTargetEffect(), new ManaCostsImpl<>("{3}{W}{U}")); ability = new SimpleActivatedAbility(new DetainTargetEffect(), new ManaCostsImpl<>("{3}{W}{U}"));
TargetNonlandPermanent target = new TargetNonlandPermanent(filter); TargetNonlandPermanent target = new TargetNonlandPermanent(filter);
ability.addTarget(target); ability.addTarget(target);
this.addAbility(ability); this.addAbility(ability);

View file

@ -50,7 +50,7 @@ public final class NezahalPrimalTide extends CardImpl {
new DrawCardSourceControllerEffect(1), StaticFilters.FILTER_SPELL_A_NON_CREATURE, false, SetTargetPointer.NONE)); new DrawCardSourceControllerEffect(1), StaticFilters.FILTER_SPELL_A_NON_CREATURE, false, SetTargetPointer.NONE));
// Discard three cards: Exile Nezahal. Return it to the battlefield tapped under its owner's control at the beginning of the next end step. // Discard three cards: Exile Nezahal. Return it to the battlefield tapped under its owner's control at the beginning of the next end step.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(true), this.addAbility(new SimpleActivatedAbility(new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(true),
new DiscardTargetCost(new TargetCardInHand(3, StaticFilters.FILTER_CARD_CARDS)))); new DiscardTargetCost(new TargetCardInHand(3, StaticFilters.FILTER_CARD_CARDS))));
} }

View file

@ -44,7 +44,7 @@ public final class NezumiGraverobber extends CardImpl {
this.flipCardName = "Nighteyes the Desecrator"; this.flipCardName = "Nighteyes the Desecrator";
// {1}{B}: Exile target card from an opponent's graveyard. If no cards are in that graveyard, flip Nezumi Graverobber. // {1}{B}: Exile target card from an opponent's graveyard. If no cards are in that graveyard, flip Nezumi Graverobber.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl<>("{1}{B}")); Ability ability = new SimpleActivatedAbility(new ExileTargetEffect(), new ManaCostsImpl<>("{1}{B}"));
Target target = new TargetCardInOpponentsGraveyard(new FilterCard("card from an opponent's graveyard")); Target target = new TargetCardInOpponentsGraveyard(new FilterCard("card from an opponent's graveyard"));
ability.addTarget(target); ability.addTarget(target);
ability.addEffect(new NezumiGraverobberFlipEffect()); ability.addEffect(new NezumiGraverobberFlipEffect());
@ -105,7 +105,7 @@ class NighteyesTheDesecratorToken extends TokenImpl {
power = new MageInt(4); power = new MageInt(4);
toughness = new MageInt(2); toughness = new MageInt(2);
// {4}{B}: Put target creature card from a graveyard onto the battlefield under your control. // {4}{B}: Put target creature card from a graveyard onto the battlefield under your control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{4}{B}")); Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{4}{B}"));
ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD)); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -35,7 +35,7 @@ public final class NezumiShadowWatcher extends CardImpl {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// Sacrifice Nezumi Shadow-Watcher: Destroy target Ninja. // Sacrifice Nezumi Shadow-Watcher: Destroy target Ninja.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new SacrificeSourceCost()); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -37,7 +37,7 @@ public final class NezumiShortfang extends CardImpl {
this.flipCardName = "Stabwhisker the Odious"; this.flipCardName = "Stabwhisker the Odious";
// {1}{B}, {tap}: Target opponent discards a card. Then if that player has no cards in hand, flip Nezumi Shortfang. // {1}{B}, {tap}: Target opponent discards a card. Then if that player has no cards in hand, flip Nezumi Shortfang.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl<>("{1}{B}")); Ability ability = new SimpleActivatedAbility(new DiscardTargetEffect(1), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
ability.addEffect(new ConditionalOneShotEffect( ability.addEffect(new ConditionalOneShotEffect(

View file

@ -28,7 +28,7 @@ public final class NiallSilvain extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {G}{G}{G}{G}, {tap}: Regenerate target creature. // {G}{G}{G}{G}, {tap}: Regenerate target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{G}{G}{G}{G}")); Ability ability = new SimpleActivatedAbility(new RegenerateTargetEffect(), new ManaCostsImpl<>("{G}{G}{G}{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class NiblisOfTheBreath extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {U}, {tap}: You may tap or untap target creature. // {U}, {tap}: You may tap or untap target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MayTapOrUntapTargetEffect(), new ColoredManaCost(ColoredManaSymbol.U)); Ability ability = new SimpleActivatedAbility(new MayTapOrUntapTargetEffect(), new ColoredManaCost(ColoredManaSymbol.U));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -24,7 +24,7 @@ public final class NightSoil extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}{G}"); super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}{G}");
// {1}, Exile two creature cards from a single graveyard: Create a 1/1 green Saproling creature token. // {1}, Exile two creature cards from a single graveyard: Create a 1/1 green Saproling creature token.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken()), new GenericManaCost(1));
ability.addCost(new ExileFromGraveCost(new TargetCardInASingleGraveyard(2, 2, new FilterCreatureCard("creature cards")))); ability.addCost(new ExileFromGraveCost(new TargetCardInASingleGraveyard(2, 2, new FilterCreatureCard("creature cards"))));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -41,7 +41,7 @@ public final class NightfireGiant extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostSourceWhileControlsEffect(filter, 1, 1))); this.addAbility(new SimpleStaticAbility(new BoostSourceWhileControlsEffect(filter, 1, 1)));
// {4}{R}: Nightfire Giant deals 2 damage to any target. // {4}{R}: Nightfire Giant deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{4}{R}")); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{4}{R}"));
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);

View file

@ -34,12 +34,12 @@ public final class NightscapeApprentice extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {U}, {T}: Put target creature you control on top of its owner's library. // {U}, {T}: Put target creature you control on top of its owner's library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{U}")); Ability ability = new SimpleActivatedAbility(new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent()); ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
// {R}, {T}: Target creature gains first strike until end of turn. // {R}, {T}: Target creature gains first strike until end of turn.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(),
Duration.EndOfTurn), new ManaCostsImpl<>("{R}")); Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -42,7 +42,7 @@ public final class NightscapeFamiliar extends CardImpl {
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1))); this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
// {1}{B}: Regenerate Nightscape Familiar. // {1}{B}: Regenerate Nightscape Familiar.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
} }
private NightscapeFamiliar(final NightscapeFamiliar card) { private NightscapeFamiliar(final NightscapeFamiliar card) {

View file

@ -30,13 +30,13 @@ public final class NightscapeMaster extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {U}{U}, {tap}: Return target creature to its owner's hand. // {U}{U}, {tap}: Return target creature to its owner's hand.
Ability returnAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{U}{U}")); Ability returnAbility = new SimpleActivatedAbility(new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{U}{U}"));
returnAbility.addTarget(new TargetCreaturePermanent()); returnAbility.addTarget(new TargetCreaturePermanent());
returnAbility.addCost(new TapSourceCost()); returnAbility.addCost(new TapSourceCost());
this.addAbility(returnAbility); this.addAbility(returnAbility);
// {R}{R}, {tap}: Nightscape Master deals 2 damage to target creature. // {R}{R}, {tap}: Nightscape Master deals 2 damage to target creature.
Ability damageAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}{R}")); Ability damageAbility = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{R}{R}"));
damageAbility.addTarget(new TargetCreaturePermanent()); damageAbility.addTarget(new TargetCreaturePermanent());
damageAbility.addCost(new TapSourceCost()); damageAbility.addCost(new TapSourceCost());
this.addAbility(damageAbility); this.addAbility(damageAbility);

View file

@ -29,7 +29,7 @@ public final class NightwingShade extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")));
} }
private NightwingShade(final NightwingShade card) { private NightwingShade(final NightwingShade card) {

View file

@ -27,7 +27,7 @@ public final class NimReplica extends CardImpl {
this.subtype.add(SubType.ZOMBIE); this.subtype.add(SubType.ZOMBIE);
this.power = new MageInt(3); this.power = new MageInt(3);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -38,7 +38,7 @@ public final class NimShambler extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield))); this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(),
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE))); new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)));
} }

View file

@ -41,7 +41,7 @@ public final class NivMizzetDracogenius extends CardImpl {
this.addAbility(new DealsDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); this.addAbility(new DealsDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true));
// {U}{R}: Niv-Mizzet, Dracogenius deals 1 damage to any target. // {U}{R}: Niv-Mizzet, Dracogenius deals 1 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1),new ManaCostsImpl<>("{U}{R}")); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1),new ManaCostsImpl<>("{U}{R}"));
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -42,7 +42,7 @@ public final class NivMizzetTheFiremind extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
// {T}: Draw a card. // {T}: Draw a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new TapSourceCost()));
} }
private NivMizzetTheFiremind(final NivMizzetTheFiremind card) { private NivMizzetTheFiremind(final NivMizzetTheFiremind card) {

View file

@ -33,7 +33,7 @@ public final class NivixAerieOfTheFiremind extends CardImpl {
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
// {2}{U}{R}, {tap}: Exile the top card of your library. Until your next turn, you may cast that card if it's an instant or sorcery card. // {2}{U}{R}, {tap}: Exile the top card of your library. Until your next turn, you may cast that card if it's an instant or sorcery card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new NivixAerieOfTheFiremindEffect(), new ManaCostsImpl<>("{2}{U}{R}")); Ability ability = new SimpleActivatedAbility(new NivixAerieOfTheFiremindEffect(), new ManaCostsImpl<>("{2}{U}{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -43,10 +43,10 @@ public final class NivixGuildmage extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {1}{U}{R}: Draw a card, then discard a card. // {1}{U}{R}: Draw a card, then discard a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new ManaCostsImpl<>("{1}{U}{R}"))); this.addAbility(new SimpleActivatedAbility(new DrawDiscardControllerEffect(), new ManaCostsImpl<>("{1}{U}{R}")));
// {2}{U}{R}: Copy target instant or sorcery spell you control. You may choose new targets for the copy. // {2}{U}{R}: Copy target instant or sorcery spell you control. You may choose new targets for the copy.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetStackObjectEffect(), new ManaCostsImpl<>("{2}{U}{R}")); Ability ability = new SimpleActivatedAbility(new CopyTargetStackObjectEffect(), new ManaCostsImpl<>("{2}{U}{R}"));
ability.addTarget(new TargetSpell(filter)); ability.addTarget(new TargetSpell(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -28,7 +28,7 @@ public final class NoblePanther extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {1}: Noble Panther gains first strike until end of turn. // {1}: Noble Panther gains first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}"))); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
} }
private NoblePanther(final NoblePanther card) { private NoblePanther(final NoblePanther card) {

View file

@ -30,7 +30,7 @@ public final class NobleVestige extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
ability.addTarget(new TargetPlayerOrPlaneswalker()); ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -44,7 +44,7 @@ public final class NomadMythmaker extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {W}, {tap}: Put target Aura card from a graveyard onto the battlefield under your control attached to a creature you control. // {W}, {tap}: Put target Aura card from a graveyard onto the battlefield under your control attached to a creature you control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new NomadMythmakerEffect(), new ManaCostsImpl<>("{W}")); Ability ability = new SimpleActivatedAbility(new NomadMythmakerEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCardInGraveyard(1, FILTER)); ability.addTarget(new TargetCardInGraveyard(1, FILTER));
this.addAbility(ability); this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class NomadsEnKor extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {0}: The next 1 damage that would be dealt to Nomads en-Kor this turn is dealt to target creature you control instead. // {0}: The next 1 damage that would be dealt to Nomads en-Kor this turn is dealt to target creature you control instead.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); Ability ability = new SimpleActivatedAbility(new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new GenericManaCost(0));
ability.addTarget(new TargetControlledCreaturePermanent()); ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,7 +30,7 @@ public final class NooseConstrictor extends CardImpl {
this.addAbility(ReachAbility.getInstance()); this.addAbility(ReachAbility.getInstance());
// Discard a card: Noose Constrictor gets +1/+1 until end of turn. // Discard a card: Noose Constrictor gets +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new DiscardCardCost())); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new DiscardCardCost()));
} }
private NooseConstrictor(final NooseConstrictor card) { private NooseConstrictor(final NooseConstrictor card) {

View file

@ -55,7 +55,7 @@ public final class Norritt extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {T}: Untap target blue creature. // {T}: Untap target blue creature.
Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new TapSourceCost()); Ability ability1 = new SimpleActivatedAbility(new UntapTargetEffect(), new TapSourceCost());
ability1.addTarget(new TargetCreaturePermanent(filterBlue)); ability1.addTarget(new TargetCreaturePermanent(filterBlue));
this.addAbility(ability1); this.addAbility(ability1);

View file

@ -38,7 +38,7 @@ public final class NorthernPaladin extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {W}{W}, {tap}: Destroy target black permanent. // {W}{W}, {tap}: Destroy target black permanent.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{W}{W}")); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{W}{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -36,7 +36,7 @@ public final class NosyGoblin extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {tap}, Sacrifice Nosy Goblin: Destroy target face-down creature. // {tap}, Sacrifice Nosy Goblin: Destroy target face-down creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class NotoriousAssassin extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {2}{B}, {tap}, Discard a card: Destroy target nonblack creature. It can't be regenerated. // {2}{B}, {tap}, Discard a card: Destroy target nonblack creature. It can't be regenerated.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(true), new ManaCostsImpl<>("{2}{B}")); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(true), new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK)); ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK));

View file

@ -30,7 +30,7 @@ public final class NovaCleric extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {2}{W}, {tap}, Sacrifice Nova Cleric: Destroy all enchantments. // {2}{W}, {tap}, Sacrifice Nova Cleric: Destroy all enchantments.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments")), new ManaCostsImpl<>("{2}{W}")); Ability ability = new SimpleActivatedAbility(new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments")), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class NovaPentacle extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// {3}, {tap}: The next time a source of your choice would deal damage to you this turn, that damage is dealt to target creature of an opponent's choice instead // {3}, {tap}: The next time a source of your choice would deal damage to you this turn, that damage is dealt to target creature of an opponent's choice instead
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new NovaPentacleEffect(), new GenericManaCost(3)); Ability ability = new SimpleActivatedAbility(new NovaPentacleEffect(), new GenericManaCost(3));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetOpponentsChoicePermanent(1, 1, new FilterCreaturePermanent(), false)); ability.addTarget(new TargetOpponentsChoicePermanent(1, 1, new FilterCreaturePermanent(), false));
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class NovijenHeartOfProgress extends CardImpl {
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
// {G}{U}, {T}: Put a +1/+1 counter on each creature that entered the battlefield this turn. // {G}{U}, {T}: Put a +1/+1 counter on each creature that entered the battlefield this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new NovijenHeartOfProgressEffect(), new ManaCostsImpl<>("{G}{U}")); Ability ability = new SimpleActivatedAbility(new NovijenHeartOfProgressEffect(), new ManaCostsImpl<>("{G}{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -43,7 +43,7 @@ public final class NovijenSages extends CardImpl {
this.addAbility(new GraftAbility(this, 4)); this.addAbility(new GraftAbility(this, 4));
// {1}, Remove two +1/+1 counters from among creatures you control: Draw a card. // {1}, Remove two +1/+1 counters from among creatures you control: Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
ability.addCost(new RemoveCounterCost(new TargetPermanent(1, 2, filter, true), CounterType.P1P1, 2)); ability.addCost(new RemoveCounterCost(new TargetPermanent(1, 2, filter, true), CounterType.P1P1, 2));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -38,7 +38,7 @@ public final class NoxiousField extends CardImpl {
Ability ability = new EnchantAbility(auraTarget); Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability); this.addAbility(ability);
// Enchanted land has "{tap}: This land deals 1 damage to each creature and each player." // Enchanted land has "{tap}: This land deals 1 damage to each creature and each player."
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new TapSourceCost()); ability = new SimpleActivatedAbility(new DamageEverythingEffect(1), new TapSourceCost());
Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA); Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA);
effect.setText("Enchanted land has \"{T}: This land deals 1 damage to each creature and each player.\""); effect.setText("Enchanted land has \"{T}: This land deals 1 damage to each creature and each player.\"");
this.addAbility(new SimpleStaticAbility(effect)); this.addAbility(new SimpleStaticAbility(effect));

View file

@ -20,7 +20,7 @@ public final class NuisanceEngine extends CardImpl {
public NuisanceEngine(UUID ownerId, CardSetInfo setInfo) { public NuisanceEngine(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new PestToken(), 1), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new PestToken(), 1), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -25,7 +25,7 @@ public final class NullBrooch extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// {2}, {tap}, Discard your hand: Counter target noncreature spell. // {2}, {tap}, Discard your hand: Counter target noncreature spell.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{2}")); Ability ability = new SimpleActivatedAbility(new CounterTargetEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new DiscardHandCost()); ability.addCost(new DiscardHandCost());
ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE)); ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE));

View file

@ -36,7 +36,7 @@ public final class NullChampion extends LevelerCard {
Abilities<Ability> abilities1 = new AbilitiesImpl<>(); Abilities<Ability> abilities1 = new AbilitiesImpl<>();
Abilities<Ability> abilities2 = new AbilitiesImpl<>(); Abilities<Ability> abilities2 = new AbilitiesImpl<>();
abilities2.add(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"))); abilities2.add(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
this.addAbilities(LevelerCardBuilder.construct( this.addAbilities(LevelerCardBuilder.construct(
new LevelerCardBuilder.LevelAbility(1, 3, abilities1, 4, 2), new LevelerCardBuilder.LevelAbility(1, 3, abilities1, 4, 2),

View file

@ -37,7 +37,7 @@ public final class NullmageAdvocate extends CardImpl {
// {tap}: Return two target cards from an opponent's graveyard to their hand. Destroy target artifact or enchantment. // {tap}: Return two target cards from an opponent's graveyard to their hand. Destroy target artifact or enchantment.
Effect effect = new ReturnFromGraveyardToHandTargetEffect(); Effect effect = new ReturnFromGraveyardToHandTargetEffect();
effect.setText("Return two target cards from an opponent's graveyard to their hand"); effect.setText("Return two target cards from an opponent's graveyard to their hand");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); Ability ability = new SimpleActivatedAbility(effect, new TapSourceCost());
effect = new DestroyTargetEffect("Destroy target artifact or enchantment"); effect = new DestroyTargetEffect("Destroy target artifact or enchantment");
effect.setTargetPointer(new SecondTargetPointer()); effect.setTargetPointer(new SecondTargetPointer());

View file

@ -39,7 +39,7 @@ public final class NullmageShepherd extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// Tap four untapped creatures you control: Destroy target artifact or enchantment. // Tap four untapped creatures you control: Destroy target artifact or enchantment.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapTargetCost(new TargetControlledCreaturePermanent(4, 4, filterCost, true))); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new TapTargetCost(new TargetControlledCreaturePermanent(4, 4, filterCost, true)));
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,7 +31,7 @@ public final class NumaiOutcast extends CardImpl {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new BushidoAbility(2)); this.addAbility(new BushidoAbility(2));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ColoredManaCost(ColoredManaSymbol.B)); Ability ability = new SimpleActivatedAbility(new RegenerateSourceEffect(), new ColoredManaCost(ColoredManaSymbol.B));
ability.addCost(new PayLifeCost(5)); ability.addCost(new PayLifeCost(5));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,7 +31,7 @@ public final class NurturingLicid extends CardImpl {
this.addAbility(new LicidAbility(new ColoredManaCost(ColoredManaSymbol.G), new ColoredManaCost(ColoredManaSymbol.G))); this.addAbility(new LicidAbility(new ColoredManaCost(ColoredManaSymbol.G), new ColoredManaCost(ColoredManaSymbol.G)));
// {G}: Regenerate enchanted creature. // {G}: Regenerate enchanted creature.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), new ColoredManaCost(ColoredManaSymbol.G))); this.addAbility(new SimpleActivatedAbility(new RegenerateAttachedEffect(AttachmentType.AURA), new ColoredManaCost(ColoredManaSymbol.G)));
} }
private NurturingLicid(final NurturingLicid card) { private NurturingLicid(final NurturingLicid card) {

View file

@ -48,7 +48,7 @@ public final class NuteGunray extends CardImpl {
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new GenericManaCost(1)), new FilterArtifactPermanent())); this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new GenericManaCost(1)), new FilterArtifactPermanent()));
// {1}{T}, Sacrifice a non-token artifact: Create a 1/1 colorless Battle Droid artifact creature token. // {1}{T}, Sacrifice a non-token artifact: Create a 1/1 colorless Battle Droid artifact creature token.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new DroidToken()), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new DroidToken()), new GenericManaCost(1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(filter)); ability.addCost(new SacrificeTargetCost(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -36,7 +36,7 @@ public final class NyxWeaver extends CardImpl {
// At the beginning of your upkeep, put the top two cards of your library into your graveyard. // At the beginning of your upkeep, put the top two cards of your library into your graveyard.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(2))); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(2)));
// {1}{B}{G}, Exile Nyx Weaver: Return target card from your graveyard to your hand. // {1}{B}{G}, Exile Nyx Weaver: Return target card from your graveyard to your hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{1}{B}{G}")); Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{1}{B}{G}"));
ability.addCost(new ExileSourceCost()); ability.addCost(new ExileSourceCost());
ability.addTarget(new TargetCardInYourGraveyard()); ability.addTarget(new TargetCardInYourGraveyard());
this.addAbility(ability); this.addAbility(ability);

View file

@ -23,7 +23,7 @@ public final class Oasis extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},""); super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
// {tap}: Prevent the next 1 damage that would be dealt to target creature this turn. // {tap}: Prevent the next 1 damage that would be dealt to target creature this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -37,7 +37,7 @@ public final class OathOfLimDul extends CardImpl {
this.addAbility(new OathOfLimDulTriggeredAbility()); this.addAbility(new OathOfLimDulTriggeredAbility());
// {B}{B}: Draw a card. // {B}{B}: Draw a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{B}{B}"))); this.addAbility(new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{B}{B}")));
} }

View file

@ -28,25 +28,25 @@ public final class ObeliskOfAlara extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}");
// {1}{W}, {tap}: You gain 5 life. // {1}{W}, {tap}: You gain 5 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(5), new ManaCostsImpl<>("{1}{W}")); Ability ability = new SimpleActivatedAbility(new GainLifeEffect(5), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
// {1}{U}, {tap}: Draw a card, then discard a card. // {1}{U}, {tap}: Draw a card, then discard a card.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new ManaCostsImpl<>("{1}{U}")); ability = new SimpleActivatedAbility(new DrawDiscardControllerEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
// {1}{B}, {tap}: Target creature gets -2/-2 until end of turn. // {1}{B}, {tap}: Target creature gets -2/-2 until end of turn.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")); ability = new SimpleActivatedAbility(new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
// {1}{R}, {tap}: Obelisk of Alara deals 3 damage to target player. // {1}{R}, {tap}: Obelisk of Alara deals 3 damage to target player.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl<>("{1}{R}")); ability = new SimpleActivatedAbility(new DamageTargetEffect(3), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayerOrPlaneswalker()); ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability); this.addAbility(ability);
// {1}{G}, {tap}: Target creature gets +4/+4 until end of turn. // {1}{G}, {tap}: Target creature gets +4/+4 until end of turn.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(4, 4, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{G}")); ability = new SimpleActivatedAbility(new BoostTargetEffect(4, 4, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class ObeliskOfUndoing extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {6}, {tap}: Return target permanent you both own and control to your hand. // {6}, {tap}: Return target permanent you both own and control to your hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{6}")); Ability ability = new SimpleActivatedAbility(new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{6}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledPermanent(filter)); ability.addTarget(new TargetControlledPermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -41,7 +41,7 @@ public final class OblivionCrown extends CardImpl {
this.addAbility(new EnchantAbility(auraTarget)); this.addAbility(new EnchantAbility(auraTarget));
// Enchanted creature has "Discard a card: This creature gets +1/+1 until end of turn." // Enchanted creature has "Discard a card: This creature gets +1/+1 until end of turn."
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn),new DiscardCardCost()), AttachmentType.AURA))); this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn),new DiscardCardCost()), AttachmentType.AURA)));
} }
private OblivionCrown(final OblivionCrown card) { private OblivionCrown(final OblivionCrown card) {

View file

@ -29,12 +29,12 @@ public final class OblivionStone extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
// {4}, {tap}: Put a fate counter on target permanent. // {4}, {tap}: Put a fate counter on target permanent.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.FATE.createInstance()), new GenericManaCost(4)); Ability ability = new SimpleActivatedAbility(new AddCountersTargetEffect(CounterType.FATE.createInstance()), new GenericManaCost(4));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent()); ability.addTarget(new TargetPermanent());
this.addAbility(ability); this.addAbility(ability);
// {5}, {tap}, Sacrifice Oblivion Stone: Destroy each nonland permanent without a fate counter on it, then remove all fate counters from all permanents. // {5}, {tap}, Sacrifice Oblivion Stone: Destroy each nonland permanent without a fate counter on it, then remove all fate counters from all permanents.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new OblivionStoneEffect(), new GenericManaCost(5)); ability = new SimpleActivatedAbility(new OblivionStoneEffect(), new GenericManaCost(5));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -39,7 +39,7 @@ public final class OboroBreezecaller extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {2}, Return a land you control to its owner's hand: Untap target land. // {2}, Return a land you control to its owner's hand: Untap target land.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new UntapTargetEffect(), new GenericManaCost(2));
ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter))); ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetLandPermanent()); ability.addTarget(new TargetLandPermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -24,7 +24,7 @@ public final class OboroPalaceInTheClouds extends CardImpl {
// {tap}: Add {U}. // {tap}: Add {U}.
this.addAbility(new BlueManaAbility()); this.addAbility(new BlueManaAbility());
// {1}: Return Oboro, Palace in the Clouds to its owner's hand. // {1}: Return Oboro, Palace in the Clouds to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new GenericManaCost(1))); this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new GenericManaCost(1)));
} }
private OboroPalaceInTheClouds(final OboroPalaceInTheClouds card) { private OboroPalaceInTheClouds(final OboroPalaceInTheClouds card) {

View file

@ -28,7 +28,7 @@ public final class ObscuringAether extends CardImpl {
// {1}{G}: Turn Obscuring Aether face down. // {1}{G}: Turn Obscuring Aether face down.
Effect effect = new BecomesFaceDownCreatureEffect(Duration.Custom, BecomesFaceDownCreatureEffect.FaceDownType.MANUAL); Effect effect = new BecomesFaceDownCreatureEffect(Duration.Custom, BecomesFaceDownCreatureEffect.FaceDownType.MANUAL);
effect.setText("Turn {this} face down. <i>(It becomes a 2/2 creature.)</i>"); effect.setText("Turn {this} face down. <i>(It becomes a 2/2 creature.)</i>");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{G}"))); this.addAbility(new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{1}{G}")));
} }

View file

@ -32,10 +32,10 @@ public final class ObsessiveStitcher extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {T}: Draw a card, then discard a card. // {T}: Draw a card, then discard a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(new DrawDiscardControllerEffect(), new TapSourceCost()));
// {2}{U}{B}, {T}, Sacrifice Obsessive Stitcher: Return target creature card from your graveyard to the battlefield. // {2}{U}{B}, {T}, Sacrifice Obsessive Stitcher: Return target creature card from your graveyard to the battlefield.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{2}{U}{B}")); Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{2}{U}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));

View file

@ -41,11 +41,11 @@ public final class OcularHalo extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
// Enchanted creature has "{tap}: Draw a card." // Enchanted creature has "{tap}: Draw a card."
Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); Ability gainAbility = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new TapSourceCost());
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainAbility, AttachmentType.AURA))); this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainAbility, AttachmentType.AURA)));
// {W}: Enchanted creature gains vigilance until end of turn. // {W}: Enchanted creature gains vigilance until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), this.addAbility(new SimpleActivatedAbility(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(),
AttachmentType.AURA, Duration.EndOfTurn), new ManaCostsImpl<>("{W}"))); AttachmentType.AURA, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
} }

View file

@ -25,7 +25,7 @@ public final class OdiousTrow extends CardImpl {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B/G}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B/G}")));
} }
private OdiousTrow(final OdiousTrow card) { private OdiousTrow(final OdiousTrow card) {

View file

@ -41,7 +41,7 @@ public final class OdunosRiverTrawler extends CardImpl {
ability.addTarget(new TargetCardInYourGraveyard(filter)); ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability); this.addAbility(ability);
// {W}, Sacrifice Odunos River Trawler: Return target enchantment creature card from your graveyard to your hand. // {W}, Sacrifice Odunos River Trawler: Return target enchantment creature card from your graveyard to your hand.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{W}")); ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addTarget(new TargetCardInYourGraveyard(filter)); ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,7 +31,7 @@ public final class OgreMenial extends CardImpl {
this.addAbility(InfectAbility.getInstance()); this.addAbility(InfectAbility.getInstance());
// {R}: Ogre Menial gets +1/+0 until end of turn. // {R}: Ogre Menial gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
} }
private OgreMenial(final OgreMenial card) { private OgreMenial(final OgreMenial card) {

View file

@ -29,7 +29,7 @@ public final class OgreShaman extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {2}, Discard a card at random: Ogre Shaman deals 2 damage to any target. // {2}, Discard a card at random: Ogre Shaman deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new GenericManaCost(2));
ability.addCost(new DiscardCardCost(true)); ability.addCost(new DiscardCardCost(true));
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);

View file

@ -38,7 +38,7 @@ public final class OhranYeti extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {2}{S}: Target snow creature gains first strike until end of turn. // {2}{S}: Target snow creature gains first strike until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect( Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(
FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{S}")); FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{S}"));
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class OjutaiMonument extends CardImpl {
this.addAbility(new BlueManaAbility()); this.addAbility(new BlueManaAbility());
// {4}{W}{U}: Ojutai Monument becomes a 4/4 white and blue Dragon artifact creature with flying until end of turn. // {4}{W}{U}: Ojutai Monument becomes a 4/4 white and blue Dragon artifact creature with flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect
(new OjutaiMonumentToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{W}{U}"))); (new OjutaiMonumentToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{W}{U}")));
} }

View file

@ -44,7 +44,7 @@ public final class OketraTheTrue extends CardImpl {
this.addAbility(new SimpleStaticAbility(new OketraTheTrueRestrictionEffect())); this.addAbility(new SimpleStaticAbility(new OketraTheTrueRestrictionEffect()));
// {3}{W}: Create a 1/1 white Warrior creature token with vigilance. // {3}{W}: Create a 1/1 white Warrior creature token with vigilance.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new WarriorVigilantToken()), new ManaCostsImpl<>("{3}{W}"))); this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new WarriorVigilantToken()), new ManaCostsImpl<>("{3}{W}")));
} }
private OketraTheTrue(final OketraTheTrue card) { private OketraTheTrue(final OketraTheTrue card) {

View file

@ -30,7 +30,7 @@ public final class OkinaTempleToTheGrandfathers extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},null); super(ownerId,setInfo,new CardType[]{CardType.LAND},null);
this.supertype.add(SuperType.LEGENDARY); this.supertype.add(SuperType.LEGENDARY);
this.addAbility(new GreenManaAbility()); this.addAbility(new GreenManaAbility());
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.G)); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.G));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -45,7 +45,7 @@ public final class OliviasBloodsworn extends CardImpl {
this.addAbility(new CantBlockAbility()); this.addAbility(new CantBlockAbility());
// {R}: Target Vampire gains haste until end of turn. // {R}: Target Vampire gains haste until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -28,7 +28,7 @@ public final class OliviasDragoon extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// Discard a card: Olivia's Dragoon gains flying until end of turn. // Discard a card: Olivia's Dragoon gains flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new DiscardCardCost())); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new DiscardCardCost()));
} }
private OliviasDragoon(final OliviasDragoon card) { private OliviasDragoon(final OliviasDragoon card) {

View file

@ -30,7 +30,7 @@ public final class Omnibian extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {T}: Target creature becomes a 3/3 Frog until end of turn. // {T}: Target creature becomes a 3/3 Frog until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureTargetEffect( Ability ability = new SimpleActivatedAbility(new BecomesCreatureTargetEffect(
new CreatureToken(3, 3, "Frog with base power and toughness 3/3", SubType.FROG), new CreatureToken(3, 3, "Frog with base power and toughness 3/3", SubType.FROG),
false, false, Duration.EndOfTurn), new TapSourceCost()); false, false, Duration.EndOfTurn), new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -29,7 +29,7 @@ public final class OngoingInvestigation extends CardImpl {
this.addAbility(new DealCombatDamageControlledTriggeredAbility(new InvestigateEffect())); this.addAbility(new DealCombatDamageControlledTriggeredAbility(new InvestigateEffect()));
// {1}{G}, Exile a creature card from your graveyard: Investigate. You gain 2 life. // {1}{G}, Exile a creature card from your graveyard: Investigate. You gain 2 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new InvestigateEffect().setText("investigate"), new ManaCostsImpl<>("{1}{G}")); Ability ability = new SimpleActivatedAbility(new InvestigateEffect().setText("investigate"), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("a creature card from your graveyard")))); ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("a creature card from your graveyard"))));
ability.addEffect(new GainLifeEffect(2)); ability.addEffect(new GainLifeEffect(2));
this.addAbility(ability); this.addAbility(ability);

Some files were not shown because too many files have changed in this diff Show more