refactor: SimpleStaticAbility default zone (cards L M)

This commit is contained in:
xenohedron 2024-11-16 22:13:46 -05:00
parent e26fa56d69
commit ee2b430479
233 changed files with 261 additions and 267 deletions

View file

@ -33,7 +33,7 @@ public final class LaboratoryManiac extends CardImpl {
this.toughness = new MageInt(2);
// If you would draw a card while your library has no cards in it, you win the game instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LaboratoryManiacEffect()));
this.addAbility(new SimpleStaticAbility(new LaboratoryManiacEffect()));
}

View file

@ -33,7 +33,7 @@ public final class LairwatchGiant extends CardImpl {
this.toughness = new MageInt(3);
// Lairwatch Giant can block an additional creature each combat.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(1)));
this.addAbility(new SimpleStaticAbility(new CanBlockAdditionalCreatureEffect(1)));
// Whenever Lairwatch Giant blocks two or more creatures, it gains first strike until end of turn.
this.addAbility(new LairwatchGiantTriggeredAbility());

View file

@ -32,7 +32,7 @@ public final class LambholtPacifist extends CardImpl {
this.secondSideCardClazz = mage.cards.l.LambholtButcher.class;
// Lambholt Pacifist can't attack unless you control a creature with power 4 or greater.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LambholtPacifistEffect()));
this.addAbility(new SimpleStaticAbility(new LambholtPacifistEffect()));
// At the beginning of each upkeep, if no spells were cast last turn, transform Lambholt Pacifist.
this.addAbility(new TransformAbility());
@ -84,4 +84,3 @@ class LambholtPacifistEffect extends RestrictionEffect {
return false;
}
}

View file

@ -36,7 +36,7 @@ public final class Lance extends CardImpl {
this.addAbility(ability);
// Enchanted creature has first strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
}
private Lance(final Lance card) {

View file

@ -33,7 +33,7 @@ public final class LandCap 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 Land Cap.
Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()));

View file

@ -55,7 +55,7 @@ public final class Lashknife extends CardImpl {
this.addAbility(ability);
// Enchanted creature has first strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
}
private Lashknife(final Lashknife card) {

View file

@ -29,7 +29,7 @@ public final class LashknifeBarrier extends CardImpl {
// When Lashknife Barrier enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
// If a source would deal damage to a creature you control, it deals that much damage minus 1 to that creature instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LashknifeBarrierEffect()));
this.addAbility(new SimpleStaticAbility(new LashknifeBarrierEffect()));
}
private LashknifeBarrier(final LashknifeBarrier card) {

View file

@ -35,7 +35,7 @@ public final class Lashwrithe extends CardImpl {
// Equipped creature gets +1/+1 for each Swamp you control.
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(value, value)));
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(value, value)));
// Equip {B/P}{B/P} (Phyrexian Black can be paid with either Black or 2 life.)
this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl<>("{B/P}{B/P}"), false));

View file

@ -30,7 +30,7 @@ public final class Launch extends CardImpl {
this.addAbility(new EnchantAbility(auraTarget));
// Enchanted creature has flying.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield)));
// When Launch is put into a graveyard from the battlefield, return Launch to its owner's hand.
this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new ReturnToHandSourceEffect()));

View file

@ -33,7 +33,7 @@ public final class LavaTubes 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 Lava Tubes.
Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()));

View file

@ -40,14 +40,14 @@ public final class LavamancersSkill extends CardImpl {
// Enchanted creature has "{tap}: This creature deals 1 damage to target creature."
Ability pingAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
pingAbility.addTarget(new TargetCreaturePermanent());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(pingAbility, AttachmentType.AURA, Duration.WhileOnBattlefield,
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(pingAbility, AttachmentType.AURA, Duration.WhileOnBattlefield,
"Enchanted creature has \"{T}: This creature deals 1 damage to target creature.\"")));
// As long as enchanted creature is a Wizard, it has "{tap}: This creature deals 2 damage to target creature."
Ability pingTwoAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new TapSourceCost());
pingTwoAbility.addTarget(new TargetCreaturePermanent());
ContinuousEffect isWizardEffect = new GainAbilityAttachedEffect(pingTwoAbility, AttachmentType.AURA);
SimpleStaticAbility ifWizardAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(isWizardEffect, new EnchantedCreatureSubtypeCondition(SubType.WIZARD),
SimpleStaticAbility ifWizardAbility = new SimpleStaticAbility(new ConditionalContinuousEffect(isWizardEffect, new EnchantedCreatureSubtypeCondition(SubType.WIZARD),
"As long as enchanted creature is a Wizard, it has \"{T}: This creature deals 2 damage to target creature.\""));
this.addAbility(ifWizardAbility);

View file

@ -39,7 +39,7 @@ public final class LaviniaAzoriusRenegade extends CardImpl {
this.toughness = new MageInt(2);
// Each opponent can't cast noncreature spells with converted mana cost greater than the number of lands that player controls.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LaviniaAzoriusRenegadeReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new LaviniaAzoriusRenegadeReplacementEffect()));
// Whenever an opponent casts a spell, if no mana was spent to cast it, counter that spell.
this.addAbility(new SpellCastOpponentNoManaSpentTriggeredAbility(new CounterTargetEffect().setText("counter that spell")));

View file

@ -38,7 +38,7 @@ public final class LawmagesBinding extends CardImpl {
this.addAbility(ability);
// Enchanted creature can't attack or block, and its activate abilities can't be activated.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttackActivateAttachedEffect()));
this.addAbility(new SimpleStaticAbility(new CantBlockAttackActivateAttachedEffect()));
}
private LawmagesBinding(final LawmagesBinding card) {

View file

@ -36,7 +36,7 @@ public final class LayClaim extends CardImpl {
this.addAbility(ability);
// You control enchanted permanent.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("permanent")));
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect("permanent")));
// Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));

View file

@ -41,7 +41,7 @@ public final class LeadenFists extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +3/+3 and doesn't untap during its controller's untap step.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield));
Effect effect = new DontUntapInControllersUntapStepEnchantedEffect();
effect.setText("and doesn't untap during its controller's untap step");
ability.addEffect(effect);

View file

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

View file

@ -43,7 +43,7 @@ public final class LeafdrakeRoost extends CardImpl {
// Enchanted land has "{G}{U}, {tap}: Create a 2/2 green and blue Drake creature token with flying."
Ability abilityToGain = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new LeafdrakeRoostDrakeToken()), new ManaCostsImpl<>("{G}{U}"));
abilityToGain.addCost(new TapSourceCost());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(abilityToGain, AttachmentType.AURA, Duration.WhileOnBattlefield,
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(abilityToGain, AttachmentType.AURA, Duration.WhileOnBattlefield,
"Enchanted land has \"{G}{U}, {T}: Create a 2/2 green and blue Drake creature token with flying.\"")));
}

View file

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

View file

@ -28,7 +28,7 @@ public final class LeoninAbunas extends CardImpl {
this.toughness = new MageInt(5);
// Artifacts you control have hexproof.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ARTIFACTS, false)));
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ARTIFACTS, false)));
}
private LeoninAbunas(final LeoninAbunas card) {

View file

@ -34,7 +34,7 @@ public final class LeoninArbiter extends CardImpl {
this.toughness = new MageInt(2);
// Players can't search libraries.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LeoninArbiterCantSearchEffect(KEY_STRING)));
this.addAbility(new SimpleStaticAbility(new LeoninArbiterCantSearchEffect(KEY_STRING)));
// Any player may pay {2} for that player to ignore this effect until end of turn.
this.addAbility(new LeoninArbiterSpecialAction(KEY_STRING));

View file

@ -36,9 +36,9 @@ public final class LeoninDenGuard extends CardImpl {
// As long as Leonin Den-Guard is equipped, it gets +1/+1 and has vigilance.
ConditionalContinuousEffect effect1 = new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), EquippedSourceCondition.instance, rule1);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect1));
this.addAbility(new SimpleStaticAbility(effect1));
ConditionalContinuousEffect effect2 = new ConditionalContinuousEffect(new GainAbilitySourceEffect(VigilanceAbility.getInstance()), EquippedSourceCondition.instance, rule2);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect2));
this.addAbility(new SimpleStaticAbility(effect2));
}

View file

@ -23,7 +23,7 @@ public final class LeoninScimitar 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

@ -26,7 +26,7 @@ public final class LeoninShikari extends CardImpl {
this.toughness = new MageInt(2);
// You may activate equip abilities any time you could cast an instant.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ActivateAbilitiesAnyTimeYouCouldCastInstantEffect(EquipAbility.class, "equip abilities")));
this.addAbility(new SimpleStaticAbility(new ActivateAbilitiesAnyTimeYouCouldCastInstantEffect(EquipAbility.class, "equip abilities")));
}
private LeoninShikari(final LeoninShikari card) {

View file

@ -32,7 +32,7 @@ public final class LeovoldEmissaryOfTrest extends CardImpl {
this.toughness = new MageInt(3);
// Each opponent can't draw more than one card each turn. (Based on SpiritOfTheLabyrinth)
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LeovoldEmissaryOfTrestEffect()), new CardsAmountDrawnThisTurnWatcher());
this.addAbility(new SimpleStaticAbility(new LeovoldEmissaryOfTrestEffect()), new CardsAmountDrawnThisTurnWatcher());
// Whenever you or a permanent you control becomes the target of a spell or ability an opponent controls, you may draw a card.
this.addAbility(new BecomesTargetControllerTriggeredAbility(new DrawCardSourceControllerEffect(1),

View file

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

View file

@ -61,7 +61,7 @@ public final class Leviathan extends CardImpl {
));
// Leviathan can't attack unless you sacrifice two Islands. (This cost is paid as attackers are declared.)
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LeviathanCostToAttackBlockEffect()));
this.addAbility(new SimpleStaticAbility(new LeviathanCostToAttackBlockEffect()));
}

View file

@ -22,7 +22,7 @@ public final class Levitation extends CardImpl {
public Levitation (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{U}");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
}
private Levitation(final Levitation card) {

View file

@ -32,7 +32,7 @@ public final class LeylineOfAnticipation extends CardImpl {
this.addAbility(LeylineAbility.getInstance());
// You may cast spells as though they had flash. (You may cast them any time you could cast an instant.)
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter)));
this.addAbility(new SimpleStaticAbility(new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter)));
}
private LeylineOfAnticipation(final LeylineOfAnticipation card) {

View file

@ -30,7 +30,7 @@ public final class LeylineOfLifeforce extends CardImpl {
this.addAbility(LeylineAbility.getInstance());
// Creature spells can't be countered.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LeylineOfLifeforceEffect()));
this.addAbility(new SimpleStaticAbility(new LeylineOfLifeforceEffect()));
}
private LeylineOfLifeforce(final LeylineOfLifeforce card) {

View file

@ -30,9 +30,9 @@ public final class LeylineOfPunishment extends CardImpl {
// If Leyline of Punishment is in your opening hand, you may begin the game with it on the battlefield.
this.addAbility(LeylineAbility.getInstance());
// Players can't gain life.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect()));
this.addAbility(new SimpleStaticAbility(new CantGainLifeAllEffect()));
// Damage can't be prevented.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LeylineOfPunishmentEffect2()));
this.addAbility(new SimpleStaticAbility(new LeylineOfPunishmentEffect2()));
}
private LeylineOfPunishment(final LeylineOfPunishment card) {

View file

@ -34,7 +34,7 @@ public final class LeylineOfSanctity extends CardImpl {
this.addAbility(LeylineAbility.getInstance());
// You have hexproof. (You can't be the target of spells or abilities your opponents control.)
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControllerEffect(HexproofAbility.getInstance())));
this.addAbility(new SimpleStaticAbility(new GainAbilityControllerEffect(HexproofAbility.getInstance())));
}
private LeylineOfSanctity(final LeylineOfSanctity card) {
@ -47,4 +47,3 @@ public final class LeylineOfSanctity extends CardImpl {
}
}

View file

@ -27,7 +27,7 @@ public final class LeylineOfSingularity extends CardImpl {
this.addAbility(LeylineAbility.getInstance());
// All nonland permanents are legendary.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetSupertypeAllEffect()));
this.addAbility(new SimpleStaticAbility(new SetSupertypeAllEffect()));
}
private LeylineOfSingularity(final LeylineOfSingularity card) {

View file

@ -32,7 +32,7 @@ public final class LeylineOfTheVoid extends CardImpl {
// If Leyline of the Void is in your opening hand, you may begin the game with it on the battlefield.
this.addAbility(LeylineAbility.getInstance());
// If a card would be put into an opponent's graveyard from anywhere, exile it instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LeylineOfTheVoidEffect()));
this.addAbility(new SimpleStaticAbility(new LeylineOfTheVoidEffect()));
}
private LeylineOfTheVoid(final LeylineOfTheVoid card) {

View file

@ -27,7 +27,7 @@ public final class LeylineOfVitality extends CardImpl {
this.addAbility(LeylineAbility.getInstance());
// Creatures you control get +0/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
// Whenever a creature you control enters, you may gain 1 life.
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(

View file

@ -28,10 +28,10 @@ public final class LibraryOfLeng extends CardImpl {
// You have no maximum hand size.
Effect effect = new MaximumHandSizeControllerEffect(Integer.MAX_VALUE, Duration.WhileOnBattlefield, MaximumHandSizeControllerEffect.HandSizeModification.SET);
addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
addAbility(new SimpleStaticAbility(effect));
// If an effect causes you to discard a card, discard it, but you may put it on top of your library instead of into your graveyard.
addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LibraryOfLengEffect()));
addAbility(new SimpleStaticAbility(new LibraryOfLengEffect()));
}

View file

@ -43,10 +43,10 @@ public final class Lich extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(new LoseLifeSourceControllerEffect(ControllerLifeCount.instance), null, "As Lich enters the battlefield, you lose life equal to your life total.", null));
// You don't lose the game for having 0 or less life.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontLoseByZeroOrLessLifeEffect(Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new DontLoseByZeroOrLessLifeEffect(Duration.WhileOnBattlefield)));
// If you would gain life, draw that many cards instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LichLifeGainReplacementEffect()));
this.addAbility(new SimpleStaticAbility(new LichLifeGainReplacementEffect()));
// Whenever you're dealt damage, sacrifice that many nontoken permanents. If you can't, you lose the game.
this.addAbility(new LichDamageTriggeredAbility());

View file

@ -36,7 +36,7 @@ public final class Lichenthrope extends CardImpl {
this.toughness = new MageInt(5);
// If damage would be dealt to Lichenthrope, put that many -1/-1 counters on it instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LichenthropeEffect()));
this.addAbility(new SimpleStaticAbility(new LichenthropeEffect()));
// At the beginning of your upkeep, remove a -1/-1 counter from Lichenthrope.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance())));

View file

@ -47,7 +47,7 @@ public final class LichsMastery extends CardImpl {
this.addAbility(HexproofAbility.getInstance());
// You can't lose the game.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LichsMasteryCantLoseEffect()));
this.addAbility(new SimpleStaticAbility(new LichsMasteryCantLoseEffect()));
// Whenever you gain life, draw that many cards.
this.addAbility(new GainLifeControllerTriggeredAbility(

View file

@ -27,7 +27,7 @@ public final class LichsMirror extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}");
// If you would lose the game, instead shuffle your hand, your graveyard, and all permanents you own into your library, then draw seven cards and your life total becomes 20.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LichsMirrorEffect()));
this.addAbility(new SimpleStaticAbility(new LichsMirrorEffect()));
}
private LichsMirror(final LichsMirror card) {

View file

@ -28,7 +28,7 @@ public final class LichsTomb extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// You don't lose the game for having 0 or less life.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontLoseByZeroOrLessLifeEffect(Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new DontLoseByZeroOrLessLifeEffect(Duration.WhileOnBattlefield)));
// Whenever you lose life, sacrifice a permanent for each 1 life you lost.
this.addAbility(new LichsTombTriggeredAbility());

View file

@ -25,7 +25,7 @@ public final class LifeAndLimb extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}");
// All Forests and all Saprolings are 1/1 green Saproling creatures and Forest lands in addition to their other types.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LifeAndLimbEffect()));
this.addAbility(new SimpleStaticAbility(new LifeAndLimbEffect()));
}
private LifeAndLimb(final LifeAndLimb card) {

View file

@ -30,7 +30,7 @@ public final class Lifelink extends CardImpl {
this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility));
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA)));
}
private Lifelink(final Lifelink card) {

View file

@ -29,7 +29,7 @@ public final class LightOfDay extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}");
// Black creatures can't attack or block.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackBlockAllEffect(Duration.WhileOnBattlefield, filter)));
this.addAbility(new SimpleStaticAbility(new CantAttackBlockAllEffect(Duration.WhileOnBattlefield, filter)));
}

View file

@ -27,7 +27,7 @@ public final class LightOfSanction extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{W}");
// Prevent all damage that would be dealt to creatures you control by sources you control.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LightOfSanctionEffect()));
this.addAbility(new SimpleStaticAbility(new LightOfSanctionEffect()));
}
private LightOfSanction(final LightOfSanction card) {

View file

@ -30,7 +30,7 @@ public final class Lightform extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new BecomesAuraAttachToManifestSourceEffect()));
// Enchanted creature has flying and lifelink.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield));
Ability ability = new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield));
Effect effect = new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText("and lifelink");
ability.addEffect(effect);
@ -46,5 +46,3 @@ public final class Lightform extends CardImpl {
return new Lightform(this);
}
}

View file

@ -44,7 +44,7 @@ public final class LightningDiadem extends CardImpl {
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 LightningDiadem(final LightningDiadem card) {

View file

@ -29,7 +29,7 @@ public final class LightningGreaves extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has haste and shroud.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT));
Ability ability = new SimpleStaticAbility(new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT));
Effect effect = new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.EQUIPMENT);
effect.setText("and shroud");
ability.addEffect(effect);

View file

@ -34,7 +34,7 @@ public final class LightningMauler extends CardImpl {
this.addAbility(new SoulbondAbility());
// As long as Lightning Mauler is paired with another creature, both creatures have haste.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityPairedEffect(HasteAbility.getInstance(), ruleText)));
this.addAbility(new SimpleStaticAbility(new GainAbilityPairedEffect(HasteAbility.getInstance(), ruleText)));
}
private LightningMauler(final LightningMauler card) {

View file

@ -36,10 +36,10 @@ public final class LightningProwess extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature has haste and "{tap}: This creature deals 1 damage to any target."
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.AURA)));
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability, AttachmentType.AURA)));
}
private LightningProwess(final LightningProwess card) {

View file

@ -43,7 +43,7 @@ public final class LightningReflexes extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted creature gets +1/+0 and has first strike.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 0, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(1, 0, Duration.WhileOnBattlefield));
Effect effect = new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA);
effect.setText("and has first strike");
ability.addEffect(effect);

View file

@ -39,7 +39,7 @@ public final class LightningTalons extends CardImpl {
Effect effect2 = new BoostEnchantedEffect(3, 0, Duration.WhileOnBattlefield);
effect2.setText("Enchanted creature gets +3/+0");
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 0, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEnchantedEffect(3, 0, Duration.WhileOnBattlefield));
effect2 = new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA);
effect2.setText("and has first strike");
ability.addEffect(effect2);

View file

@ -29,7 +29,7 @@ public final class Lightwalker extends CardImpl {
this.toughness = new MageInt(1);
// Lightwalker has flying as long as it has a +1/+1 counter on it.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance()),
new SourceHasCounterCondition(CounterType.P1P1),"Lightwalker has flying as long as it has a +1/+1 counter on it")));
}

View file

@ -29,7 +29,7 @@ public final class LilianasElite extends CardImpl {
// Liliana's Elite gets +1/+1 for each creature card in your graveyard.
DynamicValue amount = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE);
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(amount, amount, Duration.WhileOnBattlefield));
Ability ability = new SimpleStaticAbility(new BoostSourceEffect(amount, amount, Duration.WhileOnBattlefield));
this.addAbility(ability);
}

View file

@ -31,7 +31,7 @@ public final class LilianasMastery extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}{B}");
// Zombies creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
// When Liliana's Army enters the battlefield, create two 2/2 black Zombie creature tokens.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ZombieToken(), 2)));

View file

@ -37,7 +37,7 @@ public final class LingeringMirage extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted land is an Island.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesBasicLandEnchantedEffect(SubType.ISLAND)));
this.addAbility(new SimpleStaticAbility(new BecomesBasicLandEnchantedEffect(SubType.ISLAND)));
// Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}

View file

@ -30,7 +30,7 @@ public final class LinvalaKeeperOfSilence extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Activated abilities of creatures your opponents control can't be activated.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LinvalaKeeperOfSilenceCantActivateEffect()));
this.addAbility(new SimpleStaticAbility(new LinvalaKeeperOfSilenceCantActivateEffect()));
}
private LinvalaKeeperOfSilence(final LinvalaKeeperOfSilence card) {

View file

@ -43,7 +43,7 @@ public final class LiuBeiLordOfShu extends CardImpl {
// Horsemanship
this.addAbility(HorsemanshipAbility.getInstance());
// Liu Bei, Lord of Shu gets +2/+2 as long as you control a permanent named Guan Yu, Sainted Warrior or a permanent named Zhang Fei, Fierce Warrior.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter),
"{this} gets +2/+2 as long as you control a permanent named Guan Yu, Sainted Warrior or a permanent named Zhang Fei, Fierce Warrior")));

View file

@ -27,7 +27,7 @@ public final class LivingLands extends CardImpl {
new CreatureToken(1, 1, "1/1 creatures"),
"lands", filter, Duration.WhileOnBattlefield, false);
effect.getDependencyTypes().add(DependencyType.BecomeForest); // TODO: are these dependencies correct/complete?
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
this.addAbility(new SimpleStaticAbility(effect));
}
private LivingLands(final LivingLands card) {

View file

@ -25,7 +25,7 @@ public final class LivingPlane extends CardImpl {
this.supertype.add(SuperType.WORLD);
// All lands are 1/1 creatures that are still lands.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureAllEffect(
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAllEffect(
new CreatureToken(1, 1, "1/1 creatures"),
"lands", filter, Duration.WhileOnBattlefield, false)));
}

View file

@ -34,7 +34,7 @@ public final class LivingTerrain extends CardImpl {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
// Enchanted land is a 5/6 green Treefolk creature that's still a land.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureAttachedEffect(
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAttachedEffect(
new TreefolkToken(), "Enchanted land is a 5/6 green Treefolk creature that's still a land", Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.COLOR)));
}

View file

@ -47,7 +47,7 @@ public final class LlawanCephalidEmpress extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandFromBattlefieldAllEffect(filter), false));
// Your opponents can't cast blue creature spells.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LlawanCephalidRuleModifyingEffect()));
this.addAbility(new SimpleStaticAbility(new LlawanCephalidRuleModifyingEffect()));
}
private LlawanCephalidEmpress(final LlawanCephalidEmpress card) {

View file

@ -33,7 +33,7 @@ public final class LobeLobber extends CardImpl {
Effect effect = new LobeLobberEffect();
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost());
ability.addTarget(new TargetPlayer());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
// Equip 2
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2), false));

View file

@ -24,7 +24,7 @@ public final class LocketOfYesterdays extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
// Spells you cast cost {1} less to cast for each card with the same name as that spell in your graveyard.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LocketOfYesterdaysCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(new LocketOfYesterdaysCostReductionEffect()));
}
private LocketOfYesterdays(final LocketOfYesterdays card) {

View file

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

View file

@ -31,10 +31,10 @@ public final class LongForgottenGohei extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// Arcane spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(arcaneFilter, 1)));
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(arcaneFilter, 1)));
// Spirit creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, spiritFilter, false)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, spiritFilter, false)));
}
private LongForgottenGohei(final LongForgottenGohei card) {

View file

@ -30,10 +30,10 @@ public final class LordMagnus extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// Creatures with plainswalk can be blocked as though they didn't have plainswalk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LordMagnusFirstEffect()));
this.addAbility(new SimpleStaticAbility(new LordMagnusFirstEffect()));
// Creatures with forestwalk can be blocked as though they didn't have forestwalk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LordMagnusSecondEffect()));
this.addAbility(new SimpleStaticAbility(new LordMagnusSecondEffect()));
}
private LordMagnus(final LordMagnus card) {

View file

@ -35,7 +35,7 @@ public final class LordOfAtlantis extends CardImpl {
// Other Merfolk creatures get +1/+1 and have islandwalk.
Effect effect = new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true);
effect.setText("Other Merfolk get +1/+1");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
effect = new GainAbilityAllEffect(new IslandwalkAbility(), Duration.WhileOnBattlefield, filter, true);
effect.setText("and have islandwalk");
ability.addEffect(effect);

View file

@ -40,7 +40,7 @@ public final class LordOfLineage extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Other Vampire 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)));
// {T}: Create a 2/2 black Vampire creature token with flying.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new VampireToken()), new TapSourceCost()));

View file

@ -35,7 +35,7 @@ public final class LordOfTheAccursed extends CardImpl {
this.toughness = new MageInt(3);
// Other Zombie creatures get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
//{2}{B}, Tap: All Zombies gain menace until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
@ -55,4 +55,4 @@ public final class LordOfTheAccursed extends CardImpl {
public LordOfTheAccursed copy() {
return new LordOfTheAccursed(this);
}
}
}

View file

@ -54,7 +54,7 @@ public final class LordOfTheNazgul extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Wraiths you control have protection from Ring-bearers.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
new ProtectionAbility(filterRingBearer), Duration.WhileOnBattlefield, filterWraith
)));

View file

@ -37,7 +37,7 @@ public final class LordOfTheUnreal extends CardImpl {
this.toughness = new MageInt(2);
// Illusion creatures you control get +1/+1 and have hexproof
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false));
Ability ability = new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false));
ability.addEffect(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)
.setText("and have hexproof"));
this.addAbility(ability);

View file

@ -44,7 +44,7 @@ public final class LostInThought extends CardImpl {
// Enchanted creature can't attack or block, and its activated abilities can't be activated.
// Its controller may exile three cards from their graveyard for that player to ignore this effect until end of turn.
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new LostInThoughtRestrictionEffect());
ability = new SimpleStaticAbility(new LostInThoughtRestrictionEffect());
ability.addEffect(new LostInThoughtCantActivateAbilitiesEffect());
this.addAbility(ability);
this.addAbility(new LostInThoughtSpecialAction());

View file

@ -37,7 +37,7 @@ public final class LovisaColdeyes extends CardImpl {
// Each creature that's a Barbarian, a Warrior, or a Berserker gets +2/+2 and has haste.
Effect effect = new BoostAllEffect(2, 2, Duration.WhileOnBattlefield, filter, false);
effect.setText("Each creature that's a Barbarian, a Warrior, or a Berserker gets +2/+2");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
effect = new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter, false);
effect.setText("and has haste");
ability.addEffect(effect);

View file

@ -29,7 +29,7 @@ public final class LoxodonPunisher extends CardImpl {
// Loxodon Punisher gets +2/+2 for each Equipment attached to it
EquipmentAttachedCount amount = new EquipmentAttachedCount(2);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(amount, amount, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(amount, amount, Duration.WhileOnBattlefield)));
}
private LoxodonPunisher(final LoxodonPunisher card) {

View file

@ -28,7 +28,7 @@ public final class LoxodonWarhammer extends CardImpl {
// Equipped creature gets +3/+0 and has trample and lifelink. (If the creature would assign enough damage to its blockers to destroy them, you may have it assign the rest of its damage to defending player or planeswalker. Damage dealt by the creature also causes its controller to gain that much life.)
Effect effect = new BoostEquippedEffect(3, 0);
effect.setText("Equipped creature gets +3/+0");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
effect = new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT);
effect.setText("and has trample");
ability.addEffect(effect);

View file

@ -27,7 +27,7 @@ public final class LumberingSatyr extends CardImpl {
this.toughness = new MageInt(4);
// All creatures have forestwalk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(new ForestwalkAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES)));
}

View file

@ -36,7 +36,7 @@ public final class LuminousBonds 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)));
}

View file

@ -22,7 +22,7 @@ public final class LumithreadField extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}");
// 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)));
// Morph {1}{W}
this.addAbility(new MorphAbility(this, new ManaCostsImpl<>("{1}{W}")));

View file

@ -46,7 +46,7 @@ public final class LunarchMantle extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +2/+2 and has "{1}, Sacrifice a permanent: This creature gains flying until end of turn."
SimpleStaticAbility ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
SimpleStaticAbility ability2 = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
Ability abilityToGain = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
abilityToGain.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT));

View file

@ -37,7 +37,7 @@ public final class Lure extends CardImpl {
this.addAbility(ability);
// All creatures able to block enchanted creature do so.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAllAttachedEffect(AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new MustBeBlockedByAllAttachedEffect(AttachmentType.AURA)));
}
private Lure(final Lure card) {

View file

@ -38,7 +38,7 @@ public final class Lurker extends CardImpl {
Effect effect = new ConditionalContinuousRuleModifyingEffect(
new CantBeTargetedSourceEffect(new FilterSpell(), Duration.WhileOnBattlefield),
new InvertCondition(new OrCondition(AttackedThisTurnSourceCondition.instance, BlockedThisTurnSourceCondition.instance)));
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect.setText("{this} can't be the target of spells unless it attacked or blocked this turn"));
Ability ability = new SimpleStaticAbility(effect.setText("{this} can't be the target of spells unless it attacked or blocked this turn"));
ability.addWatcher(new BlockedThisTurnWatcher());
this.addAbility(ability);
}

View file

@ -34,7 +34,7 @@ public final class LushGrowth extends CardImpl {
this.addAbility(new EnchantAbility(auraTarget));
// Enchanted land is a Mountain, Forest, and Plains.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesBasicLandEnchantedEffect(SubType.MOUNTAIN, SubType.FOREST, SubType.PLAINS)));
this.addAbility(new SimpleStaticAbility(new BecomesBasicLandEnchantedEffect(SubType.MOUNTAIN, SubType.FOREST, SubType.PLAINS)));
}
private LushGrowth(final LushGrowth card) {

View file

@ -32,8 +32,8 @@ public final class LymphSliver extends CardImpl {
this.toughness = new MageInt(3);
// All Sliver creatures have absorb 1.
Ability absorb = new SimpleStaticAbility(Zone.BATTLEFIELD, new SliverAbsorbEffect());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(absorb,
Ability absorb = new SimpleStaticAbility(new SliverAbsorbEffect());
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(absorb,
Duration.WhileOnBattlefield, filter, "All Sliver creatures have absorb 1. <i>(If a source would deal damage to a Sliver, prevent 1 of that damage.)</i>")));
}

View file

@ -37,7 +37,7 @@ public final class LyraDawnbringer extends CardImpl {
// Other Angels you control get +1/+1 and have lifelink.
Effect effect = new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, AngelFilter, true);
effect.setText("Other Angels you control get +1/+1");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
Effect effect2 = new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, AngelFilter, true);
effect2.setText("and have lifelink");
ability.addEffect(effect2);

View file

@ -42,7 +42,7 @@ public final class MadAuntie extends CardImpl {
this.toughness = new MageInt(2);
// Other Goblin creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, true)));
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, true)));
// {T}: Regenerate another target Goblin.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new TapSourceCost());

View file

@ -30,7 +30,7 @@ public final class MaelstromNexus extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}{U}{B}{R}{G}");
// The first spell you cast each turn has cascade.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MaelstromNexusGainCascadeFirstSpellEffect()), new FirstSpellCastThisTurnWatcher());
this.addAbility(new SimpleStaticAbility(new MaelstromNexusGainCascadeFirstSpellEffect()), new FirstSpellCastThisTurnWatcher());
}
private MaelstromNexus(final MaelstromNexus card) {

View file

@ -35,7 +35,7 @@ public final class MageRingResponder extends CardImpl {
this.toughness = new MageInt(7);
// Mage-Ring Responder doesn't untap during your untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
// {7}: Untap Mage-Ring Responder.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{7}")));

View file

@ -33,7 +33,7 @@ public final class MagebaneArmor extends CardImpl {
// Equipped creature gets +2/+4 and loses flying.
this.addAbility(new MagebaneArmorAbility());
// Prevent all noncombat damage that would be dealt to equipped creature.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MagebaneArmorPreventionEffect()));
this.addAbility(new SimpleStaticAbility(new MagebaneArmorPreventionEffect()));
// Equip {2}
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2)));
}

View file

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

View file

@ -34,7 +34,7 @@ public final class MaggotTherapy 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 MaggotTherapy(final MaggotTherapy card) {

View file

@ -32,7 +32,7 @@ public final class MagistratesVeto extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}");
// White creatures and blue creatures can't block.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAllEffect(filter, Duration.WhileOnBattlefield)));
this.addAbility(new SimpleStaticAbility(new CantBlockAllEffect(filter, Duration.WhileOnBattlefield)));
}
private MagistratesVeto(final MagistratesVeto card) {

View file

@ -26,10 +26,10 @@ public final class MagusOfTheFuture 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()));
// You may play lands and cast spells from the top of your library.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayFromTopOfLibraryEffect()));
this.addAbility(new SimpleStaticAbility(new PlayFromTopOfLibraryEffect()));
}
private MagusOfTheFuture(final MagusOfTheFuture card) {

View file

@ -36,7 +36,7 @@ public final class MagusOfTheMoat extends CardImpl {
this.toughness = new MageInt(3);
// Creatures without flying can't attack.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackAllEffect(Duration.WhileOnBattlefield, filter)));
this.addAbility(new SimpleStaticAbility(new CantAttackAllEffect(Duration.WhileOnBattlefield, filter)));
}
private MagusOfTheMoat(final MagusOfTheMoat card) {

View file

@ -36,7 +36,7 @@ public final class MagusOfTheTabernacle extends CardImpl {
// All creatures have "At the beginning of your upkeep, sacrifice this creature unless you pay {1}."
Ability abilityToGain = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(abilityToGain, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, rule)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(abilityToGain, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, rule)));
}
private MagusOfTheTabernacle(final MagusOfTheTabernacle card) {

View file

@ -42,7 +42,7 @@ public final class MaintenanceHangar extends CardImpl {
// Starship creatures you control and starship creatures in your graveyard have Repair 6.
Effect effect = new GainAbilityControlledEffect(new RepairAbility(6), Duration.WhileOnBattlefield, filterPermanent);
effect.setText("Starship creatures you control");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
Ability ability = new SimpleStaticAbility(effect);
ability.addEffect(new MaintenanceHangarEffect());
this.addAbility(ability);
}

View file

@ -45,7 +45,7 @@ public final class MairsilThePretender extends CardImpl {
// Mairsil, the Pretender has all activated abilities of all cards you own in exile with cage counters on them.
// You may activate each of those abilities only once each turn.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new MairsilThePretenderGainAbilitiesEffect());
Ability ability = new SimpleStaticAbility(new MairsilThePretenderGainAbilitiesEffect());
this.addAbility(ability);
}

View file

@ -88,7 +88,7 @@ class MakeshiftMannequinEffect extends OneShotEffect {
if (permanent != null) {
ContinuousEffect gainedEffect = new MakeshiftMannequinGainAbilityEffect();
// Bug #6885 Fixed when owner/controller leaves the game the effect still applies
SimpleStaticAbility gainAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, gainedEffect);
SimpleStaticAbility gainAbility = new SimpleStaticAbility(gainedEffect);
gainAbility.setSourceId(cardId);
gainAbility.getTargets().add(source.getTargets().get(0));
game.addEffect(gainedEffect, gainAbility);

View file

@ -38,7 +38,7 @@ public final class Malfunction extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect("permanent")));
// Enchanted permanent doesn't untap during its controller's untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect("permanent")));
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepEnchantedEffect("permanent")));
}
private Malfunction(final Malfunction card) {

View file

@ -38,7 +38,7 @@ public final class MaliciousIntent extends CardImpl {
// Enchanted creature has "{tap}: Target creature can't block this turn."
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBlockTargetEffect(Duration.EndOfTurn), new TapSourceCost());
gainedAbility.addTarget(new TargetCreaturePermanent());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA)));
}
private MaliciousIntent(final MaliciousIntent card) {

View file

@ -38,7 +38,7 @@ public final class Malignus extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new HighestLifeTotalAmongOpponentsCount())));
// Damage that would be dealt by Malignus can't be prevented.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MalignusEffect()));
this.addAbility(new SimpleStaticAbility(new MalignusEffect()));
}
private Malignus(final Malignus card) {

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