Refactor: Fix raw use of parameterized class 'ManaCostsImpl' - 'l' cards (#9061)

This commit is contained in:
DeepCrimson 2022-06-06 05:39:09 -07:00 committed by GitHub
parent a75aab5e34
commit 5ba17d94fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
92 changed files with 104 additions and 104 deletions

View file

@ -33,7 +33,7 @@ public final class LAATGunship extends CardImpl {
this.addAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new TrooperToken(), 1, true, true), false)); this.addAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new TrooperToken(), 1, true, true), false));
// {W}: LAAT Gunship gains spaceflight until the end of turn. Activate this ability only as a sorcery // {W}: LAAT Gunship gains spaceflight until the end of turn. Activate this ability only as a sorcery
this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
} }

View file

@ -37,7 +37,7 @@ public final class LabyrinthGuardian extends CardImpl {
this.addAbility(new LabyrinthGuardianTriggeredAbility()); this.addAbility(new LabyrinthGuardianTriggeredAbility());
// Embalm {3}{U} // Embalm {3}{U}
this.addAbility(new EmbalmAbility(new ManaCostsImpl("{3}{U}"), this)); this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{3}{U}"), this));
} }

View file

@ -61,7 +61,7 @@ public final class LabyrinthRaptor extends CardImpl {
// {B}{R}: Creatures you control with menace get +1/+0 until end of turn. // {B}{R}: Creatures you control with menace get +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(new BoostAllEffect( this.addAbility(new SimpleActivatedAbility(new BoostAllEffect(
1, 0, Duration.EndOfTurn, filter2, false 1, 0, Duration.EndOfTurn, filter2, false
), new ManaCostsImpl("{B}{R}"))); ), new ManaCostsImpl<>("{B}{R}")));
} }
private LabyrinthRaptor(final LabyrinthRaptor card) { private LabyrinthRaptor(final LabyrinthRaptor card) {

View file

@ -35,7 +35,7 @@ public final class LadyEvangela extends CardImpl {
// {W}{B}, {tap}: Prevent all combat damage that would be dealt by target creature this turn. // {W}{B}, {tap}: Prevent all combat damage that would be dealt by target creature this turn.
Effect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn, true); Effect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn, true);
effect.setText("Prevent all combat damage that would be dealt by target creature this turn."); effect.setText("Prevent all combat damage that would be dealt by target creature this turn.");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{W}{B}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{W}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -47,7 +47,7 @@ public final class LairOfTheHydra extends CardImpl {
this.addAbility(new GreenManaAbility()); this.addAbility(new GreenManaAbility());
// {X}{G}: Until end of turn, Lair of the Hydra becomes an X/X green Hydra creature. It's still a land. X can't be 0. // {X}{G}: Until end of turn, Lair of the Hydra becomes an X/X green Hydra creature. It's still a land. X can't be 0.
ManaCostsImpl manaCosts = new ManaCostsImpl("{X}{G}"); ManaCostsImpl manaCosts = new ManaCostsImpl<>("{X}{G}");
for (Object cost : manaCosts) { for (Object cost : manaCosts) {
if (cost instanceof VariableManaCost) { if (cost instanceof VariableManaCost) {
((VariableManaCost) cost).setMinX(1); ((VariableManaCost) cost).setMinX(1);

View file

@ -28,7 +28,7 @@ public final class LanternSpirit extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {U}: Return Lantern Spirit to its owner's hand. // {U}: Return Lantern Spirit to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{U}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{U}")));
} }
private LanternSpirit(final LanternSpirit card) { private LanternSpirit(final LanternSpirit card) {

View file

@ -30,7 +30,7 @@ public final class LapisLazuliTalisman extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// Whenever a player casts a blue spell, you may pay {3}. If you do, untap target permanent. // Whenever a player casts a blue spell, you may pay {3}. If you do, untap target permanent.
Ability ability = new SpellCastAllTriggeredAbility(new DoIfCostPaid(new UntapTargetEffect(), new ManaCostsImpl("{3}")), filter, false); Ability ability = new SpellCastAllTriggeredAbility(new DoIfCostPaid(new UntapTargetEffect(), new ManaCostsImpl<>("{3}")), filter, false);
ability.addTarget(new TargetPermanent()); ability.addTarget(new TargetPermanent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -44,7 +44,7 @@ public final class LaquatussChampion extends CardImpl {
// When Laquatus's Champion leaves the battlefield, that player gains 6 life. // When Laquatus's Champion leaves the battlefield, that player gains 6 life.
this.addAbility(new LaquatussChampionLeavesBattlefieldTriggeredAbility()); this.addAbility(new LaquatussChampionLeavesBattlefieldTriggeredAbility());
// {B}: Regenerate Laquatus's Champion. // {B}: Regenerate Laquatus's Champion.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
} }
private LaquatussChampion(final LaquatussChampion card) { private LaquatussChampion(final LaquatussChampion card) {

View file

@ -59,7 +59,7 @@ public final class LathlissDragonQueen extends CardImpl {
1, 0, Duration.EndOfTurn, 1, 0, Duration.EndOfTurn,
filter2, false filter2, false
), ),
new ManaCostsImpl("{1}{R}") new ManaCostsImpl<>("{1}{R}")
)); ));
} }

View file

@ -35,7 +35,7 @@ public final class LatullaKeldonOverseer extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {X}{R}, {tap}, Discard two cards: Latulla, Keldon Overseer deals X damage to any target. // {X}{R}, {tap}, Discard two cards: Latulla, Keldon Overseer deals X damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(ManacostVariableValue.REGULAR), new ManaCostsImpl("{X}{R}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(ManacostVariableValue.REGULAR), new ManaCostsImpl<>("{X}{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, 2, new FilterCard("two cards")))); ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, 2, new FilterCard("two cards"))));
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());

View file

@ -28,7 +28,7 @@ public final class LavaSerpent extends CardImpl {
this.addAbility(HasteAbility.getInstance()); this.addAbility(HasteAbility.getInstance());
// Cycling {2} // Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
} }
private LavaSerpent(final LavaSerpent card) { private LavaSerpent(final LavaSerpent card) {

View file

@ -41,7 +41,7 @@ public final class LavaZombie extends CardImpl {
// When Lava Zombie enters the battlefield, return a black or red creature you control to its owner's hand. // When Lava Zombie enters the battlefield, return a black or red creature you control to its owner's hand.
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false)); this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// {2}: Lava Zombie gets +1/+0 until end of turn. // {2}: Lava Zombie gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl("{2}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{2}")));
} }
private LavaZombie(final LavaZombie card) { private LavaZombie(final LavaZombie card) {

View file

@ -32,7 +32,7 @@ public final class LavaballTrap extends CardImpl {
this.subtype.add(SubType.TRAP); this.subtype.add(SubType.TRAP);
// If an opponent had two or more lands enter the battlefield under their control this turn, you may pay {3}{R}{R} rather than pay Lavaball Trap's mana cost. // If an opponent had two or more lands enter the battlefield under their control this turn, you may pay {3}{R}{R} rather than pay Lavaball Trap's mana cost.
this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl("{3}{R}{R}"), LavaballTrapCondition.instance), new PermanentsEnteredBattlefieldWatcher()); this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl<>("{3}{R}{R}"), LavaballTrapCondition.instance), new PermanentsEnteredBattlefieldWatcher());
// Destroy two target lands. Lavaball Trap deals 4 damage to each creature. // Destroy two target lands. Lavaball Trap deals 4 damage to each creature.
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());

View file

@ -36,7 +36,7 @@ public final class LavaclawReaches extends CardImpl {
this.addAbility(new RedManaAbility()); this.addAbility(new RedManaAbility());
// {1}{B}{R}: Until end of turn, Lavaclaw Reaches becomes a 2/2 black and red Elemental creature with ": This creature gets +X/+0 until end of turn." It's still a land. // {1}{B}{R}: Until end of turn, Lavaclaw Reaches becomes a 2/2 black and red Elemental creature with ": This creature gets +X/+0 until end of turn." It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LavaclawReachesToken(), "land", Duration.EndOfTurn), new ManaCostsImpl("{1}{B}{R}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LavaclawReachesToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}{R}")));
} }
private LavaclawReaches(final LavaclawReaches card) { private LavaclawReaches(final LavaclawReaches card) {
@ -60,7 +60,7 @@ class LavaclawReachesToken extends TokenImpl {
color.setBlack(true); color.setBlack(true);
power = new MageInt(2); power = new MageInt(2);
toughness = new MageInt(2); toughness = new MageInt(2);
addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(ManacostVariableValue.REGULAR, StaticValue.get(0), Duration.EndOfTurn), new ManaCostsImpl("{X}"))); addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(ManacostVariableValue.REGULAR, StaticValue.get(0), Duration.EndOfTurn), new ManaCostsImpl<>("{X}")));
} }
public LavaclawReachesToken(final LavaclawReachesToken token) { public LavaclawReachesToken(final LavaclawReachesToken token) {
super(token); super(token);

View file

@ -28,7 +28,7 @@ public final class LavafumeInvoker extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BoostControlledEffect(3, 0, Duration.EndOfTurn), new ManaCostsImpl("{8}"))); new BoostControlledEffect(3, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{8}")));
} }
private LavafumeInvoker(final LavafumeInvoker card) { private LavafumeInvoker(final LavafumeInvoker card) {

View file

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

View file

@ -23,7 +23,7 @@ public final class LayWaste extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetLandPermanent()); this.getSpellAbility().addTarget(new TargetLandPermanent());
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
} }
private LayWaste(final LayWaste card) { private LayWaste(final LayWaste card) {

View file

@ -52,7 +52,7 @@ public final class LazavTheMultifarious extends CardImpl {
// {X}: Lazav, the Multifarious becomes a copy of target creature card in your graveyard with converted mana cost X, except its name is Lazav, the Multifarious, it's legendary in addition to its other types, and it has this ability. // {X}: Lazav, the Multifarious becomes a copy of target creature card in your graveyard with converted mana cost X, except its name is Lazav, the Multifarious, it's legendary in addition to its other types, and it has this ability.
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new LazavTheMultifariousEffect(), new LazavTheMultifariousEffect(),
new ManaCostsImpl("{X}") new ManaCostsImpl<>("{X}")
); );
ability.setTargetAdjuster(LazavTheMultifariousAdjuster.instance); ability.setTargetAdjuster(LazavTheMultifariousAdjuster.instance);
this.addAbility(ability); this.addAbility(ability);
@ -133,7 +133,7 @@ class LazavTheMultifariousCopyApplier extends CopyApplier {
public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) { public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) {
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new LazavTheMultifariousEffect(), new LazavTheMultifariousEffect(),
new ManaCostsImpl("{X}") new ManaCostsImpl<>("{X}")
); );
ability.setTargetAdjuster(LazavTheMultifariousAdjuster.instance); ability.setTargetAdjuster(LazavTheMultifariousAdjuster.instance);
blueprint.getAbilities().add(ability); blueprint.getAbilities().add(ability);

View file

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

View file

@ -51,7 +51,7 @@ public final class LeafkinAvenger extends CardImpl {
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new DamageTargetEffect(xValue2) new DamageTargetEffect(xValue2)
.setText("{this} deals damage equal to its power to target player or planeswalker"), .setText("{this} deals damage equal to its power to target player or planeswalker"),
new ManaCostsImpl("{7}{R}") new ManaCostsImpl<>("{7}{R}")
); );
ability.addTarget(new TargetPlayerOrPlaneswalker()); ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability); this.addAbility(ability);

View file

@ -44,7 +44,7 @@ public final class LeagueGuildmage extends CardImpl {
// {3}{U}, {T}: Draw a card. // {3}{U}, {T}: Draw a card.
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new DrawCardSourceControllerEffect(1), new DrawCardSourceControllerEffect(1),
new ManaCostsImpl("{3}{U}") new ManaCostsImpl<>("{3}{U}")
); );
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
@ -52,7 +52,7 @@ public final class LeagueGuildmage extends CardImpl {
// {X}{R}, {T}: Copy target instant or sorcery spell you control with converted mana cost X. You may choose new targets for the copy. // {X}{R}, {T}: Copy target instant or sorcery spell you control with converted mana cost X. You may choose new targets for the copy.
ability = new SimpleActivatedAbility( ability = new SimpleActivatedAbility(
new CopyTargetSpellEffect(), new CopyTargetSpellEffect(),
new ManaCostsImpl("{X}{R}") new ManaCostsImpl<>("{X}{R}")
); );
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetSpell(filter)); ability.addTarget(new TargetSpell(filter));

View file

@ -32,7 +32,7 @@ public final class LeapingLizard extends CardImpl {
// {1}{G}: Leaping Lizard gets -0/-1 and gains flying until end of turn. // {1}{G}: Leaping Lizard gets -0/-1 and gains flying until end of turn.
Effect effect = new BoostSourceEffect(0, -1, Duration.EndOfTurn); Effect effect = new BoostSourceEffect(0, -1, Duration.EndOfTurn);
effect.setText("{this} gets -0/-1"); effect.setText("{this} gets -0/-1");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{G}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{G}"));
effect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn); effect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn);
effect.setText("and gains flying until end of turn"); effect.setText("and gains flying until end of turn");
ability.addEffect(effect); ability.addEffect(effect);

View file

@ -30,7 +30,7 @@ public final class LeapingMaster extends CardImpl {
// {2}{W}: Leaping Master gains flying until end of turn // {2}{W}: Leaping Master gains flying until end of turn
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn),
new ManaCostsImpl("{2}{W}"))); new ManaCostsImpl<>("{2}{W}")));
} }
private LeapingMaster(final LeapingMaster card) { private LeapingMaster(final LeapingMaster card) {

View file

@ -42,7 +42,7 @@ public final class LedevChampion extends CardImpl {
this.addAbility(new SimpleActivatedAbility( this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,
new CreateTokenEffect(new SoldierLifelinkToken()), new CreateTokenEffect(new SoldierLifelinkToken()),
new ManaCostsImpl("{3}{G}{W}") new ManaCostsImpl<>("{3}{G}{W}")
)); ));
} }

View file

@ -46,7 +46,7 @@ public final class LeechBonder extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2)), "with two -1/-1 counters on it")); this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2)), "with two -1/-1 counters on it"));
// {U}, {untap}: Move a counter from target creature onto another target creature. // {U}, {untap}: Move a counter from target creature onto another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LeechBonderEffect(), new ManaCostsImpl("{U}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LeechBonderEffect(), new ManaCostsImpl<>("{U}"));
ability.addCost(new UntapSourceCost()); ability.addCost(new UntapSourceCost());
// target 1 // target 1
TargetCreaturePermanent target1 = new TargetCreaturePermanent(new FilterCreaturePermanent("creature to remove counter from")); TargetCreaturePermanent target1 = new TargetCreaturePermanent(new FilterCreaturePermanent("creature to remove counter from"));

View file

@ -50,7 +50,7 @@ public final class LeechriddenSwamp extends CardImpl {
Ability ability = new ActivateIfConditionActivatedAbility( Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,
new LeechriddenSwampLoseLifeEffect(), new LeechriddenSwampLoseLifeEffect(),
new ManaCostsImpl("{B}"), new ManaCostsImpl<>("{B}"),
new PermanentsOnTheBattlefieldCondition( new PermanentsOnTheBattlefieldCondition(
filter, filter,
ComparisonType.MORE_THAN, ComparisonType.MORE_THAN,

View file

@ -27,7 +27,7 @@ public final class LegacyWeapon extends CardImpl {
// {W}{U}{B}{R}{G}: Exile target permanent. // {W}{U}{B}{R}{G}: Exile target permanent.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new ExileTargetEffect(), new ExileTargetEffect(),
new ManaCostsImpl("{W}{U}{B}{R}{G}")); new ManaCostsImpl<>("{W}{U}{B}{R}{G}"));
ability.addTarget(new TargetPermanent()); ability.addTarget(new TargetPermanent());
this.addAbility(ability); this.addAbility(ability);
// If Legacy Weapon would be put into a graveyard from anywhere, reveal Legacy Weapon and shuffle it into its owner's library instead. // If Legacy Weapon would be put into a graveyard from anywhere, reveal Legacy Weapon and shuffle it into its owner's library instead.

View file

@ -41,7 +41,7 @@ public final class LegionGuildmage extends CardImpl {
// {5}{R}, {T}: Legion Guildmage deals 3 damage to each opponent. // {5}{R}, {T}: Legion Guildmage deals 3 damage to each opponent.
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new DamagePlayersEffect(3, TargetController.OPPONENT), new DamagePlayersEffect(3, TargetController.OPPONENT),
new ManaCostsImpl("{5}{R}") new ManaCostsImpl<>("{5}{R}")
); );
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
@ -49,7 +49,7 @@ public final class LegionGuildmage extends CardImpl {
// {2}{W}, {T}: Tap another target creature. // {2}{W}, {T}: Tap another target creature.
ability = new SimpleActivatedAbility( ability = new SimpleActivatedAbility(
new TapTargetEffect("tap another target creature"), new TapTargetEffect("tap another target creature"),
new ManaCostsImpl("{2}{W}") new ManaCostsImpl<>("{2}{W}")
); );
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));

View file

@ -54,7 +54,7 @@ class LeoninArbiterSpecialAction extends SpecialAction {
public LeoninArbiterSpecialAction(final String keyString) { public LeoninArbiterSpecialAction(final String keyString) {
super(Zone.BATTLEFIELD); super(Zone.BATTLEFIELD);
this.addCost(new ManaCostsImpl("{2}")); this.addCost(new ManaCostsImpl<>("{2}"));
this.addEffect(new LeoninArbiterIgnoreEffect(keyString)); this.addEffect(new LeoninArbiterIgnoreEffect(keyString));
this.setMayActivate(TargetController.ANY); this.setMayActivate(TargetController.ANY);
} }

View file

@ -20,7 +20,7 @@ public final class LeoninSunStandard extends CardImpl {
public LeoninSunStandard(UUID ownerId, CardSetInfo setInfo) { public LeoninSunStandard(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false), new ManaCostsImpl("{1}{W}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false), new ManaCostsImpl<>("{1}{W}")));
} }
private LeoninSunStandard(final LeoninSunStandard card) { private LeoninSunStandard(final LeoninSunStandard card) {

View file

@ -34,10 +34,10 @@ public final class LeshracsSigil extends CardImpl {
// Whenever an opponent casts a green spell, you may pay {B}{B}. If you do, look at that player's hand and choose a card from it. The player discards that card. // Whenever an opponent casts a green spell, you may pay {B}{B}. If you do, look at that player's hand and choose a card from it. The player discards that card.
this.addAbility(new SpellCastOpponentTriggeredAbility( this.addAbility(new SpellCastOpponentTriggeredAbility(
Zone.BATTLEFIELD, new DoIfCostPaid(new DiscardCardYouChooseTargetEffect(), new ManaCostsImpl("{B}{B}")), filter, false, SetTargetPointer.PLAYER)); Zone.BATTLEFIELD, new DoIfCostPaid(new DiscardCardYouChooseTargetEffect(), new ManaCostsImpl<>("{B}{B}")), filter, false, SetTargetPointer.PLAYER));
// {B}{B}: Return Leshrac's Sigil to its owner's hand. // {B}{B}: Return Leshrac's Sigil to its owner's hand.
this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new ManaCostsImpl("{B}{B}"))); this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{B}{B}")));
} }
private LeshracsSigil(final LeshracsSigil card) { private LeshracsSigil(final LeshracsSigil card) {

View file

@ -34,7 +34,7 @@ public final class LethalVapors extends CardImpl {
false, SetTargetPointer.PERMANENT, null)); false, SetTargetPointer.PERMANENT, null));
// {0}: Destroy Lethal Vapors. You skip your next turn. Any player may activate this ability. // {0}: Destroy Lethal Vapors. You skip your next turn. Any player may activate this ability.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroySourceEffect(), new ManaCostsImpl("{0}")); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroySourceEffect(), new ManaCostsImpl<>("{0}"));
ability.setMayActivate(TargetController.ANY); ability.setMayActivate(TargetController.ANY);
ability.addEffect(new SkipNextTurnSourceEffect()); ability.addEffect(new SkipNextTurnSourceEffect());
ability.addEffect(new InfoEffect("Any player may activate this ability")); ability.addEffect(new InfoEffect("Any player may activate this ability"));

View file

@ -26,7 +26,7 @@ public final class LethargyTrap extends CardImpl {
this.subtype.add(SubType.TRAP); this.subtype.add(SubType.TRAP);
// If three or more creatures are attacking, you may pay {U} rather than pay Lethargy Trap's mana cost. // If three or more creatures are attacking, you may pay {U} rather than pay Lethargy Trap's mana cost.
this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl("{U}"), LethargyTrapCondition.instance)); this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl<>("{U}"), LethargyTrapCondition.instance));
// Attacking creatures get -3/-0 until end of turn. // Attacking creatures get -3/-0 until end of turn.
this.getSpellAbility().addEffect(new BoostAllEffect(-3, 0, Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false)); this.getSpellAbility().addEffect(new BoostAllEffect(-3, 0, Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false));

View file

@ -43,7 +43,7 @@ public final class LeylineOfAbundance extends CardImpl {
this.addAbility(new SimpleActivatedAbility(new AddCountersAllEffect( this.addAbility(new SimpleActivatedAbility(new AddCountersAllEffect(
CounterType.P1P1.createInstance(), CounterType.P1P1.createInstance(),
StaticFilters.FILTER_CONTROLLED_CREATURE StaticFilters.FILTER_CONTROLLED_CREATURE
), new ManaCostsImpl("{6}{G}{G}"))); ), new ManaCostsImpl<>("{6}{G}{G}")));
} }
private LeylineOfAbundance(final LeylineOfAbundance card) { private LeylineOfAbundance(final LeylineOfAbundance card) {

View file

@ -43,7 +43,7 @@ public final class LiberatedDwarf extends CardImpl {
// {R}, Sacrifice Liberated Dwarf: Target green creature gets +1/+0 and gains first strike until end of turn. // {R}, Sacrifice Liberated Dwarf: Target green creature gets +1/+0 and gains first strike until end of turn.
Effect effect = new BoostTargetEffect(1, 0, Duration.EndOfTurn); Effect effect = new BoostTargetEffect(1, 0, Duration.EndOfTurn);
effect.setText("Target green creature gets +1/+0"); effect.setText("Target green creature gets +1/+0");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{R}")); ability.addCost(new SacrificeSourceCost()); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{R}")); ability.addCost(new SacrificeSourceCost());
effect = new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn); effect = new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn);
effect.setText("and gains first strike until end of turn"); effect.setText("and gains first strike until end of turn");
ability.addEffect(effect); ability.addEffect(effect);

View file

@ -29,7 +29,7 @@ public final class LiegeOfTheAxe extends CardImpl {
// Vigilance // Vigilance
this.addAbility(VigilanceAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance());
// Morph {1}{W} // Morph {1}{W}
this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{W}"))); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{W}")));
// When Liege of the Axe is turned face up, untap it. // When Liege of the Axe is turned face up, untap it.
this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new UntapSourceEffect())); this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new UntapSourceEffect()));
} }

View file

@ -39,7 +39,7 @@ public final class LiegeOfThePit extends CardImpl {
// At the beginning of your upkeep, sacrifice a creature other than Liege of the Pit. If you can't, Liege of the Pit deals 7 damage to you. // At the beginning of your upkeep, sacrifice a creature other than Liege of the Pit. If you can't, Liege of the Pit deals 7 damage to you.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LiegeOfThePitEffect(), TargetController.YOU, false)); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LiegeOfThePitEffect(), TargetController.YOU, false));
// Morph {B}{B}{B}{B} // Morph {B}{B}{B}{B}
this.addAbility(new MorphAbility(new ManaCostsImpl("{B}{B}{B}{B}"))); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{B}{B}{B}{B}")));
} }
private LiegeOfThePit(final LiegeOfThePit card) { private LiegeOfThePit(final LiegeOfThePit card) {

View file

@ -35,7 +35,7 @@ public final class LieutenantKirtar extends CardImpl {
// Flying // Flying
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {1}{W}, Sacrifice Lieutenant Kirtar: Exile target attacking creature. // {1}{W}, Sacrifice Lieutenant Kirtar: Exile target attacking creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}{W}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetAttackingCreature()); ability.addTarget(new TargetAttackingCreature());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class LifecraftersBestiary extends CardImpl {
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), TargetController.YOU, false)); this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), TargetController.YOU, false));
// Whenever you cast a creature spell, you may pay {G}. If you do, draw a card. // Whenever you cast a creature spell, you may pay {G}. If you do, draw a card.
this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{G}")), StaticFilters.FILTER_SPELL_A_CREATURE, false)); this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{G}")), StaticFilters.FILTER_SPELL_A_CREATURE, false));
} }
private LifecraftersBestiary(final LifecraftersBestiary card) { private LifecraftersBestiary(final LifecraftersBestiary card) {

View file

@ -30,7 +30,7 @@ public final class Lifeforce extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}{G}"); super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}{G}");
// {G}{G}: Counter target black spell. // {G}{G}: Counter target black spell.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{G}{G}")); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{G}{G}"));
ability.addTarget(new TargetSpell(filter)); ability.addTarget(new TargetSpell(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -33,7 +33,7 @@ public final class LighthouseChronologist extends LevelerCard {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{U}"))); this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{U}")));
// LEVEL 4-6 // LEVEL 4-6
// 2/4 // 2/4

View file

@ -30,7 +30,7 @@ public final class LightningBerserker extends CardImpl {
// {R}: Lightning Berserker gets +1/+0 until end of turn. // {R}: Lightning Berserker gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BoostSourceEffect(1, 0, Duration.EndOfTurn), new BoostSourceEffect(1, 0, Duration.EndOfTurn),
new ManaCostsImpl("{R}"))); new ManaCostsImpl<>("{R}")));
// Dash {R} // Dash {R}
this.addAbility(new DashAbility("{R}")); this.addAbility(new DashAbility("{R}"));

View file

@ -31,7 +31,7 @@ public final class LightningCloud extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}"); super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}");
// Whenever a player casts a red spell, you may pay {R}. If you do, Lightning Cloud deals 1 damage to any target. // Whenever a player casts a red spell, you may pay {R}. If you do, Lightning Cloud deals 1 damage to any target.
Ability ability = new SpellCastAllTriggeredAbility(new DoIfCostPaid(new DamageTargetEffect(1), new ManaCostsImpl("{R}")), filter, false); Ability ability = new SpellCastAllTriggeredAbility(new DoIfCostPaid(new DamageTargetEffect(1), new ManaCostsImpl<>("{R}")), filter, false);
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -53,7 +53,7 @@ public final class LightningMare extends CardImpl {
this.addAbility(new SimpleActivatedAbility( this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,
new BoostSourceEffect(1, 0, Duration.EndOfTurn), new BoostSourceEffect(1, 0, Duration.EndOfTurn),
new ManaCostsImpl("{1}{R}") new ManaCostsImpl<>("{1}{R}")
)); ));
} }

View file

@ -33,7 +33,7 @@ public final class LightningSurge extends CardImpl {
this.getSpellAbility().addEffect(effect); this.getSpellAbility().addEffect(effect);
// Flashback {5}{R}{R} // Flashback {5}{R}{R}
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{5}{R}{R}"))); this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{5}{R}{R}")));
} }
private LightningSurge(final LightningSurge card) { private LightningSurge(final LightningSurge card) {

View file

@ -44,7 +44,7 @@ public final class LilianasDevotee extends CardImpl {
// At the beginning of your end step, if a creature died this turn, you may pay {1}{B}. If you do, create a 2/2 black Zombie creature token. // At the beginning of your end step, if a creature died this turn, you may pay {1}{B}. If you do, create a 2/2 black Zombie creature token.
this.addAbility(new ConditionalInterveningIfTriggeredAbility( this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new DoIfCostPaid( new BeginningOfEndStepTriggeredAbility(new DoIfCostPaid(
new CreateTokenEffect(new ZombieToken()), new ManaCostsImpl("{1}{B}") new CreateTokenEffect(new ZombieToken()), new ManaCostsImpl<>("{1}{B}")
), TargetController.YOU, false), MorbidCondition.instance, ), TargetController.YOU, false), MorbidCondition.instance,
"At the beginning of your end step, if a creature died this turn, " + "At the beginning of your end step, if a creature died this turn, " +
"you may pay {1}{B}. If you do, create a 2/2 black Zombie creature token." "you may pay {1}{B}. If you do, create a 2/2 black Zombie creature token."

View file

@ -39,7 +39,7 @@ public final class LilianasShade extends CardImpl {
// When Liliana's Shade enters the battlefield, you may search your library for a Swamp card, reveal it, put it into your hand, then shuffle your library. // When Liliana's Shade enters the battlefield, you may search your library for a Swamp card, reveal it, put it into your hand, then shuffle your library.
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true), true)); this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true), true));
// {B}: Liliana's Shade gets +1/+1 until end of turn. // {B}: Liliana's Shade gets +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{B}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
} }
private LilianasShade(final LilianasShade card) { private LilianasShade(final LilianasShade card) {

View file

@ -45,10 +45,10 @@ public final class LimDulTheNecromancer extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// Whenever a creature an opponent controls dies, you may pay {1}{B}. If you do, return that card to the battlefield under your control. If it's a creature, it's a Zombie in addition to its other creature types. // Whenever a creature an opponent controls dies, you may pay {1}{B}. If you do, return that card to the battlefield under your control. If it's a creature, it's a Zombie in addition to its other creature types.
this.addAbility(new DiesCreatureTriggeredAbility(new DoIfCostPaid(new LimDulTheNecromancerEffect(), new ManaCostsImpl("{1}{B}")), false, StaticFilters.FILTER_OPPONENTS_PERMANENT_A_CREATURE, true)); this.addAbility(new DiesCreatureTriggeredAbility(new DoIfCostPaid(new LimDulTheNecromancerEffect(), new ManaCostsImpl<>("{1}{B}")), false, StaticFilters.FILTER_OPPONENTS_PERMANENT_A_CREATURE, true));
// {1}{B}: Regenerate target Zombie. // {1}{B}: Regenerate target Zombie.
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}{B}")); Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{1}{B}"));
ability2.addTarget(new TargetPermanent(filter2)); ability2.addTarget(new TargetPermanent(filter2));
this.addAbility(ability2); this.addAbility(ability2);

View file

@ -61,7 +61,7 @@ class LimDulsHexEffect extends OneShotEffect {
for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) {
Player player = game.getPlayer(playerId); Player player = game.getPlayer(playerId);
if (player != null) { if (player != null) {
OrCost costToPay = new OrCost("{B} or {3}", new ManaCostsImpl("{B}"), new ManaCostsImpl("{3}")); OrCost costToPay = new OrCost("{B} or {3}", new ManaCostsImpl<>("{B}"), new ManaCostsImpl<>("{3}"));
costToPay.clearPaid(); costToPay.clearPaid();
if (!(player.chooseUse(Outcome.Benefit, "Pay {B} or {3}?", source, game) && costToPay.pay(source, game, source, player.getId(), false, null))) { if (!(player.chooseUse(Outcome.Benefit, "Pay {B} or {3}?", source, game) && costToPay.pay(source, game, source, player.getId(), false, null))) {
game.informPlayers(player.getLogName() + " chooses not to pay " + costToPay.getText() + " to prevent 1 damage from " + sourcePermanent.getLogName()); game.informPlayers(player.getLogName() + " chooses not to pay " + costToPay.getText() + " to prevent 1 damage from " + sourcePermanent.getLogName());

View file

@ -28,7 +28,7 @@ public final class LimDulsHighGuard extends CardImpl {
// First strike // First strike
this.addAbility(FirstStrikeAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance());
// {1}{B}: Regenerate Lim-Dul's High Guard. // {1}{B}: Regenerate Lim-Dul's High Guard.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
} }
private LimDulsHighGuard(final LimDulsHighGuard card) { private LimDulsHighGuard(final LimDulsHighGuard card) {

View file

@ -29,7 +29,7 @@ public final class LimestoneGolem extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {2}, Sacrifice Limestone Golem: Target player draws a card. // {2}, Sacrifice Limestone Golem: Target player draws a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(1), new ManaCostsImpl("{2}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(1), new ManaCostsImpl<>("{2}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);

View file

@ -35,7 +35,7 @@ public final class LimitsOfSolidarity extends CardImpl {
this.getSpellAbility().addEffect(effect); this.getSpellAbility().addEffect(effect);
// Cycling {2} // Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
} }

View file

@ -48,7 +48,7 @@ public final class LinSivviDefiantHero extends CardImpl {
// {X}, {tap}: Search your library for a Rebel permanent card with converted mana cost X or less and put it onto the battlefield. Then shuffle your library. // {X}, {tap}: Search your library for a Rebel permanent card with converted mana cost X or less and put it onto the battlefield. Then shuffle your library.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new LinSivviDefiantHeroEffect(), new LinSivviDefiantHeroEffect(),
new ManaCostsImpl("{X}")); new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -50,7 +50,7 @@ public final class LinessaZephyrMage extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {X}{U}{U}, {tap}: Return target creature with converted mana cost X to its owner's hand. // {X}{U}{U}, {tap}: Return target creature with converted mana cost X to its owner's hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{X}{U}{U}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{X}{U}{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(XCMCPermanentAdjuster.instance); ability.setTargetAdjuster(XCMCPermanentAdjuster.instance);

View file

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

View file

@ -37,7 +37,7 @@ public final class LingeringPhantom extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility( this.addAbility(new SpellCastControllerTriggeredAbility(
Zone.GRAVEYARD, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect() Zone.GRAVEYARD, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect()
.setText("return {this} from your graveyard to your hand. <i>(Artifacts, legendaries, and Sagas are historic.)</i>"), .setText("return {this} from your graveyard to your hand. <i>(Artifacts, legendaries, and Sagas are historic.)</i>"),
new ManaCostsImpl("{B}")), new ManaCostsImpl<>("{B}")),
filter, false, false filter, false, false
)); ));
} }

View file

@ -23,7 +23,7 @@ public final class LingeringSouls extends CardImpl {
// Create two 1/1 white Spirit creature tokens with flying. // Create two 1/1 white Spirit creature tokens with flying.
this.getSpellAbility().addEffect(new CreateTokenEffect(new SpiritWhiteToken(), 2)); this.getSpellAbility().addEffect(new CreateTokenEffect(new SpiritWhiteToken(), 2));
// Flashback {1}{B} // Flashback {1}{B}
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{1}{B}"))); this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{1}{B}")));
} }
private LingeringSouls(final LingeringSouls card) { private LingeringSouls(final LingeringSouls card) {

View file

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

View file

@ -25,7 +25,7 @@ public final class LivingAirship extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{2}{G}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{2}{G}")));
} }
private LivingAirship(final LivingAirship card) { private LivingAirship(final LivingAirship card) {

View file

@ -20,7 +20,7 @@ public final class LivingEnd extends CardImpl {
this.color.setBlack(true); this.color.setBlack(true);
// Suspend 3-{2}{B}{B} // Suspend 3-{2}{B}{B}
this.addAbility(new SuspendAbility(3, new ManaCostsImpl("{2}{B}{B}"), this)); this.addAbility(new SuspendAbility(3, new ManaCostsImpl<>("{2}{B}{B}"), this));
// Each player exiles all creature cards from their graveyard, then sacrifices all creatures // Each player exiles all creature cards from their graveyard, then sacrifices all creatures
// they control, then puts all cards they exiled this way onto the battlefield. // they control, then puts all cards they exiled this way onto the battlefield.
this.getSpellAbility().addEffect(new LivingDeathEffect()); this.getSpellAbility().addEffect(new LivingDeathEffect());

View file

@ -41,7 +41,7 @@ public final class LivingTwister extends CardImpl {
// {1}{R}, Discard a land card: Living Twister deals 2 damage to any target. // {1}{R}, Discard a land card: Living Twister deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new DamageTargetEffect(2), new ManaCostsImpl("{1}{R}") new DamageTargetEffect(2), new ManaCostsImpl<>("{1}{R}")
); );
ability.addCost(new DiscardTargetCost(new TargetCardInHand(StaticFilters.FILTER_CARD_LAND_A))); ability.addCost(new DiscardTargetCost(new TargetCardInHand(StaticFilters.FILTER_CARD_LAND_A)));
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
@ -49,7 +49,7 @@ public final class LivingTwister extends CardImpl {
// {G}: Return a tapped land you control to its owner's hand. // {G}: Return a tapped land you control to its owner's hand.
this.addAbility(new SimpleActivatedAbility( this.addAbility(new SimpleActivatedAbility(
new ReturnToHandChosenControlledPermanentEffect(filter), new ManaCostsImpl("{G}") new ReturnToHandChosenControlledPermanentEffect(filter), new ManaCostsImpl<>("{G}")
)); ));
} }

View file

@ -29,7 +29,7 @@ public final class LivingWall extends CardImpl {
this.addAbility(DefenderAbility.getInstance()); this.addAbility(DefenderAbility.getInstance());
// {1}: Regenerate Living Wall. // {1}: Regenerate Living Wall.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}")));
} }

View file

@ -47,13 +47,13 @@ public final class LivioOathswornSentinel extends CardImpl {
// {1}{W}: Choose another target creature. Its controller may exile it with an aegis counter on it. // {1}{W}: Choose another target creature. Its controller may exile it with an aegis counter on it.
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new LivioOathswornSentinelExileEffect(), new ManaCostsImpl("{1}{W}") new LivioOathswornSentinelExileEffect(), new ManaCostsImpl<>("{1}{W}")
); );
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability); this.addAbility(ability);
// {2}{W}, {T}: Return all exiled cards with aegis counters on them to the battlefield under their owners' control. // {2}{W}, {T}: Return all exiled cards with aegis counters on them to the battlefield under their owners' control.
ability = new SimpleActivatedAbility(new LivioOathswornSentinelReturnEffect(), new ManaCostsImpl("{2}{W}")); ability = new SimpleActivatedAbility(new LivioOathswornSentinelReturnEffect(), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class LlanowarCavalry extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {W}: Llanowar Cavalry gains vigilance until end of turn. // {W}: Llanowar Cavalry gains vigilance until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
} }
private LlanowarCavalry(final LlanowarCavalry card) { private LlanowarCavalry(final LlanowarCavalry card) {

View file

@ -26,7 +26,7 @@ public final class LlanowarEnvoy extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {1}{G}: Add one mana of any color. // {1}{G}: Add one mana of any color.
Ability ability = new AnyColorManaAbility(new ManaCostsImpl("{1}{G}")); Ability ability = new AnyColorManaAbility(new ManaCostsImpl<>("{1}{G}"));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -29,7 +29,7 @@ public final class LlanowarMentor extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {G}, {T}, Discard a card: Create a 1/1 green Elf Druid creature token named Llanowar Elves. It has "{T}: Add {G}." // {G}, {T}, Discard a card: Create a 1/1 green Elf Druid creature token named Llanowar Elves. It has "{T}: Add {G}."
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new LlanowarElvesToken()), new ManaCostsImpl("{G}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new LlanowarElvesToken()), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class LoathsomeCatoblepas extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {2}{G}: Loathsome Catoblepas must be blocked this turn if able. // {2}{G}: Loathsome Catoblepas must be blocked this turn if able.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneSourceEffect(), new ManaCostsImpl("{2}{G}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneSourceEffect(), new ManaCostsImpl<>("{2}{G}")));
// When Loathsome Catoblepas dies, target creature an opponent controls gets -3/-3 until end of turn. // When Loathsome Catoblepas dies, target creature an opponent controls gets -3/-3 until end of turn.
Ability ability = new DiesSourceTriggeredAbility(new BoostTargetEffect(-3,-3, Duration.EndOfTurn), false); Ability ability = new DiesSourceTriggeredAbility(new BoostTargetEffect(-3,-3, Duration.EndOfTurn), false);
Target target = new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE); Target target = new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE);

View file

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

View file

@ -47,13 +47,13 @@ public final class LochmereSerpent extends CardImpl {
// {U}, Sacrifice an Island: Lochmere Serpent can't be blocked this turn. // {U}, Sacrifice an Island: Lochmere Serpent can't be blocked this turn.
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl("{U}") new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{U}")
); );
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter1))); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter1)));
this.addAbility(ability); this.addAbility(ability);
// {B}, Sacrifice a Swamp: You gain 1 life and draw a card. // {B}, Sacrifice a Swamp: You gain 1 life and draw a card.
ability = new SimpleActivatedAbility(new GainLifeEffect(1), new ManaCostsImpl("{B}")); ability = new SimpleActivatedAbility(new GainLifeEffect(1), new ManaCostsImpl<>("{B}"));
ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy("and")); ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy("and"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter2))); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter2)));
this.addAbility(ability); this.addAbility(ability);
@ -62,7 +62,7 @@ public final class LochmereSerpent extends CardImpl {
ability = new ActivateAsSorceryActivatedAbility( ability = new ActivateAsSorceryActivatedAbility(
Zone.GRAVEYARD, Zone.GRAVEYARD,
new ExileTargetEffect().setText("Exile five target cards from an opponent's graveyard."), new ExileTargetEffect().setText("Exile five target cards from an opponent's graveyard."),
new ManaCostsImpl("{U}{B}") new ManaCostsImpl<>("{U}{B}")
); );
ability.addEffect(new ReturnSourceFromGraveyardToHandEffect()); ability.addEffect(new ReturnSourceFromGraveyardToHandEffect());
ability.addTarget(new TargetCardInOpponentsGraveyard( ability.addTarget(new TargetCardInOpponentsGraveyard(

View file

@ -31,10 +31,10 @@ public final class LocustSwarm extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {G}: Regenerate Locust Swarm. // {G}: Regenerate Locust Swarm.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{G}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{G}")));
// {G}: Untap Locust Swarm. Activate this ability only once each turn. // {G}: Untap Locust Swarm. Activate this ability only once each turn.
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{G}"))); this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{G}")));
} }
private LocustSwarm(final LocustSwarm card) { private LocustSwarm(final LocustSwarm card) {

View file

@ -24,7 +24,7 @@ public final class LonelySandbar extends CardImpl {
// {tap}: Add {U}. // {tap}: Add {U}.
this.addAbility(new BlueManaAbility()); this.addAbility(new BlueManaAbility());
// Cycling {U} // Cycling {U}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{U}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{U}")));
} }
private LonelySandbar(final LonelySandbar card) { private LonelySandbar(final LonelySandbar card) {

View file

@ -31,7 +31,7 @@ public final class LongshotSquad extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// Outlast 1G // Outlast 1G
this.addAbility(new OutlastAbility(new ManaCostsImpl("{1}{G}"))); this.addAbility(new OutlastAbility(new ManaCostsImpl<>("{1}{G}")));
// Each creature you control with a +1/+1 counter on it has reach. // Each creature you control with a +1/+1 counter on it has reach.
this.addAbility(new SimpleStaticAbility( this.addAbility(new SimpleStaticAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,

View file

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

View file

@ -38,7 +38,7 @@ public final class LordOfShatterskullPass extends LevelerCard {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// Level up {1}{R} // Level up {1}{R}
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{R}"))); this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{1}{R}")));
// LEVEL 1-5 // LEVEL 1-5
// 6/6 // 6/6
Abilities<Ability> abilities1 = new AbilitiesImpl<>(); Abilities<Ability> abilities1 = new AbilitiesImpl<>();

View file

@ -42,7 +42,7 @@ public final class LordOfTheAccursed extends CardImpl {
new MenaceAbility(), new MenaceAbility(),
Duration.EndOfTurn, Duration.EndOfTurn,
filter, "All Zombies gain menace until end of turn."), filter, "All Zombies gain menace until end of turn."),
new ManaCostsImpl("{1}{B}")); new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -45,7 +45,7 @@ public final class LordOfTresserhorn extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
// {B}: Regenerate Lord of Tresserhorn. // {B}: Regenerate Lord of Tresserhorn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
} }
private LordOfTresserhorn(final LordOfTresserhorn card) { private LordOfTresserhorn(final LordOfTresserhorn card) {

View file

@ -32,7 +32,7 @@ public final class LoreWeaver extends CardImpl {
this.addAbility(new PartnerWithAbility("Ley Weaver")); this.addAbility(new PartnerWithAbility("Ley Weaver"));
// {5}{U}{U}: Target player draws two cards. // {5}{U}{U}: Target player draws two cards.
Ability ability = new SimpleActivatedAbility(new DrawCardTargetEffect(2), new ManaCostsImpl("{5}{U}{U}")); Ability ability = new SimpleActivatedAbility(new DrawCardTargetEffect(2), new ManaCostsImpl<>("{5}{U}{U}"));
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -41,7 +41,7 @@ public final class LotlethTroll extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new DiscardTargetCost(new TargetCardInHand(filter)))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new DiscardTargetCost(new TargetCardInHand(filter))));
// {B}: Regenerate Lotleth Troll. // {B}: Regenerate Lotleth Troll.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
} }
private LotlethTroll(final LotlethTroll card) { private LotlethTroll(final LotlethTroll card) {

View file

@ -36,7 +36,7 @@ public final class LoxodonHierarch extends CardImpl {
Ability etbAbility = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(4)); Ability etbAbility = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(4));
this.addAbility(etbAbility); this.addAbility(etbAbility);
// {G}{W}, Sacrifice Loxodon Hierarch: Regenerate each creature you control. // {G}{W}, Sacrifice Loxodon Hierarch: Regenerate each creature you control.
Ability activated = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED), new ManaCostsImpl("{G}{W}")); Ability activated = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED), new ManaCostsImpl<>("{G}{W}"));
activated.addCost(new SacrificeSourceCost()); activated.addCost(new SacrificeSourceCost());
this.addAbility(activated); this.addAbility(activated);
} }

View file

@ -43,7 +43,7 @@ public final class LoxodonLifechanter extends CardImpl {
LoxodonLifechanterValue2.instance, LoxodonLifechanterValue2.instance,
LoxodonLifechanterValue2.instance, LoxodonLifechanterValue2.instance,
Duration.EndOfTurn, true Duration.EndOfTurn, true
), new ManaCostsImpl("{5}{W}"))); ), new ManaCostsImpl<>("{5}{W}")));
} }
private LoxodonLifechanter(final LoxodonLifechanter card) { private LoxodonLifechanter(final LoxodonLifechanter card) {

View file

@ -31,7 +31,7 @@ public final class LoxodonStalwart extends CardImpl {
// Vigilance // Vigilance
this.addAbility(VigilanceAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance());
// {W}: Loxodon Stalwart gets +0/+1 until end of turn. // {W}: Loxodon Stalwart gets +0/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{W}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
} }
private LoxodonStalwart(final LoxodonStalwart card) { private LoxodonStalwart(final LoxodonStalwart card) {

View file

@ -28,7 +28,7 @@ public final class LoyalTauntaun extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {1}{G}, sacrifice Loyal Tauntaun: Regenerate target creature. // {1}{G}, sacrifice Loyal Tauntaun: Regenerate target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}{G}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -39,7 +39,7 @@ public final class LudevicsTestSubject extends CardImpl {
this.addAbility(DefenderAbility.getInstance()); this.addAbility(DefenderAbility.getInstance());
// {1}{U}: Put a hatchling counter on Ludevic's Test Subject. Then if there are five or more hatchling counters on it, remove all of them and transform it. // {1}{U}: Put a hatchling counter on Ludevic's Test Subject. Then if there are five or more hatchling counters on it, remove all of them and transform it.
this.addAbility(new TransformAbility()); this.addAbility(new TransformAbility());
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.HATCHLING.createInstance()), new ManaCostsImpl("{1}{U}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.HATCHLING.createInstance()), new ManaCostsImpl<>("{1}{U}"));
ability.addEffect(new LudevicsTestSubjectEffect()); ability.addEffect(new LudevicsTestSubjectEffect());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -23,7 +23,7 @@ public final class Lull extends CardImpl {
//Prevent all combat damage that would be dealt this turn. //Prevent all combat damage that would be dealt this turn.
this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true)); this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true));
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
} }
private Lull(final Lull card) { private Lull(final Lull card) {

View file

@ -35,7 +35,7 @@ public final class LumberingFalls extends CardImpl {
this.addAbility(new GreenManaAbility()); this.addAbility(new GreenManaAbility());
// {2}{G}{U}: Lumbering Falls becomes a 3/3 green and blue Elemental creature with hexproof until end of turn. It's still a land. // {2}{G}{U}: Lumbering Falls becomes a 3/3 green and blue Elemental creature with hexproof until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LumberingFallsToken(), "land", Duration.EndOfTurn), new ManaCostsImpl("{2}{G}{U}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LumberingFallsToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}{U}")));
} }
private LumberingFalls(final LumberingFalls card) { private LumberingFalls(final LumberingFalls card) {

View file

@ -29,9 +29,9 @@ public final class LuminousGuardian extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {W}: Luminous Guardian gets +0/+1 until end of turn. // {W}: Luminous Guardian gets +0/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{W}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
// {2}: Luminous Guardian can block an additional creature this turn. // {2}: Luminous Guardian can block an additional creature this turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(Duration.EndOfTurn, 1), new ManaCostsImpl("{2}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(Duration.EndOfTurn, 1), new ManaCostsImpl<>("{2}")));
} }
private LuminousGuardian(final LuminousGuardian card) { private LuminousGuardian(final LuminousGuardian card) {

View file

@ -25,7 +25,7 @@ public final class LumithreadField extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield)));
// Morph {1}{W} // Morph {1}{W}
this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{W}"))); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{W}")));
} }
private LumithreadField(final LumithreadField card) { private LumithreadField(final LumithreadField card) {

View file

@ -47,7 +47,7 @@ public final class LunarchMantle extends CardImpl {
// Enchanted creature gets +2/+2 and has "{1}, Sacrifice a permanent: This creature gains flying until end of turn." // 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(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
Ability abilityToGain = new SimpleActivatedAbility(Zone.BATTLEFIELD, Ability abilityToGain = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}")); new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
abilityToGain.addCost(new SacrificeTargetCost(new TargetControlledPermanent())); abilityToGain.addCost(new SacrificeTargetCost(new TargetControlledPermanent()));
ability2.addEffect(new GainAbilityAttachedEffect(abilityToGain, AttachmentType.AURA, Duration.WhileOnBattlefield, rule)); ability2.addEffect(new GainAbilityAttachedEffect(abilityToGain, AttachmentType.AURA, Duration.WhileOnBattlefield, rule));
this.addAbility(ability2); this.addAbility(ability2);

View file

@ -25,7 +25,7 @@ public final class LurchingRotbeast extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// Cycling {B} // Cycling {B}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{B}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{B}")));
} }

View file

@ -34,7 +34,7 @@ public final class LurkingArynx extends CardImpl {
Ability ability = new ActivateIfConditionActivatedAbility( Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,
new MustBeBlockedByTargetSourceEffect(Duration.EndOfTurn), new MustBeBlockedByTargetSourceEffect(Duration.EndOfTurn),
new ManaCostsImpl("{2}{G}"), new ManaCostsImpl<>("{2}{G}"),
FormidableCondition.instance); FormidableCondition.instance);
ability.setAbilityWord(AbilityWord.FORMIDABLE); ability.setAbilityWord(AbilityWord.FORMIDABLE);
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -29,7 +29,7 @@ public final class LuxaRiverShrine extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
// {1}, {T}: You gain 1 life. Put a brick counter on Luxa River Shrine. // {1}, {T}: You gain 1 life. Put a brick counter on Luxa River Shrine.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl("{1}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addEffect(new AddCountersSourceEffect(CounterType.BRICK.createInstance())); ability.addEffect(new AddCountersSourceEffect(CounterType.BRICK.createInstance()));
this.addAbility(ability); this.addAbility(ability);

View file

@ -56,7 +56,7 @@ public final class LyzoldaTheBloodWitch extends CardImpl {
new DamageTargetEffect(2), new DamageTargetEffect(2),
new SacrificedWasCondition(redFilter), new SacrificedWasCondition(redFilter),
"{this} deals 2 damage to any target if the sacrificed creature was red"); "{this} deals 2 damage to any target if the sacrificed creature was red");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}"));
effect = new ConditionalOneShotEffect( effect = new ConditionalOneShotEffect(
new DrawCardSourceControllerEffect(1), new DrawCardSourceControllerEffect(1),
new SacrificedWasCondition(blackFilter), new SacrificedWasCondition(blackFilter),