refactor: SimpleStaticAbility default zone (cards U V)

This commit is contained in:
xenohedron 2024-11-16 22:16:11 -05:00
parent 2bedb4a1ee
commit 952f7d0c90
89 changed files with 103 additions and 103 deletions

View file

@ -33,13 +33,13 @@ public final class UWing extends CardImpl {
this.addAbility(SpaceflightAbility.getInstance());
// As long as U-Wing is tapped, it gets +1/+0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(1, 0, Duration.WhileOnBattlefield),
SourceTappedCondition.TAPPED,
"As long as {this} is tapped, it gets +1/+0")));
// As long as U-Wing is untapped, it gets +0/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(0, 1, Duration.WhileOnBattlefield),
SourceTappedCondition.UNTAPPED,
"As long as {this} is untapped, it gets +0/+1")));

View file

@ -28,10 +28,10 @@ public final class UbaMask extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// If a player would draw a card, that player exiles that card face up instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UbaMaskReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new UbaMaskReplacementEffect()));
// Each player may play cards they exiled with Uba Mask this turn.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UbaMaskPlayEffect()), new UbaMaskExiledCardsWatcher());
this.addAbility(new SimpleStaticAbility(new UbaMaskPlayEffect()), new UbaMaskExiledCardsWatcher());
}
private UbaMask(final UbaMask card) {

View file

@ -124,7 +124,7 @@ class UginTheIneffableEffect extends OneShotEffect {
// with return ability
for (UUID addedTokenId : effect.getLastAddedTokenIds()) {
// display referenced exiled face-down card on token
SimpleStaticAbility sa = new SimpleStaticAbility(Zone.BATTLEFIELD, new InfoEffect("Referenced object: "
SimpleStaticAbility sa = new SimpleStaticAbility(new InfoEffect("Referenced object: "
+ card.getId().toString().substring(0, 3)));
GainAbilityTargetEffect gainAbilityEffect = new GainAbilityTargetEffect(sa, Duration.WhileOnBattlefield);
gainAbilityEffect.setTargetPointer(new FixedTarget(addedTokenId));

View file

@ -28,7 +28,7 @@ public final class UginsNexus extends CardImpl {
this.addAbility(new SkipExtraTurnsAbility());
// If Ugin's Nexus would be put into a graveyard from the battlefield, instead exile it and take an extra turn after this one.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UginsNexusExileEffect()));
this.addAbility(new SimpleStaticAbility(new UginsNexusExileEffect()));
}
private UginsNexus(final UginsNexus card) {

View file

@ -32,7 +32,7 @@ public final class UgnaughtScrapWorker extends CardImpl {
this.toughness = new MageInt(2);
// Droid 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)));
}
private UgnaughtScrapWorker(final UgnaughtScrapWorker card) {

View file

@ -37,7 +37,7 @@ public final class UmbraMystic extends CardImpl {
this.toughness = new MageInt(2);
// Auras attached to permanents you control have umbra armor.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(new UmbraArmorAbility(), Duration.WhileOnBattlefield, filter, false)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(new UmbraArmorAbility(), Duration.WhileOnBattlefield, filter, false)));
}
private UmbraMystic(final UmbraMystic card) {

View file

@ -45,7 +45,7 @@ public final class UnbridledGrowth extends CardImpl {
Ability gainedAbility = new AnyColorManaAbility(new TapSourceCost());
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA);
effect.setText("Enchanted land has \"{T}: Add one mana of any color.\"");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
// Sacrifice Unbridled Growth: Draw a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new SacrificeSourceCost()));

View file

@ -42,7 +42,7 @@ public final class UncontrollableAnger extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +2/+2 and attacks each turn if able.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
Effect effect = new AttacksIfAbleAttachedEffect(Duration.WhileOnBattlefield, AttachmentType.AURA);
effect.setText("and attacks each combat if able");
ability.addEffect(effect);

View file

@ -36,7 +36,7 @@ public final class UndeadAlchemist extends CardImpl {
this.toughness = new MageInt(2);
// If a Zombie you control would deal combat damage to a player, instead that player puts that many cards from the top of their library into their graveyard.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UndeadAlchemistEffect()));
this.addAbility(new SimpleStaticAbility(new UndeadAlchemistEffect()));
// Whenever a creature card is put into an opponent's graveyard from their library, exile that card and create a 2/2 black Zombie creature token.
this.addAbility(new UndeadAlchemistTriggeredAbility());

View file

@ -36,10 +36,10 @@ public final class UndeadWarchief extends CardImpl {
this.toughness = new MageInt(1);
// Zombie 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)));
// Zombie creatures you control get +2/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 1, Duration.WhileOnBattlefield, filterCreatures, false)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(2, 1, Duration.WhileOnBattlefield, filterCreatures, false)));
}
private UndeadWarchief(final UndeadWarchief card) {

View file

@ -24,7 +24,7 @@ public final class Undertow extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}");
// Creatures with islandwalk can be blocked as though they didn't have islandwalk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UndertowEffect()));
this.addAbility(new SimpleStaticAbility(new UndertowEffect()));
}
private Undertow(final Undertow card) {

View file

@ -31,10 +31,10 @@ public final class UnderworldCerberus extends CardImpl {
this.toughness = new MageInt(6);
// Underworld Cerberus can't be blocked except by three or more creatures.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByOneEffect(3)));
this.addAbility(new SimpleStaticAbility(new CantBeBlockedByOneEffect(3)));
// Cards in graveyards can't be the targets of spells or abilities.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeTargetedCardsGraveyardsEffect()));
this.addAbility(new SimpleStaticAbility(new CantBeTargetedCardsGraveyardsEffect()));
// When Underworld Cerberus dies, exile it and each player returns all creature cards from their graveyard to their hand.
Ability ability = new DiesSourceTriggeredAbility(new ExileSourceEffect());

View file

@ -46,7 +46,7 @@ public final class UnderworldConnections extends CardImpl {
// Enchanted land has "{T}, Pay 1 life: Draw a card."
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost());
gainedAbility.addCost(new PayLifeCost(1));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule)));
}
private UnderworldConnections(final UnderworldConnections card) {

View file

@ -41,7 +41,7 @@ public final class UndyingRage extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +2/+2 and can't block.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2,2, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2,2, Duration.WhileOnBattlefield));
Effect effect = new CantBlockAttachedEffect(AttachmentType.AURA);
effect.setText("and can't block");
ability.addEffect(effect);

View file

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

View file

@ -31,7 +31,7 @@ public final class UnholyCitadel extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// Black legendary creatures you control have "bands with other legendary creatures."
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
new BandsWithOtherAbility(SuperType.LEGENDARY), Duration.WhileOnBattlefield, filter)
.withForceQuotes()
));

View file

@ -33,7 +33,7 @@ public final class UnholyStrength extends CardImpl {
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield)));
}

View file

@ -38,7 +38,7 @@ public final class UnstableMutation extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +3/+3.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(3, 3)));
// At the beginning of the upkeep of enchanted creature's controller, put a -1/-1 counter on that creature.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new AddCountersAttachedEffect(CounterType.M1M1.createInstance(), "that creature"),
false));

View file

@ -38,7 +38,7 @@ public final class UntamedHunger extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +2/+1 and has menace.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 1));
Effect effect = new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.AURA);
effect.setText("and has menace. " +
"<i>(It can't be blocked except by two or more creatures.)</i>");

View file

@ -22,7 +22,7 @@ public final class UnwindingClock extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// Untap all artifacts you control during each other player's untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UnwindingClockEffect()));
this.addAbility(new SimpleStaticAbility(new UnwindingClockEffect()));
}
private UnwindingClock(final UnwindingClock card) {

View file

@ -28,7 +28,7 @@ public final class UphillBattle extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}");
// Creatures played by your opponents enter the battlefield tapped.
Ability tapAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new UphillBattleTapEffect());
Ability tapAbility = new SimpleStaticAbility(new UphillBattleTapEffect());
tapAbility.addWatcher(new PermanentWasCastWatcher());
tapAbility.addWatcher(new PlayCreatureLandWatcher());
addAbility(tapAbility);

View file

@ -28,7 +28,7 @@ public final class Upwelling extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}");
// Mana pools don't empty as steps and phases end.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UpwellingRuleEffect()));
this.addAbility(new SimpleStaticAbility(new UpwellingRuleEffect()));
}

View file

@ -29,7 +29,7 @@ public final class UrDrago extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// Creatures with swampwalk can be blocked as though they didn't have swampwalk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UrDragoEffect()));
this.addAbility(new SimpleStaticAbility(new UrDragoEffect()));
}
private UrDrago(final UrDrago card) {

View file

@ -36,8 +36,8 @@ public final class UrbanBurgeoning extends CardImpl {
this.addAbility(ability);
// Enchanted land has "Untap this land during each other player's untap step."
Ability gainedAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new UrbanBurgeoningUntapEffect());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule)));
Ability gainedAbility = new SimpleStaticAbility(new UrbanBurgeoningUntapEffect());
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule)));
}
private UrbanBurgeoning(final UrbanBurgeoning card) {

View file

@ -35,7 +35,7 @@ public final class UrborgShambler extends CardImpl {
this.toughness = new MageInt(3);
// Other black creatures get -1/-1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(-1, -1,
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(-1, -1,
Duration.WhileOnBattlefield, filter, true)));
}

View file

@ -34,7 +34,7 @@ public final class UrilTheMiststalker extends CardImpl {
// Uril, the Miststalker gets +2/+2 for each Aura attached to it.
AuraAttachedCount count = new AuraAttachedCount(2);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(count, count, Duration.WhileOnBattlefield)));
}

View file

@ -23,7 +23,7 @@ public final class UrzasArmor extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{6}");
// If a source would deal damage to you, prevent 1 of that damage.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UrzasArmorEffect()));
this.addAbility(new SimpleStaticAbility(new UrzasArmorEffect()));
}
private UrzasArmor(final UrzasArmor card) {

View file

@ -27,7 +27,7 @@ public final class UrzasFilter extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// Multicolored spells cost up to {2} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionAllEffect(filter, 2, true)));
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionAllEffect(filter, 2, true)));
}
private UrzasFilter(final UrzasFilter card) {

View file

@ -39,12 +39,12 @@ public final class UtopiaVow extends CardImpl {
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)));
// Enchanted creature has "{tap}: Add one mana of any color."
Effect effect = new GainAbilityAttachedEffect(new AnyColorManaAbility(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature has \"{T}: Add one mana of any color.\"");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private UtopiaVow(final UtopiaVow card) {

View file

@ -23,7 +23,7 @@ public final class ValorMadeReal extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}");
// Target creature can block any number of creatures this turn.
Ability gainedAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(0));
Ability gainedAbility = new SimpleStaticAbility(new CanBlockAdditionalCreatureEffect(0));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(gainedAbility, Duration.EndOfTurn).setText("target creature can block any number of creatures this turn"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}

View file

@ -39,7 +39,7 @@ public final class VampireNocturnus extends CardImpl {
this.toughness = new MageInt(3);
// Play with the top card of your library revealed.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayWithTheTopCardRevealedEffect()));
this.addAbility(new SimpleStaticAbility(new PlayWithTheTopCardRevealedEffect()));
// As long as the top card of your library is black, Vampire Nocturnus and other Vampire creatures you control get +2/+1 and have flying.
this.addAbility(new VampireNocturnusAbility());
}

View file

@ -38,7 +38,7 @@ public final class VampiricEmbrace extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +2/+2 and has flying.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2));
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

@ -36,7 +36,7 @@ public final class VampiricSliver extends CardImpl {
this.toughness = new MageInt(3);
// All Sliver creatures have "Whenever a creature dealt damage by this creature this turn dies, put a +1/+1 counter on this creature."
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
new DealtDamageAndDiedTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())), Duration.WhileOnBattlefield,
filter, "All Sliver creatures have \"Whenever a creature dealt damage by this creature this turn dies, put a +1/+1 counter on this creature.\"")));

View file

@ -45,10 +45,10 @@ public final class Vampirism extends CardImpl {
.setText("draw a card at the beginning of the next turn's upkeep"), false));
// Enchanted creature gets +1/+1 for each other creature you control.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VampirismBoostEnchantedEffect()));
this.addAbility(new SimpleStaticAbility(new VampirismBoostEnchantedEffect()));
// Other creatures you control get -1/-1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(-1, -1, Duration.WhileOnBattlefield, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(-1, -1, Duration.WhileOnBattlefield, true)));
}

View file

@ -31,10 +31,10 @@ public final class VanguardsShield extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +0/+3 and can block an additional creature each combat.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 3)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(0, 3)));
// Equipped creature can block an additional creature each combat. (static abilit of equipment, no ability that will be gained to equiped creature!)
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VanguardsShieldEffect()));
this.addAbility(new SimpleStaticAbility(new VanguardsShieldEffect()));
// Equip {3}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3)));

View file

@ -40,7 +40,7 @@ public final class VanquishersBanner extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.Benefit)));
// Creatures you control of the chosen type get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllOfChosenSubtypeEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
this.addAbility(new SimpleStaticAbility(new BoostAllOfChosenSubtypeEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
// Whenever you cast a creature spell of the chosen type, draw a card.
this.addAbility(new DrawCardIfCreatureTypeAbility());

View file

@ -37,7 +37,7 @@ public final class VaporSnare extends CardImpl {
this.addAbility(ability);
// You control enchanted creature.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect()));
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect()));
// At the beginning of your upkeep, sacrifice Vapor Snare unless you return a land you control to its owner's hand.
Effect effect = new SacrificeSourceUnlessPaysEffect(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(1, 1, StaticFilters.FILTER_CONTROLLED_PERMANENT_A_LAND, true)));

View file

@ -38,7 +38,7 @@ public final class VastwoodZendikon extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
Ability ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureAttachedEffect(
Ability ability2 = new SimpleStaticAbility(new BecomesCreatureAttachedEffect(
new CreatureToken(6, 4, "6/4 green Elemental creature", SubType.ELEMENTAL).withColor("G"),
"Enchanted land is a 6/4 green Elemental creature. It's still a land", Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.COLOR));
this.addAbility(ability2);

View file

@ -28,7 +28,7 @@ public final class VedalkenOrrery extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// You may cast spells as though they had flash.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter)));
this.addAbility(new SimpleStaticAbility(new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter)));
}
private VedalkenOrrery(final VedalkenOrrery card) {

View file

@ -33,7 +33,7 @@ public final class Veldt extends CardImpl {
Effect effect = new ConditionalContinuousRuleModifyingEffect(new DontUntapInControllersUntapStepSourceEffect(false, true),
new SourceHasCounterCondition(CounterType.DEPLETION, 1, Integer.MAX_VALUE));
effect.setText("{this} doesn't untap during your untap step if it has a depletion counter on it");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
this.addAbility(ability);
// At the beginning of your upkeep, remove a depletion counter from Veldt.
Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()));

View file

@ -48,7 +48,7 @@ public final class VenarianGold extends CardImpl {
this.addAbility(ability);
// Enchanted creature doesnt untap during its controllers untap step if it has a sleep counter on it.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousRuleModifyingEffect(new DontUntapInControllersUntapStepEnchantedEffect(),
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousRuleModifyingEffect(new DontUntapInControllersUntapStepEnchantedEffect(),
new AttachedToCounterCondition(CounterType.SLEEP, 1)).setText("Enchanted creature doesn't untap during its controller's untap step if it has a sleep counter on it")));
// At the beginning of the upkeep of enchanted creatures controller, remove a sleep counter from that creature.

View file

@ -36,7 +36,7 @@ public final class VengefulFirebrand extends CardImpl {
this.toughness = new MageInt(2);
// Vengeful Firebrand has haste as long as a Warrior card is in your graveyard.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield),
VengefulFirebrandCondition.instance,
"{this} has haste as long as a Warrior card is in your graveyard")));
@ -69,4 +69,4 @@ enum VengefulFirebrandCondition implements Condition {
Player player = game.getPlayer(source.getControllerId());
return player != null && player.getGraveyard().count(filter, game) > 0;
}
}
}

View file

@ -26,7 +26,7 @@ public final class VensersJournal extends CardImpl {
// You have no maximum hand size.
Effect effect = new MaximumHandSizeControllerEffect(Integer.MAX_VALUE, Duration.WhileOnBattlefield, HandSizeModification.SET);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
// At the beginning of your upkeep, you gain 1 life for each card in your hand.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(CardsInControllerHandCount.instance)

View file

@ -41,7 +41,7 @@ public final class VerdantEmbrace extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +3/+3 and has "At the beginning of each upkeep, create a 1/1 green Saproling creature token."
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield));
Ability grantedAbility = new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new CreateTokenEffect(new SaprolingToken()), false);
Effect effect = new GainAbilityAttachedEffect(grantedAbility, AttachmentType.AURA);
effect.setText("and has \"At the beginning of each upkeep, create a 1/1 green Saproling creature token.\"");

View file

@ -38,7 +38,7 @@ public final class VerdantField extends CardImpl {
// Enchanted land has "{T}: Target creature gets +1/+1 until end of turn."
Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new TapSourceCost());
gainAbility.addTarget(new TargetCreaturePermanent());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainAbility, AttachmentType.AURA,
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainAbility, AttachmentType.AURA,
Duration.WhileOnBattlefield, "Enchanted land has \"{T}: Target creature gets +1/+1 until end of turn.\"")));
}

View file

@ -28,7 +28,7 @@ public final class VernalEquinox extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}");
// Any player may cast creature and enchantment spells as though they had flash.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter, true)));
}

View file

@ -34,7 +34,7 @@ public final class VesuvanDoppelganger extends CardImpl {
this.toughness = new MageInt(0);
// You may have Vesuvan Doppelganger enter the battlefield as a copy of any creature on the battlefield except it doesn't copy that creature's color and it has "At the beginning of your upkeep, you may have this creature become a copy of target creature except it doesn't copy that creature's color and it has this ability."
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new EntersBattlefieldEffect(new VesuvanDoppelgangerCopyEffect(), rule, true));
Ability ability = new SimpleStaticAbility(new EntersBattlefieldEffect(new VesuvanDoppelgangerCopyEffect(), rule, true));
this.addAbility(ability);
}

View file

@ -27,7 +27,7 @@ public final class VeteranArmorer extends CardImpl {
this.toughness = new MageInt(2);
// Other creatures you control get +0/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, true)));
}
private VeteranArmorer(final VeteranArmorer card) {

View file

@ -32,7 +32,7 @@ public final class VeteranArmorsmith extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(3);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, filter, true)));
}
private VeteranArmorsmith(final VeteranArmorsmith card) {

View file

@ -35,7 +35,7 @@ public final class VeteranBodyguard extends CardImpl {
this.toughness = new MageInt(5);
// As long as Veteran Bodyguard is untapped, all damage that would be dealt to you by unblocked creatures is dealt to Veteran Bodyguard instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalPreventionEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalPreventionEffect(
new VeteranBodyguardEffect(),
SourceTappedCondition.UNTAPPED,
"As long as {this} is untapped, all damage that would be dealt to you by unblocked creatures is dealt to {this} instead."

View file

@ -39,10 +39,10 @@ public final class VeteranBrawlers extends CardImpl {
this.toughness = new MageInt(4);
// Veteran Brawlers can't attack if defending player controls an untapped land.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackIfDefenderControlsPermanent(filter)));
this.addAbility(new SimpleStaticAbility(new CantAttackIfDefenderControlsPermanent(filter)));
// Veteran Brawlers can't block if you control an untapped land.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VeteranBrawlersCantBlockEffect(filter)));
this.addAbility(new SimpleStaticAbility(new VeteranBrawlersCantBlockEffect(filter)));
}
private VeteranBrawlers(final VeteranBrawlers card) {

View file

@ -38,7 +38,7 @@ public final class VeteransArmaments extends CardImpl {
Ability gainedAbility = new AttacksOrBlocksTriggeredAbility(new BoostSourceEffect(xValue, xValue, Duration.EndOfTurn), false);
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.EQUIPMENT);
effect.setText("Equipped creature has \"Whenever this creature attacks or blocks, it gets +1/+1 until end of turn for each attacking creature.\"");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
this.addAbility(ability);
// Whenever a Soldier creature enters the battlefield, you may attach Veteran's Armaments to it.

View file

@ -24,7 +24,7 @@ public final class VeteransSidearm extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(1, 1)));
// Equip {1}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));

View file

@ -23,14 +23,14 @@ public final class VibratingSphere extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// As long as it's your turn, creatures you control get +2/+0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield),
MyTurnCondition.instance,
"During your turn, creatures you control get +2/+0"))
.addHint(MyTurnHint.instance));
// As long as it's not your turn, creatures you control get -0/-2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostControlledEffect(0, -2, Duration.WhileOnBattlefield),
NotMyTurnCondition.instance,
"During turns other than yours, creatures you control get -0/-2")));

View file

@ -27,7 +27,7 @@ public final class VictoryChimes extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
// Untap Victory Chimes during each other player's untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new UntapSourceDuringEachOtherPlayersUntapStepEffect()));
this.addAbility(new SimpleStaticAbility(new UntapSourceDuringEachOtherPlayersUntapStepEffect()));
// {T}: A player of your choice adds {C}.
ManaEffect effect = new VictoryChimesManaEffect("chosen player");

View file

@ -32,7 +32,7 @@ public final class VigeanHydropon extends CardImpl {
this.addAbility(new GraftAbility(this, 5));
// Vigean Hydropon can't attack or block.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VigeanHydroponEffect()));
this.addAbility(new SimpleStaticAbility(new VigeanHydroponEffect()));
}
private VigeanHydropon(final VigeanHydropon card) {

View file

@ -26,7 +26,7 @@ public final class Vigilance extends CardImpl {
this.getSpellAbility().addTarget(auraTarget);
this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility));
this.addAbility(new EnchantAbility(auraTarget));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA)));
}
private Vigilance(final Vigilance card) {

View file

@ -37,7 +37,7 @@ public final class Vigor extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// If damage would be dealt to a creature you control other than Vigor, prevent that damage. Put a +1/+1 counter on that creature for each 1 damage prevented this way.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VigorReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new VigorReplacementEffect()));
// When Vigor is put into a graveyard from anywhere, shuffle it into its owner's library.
this.addAbility(new PutIntoGraveFromAnywhereSourceTriggeredAbility(new ShuffleIntoLibrarySourceEffect()));
@ -98,4 +98,4 @@ class VigorReplacementEffect extends ReplacementEffectImpl {
public VigorReplacementEffect copy() {
return new VigorReplacementEffect(this);
}
}
}

View file

@ -47,7 +47,7 @@ public final class VileManifestation extends CardImpl {
DynamicValue amount = new CardsInControllerGraveyardCount(filter);
Effect effect = new BoostSourceEffect(amount, StaticValue.get(0), Duration.WhileOnBattlefield);
effect.setText("Vile Manifestation gets +1/+0 for each card with cycling in your graveyard.");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
this.addAbility(ability);
// Cycling {2}

View file

@ -30,7 +30,7 @@ public final class VillageSurvivors extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// Fateful hour - As long as you have 5 or less life, other creatures you control have vigilance.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, true),
FatefulHourCondition.instance,
"<br><i>Fateful hour</i> &mdash; As long as you have 5 or less life, other creatures you control have vigilance")));

View file

@ -39,7 +39,7 @@ public final class Vineweft extends CardImpl {
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)));
// {4}{G}: Return Vineweft from your graveyard to your hand.
this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{4}{G}")));

View file

@ -38,7 +38,7 @@ public final class ViridianBetrayers extends CardImpl {
// Viridian Betrayers has infect as long as an opponent is poisoned.
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new GainAbilitySourceEffect(InfectAbility.getInstance()), PoisonedCondition.instance, rule);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private ViridianBetrayers(final ViridianBetrayers card) {

View file

@ -34,7 +34,7 @@ public final class ViridianLongbow extends CardImpl {
effect.setText("This creature deals 1 damage to any target");
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
// Equip {3}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3)));

View file

@ -27,7 +27,7 @@ public final class VirulentPlague extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}");
// Creature tokens get -2/-2
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(-2,-2, Duration.WhileOnBattlefield, filter, false)));
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(-2,-2, Duration.WhileOnBattlefield, filter, false)));
}
private VirulentPlague(final VirulentPlague card) {

View file

@ -37,7 +37,7 @@ public final class VisceridArmor extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
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)));
// {1}{U}: Return Viscerid Armor to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{1}{U}")));
}

View file

@ -40,7 +40,7 @@ public final class VishgrazTheDoomhive extends CardImpl {
// Vishgraz gets +1/+1 for each poison counter your opponents have.
DynamicValue value = OpponentsPoisonCountersCount.instance;
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(value, value, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(value, value, Duration.WhileOnBattlefield)));
}
private VishgrazTheDoomhive(final VishgrazTheDoomhive card) {

View file

@ -42,7 +42,7 @@ public final class VisionsOfBrutality extends CardImpl {
this.addAbility(ability);
// Enchanted creature can't block.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttachedEffect(AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new CantBlockAttachedEffect(AttachmentType.AURA)));
// Whenever enchanted creature deals damage, its controller loses that much life.
this.addAbility(new DealsDamageAttachedTriggeredAbility(Zone.BATTLEFIELD, new VisionsOfBrutalityEffect(), false));

View file

@ -28,7 +28,7 @@ public final class VizierOfRemedies extends CardImpl {
this.toughness = new MageInt(1);
// If one or more -1/-1 counters would be put on a creature you control, that many -1/-1 counters minus one are put on it instead.
addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VizierOfRemediesReplacementEffect()));
addAbility(new SimpleStaticAbility(new VizierOfRemediesReplacementEffect()));
}

View file

@ -34,7 +34,7 @@ public final class VodalianKnights extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// Vodalian Knights can't attack unless defending player controls an Island.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island"))));
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island"))));
// When you control no Islands, sacrifice Vodalian Knights.
this.addAbility(new ControlsPermanentsControllerTriggeredAbility(

View file

@ -33,7 +33,7 @@ public final class VodalianSerpent extends CardImpl {
// Kicker {2}
this.addAbility(new KickerAbility("{2}"));
// Vodalian Serpent can't attack unless defending player controls an Island.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island"))));
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island"))));
// If Vodalian Serpent was kicked, it enters with four +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)),
KickedCondition.ONCE, "If {this} was kicked, it enters with four +1/+1 counters on it.", ""));

View file

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

View file

@ -41,7 +41,7 @@ public final class VoidMaw extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// If another creature would die, exile it instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VoidMawEffect()));
this.addAbility(new SimpleStaticAbility(new VoidMawEffect()));
// Put a card exiled with Void Maw into its owner's graveyard: Void Maw gets +2/+2 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new VoidMawCost()));

View file

@ -29,10 +29,10 @@ public final class VoidWinnower extends CardImpl {
this.toughness = new MageInt(9);
// Your opponent can't cast spells with even converted mana costs. (Zero is even.)
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VoidWinnowerCantCastEffect()));
this.addAbility(new SimpleStaticAbility(new VoidWinnowerCantCastEffect()));
// Your opponents can't block with creatures with even converted mana costs.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VoidWinnowerCantBlockEffect()));
this.addAbility(new SimpleStaticAbility(new VoidWinnowerCantBlockEffect()));
}
private VoidWinnower(final VoidWinnower card) {

View file

@ -34,9 +34,9 @@ public final class VoidstoneGargoyle extends CardImpl {
// As Voidstone Gargoyle enters the battlefield, name a nonland card.
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 VoidstoneGargoyleReplacementEffect1()));
this.addAbility(new SimpleStaticAbility(new VoidstoneGargoyleReplacementEffect1()));
// Activated abilities of sources with the chosen name can't be activated.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VoidstoneGargoyleRuleModifyingEffect2()));
this.addAbility(new SimpleStaticAbility(new VoidstoneGargoyleRuleModifyingEffect2()));
}
private VoidstoneGargoyle(final VoidstoneGargoyle card) {

View file

@ -40,7 +40,7 @@ public final class VolcanicStrength extends CardImpl {
// Enchanted creature gets +2/+2 and has mountainwalk.
Effect effect = new GainAbilityAttachedEffect(new MountainwalkAbility(), AttachmentType.AURA);
effect.setText("and has mountainwalk");
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2));
ability.addEffect(effect);
this.addAbility(ability);
}

View file

@ -38,7 +38,7 @@ public final class VolitionReins extends CardImpl {
// When Volition Reins enters the battlefield, if enchanted permanent is tapped, untap it.
this.addAbility(new EntersBattlefieldTriggeredAbility(new UntapVolitionReinsEffect()));
// You control enchanted permanent.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("permanent")));
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect("permanent")));
}
private VolitionReins(final VolitionReins card) {

View file

@ -44,7 +44,7 @@ public final class VolrathsCurse extends CardImpl {
this.addAbility(ability);
// Enchanted creature can't attack or block, and its activated abilities can't be activated. That creature's controller may sacrifice a permanent for that player to ignore this effect until end of turn.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new VolrathsCurseRestrictionEffect());
ability = new SimpleStaticAbility(new VolrathsCurseRestrictionEffect());
ability.addEffect(new VolrathsCurseCantActivateAbilitiesEffect());
this.addAbility(ability);
this.addAbility(new VolrathsCurseSpecialAction());

View file

@ -29,7 +29,7 @@ public final class VolrathsShapeshifter extends CardImpl {
this.toughness = new MageInt(1);
// As long as the top card of your graveyard is a creature card, Volrath's Shapeshifter has the full text of that card and has the text "{2}: Discard a card."
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VolrathsShapeshifterEffect()));
this.addAbility(new SimpleStaticAbility(new VolrathsShapeshifterEffect()));
// {2}: Discard a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardControllerEffect(1), new ManaCostsImpl<>("{2}")));

View file

@ -42,7 +42,7 @@ public final class VoraciousReader extends CardImpl {
this.addAbility(new ProwessAbility());
// Instant and sorcery 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)));
}
private VoraciousReader(final VoraciousReader card) {

View file

@ -29,7 +29,7 @@ public final class VorracBattlehorns extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has trample and can't be blocked by more than one creature.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT));
Ability ability = new SimpleStaticAbility(new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT));
Effect effect = new CantBeBlockedByMoreThanOneAttachedEffect(AttachmentType.EQUIPMENT);
effect.setText("and can't be blocked by more than one creature");
ability.addEffect(effect);

View file

@ -40,7 +40,7 @@ public final class VowOfDuty extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +2/+2, has vigilance, and can't attack you or a planeswalker you control.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield));
Effect effect = new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText(", has vigilance");
ability.addEffect(effect);

View file

@ -40,7 +40,7 @@ public final class VowOfFlight extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +2/+2, has flying, and can't attack you or a planeswalker you control.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield));
Effect effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText(", has flying");
ability.addEffect(effect);

View file

@ -40,7 +40,7 @@ public final class VowOfLightning extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +2/+2, has first strike, and can't attack you or a planeswalker you control.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield));
Effect effect = new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText(", has first strike");
ability.addEffect(effect);

View file

@ -40,7 +40,7 @@ public final class VowOfMalice extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +2/+2, has intimidate, and can't attack you or a planeswalker you control.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2,2,Duration.WhileOnBattlefield));
Effect effect = new GainAbilityAttachedEffect(IntimidateAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText(", has intimidate");
ability.addEffect(effect);

View file

@ -41,7 +41,7 @@ public final class VowOfWildness extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +3/+3, has trample, and can't attack you or a planeswalker you control.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3,3,Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(3,3,Duration.WhileOnBattlefield));
Effect effect = new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText(", has trample");
ability.addEffect(effect);

View file

@ -36,7 +36,7 @@ public final class VrynWingmare extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Noncreature spells cost {1} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostIncreasingAllEffect(1, filter, TargetController.ANY)));
this.addAbility(new SimpleStaticAbility(new SpellsCostIncreasingAllEffect(1, filter, TargetController.ANY)));
}
private VrynWingmare(final VrynWingmare card) {

View file

@ -24,7 +24,7 @@ public final class VulshokBattlegear extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
this.subtype.add(SubType.EQUIPMENT);
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 3)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(3, 3)));
}
private VulshokBattlegear(final VulshokBattlegear card) {

View file

@ -34,7 +34,7 @@ public final class VulshokGauntlets extends CardImpl {
// Equipped creature gets +4/+2 and doesn't untap during its controller's untap step.
Effect effect = new BoostEquippedEffect(4, 2);
effect.setText("Equipped creature gets +4/+2");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
effect = new VulshokGauntletsEffect();
effect.setText("and has doesn't untap during its controller's untap step");
ability.addEffect(effect);

View file

@ -22,7 +22,7 @@ public final class VulshokMorningstar extends CardImpl {
public VulshokMorningstar(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
this.subtype.add(SubType.EQUIPMENT);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(2, 2)));
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2)));
}