refactor: SimpleStaticAbility default zone (cards A)

This commit is contained in:
xenohedron 2024-11-16 22:09:41 -05:00
parent 178b7e0343
commit 670acdb4a6
112 changed files with 130 additions and 132 deletions

View file

@ -33,7 +33,7 @@ public final class ATST extends CardImpl {
this.toughness = new MageInt(3);
// Trooper creatures you control get +3/+3.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(3, 3, Duration.WhileOnBattlefield, filter, false)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(3, 3, Duration.WhileOnBattlefield, filter, false)));
}

View file

@ -40,7 +40,7 @@ public final class AbandonedSarcophagus extends CardImpl {
this.addAbility(new SimpleStaticAbility(new PlayFromGraveyardControllerEffect(filter)));
// If a card with cycling would be put into your graveyard from anywhere and it wasn't cycled, exile it instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbandonedSarcophagusReplacementEffect()), new AbandonedSarcophagusWatcher());
this.addAbility(new SimpleStaticAbility(new AbandonedSarcophagusReplacementEffect()), new AbandonedSarcophagusWatcher());
}

View file

@ -40,7 +40,7 @@ public final class Abduction extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new UntapAttachedEffect()));
// You control enchanted creature.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect()));
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect()));
// When enchanted creature dies, return that card to the battlefield under its owner's control.
this.addAbility(new DiesAttachedTriggeredAbility(new ReturnToBattlefieldUnderOwnerControlAttachedEffect(), "enchanted creature", false));

View file

@ -27,7 +27,7 @@ public final class Abundance extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{G}");
// If you would draw a card, you may instead choose land or nonland and reveal cards from the top of your library until you reveal a card of the chosen kind. Put that card into your hand and put all other cards revealed this way on the bottom of your library in any order.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbundanceReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new AbundanceReplacementEffect()));
}
private Abundance(final Abundance card) {

View file

@ -41,7 +41,7 @@ public final class AbundantGrowth 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));
}
private AbundantGrowth(final AbundantGrowth card) {

View file

@ -33,7 +33,7 @@ public final class AbyssalPersecutor extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// You can't win the game and your opponents can't lose the game.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbyssalPersecutorCannotWinEffect()));
this.addAbility(new SimpleStaticAbility(new AbyssalPersecutorCannotWinEffect()));
}
private AbyssalPersecutor(final AbyssalPersecutor card) {

View file

@ -31,7 +31,7 @@ public final class AbzanFalconer extends CardImpl {
this.addAbility(new OutlastAbility(new ColoredManaCost(ColoredManaSymbol.W)));
// Each creature you control with a +1/+1 counter on it has flying.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
FlyingAbility.getInstance(),
Duration.WhileOnBattlefield,
StaticFilters.FILTER_EACH_CONTROLLED_CREATURE_P1P1)

View file

@ -44,7 +44,7 @@ public final class AbzanRunemark extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +2/+2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
// Enchanted creature has vigilance as long as you control a black or green permanent.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new ConditionalContinuousEffect(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA),

View file

@ -43,7 +43,7 @@ public final class AcesBaseballBat extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +3/+0
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 0)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(3, 0)));
// As long as equipped creature is attacking, it has first strike and must be blocked by a Dalek if able.
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(

View file

@ -33,7 +33,7 @@ public final class AdantoVanguard extends CardImpl {
this.toughness = new MageInt(1);
// As long as Adanto Vanguard is attacking, it gets +2/+0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(2, 0, Duration.WhileOnBattlefield),
SourceAttackingCondition.instance,
"As long as {this} is attacking, it gets +2/+0"

View file

@ -38,9 +38,9 @@ public final class AdaptiveAutomaton extends CardImpl {
ability.addEffect(new EnterAttributeAddChosenSubtypeEffect());
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AddChosenSubtypeEffect()));
this.addAbility(new SimpleStaticAbility(new AddChosenSubtypeEffect()));
// Other creatures you control of the chosen type get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllOfChosenSubtypeEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(new BoostAllOfChosenSubtypeEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
}
private AdaptiveAutomaton(final AdaptiveAutomaton card) {
@ -52,4 +52,3 @@ public final class AdaptiveAutomaton extends CardImpl {
return new AdaptiveAutomaton(this);
}
}

View file

@ -46,7 +46,7 @@ public final class AdmiralBeckettBrass extends CardImpl {
this.toughness = new MageInt(3);
// Other Pirates you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
// At the beginning of your end step, gain control of target nonland permanent controlled by a player who was dealt combat damage by three or more Pirates this turn.
Ability ability = new BeginningOfEndStepTriggeredAbility(new GainControlTargetEffect(Duration.Custom, true));

View file

@ -29,7 +29,7 @@ public final class AdrianaCaptainOfTheGuard extends CardImpl {
this.addAbility(new MeleeAbility());
// Other creatures you control have melee.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(new MeleeAbility(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("creatures"), true)));
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(new MeleeAbility(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("creatures"), true)));
}

View file

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

View file

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

View file

@ -44,12 +44,12 @@ public final class AerialModification extends CardImpl {
this.addAbility(ability);
// As long as enchanted permanent is a Vehicle, it's a creature in addition to its other types.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureIfVehicleEffect()));
this.addAbility(new SimpleStaticAbility(new BecomesCreatureIfVehicleEffect()));
// Enchanted creature gets +2/+2 and has flying.
Effect effect = new BoostEnchantedEffect(2, 2);
effect.setText("Enchanted creature gets +2/+2");
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
ability = new SimpleStaticAbility(effect);
effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA);
effect.setText(" and has flying");
ability.addEffect(effect);

View file

@ -34,7 +34,7 @@ public final class AeronautTinkerer extends CardImpl {
this.toughness = new MageInt(3);
// Aeronaut Tinkerer has flying as long as you control an artifact.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield), new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()), rule)));
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield), new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()), rule)));
}

View file

@ -47,7 +47,7 @@ public final class AetherMeltdown extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(2)));
// Enchanted permanent gets -4/-0.
Effect effect = new BoostEnchantedEffect(-4, 0, Duration.WhileOnBattlefield);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private AetherMeltdown(final AetherMeltdown card) {

View file

@ -27,7 +27,7 @@ public final class AetherStorm extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}");
// Creature spells can't be cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AetherStormReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new AetherStormReplacementEffect()));
// Pay 4 life: Destroy Aether Storm. It can't be regenerated. Any player may activate this ability.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroySourceEffect(true), new PayLifeCost(4));

View file

@ -33,7 +33,7 @@ public final class AggressiveMining extends CardImpl {
// You can't play lands.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AggressiveMiningEffect()));
this.addAbility(new SimpleStaticAbility(new AggressiveMiningEffect()));
// Sacrifice a land: Draw two cards. Activate this ability only once each turn.
Cost cost = new SacrificeTargetCost(StaticFilters.FILTER_LAND);

View file

@ -38,7 +38,7 @@ public final class Agoraphobia extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets -5/-0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(-5, 0)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(-5, 0)));
// {2}{U}: Return Agoraphobia to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}")));

View file

@ -31,7 +31,7 @@ public final class AinokBondKin extends CardImpl {
this.addAbility(new OutlastAbility(new ManaCostsImpl<>("{1}{W}")));
// Each creature you control with a +1/+1 counter on it has first strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
FirstStrikeAbility.getInstance(),
Duration.WhileOnBattlefield,
StaticFilters.FILTER_EACH_CONTROLLED_CREATURE_P1P1)));
@ -46,4 +46,3 @@ public final class AinokBondKin extends CardImpl {
return new AinokBondKin(this);
}
}

View file

@ -35,10 +35,10 @@ public final class AirBladder extends CardImpl {
this.addAbility(ability);
// Enchanted creature has flying.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
// Enchanted creature can block only creatures with flying.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockOnlyFlyingAttachedEffect(AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new CanBlockOnlyFlyingAttachedEffect(AttachmentType.AURA)));
}

View file

@ -40,7 +40,7 @@ public final class AkiriLineSlinger extends CardImpl {
// Akiri, Line-Slinger gets +1/+0 for each artifact you control.
Effect effect = new BoostSourceEffect(ArtifactYouControlCount.instance, StaticValue.get(0), Duration.WhileOnBattlefield);
effect.setText("{this} gets +1/+0 for each artifact you control");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)
this.addAbility(new SimpleStaticAbility(effect)
.addHint(ArtifactYouControlHint.instance));
// Partner

View file

@ -94,7 +94,7 @@ class TokTokVolcanoBorn extends TokenImpl {
power = new MageInt(2);
toughness = new MageInt(2);
this.addAbility(ProtectionAbility.from(ObjectColor.RED));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TokTokVolcanoBornEffect()));
this.addAbility(new SimpleStaticAbility(new TokTokVolcanoBornEffect()));
}
private TokTokVolcanoBorn(final TokTokVolcanoBorn token) {
super(token);

View file

@ -31,7 +31,7 @@ public final class AkkiUnderling extends CardImpl {
// As long as you have seven or more cards in hand, Akki Underling gets +2/+1 and has first strike.
Condition condition = new CardsInHandCondition(ComparisonType.MORE_THAN,6);
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(2,1, Duration.WhileOnBattlefield), condition, "As long as you have seven or more cards in hand, {this} gets +2/+1"));
ability.addEffect(new ConditionalContinuousEffect(
new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield), condition, "and has first strike"));

View file

@ -28,7 +28,7 @@ public final class AkromasDevoted extends CardImpl {
this.toughness = new MageInt(4);
// Cleric creatures have vigilance.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(VigilanceAbility.getInstance(),
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(VigilanceAbility.getInstance(),
Duration.WhileOnBattlefield, new FilterCreaturePermanent(SubType.CLERIC, "Cleric creatures"))));
}

View file

@ -27,7 +27,7 @@ public final class AkromasMemorial extends CardImpl {
// Creatures you control have flying, first strike, vigilance, trample, haste, and protection from black and from red.
CompoundAbility compoundAbilities = new CompoundAbility(FlyingAbility.getInstance(), FirstStrikeAbility.getInstance(), VigilanceAbility.getInstance(),
TrampleAbility.getInstance(), HasteAbility.getInstance(), ProtectionAbility.from(ObjectColor.BLACK, ObjectColor.RED));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(compoundAbilities, Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Creatures"))));
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(compoundAbilities, Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Creatures"))));
}
private AkromasMemorial(final AkromasMemorial card) {

View file

@ -37,7 +37,7 @@ public final class AkronLegionnaire extends CardImpl {
// Except for creatures named Akron Legionnaire and artifact creatures, creatures you control can't attack.
Effect effect = new CantAttackAllEffect(Duration.WhileOnBattlefield, filter);
effect.setText("Except for creatures named Akron Legionnaire and artifact creatures, creatures you control can't attack");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}

View file

@ -34,7 +34,7 @@ public final class AlexisCloak extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature has shroud.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
}
private AlexisCloak(final AlexisCloak card) {

View file

@ -40,7 +40,7 @@ public final class AlhammarretHighArbiter extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// As Alhammarret, High Arbiter enters the battlefield, each opponent reveals their hand. You choose the name of a nonland card revealed this way.
// Your opponents can't cast spells with the chosen name.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new EntersBattlefieldEffect(new AlhammarretHighArbiterEffect(), "")));
this.addAbility(new SimpleStaticAbility(new EntersBattlefieldEffect(new AlhammarretHighArbiterEffect(), "")));
}
private AlhammarretHighArbiter(final AlhammarretHighArbiter card) {

View file

@ -24,10 +24,10 @@ public final class AlhammarretsArchive extends CardImpl {
this.supertype.add(SuperType.LEGENDARY);
// If you would gain life, you gain twice that much life instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AlhammarretsArchiveEffect()));
this.addAbility(new SimpleStaticAbility(new AlhammarretsArchiveEffect()));
// If you draw a card except the first one you draw in each of your draw steps, draw two cards instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AlhammarretsArchiveReplacementEffect()), new CardsDrawnDuringDrawStepWatcher());
this.addAbility(new SimpleStaticAbility(new AlhammarretsArchiveReplacementEffect()), new CardsDrawnDuringDrawStepWatcher());
}
private AlhammarretsArchive(final AlhammarretsArchive card) {

View file

@ -28,7 +28,7 @@ public final class AliFromCairo extends CardImpl {
this.toughness = new MageInt(1);
// Damage that would reduce your life total to less than 1 reduces it to 1 instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AliFromCairoReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new AliFromCairoReplacementEffect()));
}
private AliFromCairo(final AliFromCairo card) {

View file

@ -33,7 +33,7 @@ public final class AlloyGolem extends CardImpl {
Ability ability = new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Neutral));
ability.addEffect(new EnterAttributeSetChosenColorEffect());
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetChosenColorEffect()));
this.addAbility(new SimpleStaticAbility(new SetChosenColorEffect()));
}
private AlloyGolem(final AlloyGolem card) {

View file

@ -35,7 +35,7 @@ public final class AlmsCollector extends CardImpl {
this.addAbility(FlashAbility.getInstance());
// If an opponent would draw two or more cards, instead you and that player each draw a card.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AlmsCollectorReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new AlmsCollectorReplacementEffect()));
}
private AlmsCollector(final AlmsCollector card) {

View file

@ -34,7 +34,7 @@ public final class AlphaAuthority extends CardImpl {
this.addAbility(ability);
// Enchanted creature has hexproof and can't be blocked by more than one creature.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HexproofAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new GainAbilityAttachedEffect(HexproofAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield));
Effect effect = new CantBeBlockedByMoreThanOneAttachedEffect(AttachmentType.AURA);
effect.setText("and can't be blocked by more than one creature");
ability.addEffect(effect);

View file

@ -37,7 +37,7 @@ public final class AlphaStatus extends CardImpl {
// Enchanted creature gets +2/+2 for each other creature on the battlefield that shares a creature type with it.
DynamicValue dynamicValue = new AlphaStatusDynamicValue();
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(dynamicValue, dynamicValue, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(dynamicValue, dynamicValue, Duration.WhileOnBattlefield)));
}
private AlphaStatus(final AlphaStatus card) {

View file

@ -30,7 +30,7 @@ public final class AlpineMoon extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ChooseACardNameEffect(ChooseACardNameEffect.TypeOfName.NONBASIC_LAND_NAME)));
// Lands your opponents control with the chosen name lose all land types and abilities, and they gain "{T}: Add one mana of any color."
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AlpineMoonEffect()));
this.addAbility(new SimpleStaticAbility(new AlpineMoonEffect()));
}
private AlpineMoon(final AlpineMoon card) {

View file

@ -50,7 +50,7 @@ public final class AltarGolem extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(amount)));
// Altar Golem doesn't untap during your untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
// Tap five untapped creatures you control: Untap Altar Golem.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new TapTargetCost(new TargetControlledCreaturePermanent(5, 5, filter, true))));

View file

@ -32,7 +32,7 @@ public final class AlwaysWatching extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{W}");
// Nontoken creatures you control get +1/+1 and have vigilance.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter));
Ability ability = new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter));
Effect effect = new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, filter);
effect.setText("and have vigilance");
ability.addEffect(effect);

View file

@ -43,7 +43,7 @@ public final class AmbushCommander extends CardImpl {
new CreatureToken(1, 1, "1/1 green Elf creatures").withColor("G").withSubType(SubType.ELF),
"lands", filter2, Duration.WhileOnBattlefield, true);
effect.getDependencyTypes().add(DependencyType.BecomeForest);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
// {1}{G}, Sacrifice an Elf: Target creature gets +3/+3 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn),

View file

@ -29,7 +29,7 @@ public final class AnHavvaConstable extends CardImpl {
this.toughness = new MageInt(1);
// An-Havva Constable's toughness is equal to 1 plus the number of green creatures on the battlefield.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AnHavvaConstableEffect()));
this.addAbility(new SimpleStaticAbility(new AnHavvaConstableEffect()));
}
private AnHavvaConstable(final AnHavvaConstable card) {

View file

@ -33,7 +33,7 @@ public final class AnabaSpiritCrafter extends CardImpl {
this.toughness = new MageInt(3);
// Minotaur creatures 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 AnabaSpiritCrafter(final AnabaSpiritCrafter card) {

View file

@ -52,7 +52,7 @@ public final class AnafenzaTheForemost extends CardImpl {
this.addAbility(ability);
// If a nontoken creature an opponent owns would die or a creature card not on the battlefield would be put into an opponent's graveyard, exile that card instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AnafenzaTheForemostEffect()));
this.addAbility(new SimpleStaticAbility(new AnafenzaTheForemostEffect()));
}
private AnafenzaTheForemost(final AnafenzaTheForemost card) {

View file

@ -51,7 +51,7 @@ public final class AnakinSkywalker extends CardImpl {
// If Anakin Skywalker would be destroyed, regenerate, then transform him instead.
this.addAbility(new TransformAbility());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AnakinSkywalkerEffect()));
this.addAbility(new SimpleStaticAbility(new AnakinSkywalkerEffect()));
}

View file

@ -40,7 +40,7 @@ public final class AncestralVengeance 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)));
}
private AncestralVengeance(final AncestralVengeance card) {

View file

@ -37,7 +37,7 @@ public final class AngelOfInvention extends CardImpl {
// Fabricate 2
this.addAbility(new FabricateAbility(2));
// 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)));
}
private AngelOfInvention(final AngelOfInvention card) {

View file

@ -36,7 +36,7 @@ public final class AngelOfJubilation extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Other nonblack creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES_NON_BLACK, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES_NON_BLACK, true)));
// Players can't pay life or sacrifice creatures to cast spells or activate abilities.
Ability ability = new SimpleStaticAbility(new AngelOfJubilationEffect());

View file

@ -34,10 +34,10 @@ public final class AngelicArbiter extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Each opponent who cast a spell this turn can't attack with creatures.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AngelicArbiterCantAttackTargetEffect(Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new AngelicArbiterCantAttackTargetEffect(Duration.WhileOnBattlefield)));
// Each opponent who attacked with a creature this turn can't cast spells.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AngelicArbiterEffect2()), new PlayerAttackedWatcher());
this.addAbility(new SimpleStaticAbility(new AngelicArbiterEffect2()), new PlayerAttackedWatcher());
}
private AngelicArbiter(final AngelicArbiter card) {

View file

@ -38,7 +38,7 @@ public final class AngelicDestiny extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +4/+4, has flying and first strike, and is an Angel in addition to its other types.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(4, 4, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(4, 4, Duration.WhileOnBattlefield));
Effect effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA);
effect.setText(", has flying");
ability.addEffect(effect);

View file

@ -37,7 +37,7 @@ public final class AngelicGift extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
// Enchanted creature has flying.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
}
private AngelicGift(final AngelicGift card) {

View file

@ -43,7 +43,7 @@ public final class AngelicOverseer extends CardImpl {
// As long as you control a Human, Angelic Overseer has hexproof and is indestructible.
ConditionalContinuousEffect effect1 = new ConditionalContinuousEffect(new GainAbilitySourceEffect(HexproofAbility.getInstance()), new PermanentsOnTheBattlefieldCondition(filter), rule1);
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect1);
Ability ability = new SimpleStaticAbility(effect1);
ConditionalContinuousEffect effect2 = new ConditionalContinuousEffect(new GainAbilitySourceEffect(IndestructibleAbility.getInstance()), new PermanentsOnTheBattlefieldCondition(filter), rule2);
ability.addEffect(effect2);
this.addAbility(ability);

View file

@ -26,7 +26,7 @@ public final class AngelicShield extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{U}");
// Creatures you control get +0/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield)));
// Sacrifice Angelic Shield: Return target creature to its owner's hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new SacrificeSourceCost());

View file

@ -27,7 +27,7 @@ public final class AngelsTrumpet extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
// All creatures have vigilance.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES)));
// At the beginning of each player's end step, tap all untapped creatures that player controls that didn't attack this turn. Angel's Trumpet deals damage to the player equal to the number of creatures tapped this way.
this.addAbility(new BeginningOfEndStepTriggeredAbility(TargetController.EACH_PLAYER, new AngelsTrumpetTapEffect(), false));

View file

@ -32,7 +32,7 @@ public final class AngrathsMarauders extends CardImpl {
this.toughness = new MageInt(4);
// If a source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AngrathsMaraudersEffect()));
this.addAbility(new SimpleStaticAbility(new AngrathsMaraudersEffect()));
}
private AngrathsMarauders(final AngrathsMarauders card) {

View file

@ -39,7 +39,7 @@ public final class AngryMob extends CardImpl {
// As long as it's your turn, Angry Mob's power and toughness are each equal to 2 plus the number of Swamps your opponents control. As long as it's not your turn, Angry Mob's power and toughness are each 2.
PermanentsOnBattlefieldCount swamps = new PermanentsOnBattlefieldCount(filter);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(swamps, swamps, Duration.WhileOnBattlefield),
MyTurnCondition.instance,
"During your turn, {this}'s power and toughness are each equal to 2 plus the number of Swamps your opponents control. During turns other than yours, {this}'s power and toughness are each 2"))

View file

@ -42,7 +42,7 @@ public final class AnimalBoneyard extends CardImpl {
gainedAbility.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield,
"Enchanted land has \"{T}, Sacrifice a creature: You gain life equal to the sacrificed creature's toughness.\"");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private AnimalBoneyard(final AnimalBoneyard card) {

View file

@ -40,7 +40,7 @@ public final class AnimarSoulOfElements extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), StaticFilters.FILTER_SPELL_A_CREATURE, false));
// Creature spells you cast cost {1} less to cast for each +1/+1 counter on Animar.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AnimarCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(new AnimarCostReductionEffect()));
}

View file

@ -42,7 +42,7 @@ public final class AnimateArtifact extends CardImpl {
this.addAbility(ability);
// As long as enchanted artifact isn't a creature, it's an artifact creature with power and toughness each equal to its converted mana cost.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AnimateArtifactContinuousEffect(Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new AnimateArtifactContinuousEffect(Duration.WhileOnBattlefield)));
}
private AnimateArtifact(final AnimateArtifact card) {

View file

@ -41,10 +41,10 @@ public final class AnimateWall extends CardImpl {
this.addAbility(ability);
// Enchanted Wall can attack as though it didn't have defender.
Ability canAttackAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield));
Ability canAttackAbility = new SimpleStaticAbility(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield));
Effect enchantEffect = new GainAbilityAttachedEffect(canAttackAbility, AttachmentType.AURA, Duration.WhileOnBattlefield);
enchantEffect.setText("Enchanted Wall can attack as though it didn't have defender");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, enchantEffect));
this.addAbility(new SimpleStaticAbility(enchantEffect));
}
private AnimateWall(final AnimateWall card) {

View file

@ -33,7 +33,7 @@ public final class Annex extends CardImpl {
this.addAbility(ability);
// You control enchanted land.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("land")));
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect("land")));
}
private Annex(final Annex card) {

View file

@ -19,7 +19,7 @@ public final class AnointedProcession extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}");
// If an effect would create one or more tokens under your control, it creates twice that many of those tokens instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CreateTwiceThatManyTokensEffect()));
this.addAbility(new SimpleStaticAbility(new CreateTwiceThatManyTokensEffect()));
}
private AnointedProcession(final AnointedProcession card) {

View file

@ -38,7 +38,7 @@ public final class AnthemOfRakdos extends CardImpl {
this.addAbility(ability);
// Hellbent - As long as you have no cards in hand, if a source you control would deal damage to a creature or player, it deals double that damage to that creature or player instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AnthemOfRakdosHellbentEffect()));
this.addAbility(new SimpleStaticAbility(new AnthemOfRakdosHellbentEffect()));
}
private AnthemOfRakdos(final AnthemOfRakdos card) {

View file

@ -38,7 +38,7 @@ public final class AntiMagicAura extends CardImpl {
// Enchanted creature can't be the target of spells and can't be enchanted by other Auras.
CantBeTargetedAttachedEffect cantTargetEffect = new CantBeTargetedAttachedEffect(new FilterSpell("spells"), Duration.WhileOnBattlefield, AttachmentType.AURA, TargetController.ANY);
Ability ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, cantTargetEffect);
Ability ability2 = new SimpleStaticAbility(cantTargetEffect);
ability2.addEffect(new AntiMagicAuraRuleEffect());
this.addAbility(ability2);
}

View file

@ -26,7 +26,7 @@ public final class AnvilOfBogardan extends CardImpl {
// Players have no maximum hand size.
Effect effect = new MaximumHandSizeControllerEffect(Integer.MAX_VALUE, Duration.WhileOnBattlefield, HandSizeModification.SET, TargetController.ANY);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
// At the beginning of each player's draw step, that player draws an additional card, then discards a card.
this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new AnvilOfBogardanEffect(), false));

View file

@ -33,7 +33,7 @@ public final class AqueousForm extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature can't be blocked.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedAttachedEffect(AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new CantBeBlockedAttachedEffect(AttachmentType.AURA)));
// Whenever enchanted creature attacks, scry 1.
this.addAbility(new AttacksAttachedTriggeredAbility(new ScryEffect(1), AttachmentType.AURA,false));

View file

@ -36,7 +36,7 @@ public final class ArachnusWeb 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 end step, if enchanted creature's power is 4 or greater, destroy Arachnus Web.
FilterPermanent filter = new FilterPermanent("if enchanted creature's power is 4 or greater");
filter.add(new PowerPredicate(ComparisonType.MORE_THAN, 3));

View file

@ -48,7 +48,7 @@ public final class ArcadesSabboth extends CardImpl {
new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{W}{U}"))));
// Each untapped creature you control gets +0/+2 as long as it's not attacking.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(0, 2, Duration.WhileOnBattlefield, filter, false)));
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(0, 2, Duration.WhileOnBattlefield, filter, false)));
// {W}: Arcades Sabboth gets +0/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));

View file

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

View file

@ -21,7 +21,7 @@ public final class ArcaneLaboratory extends CardImpl {
// Each player can't cast more than one spell each turn.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantCastMoreThanOneSpellEffect(TargetController.ANY)));
this.addAbility(new SimpleStaticAbility(new CantCastMoreThanOneSpellEffect(TargetController.ANY)));
}
private ArcaneLaboratory(final ArcaneLaboratory card) {

View file

@ -34,7 +34,7 @@ public final class ArcanumWings extends CardImpl {
this.addAbility(ability);
// Enchanted creature has flying.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
// Aura swap {2}{U}
this.addAbility(new AuraSwapAbility(new ManaCostsImpl<>("{2}{U}")));

View file

@ -37,10 +37,10 @@ public final class ArchangelOfStrife extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ArchangelOfStrifeChooseEffect()));
// Creatures controlled by players who chose war get +3/+0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ArchangelOfStrifeWarEffect()));
this.addAbility(new SimpleStaticAbility(new ArchangelOfStrifeWarEffect()));
// Creatures controlled by players who chose peace get +0/+3.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ArchangelOfStrifePeaceEffect()));
this.addAbility(new SimpleStaticAbility(new ArchangelOfStrifePeaceEffect()));
}
private ArchangelOfStrife(final ArchangelOfStrife card) {

View file

@ -35,10 +35,10 @@ public final class ArchangelOfTithes extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// As long as Archangel of Tithes is untapped, creatures can't attack you or a planeswalker you control unless their controller pays {1} for each of those creatures.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ArchangelOfTithesPayManaToAttackAllEffect()));
this.addAbility(new SimpleStaticAbility(new ArchangelOfTithesPayManaToAttackAllEffect()));
// As long as Archangel of Tithes is attacking, creatures can't block unless their controller pays {1} for each of those creatures.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ArchangelOfTithesPayManaToBlockAllEffect()));
this.addAbility(new SimpleStaticAbility(new ArchangelOfTithesPayManaToBlockAllEffect()));
}
private ArchangelOfTithes(final ArchangelOfTithes card) {

View file

@ -53,7 +53,7 @@ public final class ArchonOfValorsReach extends CardImpl {
));
// Players can't cast spells of the chosen type.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ArchonOfValorsReachReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new ArchonOfValorsReachReplacementEffect()));
}
private ArchonOfValorsReach(final ArchonOfValorsReach card) {

View file

@ -41,7 +41,7 @@ public final class ArcticAven extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Arctic Aven gets +1/+1 as long as you control a Plains.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(filter, 1, 1)));
this.addAbility(new SimpleStaticAbility(new BoostSourceWhileControlsEffect(filter, 1, 1)));
// {W}: Arctic Aven gains lifelink until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn),

View file

@ -31,7 +31,7 @@ public final class ArdentRecruit extends CardImpl {
ContinuousEffect boostSource = new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield);
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(boostSource, MetalcraftCondition.instance,
"{this} gets +2/+2 as long as you control three or more artifacts");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
ability.setAbilityWord(AbilityWord.METALCRAFT);
ability.addHint(MetalcraftHint.instance);
this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class ArgentumArmor extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +6/+6.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(6, 6)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(6, 6)));
// Whenever equipped creature attacks, destroy target permanent.
Ability ability = new AttacksAttachedTriggeredAbility(new DestroyTargetEffect());

View file

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

View file

@ -35,7 +35,7 @@ public final class ArmamentMaster extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ArmamentMasterEffect()));
this.addAbility(new SimpleStaticAbility(new ArmamentMasterEffect()));
}
private ArmamentMaster(final ArmamentMaster card) {
@ -99,4 +99,4 @@ class ArmamentMasterEffect extends ContinuousEffectImpl {
return count;
}
}
}

View file

@ -47,7 +47,7 @@ public final class ArmamentOfNyx extends CardImpl {
this.addAbility(ability);
Condition condition = new AttachedToMatchesFilterCondition(filter);
// Enchanted creature has double strike as long as it's an enchantment. Otherwise, prevent all damage that would be dealt by enchanted creature
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
new GainAbilityAttachedEffect(DoubleStrikeAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield),
condition, "Enchanted creature has double strike as long as it's an enchantment"));
ReplacementEffect effect = new PreventAllDamageByAttachedEffect(Duration.WhileOnBattlefield, "enchanted creature", false);

View file

@ -32,7 +32,7 @@ public final class ArmorOfFaith 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)));
// {W}: Enchanted creature gets +0/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
}

View file

@ -35,7 +35,7 @@ public final class ArmorOfThorns extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +2/+2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
}
private ArmorOfThorns(final ArmorOfThorns card) {

View file

@ -28,7 +28,7 @@ public final class ArmorSliver extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn).setText("this creature gets +0/+1 until end of turn"),
new GenericManaCost(2)), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_SLIVERS, false)));
}

View file

@ -26,7 +26,7 @@ public final class ArmoredGalleon extends CardImpl {
this.toughness = new MageInt(4);
// Armored Galleon 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"))));
}
private ArmoredGalleon(final ArmoredGalleon card) {

View file

@ -39,7 +39,7 @@ public final class ArmoryGuard extends CardImpl {
// Armory Guard has vigilance as long as you control a Gate.
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new GainAbilitySourceEffect(VigilanceAbility.getInstance()), new PermanentsOnTheBattlefieldCondition(filter), rule);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private ArmoryGuard(final ArmoryGuard card) {

View file

@ -36,7 +36,7 @@ public final class Arrest 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()));
}
private Arrest(final Arrest card) {

View file

@ -43,7 +43,7 @@ public final class ArvadTheCursed extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// Other legendary creatures you control get +2/+2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, filter, true)));
}
private ArvadTheCursed(final ArvadTheCursed card) {

View file

@ -38,8 +38,8 @@ public final class AscendantEvincar extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
this.addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filterBlack, true)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(-1, -1, Duration.WhileOnBattlefield, filterNonBlack, false)));
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filterBlack, true)));
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(-1, -1, Duration.WhileOnBattlefield, filterNonBlack, false)));
}
private AscendantEvincar(final AscendantEvincar card) {

View file

@ -44,7 +44,7 @@ public final class AshenmoorCohort extends CardImpl {
// Ashenmoor Cohort gets +1/+1 as long as you control another black creature.
Condition condition = new PermanentsOnTheBattlefieldCondition(filter);
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), condition, rule);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}

View file

@ -38,9 +38,9 @@ public final class AshenmoorLiege extends CardImpl {
this.toughness = new MageInt(1);
// Other black creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterBlackCreature, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterBlackCreature, true)));
// Other red creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterRedCreature, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterRedCreature, true)));
// Whenever Ashenmoor Liege becomes the target of a spell or ability an opponent controls, that player loses 4 life.
this.addAbility(new BecomesTargetSourceTriggeredAbility(new LoseLifeTargetEffect(4),

View file

@ -27,7 +27,7 @@ public final class AshesOfTheAbhorrent extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}");
// Players can't cast spells from graveyards or activate abilities of cards in graveyards.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AshesOfTheAbhorrentEffect()));
this.addAbility(new SimpleStaticAbility(new AshesOfTheAbhorrentEffect()));
// Whenever a creature dies, you gain 1 life.
this.addAbility(new DiesCreatureTriggeredAbility(new GainLifeEffect(1), false));

View file

@ -30,7 +30,7 @@ public final class AshesOfTheFallen extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.Benefit)));
// Each creature card in your graveyard has the chosen creature type in addition to its other types.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AshesOfTheFallenEffect()));
this.addAbility(new SimpleStaticAbility(new AshesOfTheFallenEffect()));
}
private AshesOfTheFallen(final AshesOfTheFallen card) {

View file

@ -34,10 +34,10 @@ public final class AshlingsPrerogative extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(new ChooseModeEffect("Odd or even?", "Odd", "Even"), null, "As {this} enters, choose odd or even. <i>(Zero is even.)</i>", ""));
// Each creature with converted mana cost of the chosen value has haste.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AshlingsPrerogativeCorrectOddityEffect()));
this.addAbility(new SimpleStaticAbility(new AshlingsPrerogativeCorrectOddityEffect()));
// Each creature without converted mana cost of the chosen value enters the battlefield tapped.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AshlingsPrerogativeIncorrectOddityEffect()));
this.addAbility(new SimpleStaticAbility(new AshlingsPrerogativeIncorrectOddityEffect()));
}

View file

@ -29,7 +29,7 @@ public final class AshmouthBlade extends CardImpl {
this.nightCard = true;
// Equipped creature gets +3/+3
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 3));
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(3, 3));
this.addAbility(ability);
// and has first strike.

View file

@ -37,7 +37,7 @@ public final class AspectOfGorgon extends CardImpl {
// Enchanted creature gets +1/+3 and has deathtouch.
Effect effect = new BoostEnchantedEffect(1,3, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature gets +1/+3");
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
ability = new SimpleStaticAbility(effect);
effect = new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText("and has deathtouch");
ability.addEffect(effect);

View file

@ -35,7 +35,7 @@ public final class AspectOfMongoose extends CardImpl {
this.addAbility(ability);
// Enchanted creature has shroud.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
// When Aspect of Mongoose is put into a graveyard from the battlefield, return Aspect of Mongoose to its owner's hand.
this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new ReturnToHandSourceEffect()));

View file

@ -31,7 +31,7 @@ public final class AudaciousInfiltrator extends CardImpl {
// Audacious Infiltrator can't be blocked by artifact creatures.
Effect effect = new CantBeBlockedByCreaturesSourceEffect(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE, Duration.WhileOnBattlefield);
effect.setText("{this} can't be blocked by artifact creatures");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private AudaciousInfiltrator(final AudaciousInfiltrator card) {

View file

@ -35,10 +35,10 @@ public final class AuraGnarlid extends CardImpl {
this.toughness = new MageInt(2);
// Creatures with power less than Aura Gnarlid's power can't block it.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByCreaturesWithLessPowerEffect()));
this.addAbility(new SimpleStaticAbility(new CantBeBlockedByCreaturesWithLessPowerEffect()));
// Aura Gnarlid gets +1/+1 for each Aura on the battlefield.
PermanentsOnBattlefieldCount count = new PermanentsOnBattlefieldCount(filter);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(count, count, Duration.WhileOnBattlefield)));
}
private AuraGnarlid(final AuraGnarlid card) {

View file

@ -35,7 +35,7 @@ public final class AuraOfSilence extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{W}");
// Artifact and enchantment spells your opponents cast cost {2} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostIncreasingAllEffect(2, filter, TargetController.OPPONENT)));
this.addAbility(new SimpleStaticAbility(new SpellsCostIncreasingAllEffect(2, filter, TargetController.OPPONENT)));
// Sacrifice Aura of Silence: Destroy target artifact or enchantment.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new SacrificeSourceCost());
@ -51,4 +51,4 @@ public final class AuraOfSilence extends CardImpl {
public AuraOfSilence copy() {
return new AuraOfSilence(this);
}
}
}

View file

@ -43,7 +43,7 @@ public final class AuramancersGuise extends CardImpl {
DynamicValue ptBoost = new EnchantedCreatureAurasCount();
BoostEnchantedEffect effect = new BoostEnchantedEffect(ptBoost, ptBoost, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature gets +2/+2 for each Aura attached to it");
SimpleStaticAbility ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
SimpleStaticAbility ability2 = new SimpleStaticAbility(effect);
ability2.addEffect(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA).setText("and has vigilance"));
this.addAbility(ability2);
}

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