refactor: SimpleStaticAbility default zone (cards N O P)

This commit is contained in:
xenohedron 2024-11-16 22:14:29 -05:00
parent ee2b430479
commit 701896bd81
200 changed files with 223 additions and 225 deletions

View file

@ -59,7 +59,7 @@ public final class NaruMehaMasterWizard extends CardImpl {
this.addAbility(ability);
//Other Wizards you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, wizardFilter, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, wizardFilter, true)));
}
private NaruMehaMasterWizard(final NaruMehaMasterWizard card) {

View file

@ -31,7 +31,7 @@ public final class NathsElite extends CardImpl {
this.toughness = new MageInt(2);
// All creatures able to block Nath's Elite do so.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAllSourceEffect(Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new MustBeBlockedByAllSourceEffect(Duration.WhileOnBattlefield)));
// When Nath's Elite enters the battlefield, clash with an opponent. If you win, put a +1/+1 counter on Nath's Elite.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoIfClashWonEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance()))));

View file

@ -24,7 +24,7 @@ public final class NaturesRevolt extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}{G}");
// All lands are 2/2 creatures that are still lands.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureAllEffect(
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAllEffect(
new CreatureToken(2, 2, "2/2 creatures"),
"lands", filter, Duration.WhileOnBattlefield, false)));
}

View file

@ -45,7 +45,7 @@ public final class NayaHushblade extends CardImpl {
this.toughness = new MageInt(1);
// As long as you control another multicolored permanent, Naya Hushblade gets +1/+1 and has shroud.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(1,1, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter),
"As long as you control another multicolored permanent, Naya Hushblade gets +1/+1"));

View file

@ -37,7 +37,7 @@ public final class NazgulBattleMace extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has menace, deathtouch, annihilator 1, and
// "Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life."
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(new MenaceAbility(false), AttachmentType.EQUIPMENT));
Ability ability = new SimpleStaticAbility(new GainAbilityAttachedEffect(new MenaceAbility(false), AttachmentType.EQUIPMENT));
ability.addEffect(new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT).setText(", deathtouch"));
ability.addEffect(new GainAbilityAttachedEffect(new AnnihilatorAbility(1), AttachmentType.EQUIPMENT).setText(", annihilator 1"));
Ability sacTriggerAbility = new SacrificePermanentTriggeredAbility(Zone.BATTLEFIELD,

View file

@ -32,7 +32,7 @@ public final class NearheathPilgrim extends CardImpl {
this.addAbility(new SoulbondAbility());
// As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityPairedEffect(LifelinkAbility.getInstance(), ruleText)));
this.addAbility(new SimpleStaticAbility(new GainAbilityPairedEffect(LifelinkAbility.getInstance(), ruleText)));
}
private NearheathPilgrim(final NearheathPilgrim card) {

View file

@ -51,11 +51,11 @@ public final class NecromancersMagemark extends CardImpl {
this.addAbility(ability);
// Creatures you control that are enchanted get +1/+1.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false));
ability = new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false));
this.addAbility(ability);
// If a creature you control that's enchanted would die, return it to its owner's hand instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NecromancersMagemarkEffect()));
this.addAbility(new SimpleStaticAbility(new NecromancersMagemarkEffect()));
}
private NecromancersMagemark(final NecromancersMagemark card) {

View file

@ -37,7 +37,7 @@ public final class Necropotence extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}{B}");
// Skip your draw step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipDrawStepEffect()));
this.addAbility(new SimpleStaticAbility(new SkipDrawStepEffect()));
// Whenever you discard a card, exile that card from your graveyard.
Effect effect = new ExileTargetEffect(null, "", Zone.GRAVEYARD);
effect.setText("exile that card from your graveyard");

View file

@ -28,8 +28,8 @@ public final class Necropouncer extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
this.addAbility(new LivingWeaponAbility());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 1)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(3, 1)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT)));
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), false));
}

View file

@ -47,7 +47,7 @@ public final class NecroticPlague extends CardImpl {
ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect());
Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature.\"");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
ability = new DiesAttachedTriggeredAbility(new NecroticPlagueEffect(), "enchanted creature", false);
ability.setTargetAdjuster(NecroticPlagueAdjuster.instance);

View file

@ -33,10 +33,10 @@ public final class NefariousLich extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{B}{B}{B}");
// If damage would be dealt to you, exile that many cards from your graveyard instead. If you can't, you lose the game.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NefariousLichDamageReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new NefariousLichDamageReplacementEffect()));
// If you would gain life, draw that many cards instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NefariousLichLifeGainReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new NefariousLichLifeGainReplacementEffect()));
// When Nefarious Lich leaves the battlefield, you lose the game.
this.addAbility(new LeavesBattlefieldTriggeredAbility(new LoseGameSourceControllerEffect(), false));

View file

@ -32,7 +32,7 @@ public final class NeglectedHeirloom extends CardImpl {
this.secondSideCardClazz = mage.cards.a.AshmouthBlade.class;
// Equipped creature gets +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(1, 1)));
// When equipped creature transforms, transform Neglected Heirloom.
this.addAbility(new TransformAbility());
@ -87,4 +87,4 @@ class NeglectedHeirloomTriggeredAbility extends TriggeredAbilityImpl {
public String getRule() {
return "When equipped creature transforms, transform Neglected Heirloom.";
}
}
}

View file

@ -44,11 +44,11 @@ public final class NehebTheWorthy extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// Other Minotaurs you control have first strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter, true)));
// As long as you have one or fewer cards in hand, Minotaurs you control get +2/+0.
Condition condition = new CardsInHandCondition(ComparisonType.FEWER_THAN, 2);
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield, filter), condition, "As long as you have one or fewer cards in hand, Minotaurs you control get +2/+0"));
this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class NephaliaAcademy extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
// If a spell or ability an opponent controls causes you to discard a card, you may reveal that card and put it on top of your library instead of putting it anywhere else.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NephaliaAcademyEffect()));
this.addAbility(new SimpleStaticAbility(new NephaliaAcademyEffect()));
// {T}: Add {C}.
this.addAbility(new ColorlessManaAbility());
@ -135,4 +135,4 @@ class NephaliaAcademyEffect extends ReplacementEffectImpl {
return false;
}
}
}

View file

@ -29,10 +29,10 @@ public final class NerfHerder extends CardImpl {
this.toughness = new MageInt(3);
// Monstrosity abilities you activate cost {1} less to activate.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbilitiesCostReductionControllerEffect(MonstrosityAbility.class, "Monstrosity")));
this.addAbility(new SimpleStaticAbility(new AbilitiesCostReductionControllerEffect(MonstrosityAbility.class, "Monstrosity")));
// Each creature you control with a +1/+1 counter on it has trample.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
TrampleAbility.getInstance(),
Duration.WhileOnBattlefield,
StaticFilters.FILTER_CONTROLLED_CREATURE_P1P1))

View file

@ -37,7 +37,7 @@ public final class NettleSentinel extends CardImpl {
this.toughness = new MageInt(2);
// Nettle Sentinel doesn't untap during your untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
// Whenever you cast a green spell, you may untap Nettle Sentinel.
this.addAbility(new SpellCastControllerTriggeredAbility(new UntapSourceEffect(), filter, true));
}

View file

@ -22,7 +22,7 @@ public final class NeurokHoversail extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has flying.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.EQUIPMENT)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.EQUIPMENT)));
// Equip {2}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2)));
}

View file

@ -34,7 +34,7 @@ public final class NeurokSpy extends CardImpl {
new CantBeBlockedSourceEffect(),
new DefendingPlayerControlsSourceAttackingCondition(new FilterArtifactPermanent()));
effect.setText("{this} can't be blocked as long as defending player controls an artifact");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private NeurokSpy(final NeurokSpy card) {

View file

@ -31,7 +31,7 @@ public final class NeurokStealthsuit extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has shroud.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, 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.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl<>("{U}{U}"));
ability.addTarget(new TargetControlledCreaturePermanent());

View file

@ -30,7 +30,7 @@ public final class Nevermore extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ChooseACardNameEffect(ChooseACardNameEffect.TypeOfName.NON_LAND_NAME)));
// The named card can't be cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NevermoreEffect2()));
this.addAbility(new SimpleStaticAbility(new NevermoreEffect2()));
}

View file

@ -52,7 +52,7 @@ public final class NewHorizons extends CardImpl {
Ability gainedAbility = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(2), new TapSourceCost());
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA);
effect.setText("Enchanted land has \"{T}: Add two mana of any one color.\"");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private NewHorizons(final NewHorizons card) {

View file

@ -31,7 +31,7 @@ public final class NewPerspectives extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(3)));
// As long as you have seven or more cards in hand, you may pay {0} rather than pay cycling costs.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NewPerspectivesCostModificationEffect()));
this.addAbility(new SimpleStaticAbility(new NewPerspectivesCostModificationEffect()));
}
private NewPerspectives(final NewPerspectives card) {

View file

@ -43,7 +43,7 @@ public final class NezahalPrimalTide extends CardImpl {
// You have no maximum hand size.
Effect effect = new MaximumHandSizeControllerEffect(Integer.MAX_VALUE, Duration.WhileOnBattlefield, MaximumHandSizeControllerEffect.HandSizeModification.SET);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
// Whenever an opponent casts a noncreature spell, draw a card.
this.addAbility(new SpellCastOpponentTriggeredAbility(Zone.BATTLEFIELD,

View file

@ -26,7 +26,7 @@ public final class NightMarketGuard extends CardImpl {
this.toughness = new MageInt(1);
// Night Market Guard can block an additional creature each combat.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(Duration.WhileOnBattlefield, 1)));
this.addAbility(new SimpleStaticAbility(new CanBlockAdditionalCreatureEffect(Duration.WhileOnBattlefield, 1)));
}
private NightMarketGuard(final NightMarketGuard card) {

View file

@ -32,7 +32,7 @@ public final class NightRevelers extends CardImpl {
this.toughness = new MageInt(4);
// Night Revelers has haste as long as an opponent controls a Human.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new GainAbilitySourceEffect(HasteAbility.getInstance()),
new OpponentControlsPermanentCondition(filter),
"{this} has haste as long as an opponent controls a Human.")));

View file

@ -38,7 +38,7 @@ public final class NightfireGiant extends CardImpl {
this.toughness = new MageInt(3);
// Nightfire Giant gets +1/+1 as long as you control a Mountain.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(filter, 1, 1)));
this.addAbility(new SimpleStaticAbility(new BoostSourceWhileControlsEffect(filter, 1, 1)));
// {4}{R}: Nightfire Giant deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{4}{R}"));

View file

@ -30,7 +30,7 @@ public final class NightmareLash extends CardImpl {
// Equipped creature gets +1/+1 for each Swamp you control.
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(value, value)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(value, value)));
// Equip-Pay 3 life.
this.addAbility(new EquipAbility(Outcome.BoostCreature, new PayLifeCost(3)));
}

View file

@ -39,7 +39,7 @@ public final class NightscapeFamiliar extends CardImpl {
this.toughness = new MageInt(1);
// Blue spells and red spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
// {1}{B}: Regenerate Nightscape Familiar.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));

View file

@ -32,7 +32,7 @@ public final class NightshadePeddler extends CardImpl {
this.addAbility(new SoulbondAbility());
// As long as Nightshade Peddler is paired with another creature, both creatures have deathtouch.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityPairedEffect(DeathtouchAbility.getInstance(), ruleText)));
this.addAbility(new SimpleStaticAbility(new GainAbilityPairedEffect(DeathtouchAbility.getInstance(), ruleText)));
}
private NightshadePeddler(final NightshadePeddler card) {

View file

@ -53,7 +53,7 @@ public final class NightveilSpecter extends CardImpl {
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new NightveilSpecterExileEffect(), false, true));
// You may play cards exiled with Nightveil Specter.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NightveilSpecterEffect()));
this.addAbility(new SimpleStaticAbility(new NightveilSpecterEffect()));
}
private NightveilSpecter(final NightveilSpecter card) {

View file

@ -32,7 +32,7 @@ public final class NimLasher extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
}
private NimLasher(final NimLasher card) {

View file

@ -37,7 +37,7 @@ public final class NimShambler extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, 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(),
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)));
}

View file

@ -34,7 +34,7 @@ public final class NimShrieker extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
}
private NimShrieker(final NimShrieker card) {

View file

@ -35,7 +35,7 @@ public final class NimbusNaiad extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Enchanted creature gets +2/+2 and has flying.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2,2));
Ability ability = new SimpleStaticAbility(new BoostEnchantedEffect(2,2));
Effect effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA);
effect.setText("and has flying");
ability.addEffect(effect);

View file

@ -37,7 +37,7 @@ public final class NimbusWings extends CardImpl {
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
this.addAbility(new EnchantAbility(auraTarget));
// Enchanted creature gets +1/+2 and has flying.
SimpleStaticAbility ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 2, Duration.WhileOnBattlefield));
SimpleStaticAbility ability = new SimpleStaticAbility(new BoostEnchantedEffect(1, 2, Duration.WhileOnBattlefield));
ability.addEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA).setText("and has flying"));
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ public final class NissasChosen extends CardImpl {
this.toughness = new MageInt(3);
// If Nissa's Chosen would be put into a graveyard from the battlefield, put it on the bottom of its owner's library instead
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NissasChosenEffect()));
this.addAbility(new SimpleStaticAbility(new NissasChosenEffect()));
}
private NissasChosen(final NissasChosen card) {

View file

@ -37,7 +37,7 @@ public final class NivMizzetVisionary extends CardImpl {
// You have no maximum hand size.
Effect effect = new MaximumHandSizeControllerEffect(Integer.MAX_VALUE, Duration.WhileOnBattlefield, MaximumHandSizeControllerEffect.HandSizeModification.SET);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
// Whenever a source you control deals noncombat damage to an opponent, you draw that many cards.
this.addAbility(new NivMizzetVisionaryAbility());
@ -89,4 +89,4 @@ class NivMizzetVisionaryAbility extends TriggeredAbilityImpl {
public String getRule() {
return "Whenever a source you control deals noncombat damage to an opponent, you draw that many cards.";
}
}
}

View file

@ -36,14 +36,14 @@ public final class NobleQuarry extends CardImpl {
// All creatures able to block Noble Quarry or enchanted creature do so.
Effect effect = new MustBeBlockedByAllSourceEffect(Duration.WhileOnBattlefield);
effect.setText("All creatures able to block Noble Quarry");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
effect = new MustBeBlockedByAllAttachedEffect(Duration.WhileOnBattlefield, AttachmentType.AURA);
effect.setText("or enchanted creature do so");
ability.addEffect(effect);
this.addAbility(ability);
// Enchanted creature gets +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1,1, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1,1, Duration.WhileOnBattlefield)));
}
private NobleQuarry(final NobleQuarry card) {

View file

@ -50,7 +50,7 @@ public final class NogiDracoZealot extends CardImpl {
this.toughness = new MageInt(3);
// Dragon spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter2, 1)));
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter2, 1)));
// Whenever Nogi, Draco-Zealot attacks, if you control three or more Dragons, until end
// of turn, Nogi becomes a Dragon with base power and toughness 5/5 and gains flying.

View file

@ -24,7 +24,7 @@ public final class NorwoodRiders extends CardImpl {
this.toughness = new MageInt(3);
// Norwood Riders can't be blocked by more than one creature.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByMoreThanOneSourceEffect()));
this.addAbility(new SimpleStaticAbility(new CantBeBlockedByMoreThanOneSourceEffect()));
}
private NorwoodRiders(final NorwoodRiders card) {

View file

@ -37,7 +37,7 @@ public final class NotionThief extends CardImpl {
// Flash
this.addAbility(FlashAbility.getInstance());
// If an opponent would draw a card except the first one they draw in each of their draw steps, instead that player skips that draw and you draw a card.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NotionThiefReplacementEffect()), new CardsDrawnDuringDrawStepWatcher());
this.addAbility(new SimpleStaticAbility(new NotionThiefReplacementEffect()), new CardsDrawnDuringDrawStepWatcher());
}

View file

@ -40,7 +40,7 @@ public final class NoviceKnight extends CardImpl {
new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield),
EnchantedOrEquippedSourceCondition.instance);
effect.setText("As long as {this} is enchanted or equipped, it can attack as though it didn't have defender");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private NoviceKnight(final NoviceKnight card) {

View file

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

View file

@ -32,7 +32,7 @@ public final class NullChamber extends CardImpl {
// As Null Chamber enters the battlefield, you and an opponent each name a card other than a basic land card.
// The named cards can't be played.
this.addAbility(new AsEntersBattlefieldAbility(new NullChamberChooseEffect()));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NullChamberReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new NullChamberReplacementEffect()));
}

View file

@ -26,7 +26,7 @@ public final class NullProfusion extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{B}{B}");
// Skip your draw step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipDrawStepEffect()));
this.addAbility(new SimpleStaticAbility(new SkipDrawStepEffect()));
// Whenever you play a card, draw a card.
this.addAbility(new PlayCardTriggeredAbility(TargetController.YOU, Zone.BATTLEFIELD,
@ -51,4 +51,4 @@ public final class NullProfusion extends CardImpl {
public NullProfusion copy() {
return new NullProfusion(this);
}
}
}

View file

@ -22,7 +22,7 @@ public final class NullRod extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// Activated abilities of artifacts can't be activated.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NullRodCantActivateEffect()));
this.addAbility(new SimpleStaticAbility(new NullRodCantActivateEffect()));
}
private NullRod(final NullRod card) {

View file

@ -39,7 +39,7 @@ public final class NumbingDose extends CardImpl {
this.addAbility(new EnchantAbility(auraTarget));
// Enchanted permanent doesn't untap during its controller's untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect("permanent")));
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepEnchantedEffect("permanent")));
// At the beginning of the upkeep of enchanted permanent's controller, that player loses 1 life.
this.addAbility(new NumbingDoseTriggeredAbility());

View file

@ -35,7 +35,7 @@ public final class NyleasEmissary extends CardImpl {
// Trample
this.addAbility(TrampleAbility.getInstance());
// Enchanted creature gets +3/+3 and has trample.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3,3, Duration.WhileOnBattlefield));
Ability ability = new SimpleStaticAbility(new BoostEnchantedEffect(3,3, Duration.WhileOnBattlefield));
ability.addEffect(new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield,"and has trample"));
this.addAbility(ability);

View file

@ -46,7 +46,7 @@ public final class NyxInfusion extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +2/+2 as long as it's an enchantment. Otherwise, it gets -2/-2.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield),
new BoostEnchantedEffect(-2,-2,Duration.WhileOnBattlefield),
new AttachedToMatchesFilterCondition(filter),

View file

@ -39,7 +39,7 @@ public final class Nyxathid extends CardImpl {
// Nyxathid gets -1/-1 for each card in the chosen player's hand.
DynamicValue chosenPlayerHand = new SignInversionDynamicValue(new CardsInChosenPlayerHandCount());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(chosenPlayerHand, chosenPlayerHand, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(chosenPlayerHand, chosenPlayerHand, Duration.WhileOnBattlefield)));
}

View file

@ -29,7 +29,7 @@ public final class NyxbornEidolon extends CardImpl {
// Bestow {4}{B}
this.addAbility(new BestowAbility(this, "{4}{B}"));
// Enchanted creature gets +2/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield)));
}
private NyxbornEidolon(final NyxbornEidolon card) {

View file

@ -29,7 +29,7 @@ public final class NyxbornRollicker extends CardImpl {
// Bestow {1}{R}
this.addAbility(new BestowAbility(this, "{1}{R}"));
// Enchanted creature gets +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1,1, Duration.WhileOnBattlefield )));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1,1, Duration.WhileOnBattlefield )));
}
private NyxbornRollicker(final NyxbornRollicker card) {

View file

@ -30,7 +30,7 @@ public final class NyxbornShieldmate extends CardImpl {
// Bestow {2}{W}
this.addAbility(new BestowAbility(this, "{2}{W}"));
// Enchanted creature gets +1/+2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1,2, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1,2, Duration.WhileOnBattlefield)));
}
private NyxbornShieldmate(final NyxbornShieldmate card) {

View file

@ -29,7 +29,7 @@ public final class NyxbornTriton extends CardImpl {
// Bestow {4}{U}
this.addAbility(new BestowAbility(this, "{4}{U}"));
// Enchanted creature gets +2/+3.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2,3, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2,3, Duration.WhileOnBattlefield)));
}
private NyxbornTriton(final NyxbornTriton card) {

View file

@ -29,7 +29,7 @@ public final class NyxbornWolf extends CardImpl {
// Bestow {4}{G}
this.addAbility(new BestowAbility(this, "{4}{G}"));
// Enchanted creature gets +3/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3,1, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(3,1, Duration.WhileOnBattlefield)));
}
private NyxbornWolf(final NyxbornWolf card) {

View file

@ -47,7 +47,7 @@ public final class ONaginata extends CardImpl {
// Equipped creature gets +3/+0 and has trample.
Effect effect = new BoostEquippedEffect(3, 0);
effect.setText("Equipped creature gets +3/+0");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
effect = new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT);
effect.setText("and has trample");
ability.addEffect(effect);

View file

@ -38,7 +38,7 @@ public final class OakStreetInnkeeper extends CardImpl {
this.toughness = new MageInt(2);
// As long as it's not your turn, tapped creatures you control have hexproof.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, filter),
NotMyTurnCondition.instance,
"During turns other than yours, tapped creatures you control have hexproof"))

View file

@ -38,7 +38,7 @@ public final class Oakenform extends CardImpl {
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OakenformEffect()));
this.addAbility(new SimpleStaticAbility(new OakenformEffect()));
}
private Oakenform(final Oakenform card) {

View file

@ -29,7 +29,7 @@ public final class OathOfAjani extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), StaticFilters.FILTER_CONTROLLED_CREATURE)));
// Planeswalker spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(new FilterPlaneswalkerCard("Planeswalker spells"), 1)));
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(new FilterPlaneswalkerCard("Planeswalker spells"), 1)));
}
private OathOfAjani(final OathOfAjani card) {

View file

@ -43,7 +43,7 @@ public final class OathOfNissa extends CardImpl {
3, 1, filter, PutCards.HAND, PutCards.BOTTOM_ANY)));
// You may spend mana as though it were mana of any color to cast planeswalker spells.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OathOfNissaSpendAnyManaEffect()));
this.addAbility(new SimpleStaticAbility(new OathOfNissaSpendAnyManaEffect()));
}
private OathOfNissa(final OathOfNissa card) {

View file

@ -31,7 +31,7 @@ public final class OathOfTeferi extends CardImpl {
this.addAbility(ability);
// You may activate the loyalty abilities of planeswalkers you control twice each turn rather than only once.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OathOfTeferiLoyaltyEffect()));
this.addAbility(new SimpleStaticAbility(new OathOfTeferiLoyaltyEffect()));
}
private OathOfTeferi(final OathOfTeferi card) {

View file

@ -32,7 +32,7 @@ public final class OathkeeperTakenosDaisho extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +3/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 1, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(3, 1, Duration.WhileOnBattlefield)));
// Whenever equipped creature dies, return that card to the battlefield under your control if it's a Samurai card.
this.addAbility(new DiesAttachedTriggeredAbility(new ConditionalOneShotEffect(

View file

@ -32,7 +32,7 @@ public final class OathswornGiant extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// Other creatures you control get +0/+2 and have vigilance.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 2, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true));
Ability ability = new SimpleStaticAbility(new BoostControlledEffect(0, 2, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true));
ability.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true).setText("and have vigilance"));
this.addAbility(ability);
}

View file

@ -31,7 +31,7 @@ public final class ObeliskOfUrd extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.BoostCreature)));
// Creatures you control of the chosen type get +2/+2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ObeliskOfUrdBoostEffect()));
this.addAbility(new SimpleStaticAbility(new ObeliskOfUrdBoostEffect()));
}
private ObeliskOfUrd(final ObeliskOfUrd card) {

View file

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

View file

@ -23,7 +23,7 @@ public final class ObscuringAether extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}");
// Face-down creature spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new FaceDownSpellsCostReductionControllerEffect(1)));
this.addAbility(new SimpleStaticAbility(new FaceDownSpellsCostReductionControllerEffect(1)));
// {1}{G}: Turn Obscuring Aether face down.
Effect effect = new BecomesFaceDownCreatureEffect(Duration.Custom, BecomesFaceDownCreatureEffect.FaceDownType.MANUAL);

View file

@ -38,7 +38,7 @@ public final class ObservantAlseid extends CardImpl {
// Enchanted creature gets +2/+2 and has vigilance.
Effect effect = new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature gets +2/+2");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
effect = new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA);
effect.setText("and has vigilance");
ability.addEffect(effect);

View file

@ -31,7 +31,7 @@ public final class ObsidianBattleAxe extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +2/+1 and has haste.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 1));
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(2, 1));
ability.addEffect(new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT).setText("and has haste"));
this.addAbility(ability);
// Whenever a Warrior creature enters the battlefield, you may attach Obsidian Battle-Axe to it.

View file

@ -104,7 +104,7 @@ class ObsidianFireheartOneShotEffect extends OneShotEffect {
Duration.Custom, "");
// add a new independent ability that is not reliant on the source ability
SimpleStaticAbility gainAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
SimpleStaticAbility gainAbility = new SimpleStaticAbility(effect);
// set sourcecard of the independent ability to the targeted permanent of the source ability
gainAbility.setSourceId(targetLand.getId());

View file

@ -32,7 +32,7 @@ public final class ObstinateFamiliar extends CardImpl {
this.toughness = new MageInt(1);
// If you would draw a card, you may skip that draw instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ObstinateFamiliarReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new ObstinateFamiliarReplacementEffect()));
}
private ObstinateFamiliar(final ObstinateFamiliar card) {

View file

@ -29,7 +29,7 @@ public final class Occupation extends CardImpl {
// Creatures your opponents control enter the battlefield tapped.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OccupationTapEffect()));
this.addAbility(new SimpleStaticAbility(new OccupationTapEffect()));
// {W}{B}: Target creature can't attack or block this turn, and its activated abilities can't be activated until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,

View file

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

View file

@ -41,7 +41,7 @@ public final class OgreJailbreaker extends CardImpl {
new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter));
effect.setText("{this} can attack as though it didn't have defender as long as you control a Gate");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}

View file

@ -46,7 +46,7 @@ public final class OgreSlumlord extends CardImpl {
this.addAbility(new DiesCreatureTriggeredAbility(new CreateTokenEffect(new RatToken()), true, filter));
// Rats you control have deathtouch.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, filter2)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, filter2)));
}

View file

@ -26,7 +26,7 @@ public final class OgresCleaver extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +5/+0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(5, 0)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(5, 0)));
// Equip {5}
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(5), new TargetControlledCreaturePermanent(), false));

View file

@ -35,7 +35,7 @@ public final class OhabiCaleria extends CardImpl {
this.addAbility(ReachAbility.getInstance());
// Untap all Archers you control during each other player's untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UntapAllDuringEachOtherPlayersUntapStepEffect(filter)));
this.addAbility(new SimpleStaticAbility(new UntapAllDuringEachOtherPlayersUntapStepEffect(filter)));
// Whenever an Archer you control deals damage to a creature, you may pay {2}. If you do, draw a card.
this.addAbility(new DealsDamageToACreatureAllTriggeredAbility(new DoIfCostPaid(

View file

@ -41,7 +41,7 @@ public final class OketraTheTrue extends CardImpl {
this.addAbility(IndestructibleAbility.getInstance());
// Oketra the True can't attack or block unless you control three or more creatures.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OketraTheTrueRestrictionEffect()));
this.addAbility(new SimpleStaticAbility(new OketraTheTrueRestrictionEffect()));
// {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}")));

View file

@ -40,7 +40,7 @@ public final class OketrasMonument extends CardImpl {
this.supertype.add(SuperType.LEGENDARY);
// White creature spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
// Whenever you cast a creature spell, create a 1/1 white Warrior creature token with vigilance.
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new WarriorVigilantToken()), filter2, false));

View file

@ -30,7 +30,7 @@ public final class OkinaNightwatch extends CardImpl {
this.toughness = new MageInt(3);
// As long as you have more cards in hand than each opponent, Okina Nightwatch gets +3/+3.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(3,3, Duration.WhileOnBattlefield),
MoreCardsInHandThanOpponentsCondition.instance,
"As long as you have more cards in hand than each opponent, Okina Nightwatch gets +3/+3"));

View file

@ -29,10 +29,10 @@ public final class Okk extends CardImpl {
this.toughness = new MageInt(4);
// Okk can't attack unless a creature with greater power also attacks.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OkkAttackEffect()));
this.addAbility(new SimpleStaticAbility(new OkkAttackEffect()));
// Okk can't block unless a creature with greater power also blocks.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OkkBlockEffect()));
this.addAbility(new SimpleStaticAbility(new OkkBlockEffect()));
}
private Okk(final Okk card) {

View file

@ -30,7 +30,7 @@ public final class OmenMachine extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}");
// Players can't draw cards.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OmenMachineEffect()));
this.addAbility(new SimpleStaticAbility(new OmenMachineEffect()));
// At the beginning of each player's draw step, that player exiles the top card of their library. If it's a land card, the player puts it onto the battlefield. Otherwise, the player casts it without paying its mana cost if able.
this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new OmenMachineEffect2(), false));

View file

@ -19,7 +19,7 @@ public final class Omniscience extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{7}{U}{U}{U}");
// You may cast nonland cards from your hand without paying their mana costs.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastFromHandWithoutPayingManaCostEffect()));
this.addAbility(new SimpleStaticAbility(new CastFromHandWithoutPayingManaCostEffect()));
}
private Omniscience(final Omniscience card) {
@ -31,4 +31,3 @@ public final class Omniscience extends CardImpl {
return new Omniscience(this);
}
}

View file

@ -47,7 +47,7 @@ public final class OnSerrasWings extends CardImpl {
// Enchanted creature is legendary, gets +1/+1, and has flying, vigilance, and lifelink.
Effect effect = new AddCardSuperTypeAttachedEffect(SuperType.LEGENDARY, Duration.WhileOnBattlefield, AttachmentType.AURA);
effect.setText("Enchanted creature is legendary");
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
ability = new SimpleStaticAbility(effect);
effect = new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield);
effect.setText(", gets +1/+1");
ability.addEffect(effect);

View file

@ -39,7 +39,7 @@ public final class OneEyedScarecrow extends CardImpl {
this.addAbility(DefenderAbility.getInstance());
// Creatures with flying your opponents control get -1/-0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(-1, 0, Duration.WhileOnBattlefield, filter, false)));
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(-1, 0, Duration.WhileOnBattlefield, filter, false)));
}
private OneEyedScarecrow(final OneEyedScarecrow card) {

View file

@ -38,7 +38,7 @@ public final class OneThousandLashes extends CardImpl {
this.addAbility(ability);
// Enchanted creature can't attack or block, and its activated abilities can't be activated.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttackActivateAttachedEffect()));
this.addAbility(new SimpleStaticAbility(new CantBlockAttackActivateAttachedEffect()));
// At the beginning of the upkeep of enchanted creature's controller, that player loses 1 life.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new LoseLifeTargetEffect(1), false));

View file

@ -39,7 +39,7 @@ public final class OneWithTheWind extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +2/+2 and has flying.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
ability.addEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)
.setText("and has flying"));
this.addAbility(ability);

View file

@ -24,7 +24,7 @@ public final class Opalescence extends CardImpl {
// Each other non-Aura enchantment is a creature with power and
// toughness each equal to its converted mana cost. It's still an enchantment.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OpalescenceEffect()));
this.addAbility(new SimpleStaticAbility(new OpalescenceEffect()));
}

View file

@ -29,7 +29,7 @@ public final class OpalineBracers extends CardImpl {
// Sunburst
this.addAbility(new SunburstAbility(this));
// Equipped creature gets +X/+X, where X is the number of charge counters on Opaline Bracers.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CountersSourceCount(CounterType.CHARGE), new CountersSourceCount(CounterType.CHARGE))));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(new CountersSourceCount(CounterType.CHARGE), new CountersSourceCount(CounterType.CHARGE))));
// Equip {2}
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2)));
}

View file

@ -40,7 +40,7 @@ public final class OpenSeason extends CardImpl {
this.addAbility(ability);
// Creatures your opponent control with bounty counters on them can't activate abilities
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OpenSeasonRestrictionEffect()));
this.addAbility(new SimpleStaticAbility(new OpenSeasonRestrictionEffect()));
// Bounty - Whenever a creature an opponent controls with a bounty counter on it dies, that creature's controller loses 2 life. Each other player gains 2 life.
this.addAbility(new BountyAbility(new OpenSeasonEffect(), false, true));

View file

@ -36,10 +36,10 @@ public final class OppressiveRays extends CardImpl {
this.addAbility(ability);
// Enchanted creature can't attack or block unless its controller pays {3}.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackBlockUnlessPaysAttachedEffect(new ManaCostsImpl<>("{3}"), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new CantAttackBlockUnlessPaysAttachedEffect(new ManaCostsImpl<>("{3}"), AttachmentType.AURA)));
// Activated abilities of enchanted creature cost {3} more to activate.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OppressiveRaysCostModificationEffect()));
this.addAbility(new SimpleStaticAbility(new OppressiveRaysCostModificationEffect()));
}
private OppressiveRays(final OppressiveRays card) {

View file

@ -43,7 +43,7 @@ public final class OraclesInsight extends CardImpl {
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new TapSourceCost());
Effect effect = new DrawCardSourceControllerEffect(1).concatBy(", then");
ability.addEffect(effect);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.AURA, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability, AttachmentType.AURA, Duration.WhileOnBattlefield)));
}
private OraclesInsight(final OraclesInsight card) {

View file

@ -26,10 +26,10 @@ public final class OrbsOfWarding extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}");
// You have hexproof.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControllerEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new GainAbilityControllerEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield)));
// If a creature would deal damage to you, prevent 1 of that damage.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OrbsOfWardingEffect()));
this.addAbility(new SimpleStaticAbility(new OrbsOfWardingEffect()));
}
private OrbsOfWarding(final OrbsOfWarding card) {

View file

@ -24,7 +24,7 @@ public final class OrcishOriflamme extends CardImpl {
// Attacking creatures you control get +1/+0.
BoostControlledEffect boostEffect = new BoostControlledEffect(1, 0, Duration.WhileOnBattlefield, StaticFilters.FILTER_ATTACKING_CREATURES, false);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, boostEffect));
this.addAbility(new SimpleStaticAbility(boostEffect));
}
private OrcishOriflamme(final OrcishOriflamme card) {

View file

@ -41,7 +41,7 @@ public final class OrcishVeteran extends CardImpl {
this.toughness = new MageInt(2);
// Orcish Veteran can't block white creatures with power 2 or greater.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockCreaturesSourceEffect(filter)));
this.addAbility(new SimpleStaticAbility(new CantBlockCreaturesSourceEffect(filter)));
// {R}: Orcish Veteran gains first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));

View file

@ -35,7 +35,7 @@ public final class OrderOfTheStars extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Benefit)));
// Order of the Stars has protection from the chosen color.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ProtectionChosenColorSourceEffect()));
this.addAbility(new SimpleStaticAbility(new ProtectionChosenColorSourceEffect()));
}
private OrderOfTheStars(final OrderOfTheStars card) {

View file

@ -43,11 +43,11 @@ public final class Orgg extends CardImpl {
// Orgg can't attack if defending player controls an untapped creature with power 3 or greater.
Effect effect = new CantAttackIfDefenderControlsPermanent(filter);
effect.setText("{this} can't attack if defending player controls an untapped creature with power 3 or greater.");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
// Orgg can't block creatures with power 3 or greater.
Effect effectBlock = new CantBlockCreaturesSourceEffect(filter2);
effectBlock.setText("{this} can't block creatures with power 3 or greater.");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effectBlock));
this.addAbility(new SimpleStaticAbility(effectBlock));
}
private Orgg(final Orgg card) {

View file

@ -43,7 +43,7 @@ public final class OtepecHuntmaster extends CardImpl {
this.toughness = new MageInt(2);
// Dinosaur spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
// {T}: Target Dinosaur gains haste until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new TapSourceCost());

View file

@ -28,7 +28,7 @@ public final class OutlandColossus extends CardImpl {
this.addAbility(new RenownAbility(6));
// Outland Colossus can't be blocked by more than one creature.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByMoreThanOneSourceEffect()));
this.addAbility(new SimpleStaticAbility(new CantBeBlockedByMoreThanOneSourceEffect()));
}
private OutlandColossus(final OutlandColossus card) {

View file

@ -39,10 +39,10 @@ public final class OverwhelmingSplendor extends CardImpl {
this.addAbility(ability);
// Creatures enchanted player controls lose all abilities and have base power and toughness 1/1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OverwhelmingSplendorLoseAbilitiesEffect()));
this.addAbility(new SimpleStaticAbility(new OverwhelmingSplendorLoseAbilitiesEffect()));
// Enchanted player can't activate abilities that aren't mana abilities or loyalty abilities.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OverwhelmingSplendorCantActivateEffect()));
this.addAbility(new SimpleStaticAbility(new OverwhelmingSplendorCantActivateEffect()));
}
private OverwhelmingSplendor(final OverwhelmingSplendor card) {

View file

@ -35,7 +35,7 @@ public final class Pacifism extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature can't attack or block.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackBlockAttachedEffect(AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new CantAttackBlockAttachedEffect(AttachmentType.AURA)));
}

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