Refactor: Fix raw use of parameterized class ManaCostsImpl - 'S' cards (#9084)

This commit is contained in:
DeepCrimson 2022-06-16 12:06:35 -07:00 committed by GitHub
parent 6cf3af1d94
commit 4806626ba0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
498 changed files with 553 additions and 553 deletions

View file

@ -26,7 +26,7 @@ public final class SaberclawGolem extends CardImpl {
this.subtype.add(SubType.GOLEM); this.subtype.add(SubType.GOLEM);
this.power = new MageInt(4); this.power = new MageInt(4);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
} }
public SaberclawGolem (final SaberclawGolem card) { public SaberclawGolem (final SaberclawGolem card) {

View file

@ -33,7 +33,7 @@ public final class SabertoothCobra extends CardImpl {
Ability ability = new DealsDamageToAPlayerTriggeredAbility(effect, false, true); Ability ability = new DealsDamageToAPlayerTriggeredAbility(effect, false, true);
effect = new AddPoisonCounterTargetEffect(1); effect = new AddPoisonCounterTargetEffect(1);
effect.setText("That player gets another poison counter."); effect.setText("That player gets another poison counter.");
ability.addEffect(new UnlessPaysDelayedEffect(new ManaCostsImpl("{2}"), effect, PhaseStep.UPKEEP, true, ability.addEffect(new UnlessPaysDelayedEffect(new ManaCostsImpl<>("{2}"), effect, PhaseStep.UPKEEP, true,
"That player gets another poison counter at the beginning of their next upkeep unless they pay {2} before that turn.")); "That player gets another poison counter at the beginning of their next upkeep unless they pay {2} before that turn."));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,7 +30,7 @@ public final class SacellumArchers extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {R}{W}, {tap}: Sacellum Archers deals 2 damage to target attacking or blocking creature. // {R}{W}, {tap}: Sacellum Archers deals 2 damage to target attacking or blocking creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{R}{W}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAttackingOrBlockingCreature()); ability.addTarget(new TargetAttackingOrBlockingCreature());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class SacredCat extends CardImpl {
this.addAbility(LifelinkAbility.getInstance()); this.addAbility(LifelinkAbility.getInstance());
// Embalm {W} // Embalm {W}
this.addAbility(new EmbalmAbility(new ManaCostsImpl("{W}"), this)); this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{W}"), this));
} }
private SacredCat(final SacredCat card) { private SacredCat(final SacredCat card) {

View file

@ -38,7 +38,7 @@ public final class SacredGuide extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {1}{W}, Sacrifice Sacred Guide: Reveal cards from the top of your library until you reveal a white card. Put that card into your hand and exile all other cards revealed this way. // {1}{W}, Sacrifice Sacred Guide: Reveal cards from the top of your library until you reveal a white card. Put that card into your hand and exile all other cards revealed this way.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RevealCardsFromLibraryUntilEffect(filterCard, Zone.HAND, Zone.EXILED), new ManaCostsImpl("{1}{W}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RevealCardsFromLibraryUntilEffect(filterCard, Zone.HAND, Zone.EXILED), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -41,7 +41,7 @@ public final class SacredWhiteDeer extends CardImpl {
Ability ability = new ConditionalActivatedAbility( Ability ability = new ConditionalActivatedAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,
new GainLifeEffect(4), new GainLifeEffect(4),
new ManaCostsImpl("{3}{G}"), new ManaCostsImpl<>("{3}{G}"),
new PermanentsOnTheBattlefieldCondition(filter) new PermanentsOnTheBattlefieldCondition(filter)
); );
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());

View file

@ -37,7 +37,7 @@ public final class SadisticObsession extends CardImpl {
// Enchanted creature has "{B}, {T}: Put a -1/-1 counter on target creature." // Enchanted creature has "{B}, {T}: Put a -1/-1 counter on target creature."
ability = new SimpleActivatedAbility(new AddCountersTargetEffect( ability = new SimpleActivatedAbility(new AddCountersTargetEffect(
CounterType.M1M1.createInstance()), new ManaCostsImpl("{B}") CounterType.M1M1.createInstance()), new ManaCostsImpl<>("{B}")
); );
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -27,7 +27,7 @@ public final class SafeHaven extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// {2}, {tap}: Exile target creature you control. // {2}, {tap}: Exile target creature you control.
Ability ability = new SimpleActivatedAbility(new ExileTargetForSourceEffect(), new ManaCostsImpl("{2}")); Ability ability = new SimpleActivatedAbility(new ExileTargetForSourceEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent()); ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -26,7 +26,7 @@ public final class Safeguard extends CardImpl {
// {2}{W}: Prevent all combat damage that would be dealt by target creature this turn. // {2}{W}: 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("{2}{W}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{W}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,7 +31,7 @@ public final class SafeholdSentry extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {2}{W}, {untap}: Safehold Sentry gets +0/+2 until end of turn. // {2}{W}, {untap}: Safehold Sentry gets +0/+2 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 2, Duration.EndOfTurn), new ManaCostsImpl("{2}{W}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new UntapSourceCost()); ability.addCost(new UntapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class SageEyeHarrier extends CardImpl {
// Flying // Flying
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// Morph {3}{W} // Morph {3}{W}
this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{W}"))); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{W}")));
} }
private SageEyeHarrier(final SageEyeHarrier card) { private SageEyeHarrier(final SageEyeHarrier card) {

View file

@ -28,7 +28,7 @@ public final class SaguArcher extends CardImpl {
// Reach // Reach
this.addAbility(ReachAbility.getInstance()); this.addAbility(ReachAbility.getInstance());
// Morph {4}{G} // Morph {4}{G}
this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{G}"))); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{G}")));
} }
private SaguArcher(final SaguArcher card) { private SaguArcher(final SaguArcher card) {

View file

@ -30,7 +30,7 @@ public final class SaguMauler extends CardImpl {
// Hexproof // Hexproof
this.addAbility(HexproofAbility.getInstance()); this.addAbility(HexproofAbility.getInstance());
// Morph {3}{G}{U} // Morph {3}{G}{U}
this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{G}{U}"))); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{G}{U}")));
} }
private SaguMauler(final SaguMauler card) { private SaguMauler(final SaguMauler card) {

View file

@ -49,7 +49,7 @@ public final class SaiMasterThopterist extends CardImpl {
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,
new DrawCardSourceControllerEffect(1), new DrawCardSourceControllerEffect(1),
new ManaCostsImpl("{1}{U}") new ManaCostsImpl<>("{1}{U}")
); );
ability.addCost(new SacrificeTargetCost( ability.addCost(new SacrificeTargetCost(
new TargetControlledPermanent(2, 2, filter2, false) new TargetControlledPermanent(2, 2, filter2, false)

View file

@ -31,7 +31,7 @@ public final class Sailmonger extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {2}: Target creature gains flying until end of turn. Any player may activate this ability. // {2}: Target creature gains flying until end of turn. Any player may activate this ability.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{2}")); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.setMayActivate(TargetController.ANY); ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability")); ability.addEffect(new InfoEffect("Any player may activate this ability"));

View file

@ -61,7 +61,7 @@ class SakashimaTheImpostorCopyApplier extends CopyApplier {
// {2}{U}{U}: Return Sakashima the Impostor to its owner's hand at the beginning of the next end step // {2}{U}{U}: Return Sakashima the Impostor to its owner's hand at the beginning of the next end step
blueprint.getAbilities().add(new SimpleActivatedAbility(Zone.BATTLEFIELD, blueprint.getAbilities().add(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ReturnToHandSourceEffect(true)), false), new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ReturnToHandSourceEffect(true)), false),
new ManaCostsImpl("{2}{U}{U}") new ManaCostsImpl<>("{2}{U}{U}")
)); ));
return true; return true;
} }

View file

@ -32,7 +32,7 @@ public final class SaltRoadAmbushers extends CardImpl {
this.addAbility(new SaltRoadAmbushersTriggeredAbility()); this.addAbility(new SaltRoadAmbushersTriggeredAbility());
// Megamorph {3}{G}{G} // Megamorph {3}{G}{G}
this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{G}{G}"), true)); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{G}{G}"), true));
} }
private SaltRoadAmbushers(final SaltRoadAmbushers card) { private SaltRoadAmbushers(final SaltRoadAmbushers card) {

View file

@ -25,7 +25,7 @@ public final class SaltRoadPatrol extends CardImpl {
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
// Outlast {1}{W} // Outlast {1}{W}
this.addAbility(new OutlastAbility(new ManaCostsImpl("{1}{W}"))); this.addAbility(new OutlastAbility(new ManaCostsImpl<>("{1}{W}")));
} }
private SaltRoadPatrol(final SaltRoadPatrol card) { private SaltRoadPatrol(final SaltRoadPatrol card) {

View file

@ -36,7 +36,7 @@ public final class SaltRoadQuartermasters extends CardImpl {
"with two +1/+1 counters on it")); "with two +1/+1 counters on it"));
// {2}{G}, Remove a +1/+1 counter from Salt Road Quartermasters: Put a +1/+1 counter on target creature. // {2}{G}, Remove a +1/+1 counter from Salt Road Quartermasters: Put a +1/+1 counter on target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl("{2}{G}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1))); ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class SamiteAlchemist extends CardImpl {
// {W}{W}, {tap}: Prevent the next 4 damage that would be dealt this turn to target creature you control. Tap that creature. It doesn't untap during your next untap step. // {W}{W}, {tap}: Prevent the next 4 damage that would be dealt this turn to target creature you control. Tap that creature. It doesn't untap during your next untap step.
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
new PreventDamageToTargetEffect(Duration.EndOfTurn, 4), new PreventDamageToTargetEffect(Duration.EndOfTurn, 4),
new ManaCostsImpl("{W}{W}") new ManaCostsImpl<>("{W}{W}")
); );
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addEffect(new TapTargetEffect("Tap that creature")); ability.addEffect(new TapTargetEffect("Tap that creature"));

View file

@ -34,7 +34,7 @@ public final class SamiteCenserBearer extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {W}, Sacrifice Samite Censer-Bearer: Prevent the next 1 damage that would be dealt to each creature you control this turn. // {W}, Sacrifice Samite Censer-Bearer: Prevent the next 1 damage that would be dealt to each creature you control this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SamiteCenserBearerEffect(), new ManaCostsImpl("{W}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SamiteCenserBearerEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -24,7 +24,7 @@ public final class SamiteSanctuary extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
// {2}: Prevent the next 1 damage that would be dealt to target creature this turn. Any player may activate this ability. // {2}: Prevent the next 1 damage that would be dealt to target creature this turn. Any player may activate this ability.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn ,1), new ManaCostsImpl("{2}")); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn ,1), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.setMayActivate(TargetController.ANY); ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability")); ability.addEffect(new InfoEffect("Any player may activate this ability"));

View file

@ -64,7 +64,7 @@ public final class SamutVoiceOfDissent extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
//W, Tap: Untap another target creature. //W, Tap: Untap another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl("{W}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addTarget(new TargetCreaturePermanent(filter2)); ability.addTarget(new TargetCreaturePermanent(filter2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -47,7 +47,7 @@ public final class SanctifierOfSouls extends CardImpl {
// {2}{W}, Exile a creature card from your graveyard: Create a 1/1 white Spirit creature token with flying. // {2}{W}, Exile a creature card from your graveyard: Create a 1/1 white Spirit creature token with flying.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new SpiritWhiteToken()), new CreateTokenEffect(new SpiritWhiteToken()),
new ManaCostsImpl("{2}{W}")); new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("a creature card from your graveyard")))); ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("a creature card from your graveyard"))));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -33,7 +33,7 @@ public final class SanctuarySmasher extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance());
// Cycling {2}{R} // Cycling {2}{R}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{R}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}{R}")));
// When you cycle Sanctuary Smasher, put a first strike counter on target creature you control. // When you cycle Sanctuary Smasher, put a first strike counter on target creature you control.
Ability ability = new CycleTriggeredAbility( Ability ability = new CycleTriggeredAbility(

View file

@ -30,8 +30,8 @@ public final class SanctumPlowbeast extends CardImpl {
// Defender // Defender
this.addAbility(DefenderAbility.getInstance()); this.addAbility(DefenderAbility.getInstance());
// Plainscycling {2}, islandcycling {2} // Plainscycling {2}, islandcycling {2}
this.addAbility(new PlainscyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new PlainscyclingAbility(new ManaCostsImpl<>("{2}")));
this.addAbility(new IslandcyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new IslandcyclingAbility(new ManaCostsImpl<>("{2}")));
} }
private SanctumPlowbeast(final SanctumPlowbeast card) { private SanctumPlowbeast(final SanctumPlowbeast card) {

View file

@ -29,7 +29,7 @@ public final class SandalsOfAbdallah extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// {2}, {tap}: Target creature gains islandwalk until end of turn. When that creature dies this turn, destroy Sandals of Abdallah. // {2}, {tap}: Target creature gains islandwalk until end of turn. When that creature dies this turn, destroy Sandals of Abdallah.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new IslandwalkAbility(), Duration.EndOfTurn), new ManaCostsImpl("{2}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new IslandwalkAbility(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -23,7 +23,7 @@ public final class SandbarMerfolk 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 CyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
} }
private SandbarMerfolk(final SandbarMerfolk card) { private SandbarMerfolk(final SandbarMerfolk card) {

View file

@ -23,7 +23,7 @@ public final class SandbarSerpent extends CardImpl {
this.power = new MageInt(3); this.power = new MageInt(3);
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
} }
private SandbarSerpent(final SandbarSerpent card) { private SandbarSerpent(final SandbarSerpent card) {

View file

@ -23,7 +23,7 @@ public final class SandstormCharger extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// Megamorph {4}{W} // Megamorph {4}{W}
this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{W}"), true)); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{W}"), true));
} }
private SandstormCharger(final SandstormCharger card) { private SandstormCharger(final SandstormCharger card) {

View file

@ -32,7 +32,7 @@ public final class SandstormEidolon extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {R}, Sacrifice Sandstorm Eidolon: Target creature can't block this turn. // {R}, Sacrifice Sandstorm Eidolon: Target creature can't block this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{R}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -29,7 +29,7 @@ public final class SanguineGuard extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(FirstStrikeAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance());
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 SanguineGuard(final SanguineGuard card) { private SanguineGuard(final SanguineGuard card) {

View file

@ -36,7 +36,7 @@ public final class SanguinePraetor extends CardImpl {
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
// {B}, Sacrifice a creature: Destroy each creature with the same converted mana cost as the sacrificed creature. // {B}, Sacrifice a creature: Destroy each creature with the same converted mana cost as the sacrificed creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SanguinePraetorEffect(), new ManaCostsImpl("{B}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SanguinePraetorEffect(), new ManaCostsImpl<>("{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
this.addAbility(ability); this.addAbility(ability);

View file

@ -25,7 +25,7 @@ public final class SanitariumSkeleton extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {2}{B}: Return Sanitarium Skeleton from your graveyard to your hand. // {2}{B}: Return Sanitarium Skeleton from your graveyard to your hand.
this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl("{2}{B}"))); this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{2}{B}")));
} }
private SanitariumSkeleton(final SanitariumSkeleton card) { private SanitariumSkeleton(final SanitariumSkeleton card) {

View file

@ -38,7 +38,7 @@ public final class SapphireLeech extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// Blue spells you cast cost {U} more to cast. // Blue spells you cast cost {U} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new SpellsCostIncreasingAllEffect(new ManaCostsImpl("{U}"), filter, TargetController.YOU))); new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{U}"), filter, TargetController.YOU)));
} }
private SapphireLeech(final SapphireLeech card) { private SapphireLeech(final SapphireLeech card) {

View file

@ -29,7 +29,7 @@ public final class SaprazzanBreaker extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {U}: Put the top card of your library into your graveyard. If that card is a land card, Saprazzan Breaker can't be blocked this turn. // {U}: Put the top card of your library into your graveyard. If that card is a land card, Saprazzan Breaker can't be blocked this turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SaprazzanBreakerEffect(), new ManaCostsImpl("{U}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SaprazzanBreakerEffect(), new ManaCostsImpl<>("{U}")));
} }
private SaprazzanBreaker(final SaprazzanBreaker card) { private SaprazzanBreaker(final SaprazzanBreaker card) {

View file

@ -25,7 +25,7 @@ public final class SaprolingSymbiosis extends CardImpl {
Effect effect = new CreateTokenEffect(new SaprolingToken(), new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURE)); Effect effect = new CreateTokenEffect(new SaprolingToken(), new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURE));
// You may cast Saproling Symbiosis as though it had flash if you pay {2} more to cast it. (You may cast it any time you could cast an instant.) // You may cast Saproling Symbiosis as though it had flash if you pay {2} more to cast it. (You may cast it any time you could cast an instant.)
Ability ability = new PayMoreToCastAsThoughtItHadFlashAbility(this, new ManaCostsImpl("{2}")); Ability ability = new PayMoreToCastAsThoughtItHadFlashAbility(this, new ManaCostsImpl<>("{2}"));
ability.addEffect(effect); ability.addEffect(effect);
ability.setRuleAtTheTop(true); ability.setRuleAtTheTop(true);
this.addAbility(ability); this.addAbility(ability);

View file

@ -45,7 +45,7 @@ public final class SapseepForest extends CardImpl {
// {G}, {tap}: You gain 1 life. Activate this ability only if you control two or more green permanents. // {G}, {tap}: You gain 1 life. Activate this ability only if you control two or more green permanents.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new GainLifeEffect(1), new GainLifeEffect(1),
new ManaCostsImpl("{G}"), new ManaCostsImpl<>("{G}"),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1)); new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -35,7 +35,7 @@ public final class SarpadianEmpiresVolVII extends CardImpl {
// As Sarpadian Empires, Vol. VII enters the battlefield, choose white Citizen, blue Camarid, black Thrull, red Goblin, or green Saproling. // As Sarpadian Empires, Vol. VII enters the battlefield, choose white Citizen, blue Camarid, black Thrull, red Goblin, or green Saproling.
this.addAbility(new AsEntersBattlefieldAbility(new SarpadianEmpiresChooseTokenEffect())); this.addAbility(new AsEntersBattlefieldAbility(new SarpadianEmpiresChooseTokenEffect()));
// {3}, {T}: Create a 1/1 creature token of the chosen color and type. // {3}, {T}: Create a 1/1 creature token of the chosen color and type.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SarpadianEmpiresCreateSelectedTokenEffect(), new ManaCostsImpl("{3}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SarpadianEmpiresCreateSelectedTokenEffect(), new ManaCostsImpl<>("{3}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -27,7 +27,7 @@ public final class SatyrHedonist extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {R}, Sacrifice Satyr Hedonist: Add {R}{R}{R}. // {R}, Sacrifice Satyr Hedonist: Add {R}{R}{R}.
SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(3), new ManaCostsImpl("{R}")); SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(3), new ManaCostsImpl<>("{R}"));
ability .addCost(new SacrificeSourceCost()); ability .addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class SatyrNyxSmith extends CardImpl {
// Haste // Haste
this.addAbility(HasteAbility.getInstance()); this.addAbility(HasteAbility.getInstance());
// <i>Inspired</i> &mdash; Whenever Satyr Nyx-Smith becomes untapped, you may pay {2}{R}. If you do, create a 3/1 red Elemental enchantment creature token with haste. // <i>Inspired</i> &mdash; Whenever Satyr Nyx-Smith becomes untapped, you may pay {2}{R}. If you do, create a 3/1 red Elemental enchantment creature token with haste.
this.addAbility(new InspiredAbility(new DoIfCostPaid(new CreateTokenEffect(new SatyrNyxSmithElementalToken()), new ManaCostsImpl("{2}{R}")))); this.addAbility(new InspiredAbility(new DoIfCostPaid(new CreateTokenEffect(new SatyrNyxSmithElementalToken()), new ManaCostsImpl<>("{2}{R}"))));
} }

View file

@ -30,7 +30,7 @@ public final class SatyrPiper extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {3}{G}: Target creature must be blocked this turn if able. // {3}{G}: Target creature must be blocked this turn if able.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{3}{G}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{3}{G}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -43,7 +43,7 @@ public final class SavaenElves extends CardImpl {
// {G}{G}, {tap}: Destroy target Aura attached to a land. // {G}{G}, {tap}: Destroy target Aura attached to a land.
Effect effect = new DestroyTargetEffect(); Effect effect = new DestroyTargetEffect();
effect.setText("Destroy target Aura attached to a land"); effect.setText("Destroy target Aura attached to a land");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{G}{G}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{G}{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -30,7 +30,7 @@ public final class SavageGorilla extends CardImpl {
this.power = new MageInt(3); this.power = new MageInt(3);
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new ManaCostsImpl("{U}{B}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new ManaCostsImpl<>("{U}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardSourceControllerEffect(1)); ability.addEffect(new DrawCardSourceControllerEffect(1));

View file

@ -32,13 +32,13 @@ public final class SavageKnuckleblade extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {2}{G}: Savage Knuckleblade gets +2/+2 until end of turn. Activate this ability only once each turn. // {2}{G}: Savage Knuckleblade gets +2/+2 until end of turn. Activate this ability only once each turn.
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}"))); this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}")));
// {2}{U}: Return Savage Knuckleblade to its owner's hand. // {2}{U}: Return Savage Knuckleblade to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{2}{U}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}")));
// {R}: Savage Knuckleblade gains haste until end of turn. // {R}: Savage Knuckleblade gains haste until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
} }

View file

@ -36,7 +36,7 @@ public final class SavagebornHydra extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance()))); this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance())));
// {1}{RG}: Put a +1/+1 counter on Savageborn Hydra. Activate this ability only any time you could cast a sorcery. // {1}{RG}: Put a +1/+1 counter on Savageborn Hydra. Activate this ability only any time you could cast a sorcery.
this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{1}{R/G}"))); this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{1}{R/G}")));
} }
private SavagebornHydra(final SavagebornHydra card) { private SavagebornHydra(final SavagebornHydra card) {

View file

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

View file

@ -28,7 +28,7 @@ public final class ScaldingDevil extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {2}{R}: Scalding Devil deals 1 damage to target player. // {2}{R}: Scalding Devil deals 1 damage to target player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{2}{R}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{2}{R}"));
ability.addTarget(new TargetPlayerOrPlaneswalker()); ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -32,7 +32,7 @@ public final class Scaldkin extends CardImpl {
// Flying // Flying
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {2}{R}, Sacrifice Scaldkin: Scaldkin deals 2 damage to any target. // {2}{R}, Sacrifice Scaldkin: Scaldkin deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}{R}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);

View file

@ -41,7 +41,7 @@ public final class ScaleUp extends CardImpl {
new CreatureToken(6, 4, "green Wurm with base power and toughness 6/4") new CreatureToken(6, 4, "green Wurm with base power and toughness 6/4")
.withColor("G").withSubType(SubType.WURM), .withColor("G").withSubType(SubType.WURM),
null, filter, Duration.EndOfTurn, true, false, true null, filter, Duration.EndOfTurn, true, false, true
), new ManaCostsImpl("{4}{G}{G}"))); ), new ManaCostsImpl<>("{4}{G}{G}")));
} }
private ScaleUp(final ScaleUp card) { private ScaleUp(final ScaleUp card) {

View file

@ -29,7 +29,7 @@ public final class Scandalmonger extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {2}: Target player discards a card. Any player may activate this ability but only any time they could cast a sorcery. // {2}: Target player discards a card. Any player may activate this ability but only any time they could cast a sorcery.
ActivateAsSorceryActivatedAbility ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{2}")); ActivateAsSorceryActivatedAbility ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
ability.setMayActivate(TargetController.ANY); ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability")); ability.addEffect(new InfoEffect("Any player may activate this ability"));

View file

@ -23,7 +23,7 @@ public final class ScarabFeast extends CardImpl {
getSpellAbility().addTarget(new TargetCardInASingleGraveyard(0, 3, StaticFilters.FILTER_CARD_CARDS)); getSpellAbility().addTarget(new TargetCardInASingleGraveyard(0, 3, StaticFilters.FILTER_CARD_CARDS));
// Cycling {B} // Cycling {B}
addAbility(new CyclingAbility(new ManaCostsImpl("{B}"))); addAbility(new CyclingAbility(new ManaCostsImpl<>("{B}")));
} }
private ScarabFeast(final ScarabFeast card) { private ScarabFeast(final ScarabFeast card) {

View file

@ -39,7 +39,7 @@ public final class ScarredVinebreeder extends CardImpl {
// {2}{B}, Exile an Elf card from your graveyard: Scarred Vinebreeder gets +3/+3 until end of turn. // {2}{B}, Exile an Elf card from your graveyard: Scarred Vinebreeder gets +3/+3 until end of turn.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BoostSourceEffect(3, 3, Duration.EndOfTurn), new BoostSourceEffect(3, 3, Duration.EndOfTurn),
new ManaCostsImpl("{2}{B}")); new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter))); ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter)));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -50,7 +50,7 @@ public final class ScarwoodBandits extends CardImpl {
new SourceRemainsInZoneCondition(Zone.BATTLEFIELD), new SourceRemainsInZoneCondition(Zone.BATTLEFIELD),
"gain control of target artifact for as long as {this} remains on the battlefield"), "gain control of target artifact for as long as {this} remains on the battlefield"),
new GenericManaCost(2)), new GenericManaCost(2)),
new ManaCostsImpl("{2}{G}")); new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetArtifactPermanent()); ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -34,7 +34,7 @@ public final class ScarwoodHag extends CardImpl {
// {G}{G}{G}{G}, {tap}: Target creature gains forestwalk until end of turn. // {G}{G}{G}{G}, {tap}: Target creature gains forestwalk until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilityTargetEffect(new ForestwalkAbility(false), Duration.EndOfTurn), new GainAbilityTargetEffect(new ForestwalkAbility(false), Duration.EndOfTurn),
new ManaCostsImpl("{G}{G}{G}{G}")); new ManaCostsImpl<>("{G}{G}{G}{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class ScatteredGroves extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility()); this.addAbility(new EntersBattlefieldTappedAbility());
// Cycling {2} // Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
} }

View file

@ -30,7 +30,7 @@ public final class ScavengerFolk extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {G}, {T}, Sacrifice Scavenger Folk: Destroy target artifact. // {G}, {T}, Sacrifice Scavenger Folk: Destroy target artifact.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{G}")); ability.addCost(new TapSourceCost()); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{G}")); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetArtifactPermanent()); ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -41,7 +41,7 @@ public final class ScavengerGrounds extends CardImpl {
Ability ability2 = new SimpleActivatedAbility( Ability ability2 = new SimpleActivatedAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,
new ExileGraveyardAllPlayersEffect(), new ExileGraveyardAllPlayersEffect(),
new ManaCostsImpl("{2}")); new ManaCostsImpl<>("{2}"));
ability2.addCost(new TapSourceCost()); ability2.addCost(new TapSourceCost());
ability2.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true))); ability2.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true)));
this.addAbility(ability2); this.addAbility(ability2);

View file

@ -34,7 +34,7 @@ public final class ScavengingOoze extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {G}: Exile target card from a graveyard. If it was a creature card, put a +1/+1 counter on Scavenging Ooze and you gain 1 life. // {G}: Exile target card from a graveyard. If it was a creature card, put a +1/+1 counter on Scavenging Ooze and you gain 1 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScavengingOozeEffect(), new ManaCostsImpl("{G}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScavengingOozeEffect(), new ManaCostsImpl<>("{G}"));
ability.addTarget(new TargetCardInGraveyard()); ability.addTarget(new TargetCardInGraveyard());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -23,7 +23,7 @@ public final class ScepterOfDominance extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{W}{W}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{W}{W}");
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{W}")); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent()); ability.addTarget(new TargetPermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -25,7 +25,7 @@ public final class ScepterOfFugue extends CardImpl {
// {1}{B}, {T}: Target player discards a card. Activate this ability only during your turn. // {1}{B}, {T}: Target player discards a card. Activate this ability only during your turn.
Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{1}{B}"), MyTurnCondition.instance); Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl<>("{1}{B}"), MyTurnCondition.instance);
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
ability.addHint(MyTurnHint.instance); ability.addHint(MyTurnHint.instance);

View file

@ -22,7 +22,7 @@ public final class ScepterOfInsight extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{U}{U}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{U}{U}");
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{3}{U}")); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{3}{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,7 +30,7 @@ public final class ScholarOfAthreos extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {2}{B}: Each opponent loses 1 life. You gain life equal to the life lost this way. // {2}{B}: Each opponent loses 1 life. You gain life equal to the life lost this way.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScholarOfAthreosEffect(), new ManaCostsImpl("{2}{B}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScholarOfAthreosEffect(), new ManaCostsImpl<>("{2}{B}")));
} }
private ScholarOfAthreos(final ScholarOfAthreos card) { private ScholarOfAthreos(final ScholarOfAthreos card) {

View file

@ -25,7 +25,7 @@ public final class SchoolOfPiranha extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// At the beginning of your upkeep, sacrifice School of Piranha unless you pay {1}{U}. // At the beginning of your upkeep, sacrifice School of Piranha unless you pay {1}{U}.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{1}{U}")), TargetController.YOU, false)); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{U}")), TargetController.YOU, false));
} }
private SchoolOfPiranha(final SchoolOfPiranha card) { private SchoolOfPiranha(final SchoolOfPiranha card) {

View file

@ -40,7 +40,7 @@ public final class ScionOfDarkness extends CardImpl {
this.addAbility(new ScionOfDarknessTriggeredAbility()); this.addAbility(new ScionOfDarknessTriggeredAbility());
// Cycling {3} // Cycling {3}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}"))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}")));
} }
private ScionOfDarkness(final ScionOfDarkness card) { private ScionOfDarkness(final ScionOfDarkness card) {

View file

@ -27,7 +27,7 @@ public final class ScionOfGlaciers extends CardImpl {
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
// {U}: Scion of Glaciers gets +1/-1 until end of turn // {U}: Scion of Glaciers gets +1/-1 until end of turn
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl("{U}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
} }
private ScionOfGlaciers(final ScionOfGlaciers card) { private ScionOfGlaciers(final ScionOfGlaciers card) {

View file

@ -38,7 +38,7 @@ public final class ScionOfTheUrDragon extends CardImpl {
// {2}: Search your library for a Dragon permanent card and put it into your graveyard. If you do, Scion of the Ur-Dragon becomes a copy of that card until end of turn. Then shuffle your library. // {2}: Search your library for a Dragon permanent card and put it into your graveyard. If you do, Scion of the Ur-Dragon becomes a copy of that card until end of turn. Then shuffle your library.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new ScionOfTheUrDragonEffect(), new ScionOfTheUrDragonEffect(),
new ManaCostsImpl("{2}"))); new ManaCostsImpl<>("{2}")));
} }
private ScionOfTheUrDragon(final ScionOfTheUrDragon card) { private ScionOfTheUrDragon(final ScionOfTheUrDragon card) {

View file

@ -25,7 +25,7 @@ public final class ScorchingMissile extends CardImpl {
this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker());
// Flashback {9}{R} // Flashback {9}{R}
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{9}{R}"))); this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{9}{R}")));
} }

View file

@ -24,7 +24,7 @@ public final class ScornfulEgotist extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// Morph {U} // Morph {U}
this.addAbility(new MorphAbility(new ManaCostsImpl("{U}"))); this.addAbility(new MorphAbility(new ManaCostsImpl<>("{U}")));
} }
private ScornfulEgotist(final ScornfulEgotist card) { private ScornfulEgotist(final ScornfulEgotist card) {

View file

@ -24,7 +24,7 @@ public final class ScourAllPossibilities extends CardImpl {
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then")); this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then"));
// Flashback {4}{U} // Flashback {4}{U}
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{4}{U}"))); this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{4}{U}")));
} }

View file

@ -29,7 +29,7 @@ public final class ScourgeDevil extends CardImpl {
// When Scourge Devil enters the battlefield, creatures you control get +1/+0 until end of turn. // When Scourge Devil enters the battlefield, creatures you control get +1/+0 until end of turn.
this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostControlledEffect(1, 0, Duration.EndOfTurn))); this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostControlledEffect(1, 0, Duration.EndOfTurn)));
// Unearth {2}{R} // Unearth {2}{R}
this.addAbility(new UnearthAbility(new ManaCostsImpl("{2}{R}"))); this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{2}{R}")));
} }
private ScourgeDevil(final ScourgeDevil card) { private ScourgeDevil(final ScourgeDevil card) {

View file

@ -43,11 +43,11 @@ public final class ScourgeOfKherRidges extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {1}{R}: Scourge of Kher Ridges deals 2 damage to each creature without flying. // {1}{R}: Scourge of Kher Ridges deals 2 damage to each creature without flying.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(2, filter), new ManaCostsImpl("{1}{R}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(2, filter), new ManaCostsImpl<>("{1}{R}"));
this.addAbility(ability); this.addAbility(ability);
// {5}{R}: Scourge of Kher Ridges deals 6 damage to each other creature with flying. // {5}{R}: Scourge of Kher Ridges deals 6 damage to each other creature with flying.
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(6, filter2), new ManaCostsImpl("{5}{R}")); Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(6, filter2), new ManaCostsImpl<>("{5}{R}"));
this.addAbility(ability2); this.addAbility(ability2);
} }

View file

@ -41,7 +41,7 @@ public final class ScourgeOfTheNobilis extends CardImpl {
// As long as enchanted creature is red, it gets +1/+1 and has "{RW}: This creature gets +1/+0 until end of turn." // As long as enchanted creature is red, it gets +1/+1 and has "{RW}: This creature gets +1/+0 until end of turn."
SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1")); SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1"));
redAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect( redAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(
new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R/W}")), AttachmentType.AURA), new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R/W}")), AttachmentType.AURA),
new EnchantedCreatureColorCondition(ObjectColor.RED), "and has \"{R/W}: This creature gets +1/+0 until end of turn.\"")); new EnchantedCreatureColorCondition(ObjectColor.RED), "and has \"{R/W}: This creature gets +1/+0 until end of turn.\""));
this.addAbility(redAbility); this.addAbility(redAbility);

View file

@ -49,7 +49,7 @@ public final class ScourgeOfValkas extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
// {R}: Scourge of Valkas gets +1/+0 until end of turn. // {R}: Scourge of Valkas gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
} }
private ScourgeOfValkas(final ScourgeOfValkas card) { private ScourgeOfValkas(final ScourgeOfValkas card) {

View file

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

View file

@ -32,7 +32,7 @@ public final class Scrapbasket extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {1}: Scrapbasket becomes all colors until end of turn. // {1}: Scrapbasket becomes all colors until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesAllColorsEffect(), new ManaCostsImpl("{1}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesAllColorsEffect(), new ManaCostsImpl<>("{1}")));
} }

View file

@ -24,7 +24,7 @@ public final class ScreamsOfTheDamned extends CardImpl {
// {1}{B}, Exile a card from your graveyard: Screams of the Damned deals 1 damage to each creature and each player. // {1}{B}, Exile a card from your graveyard: Screams of the Damned deals 1 damage to each creature and each player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl("{1}{B}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard())); ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard()));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -33,7 +33,7 @@ public final class ScreechingGriffin extends CardImpl {
// {R}: Target creature can't block Screeching Griffin this turn. // {R}: Target creature can't block Screeching Griffin this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedByTargetSourceEffect(Duration.EndOfTurn), Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedByTargetSourceEffect(Duration.EndOfTurn),
new ManaCostsImpl("{R}")); new ManaCostsImpl<>("{R}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -27,7 +27,7 @@ public final class ScreechingHarpy extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
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 ScreechingHarpy(final ScreechingHarpy card) { private ScreechingHarpy(final ScreechingHarpy card) {

View file

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

View file

@ -88,7 +88,7 @@ class ScrollOfFateEffect extends OneShotEffect {
if (card.isCreature(game)) { if (card.isCreature(game)) {
manaCosts = card.getSpellAbility() != null ? card.getSpellAbility().getManaCosts() : null; manaCosts = card.getSpellAbility() != null ? card.getSpellAbility().getManaCosts() : null;
if (manaCosts == null) { if (manaCosts == null) {
manaCosts = new ManaCostsImpl("{0}"); manaCosts = new ManaCostsImpl<>("{0}");
} }
} }
MageObjectReference objectReference = new MageObjectReference(card.getId(), MageObjectReference objectReference = new MageObjectReference(card.getId(),

View file

@ -45,7 +45,7 @@ public final class ScrollOfTheMasters extends CardImpl {
Effect effect = new BoostTargetEffect(xValue, xValue, Duration.EndOfTurn); Effect effect = new BoostTargetEffect(xValue, xValue, Duration.EndOfTurn);
effect.setText("Target creature you control gets +1/+1 until end of turn for each lore counter on {this}"); effect.setText("Target creature you control gets +1/+1 until end of turn for each lore counter on {this}");
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD, effect, new ManaCostsImpl("{3}")); Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{3}"));
ability.addTarget(new TargetControlledCreaturePermanent()); ability.addTarget(new TargetControlledCreaturePermanent());
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class ScryingGlass extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {3}, {tap}: Choose a number greater than 0 and a color. Target opponent reveals their hand. If that opponent reveals exactly the chosen number of cards of the chosen color, you draw a card. // {3}, {tap}: Choose a number greater than 0 and a color. Target opponent reveals their hand. If that opponent reveals exactly the chosen number of cards of the chosen color, you draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryingGlassEffect(), new ManaCostsImpl("{3}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryingGlassEffect(), new ManaCostsImpl<>("{3}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class SeaGateWreckage extends CardImpl {
// {2}{C}, {T}: Draw a card. Activate this ability only if you have no cards in hand. // {2}{C}, {T}: Draw a card. Activate this ability only if you have no cards in hand.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1),
new ManaCostsImpl("{2}{C}"), HellbentCondition.instance); new ManaCostsImpl<>("{2}{C}"), HellbentCondition.instance);
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -28,7 +28,7 @@ public final class SeaSpirit extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {U}: Sea Spirit gets +1/+0 until end of turn. // {U}: Sea Spirit gets +1/+0 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(+1, +0, Duration.EndOfTurn), new ManaCostsImpl("{U}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(+1, +0, Duration.EndOfTurn), new ManaCostsImpl<>("{U}"));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -36,7 +36,7 @@ public final class SeaTroll extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {U}: Regenerate Sea Troll. Activate this ability only if Sea Troll blocked or was blocked by a blue creature this turn. // {U}: Regenerate Sea Troll. Activate this ability only if Sea Troll blocked or was blocked by a blue creature this turn.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{U}"), new SeaTrollCondition()); Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{U}"), new SeaTrollCondition());
ability.addWatcher(new SeaTrollWatcher()); ability.addWatcher(new SeaTrollWatcher());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -28,7 +28,7 @@ public final class SearchForTomorrow extends CardImpl {
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(target, false, Outcome.PutLandInPlay)); this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(target, false, Outcome.PutLandInPlay));
// Suspend 2-{G} // Suspend 2-{G}
this.addAbility(new SuspendAbility(2, new ManaCostsImpl("{G}"), this)); this.addAbility(new SuspendAbility(2, new ManaCostsImpl<>("{G}"), this));
} }
private SearchForTomorrow(final SearchForTomorrow card) { private SearchForTomorrow(final SearchForTomorrow card) {

View file

@ -32,7 +32,7 @@ public final class SearchlightGeist extends CardImpl {
// {3}{B}: Searchlight Geist gains deathtouch until end of turn. // {3}{B}: Searchlight Geist gains deathtouch until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilitySourceEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn), new GainAbilitySourceEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn),
new ManaCostsImpl("{3}{B}"))); new ManaCostsImpl<>("{3}{B}")));
} }
private SearchlightGeist(final SearchlightGeist card) { private SearchlightGeist(final SearchlightGeist card) {

View file

@ -33,7 +33,7 @@ public final class SearingSpearAskari extends CardImpl {
this.addAbility(new FlankingAbility()); this.addAbility(new FlankingAbility());
// {1}{R}: Searing Spear Askari gains menace until end of turn. (It can't be blocked except by two or more creatures.) // {1}{R}: Searing Spear Askari gains menace until end of turn. (It can't be blocked except by two or more creatures.)
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), new ManaCostsImpl("{1}{R}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
} }
private SearingSpearAskari(final SearingSpearAskari card) { private SearingSpearAskari(final SearingSpearAskari card) {

View file

@ -41,7 +41,7 @@ public final class SeasonedPyromancer extends CardImpl {
Ability ability = new SimpleActivatedAbility( Ability ability = new SimpleActivatedAbility(
Zone.GRAVEYARD, Zone.GRAVEYARD,
new CreateTokenEffect(new RedElementalToken(), 2), new CreateTokenEffect(new RedElementalToken(), 2),
new ManaCostsImpl("{3}{R}{R}") new ManaCostsImpl<>("{3}{R}{R}")
); );
ability.addCost(new ExileSourceFromGraveCost()); ability.addCost(new ExileSourceFromGraveCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class SeasonedTactician extends CardImpl {
// {3}, Exile the top four cards of your library: The next time a source of your choice would deal damage to you this turn, prevent that damage. // {3}, Exile the top four cards of your library: The next time a source of your choice would deal damage to you this turn, prevent that damage.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn), Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn),
new ManaCostsImpl("{3}")); new ManaCostsImpl<>("{3}"));
ability.addCost(new ExileFromTopOfLibraryCost(4)); ability.addCost(new ExileFromTopOfLibraryCost(4));
this.addAbility(ability); this.addAbility(ability);
} }

View file

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

View file

@ -26,7 +26,7 @@ public final class SecurityDetail extends CardImpl {
this.addAbility(new LimitedTimesPerTurnActivatedAbility( this.addAbility(new LimitedTimesPerTurnActivatedAbility(
Zone.BATTLEFIELD, Zone.BATTLEFIELD,
new CreateTokenEffect(new SoldierToken()), new CreateTokenEffect(new SoldierToken()),
new ManaCostsImpl("{W}{W}"), new ManaCostsImpl<>("{W}{W}"),
1, 1,
new CreatureCountCondition(0, TargetController.YOU) new CreatureCountCondition(0, TargetController.YOU)
)); ));

View file

@ -43,7 +43,7 @@ public final class SedgeSliver extends CardImpl {
new GainAbilityAllEffect(boost, Duration.WhileOnBattlefield, new GainAbilityAllEffect(boost, Duration.WhileOnBattlefield,
filter, "All Sliver creatures have \"This creature gets +1/+1 as long as you control a Swamp.\""))); filter, "All Sliver creatures have \"This creature gets +1/+1 as long as you control a Swamp.\"")));
// All Slivers have "{B}: Regenerate this permanent." // All Slivers have "{B}: Regenerate this permanent."
Ability regenerate = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")); Ability regenerate = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new GainAbilityAllEffect(regenerate, Duration.WhileOnBattlefield, new GainAbilityAllEffect(regenerate, Duration.WhileOnBattlefield,
filterSlivers, "All Slivers have \"{B}: Regenerate this permanent.\""))); filterSlivers, "All Slivers have \"{B}: Regenerate this permanent.\"")));

View file

@ -36,7 +36,7 @@ public final class SedgeTroll extends CardImpl {
// Sedge Troll gets +1/+1 as long as you control a Swamp. // Sedge Troll gets +1/+1 as long as you control a Swamp.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(filter, 1, 1))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(filter, 1, 1)));
// {B}: Regenerate Sedge Troll. // {B}: Regenerate Sedge Troll.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
} }
private SedgeTroll(final SedgeTroll card) { private SedgeTroll(final SedgeTroll card) {

View file

@ -31,7 +31,7 @@ public final class SedraxisSpecter extends CardImpl {
// Whenever Sedraxis Specter deals combat damage to a player, that player discards a card. // Whenever Sedraxis Specter deals combat damage to a player, that player discards a card.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1), false, true)); this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1), false, true));
// Unearth {1}{B} // Unearth {1}{B}
this.addAbility(new UnearthAbility(new ManaCostsImpl("{1}{B}"))); this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{1}{B}")));
} }
private SedraxisSpecter(final SedraxisSpecter card) { private SedraxisSpecter(final SedraxisSpecter card) {

View file

@ -60,7 +60,7 @@ class SedrisTheTraitorKingEffect extends ContinuousEffectImpl {
for (UUID cardId : controller.getGraveyard()) { for (UUID cardId : controller.getGraveyard()) {
Card card = game.getCard(cardId); Card card = game.getCard(cardId);
if (card != null && card.isCreature(game)) { if (card != null && card.isCreature(game)) {
UnearthAbility ability = new UnearthAbility(new ManaCostsImpl("{2}{B}")); UnearthAbility ability = new UnearthAbility(new ManaCostsImpl<>("{2}{B}"));
ability.setSourceId(cardId); ability.setSourceId(cardId);
ability.setControllerId(card.getOwnerId()); ability.setControllerId(card.getOwnerId());
game.getState().addOtherAbility(card, ability); game.getState().addOtherAbility(card, ability);

View file

@ -30,7 +30,7 @@ public final class SeedcradleWitch extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {2}{G}{W}: Target creature gets +3/+3 until end of turn. Untap that creature. // {2}{G}{W}: Target creature gets +3/+3 until end of turn. Untap that creature.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}{W}")); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}{W}"));
ability.addEffect(new UntapTargetEffect().setText("untap that creature")); ability.addEffect(new UntapTargetEffect().setText("untap that creature"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class SeerOfTheLastTomorrow extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {U}, {T}, Discard a card: Target player puts the top three cards of their library into their graveyard. // {U}, {T}, Discard a card: Target player puts the top three cards of their library into their graveyard.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutLibraryIntoGraveTargetEffect(3), new ManaCostsImpl("{U}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutLibraryIntoGraveTargetEffect(3), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());

View file

@ -20,7 +20,7 @@ public final class SeersSundial extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// Landfall - Whenever a land enters the battlefield under your control, you may pay {2}. If you do, draw a card. // Landfall - Whenever a land enters the battlefield under your control, you may pay {2}. If you do, draw a card.
this.addAbility(new LandfallAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}")), false)); // optional = false because DoIfCost is already optonal this.addAbility(new LandfallAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}")), false)); // optional = false because DoIfCost is already optonal
} }
private SeersSundial(final SeersSundial card) { private SeersSundial(final SeersSundial card) {

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