Refactor: fix raw use of parameterized class ManaCostsImpl - 'V' cards (#9087)

This commit is contained in:
DeepCrimson 2022-06-12 10:06:01 -07:00 committed by GitHub
parent 0f46da20e0
commit 3e9cfa1e4b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
105 changed files with 118 additions and 118 deletions

View file

@ -30,13 +30,13 @@ public final class VaevictisAsmadi extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// At the beginning of your upkeep, sacrifice Vaevictis Asmadi unless you pay {B}{R}{G}.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{B}{R}{G}")), TargetController.YOU, false));
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{R}{G}")), TargetController.YOU, false));
// {B}: Vaevictis Asmadi gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{B}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
// {R}: Vaevictis Asmadi gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
// {G}: Vaevictis Asmadi gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")));
}
private VaevictisAsmadi(final VaevictisAsmadi card) {

View file

@ -37,7 +37,7 @@ public final class VagrantPlowbeasts extends CardImpl {
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new RegenerateTargetEffect(),
new ManaCostsImpl("{1}"));
new ManaCostsImpl<>("{1}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}

View file

@ -47,7 +47,7 @@ public final class ValiantKnight extends CardImpl {
new GainAbilityControlledEffect(
DoubleStrikeAbility.getInstance(),
Duration.EndOfTurn, filter
), new ManaCostsImpl("{3}{W}{W}")
), new ManaCostsImpl<>("{3}{W}{W}")
));
}

View file

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

View file

@ -60,7 +60,7 @@ public final class ValkiGodOfLies extends ModalDoubleFacesCard {
this.getLeftHalfCard().addAbility(new EntersBattlefieldTriggeredAbility(new ValkiGodOfLiesRevealExileEffect()));
// X: Choose a creature card exiled with Valki with converted mana cost X. Valki becomes a copy of that card.
this.getLeftHalfCard().addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ValkiGodOfLiesCopyExiledEffect(), new ManaCostsImpl("{X}")));
this.getLeftHalfCard().addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ValkiGodOfLiesCopyExiledEffect(), new ManaCostsImpl<>("{X}")));
// 2.
// Tibalt, Cosmic Impostor

View file

@ -27,9 +27,9 @@ public final class ValleyRannet extends CardImpl {
this.toughness = new MageInt(3);
// Mountaincycling {2}
this.addAbility(new MountaincyclingAbility(new ManaCostsImpl("{2}")));
this.addAbility(new MountaincyclingAbility(new ManaCostsImpl<>("{2}")));
// Forestcycling {2}
this.addAbility(new ForestcyclingAbility(new ManaCostsImpl("{2}")));
this.addAbility(new ForestcyclingAbility(new ManaCostsImpl<>("{2}")));
}
private ValleyRannet(final ValleyRannet card) {

View file

@ -28,7 +28,7 @@ public final class VampireAristocrat extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl(""));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>(""));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(new FilterControlledCreaturePermanent("creature"))));
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ public final class VampireBats extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {B}: Vampire Bats gets +1/+0 until end of turn. Activate this ability no more than twice each turn.
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0,Duration.EndOfTurn), new ManaCostsImpl("{B}"), 2));
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0,Duration.EndOfTurn), new ManaCostsImpl<>("{B}"), 2));
}

View file

@ -27,7 +27,7 @@ public final class VampireOpportunist extends CardImpl {
// {6}{B}: Each opponent loses 2 life and you gain 2 life.
Ability ability = new SimpleActivatedAbility(
new LoseLifeOpponentsEffect(2), new ManaCostsImpl("{6}{B}")
new LoseLifeOpponentsEffect(2), new ManaCostsImpl<>("{6}{B}")
);
ability.addEffect(new GainLifeEffect(2).concatBy("and"));
this.addAbility(ability);

View file

@ -39,7 +39,7 @@ public final class VampiricDragon extends CardImpl {
this.addAbility(new DealtDamageAndDiedTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false));
// {1}{R}: Vampiric Dragon deals 1 damage to target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{1}{R}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}

View file

@ -32,7 +32,7 @@ public final class Vandalblast extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect());
// Overload {4}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
this.addAbility(new OverloadAbility(this, new DestroyAllEffect(FILTER), new ManaCostsImpl("{4}{R}")));
this.addAbility(new OverloadAbility(this, new DestroyAllEffect(FILTER), new ManaCostsImpl<>("{4}{R}")));
}

View file

@ -35,7 +35,7 @@ public final class Vanishing extends CardImpl {
this.addAbility(ability);
// {U}{U}: Enchanted creature phases out.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhaseOutAttachedEffect(), new ManaCostsImpl("{U}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhaseOutAttachedEffect(), new ManaCostsImpl<>("{U}{U}")));
}
private Vanishing(final Vanishing card) {

View file

@ -25,7 +25,7 @@ public final class Vanishment extends CardImpl {
this.getSpellAbility().addTarget(new TargetNonlandPermanent());
// Miracle {U}
this.addAbility(new MiracleAbility(this, new ManaCostsImpl("{U}")));
this.addAbility(new MiracleAbility(this, new ManaCostsImpl<>("{U}")));
}
private Vanishment(final Vanishment card) {

View file

@ -69,7 +69,7 @@ class VaporousDjinnEffect extends OneShotEffect {
Permanent permanent = game.getPermanent(source.getSourceId());
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
Cost cost = new ManaCostsImpl("{U}{U}");
Cost cost = new ManaCostsImpl<>("{U}{U}");
String message = "Pay {U}{U} to prevent this permanent from phasing out?";
if (!(controller.chooseUse(Outcome.Benefit, message, source, game)
&& cost.pay(source, game, source, controller.getId(), false, null))) {

View file

@ -71,7 +71,7 @@ class VarolzTheScarStripedEffect extends ContinuousEffectImpl {
for (UUID cardId : controller.getGraveyard()) {
Card card = game.getCard(cardId);
if (card != null && card.isCreature(game)) {
ScavengeAbility ability = new ScavengeAbility(new ManaCostsImpl(card.getManaCost().getText()));
ScavengeAbility ability = new ScavengeAbility(new ManaCostsImpl<>(card.getManaCost().getText()));
ability.setSourceId(cardId);
ability.setControllerId(card.getOwnerId());
game.getState().addOtherAbility(card, ability);

View file

@ -28,7 +28,7 @@ public final class VectisSilencers extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(2);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{2}{B}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")));
}
public VectisSilencers (final VectisSilencers card) {

View file

@ -27,7 +27,7 @@ public final class VectorAsp extends CardImpl {
this.subtype.add(SubType.SNAKE);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(InfectAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{B}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(InfectAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
}
public VectorAsp (final VectorAsp card) {

View file

@ -46,7 +46,7 @@ public final class VedalkenAethermage extends CardImpl {
this.addAbility(ability);
// Wizardcycling {3}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}"), filter2, "Wizardcycling"));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}"), filter2, "Wizardcycling"));
}
private VedalkenAethermage(final VedalkenAethermage card) {

View file

@ -32,7 +32,7 @@ public final class VedalkenAnatomist extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(2);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl("{2}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl<>("{2}{U}"));
ability.addEffect(new MayTapOrUntapTargetEffect());
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());

View file

@ -60,7 +60,7 @@ class VeilApparitionToken extends TokenImpl {
subtype.add(SubType.ILLUSION);
power = new MageInt(3);
toughness = new MageInt(3);
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DoUnlessControllerPaysEffect(new SacrificeSourceEffect(), new ManaCostsImpl("{1}{U}")), TargetController.YOU, false);
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DoUnlessControllerPaysEffect(new SacrificeSourceEffect(), new ManaCostsImpl<>("{1}{U}")), TargetController.YOU, false);
this.addAbility(ability);
}

View file

@ -38,7 +38,7 @@ public final class VeiledSerpent extends CardImpl {
"Whenever an opponent casts a spell, if Veiled Serpent is an enchantment, Veiled Serpent becomes a 4/4 Serpent creature that can't attack unless defending player controls an Island."));
// Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}

View file

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

View file

@ -32,7 +32,7 @@ public final class VeilingOddity extends CardImpl {
this.toughness = new MageInt(3);
// Suspend 4-{1}{U}
this.addAbility(new SuspendAbility(4, new ManaCostsImpl("{1}{U}"), this));
this.addAbility(new SuspendAbility(4, new ManaCostsImpl<>("{1}{U}"), this));
// When the last time counter is removed from Veiling Oddity while it's exiled, creatures are unblockable this turn.
this.addAbility(new VeilingOddityTriggeredAbility());

View file

@ -35,7 +35,7 @@ public final class VeinDrinker extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {R}, {tap}: Vein Drinker deals damage equal to its power to target creature. That creature deals damage equal to its power to Vein Drinker.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEachOtherEffect(), new ManaCostsImpl("{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEachOtherEffect(), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class VeldraneOfSengir extends CardImpl {
this.toughness = new MageInt(5);
// {1}{B}{B}: Veldrane of Sengir gets -3/-0 and gains forestwalk until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-3, -0, Duration.EndOfTurn).setText("{this} gets -3/-0"), new ManaCostsImpl("{1}{B}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-3, -0, Duration.EndOfTurn).setText("{this} gets -3/-0"), new ManaCostsImpl<>("{1}{B}{B}"));
ability.addEffect(new GainAbilitySourceEffect(new ForestwalkAbility(false), Duration.EndOfTurn).setText("and gains forestwalk until end of turn"));
this.addAbility(ability);
}

View file

@ -37,7 +37,7 @@ public final class VengefulArchon extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {X}: Prevent the next X damage that would be dealt to you this turn. If damage is prevented this way, Vengeful Archon deals that much damage to target player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new VengefulArchonEffect(), new ManaCostsImpl("{X}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new VengefulArchonEffect(), new ManaCostsImpl<>("{X}"));
ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability);
}

View file

@ -42,7 +42,7 @@ public final class VengefulFirebrand extends CardImpl {
"{this} has haste as long as a Warrior card is in your graveyard")));
// {R}: Vengeful Firebrand gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
private VengefulFirebrand(final VengefulFirebrand card) {

View file

@ -40,12 +40,12 @@ public final class VenomspoutBrackus extends CardImpl {
this.toughness = new MageInt(5);
// {1}{G}, {tap}: Venomspout Brackus deals 5 damage to target attacking or blocking creature with flying.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(5), new ManaCostsImpl("{1}{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(5), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
// Morph {3}{G}{G}
this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{G}{G}")));
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{G}{G}")));
}

View file

@ -38,7 +38,7 @@ public final class VentSentinel extends CardImpl {
this.toughness = new MageInt(4);
this.addAbility(DefenderAbility.getInstance());
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)), new ManaCostsImpl("{1}{R}"));
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability);

View file

@ -37,7 +37,7 @@ public final class VentifactBottle extends CardImpl {
// {X}{1}, {tap}: Put X charge counters on Ventifact Bottle. Activate this ability only any time you could cast a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD,
new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), ManacostVariableValue.REGULAR, true),
new ManaCostsImpl("{1}{X}"));
new ManaCostsImpl<>("{1}{X}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
// At the beginning of your precombat main phase, if Ventifact Bottle has a charge counter on it, tap it and remove all charge counters from it. Add {C} for each charge counter removed this way.

View file

@ -27,7 +27,7 @@ public final class VerdantAutomaton extends CardImpl {
this.toughness = new MageInt(2);
// {3}{G}: Put a +1/+1 counter on Verdant Automaton.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl("{3}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl<>("{3}{G}")));
}
private VerdantAutomaton(final VerdantAutomaton card) {

View file

@ -30,7 +30,7 @@ public final class VerdantEidolon extends CardImpl {
this.toughness = new MageInt(2);
// {G}, Sacrifice Verdant Eidolon: Add three mana of any one color.
Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(3), new ManaCostsImpl("{G}"));
Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(3), new ManaCostsImpl<>("{G}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
// Whenever you cast a multicolored spell, you may return Verdant Eidolon from your graveyard to your hand.

View file

@ -26,7 +26,7 @@ public final class VesselOfEphemera extends CardImpl {
// {2}{W}, Sacrifice Vessel of Ephemera: Create two 1/1 white Spirit creature tokens with flying.
Effect effect = new CreateTokenEffect(new SpiritWhiteToken(), 2);
effect.setText("Create two 1/1 white Spirit creature tokens with flying");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{W}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}

View file

@ -27,7 +27,7 @@ public final class VesselOfMalignity extends CardImpl {
Zone.BATTLEFIELD,
new ExileFromZoneTargetEffect(
Zone.HAND, StaticFilters.FILTER_CARD_CARDS, 2, false
), new ManaCostsImpl("{1}{B}")
), new ManaCostsImpl<>("{1}{B}")
);
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetOpponent());

View file

@ -37,7 +37,7 @@ public final class VesselOfNascency extends CardImpl {
// planeswalker card from among them into your hand. Put the rest into your graveyard.
Ability ability = new SimpleActivatedAbility(
new RevealLibraryPickControllerEffect(4, 1, filter, PutCards.HAND, PutCards.GRAVEYARD),
new ManaCostsImpl("{1}{G}"));
new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}

View file

@ -24,7 +24,7 @@ public final class VesselOfParamnesia extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}");
// {U}, Sacrifice Vessel of Paramnesia: Target player puts the top three cards of their library into their graveyard. Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsTargetEffect(3), new ManaCostsImpl("{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsTargetEffect(3), new ManaCostsImpl<>("{U}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPlayer());
ability.addEffect(new DrawCardSourceControllerEffect(1));

View file

@ -22,7 +22,7 @@ public final class VesselOfVolatility extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}");
// {1}{R}, Sacrifice Vessel of Volatility: Add {R}{R}{R}{R}.
Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(4), new ManaCostsImpl("{1}{R}"));
Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(4), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}

View file

@ -58,7 +58,7 @@ public final class VesuvanShapeshifter extends CardImpl {
this.addAbility(ability);
// Morph {1}{U}
this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{U}")));
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{U}")));
}
private VesuvanShapeshifter(final VesuvanShapeshifter card) {

View file

@ -38,7 +38,7 @@ public final class VexingShusher extends CardImpl {
// Vexing Shusher can't be countered.
this.addAbility(new CantBeCounteredSourceAbility());
// {R/G}: Target spell can't be countered.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new VexingShusherCantCounterTargetEffect(), new ManaCostsImpl("{R/G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new VexingShusherCantCounterTargetEffect(), new ManaCostsImpl<>("{R/G}"));
ability.addTarget(new TargetSpell());
this.addAbility(ability);
}

View file

@ -23,7 +23,7 @@ public final class VialOfDragonfire extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {2}, {T}, Sacrifice Vial of Dragonfire: Vial of Dragonfire deals 2 damage to target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2, "it"), new ManaCostsImpl("{2}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2, "it"), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent());

View file

@ -25,7 +25,7 @@ public final class VialOfPoison extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {1}, Sacrifice Vial of Poison: Target creature gains deathtouch until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class ViashinoHeretic extends CardImpl {
this.toughness = new MageInt(3);
// {1}{R}, {tap}: Destroy target artifact. Viashino Heretic deals damage to that artifact's controller equal to the artifact's converted mana cost.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ViashinoHereticEffect(), new ManaCostsImpl("{1}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ViashinoHereticEffect(), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability);

View file

@ -40,7 +40,7 @@ public final class ViashinoSandsprinter extends CardImpl {
));
// Cycling {R}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{R}")));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{R}")));
}

View file

@ -32,7 +32,7 @@ public final class ViashinoSandswimmer extends CardImpl {
this.toughness = new MageInt(2);
// {R}: Flip a coin. If you win the flip, return Viashino Sandswimmer to its owner's hand. If you lose the flip, sacrifice Viashino Sandswimmer.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ViashinoSandswimmerEffect(), new ManaCostsImpl("{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ViashinoSandswimmerEffect(), new ManaCostsImpl<>("{R}")));
}
private ViashinoSandswimmer(final ViashinoSandswimmer card) {

View file

@ -29,7 +29,7 @@ public final class ViashinoSkeleton extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new DiscardTargetCost(new TargetCardInHand()));
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ public final class ViashinoSlaughtermaster extends CardImpl {
this.addAbility(DoubleStrikeAbility.getInstance());
// {B}{G}: Viashino Slaughtermaster gets +1/+1 until end of turn. Activate this ability only once each turn.
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{B}{G}")));
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}{G}")));
}
private ViashinoSlaughtermaster(final ViashinoSlaughtermaster card) {

View file

@ -34,7 +34,7 @@ public final class VigeanGraftmage extends CardImpl {
this.addAbility(new GraftAbility(this, 2));
// {1}{U}: Untap target creature with a +1/+1 counter on it.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl("{1}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_P1P1));
this.addAbility(ability);
}

View file

@ -90,7 +90,7 @@ class VigilForTheLostEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
ManaCostsImpl cost = new ManaCostsImpl("{X}");
ManaCostsImpl cost = new ManaCostsImpl<>("{X}");
cost.clearPaid();
if (cost.payOrRollback(source, game, source, source.getControllerId())) {
Player player = game.getPlayer(source.getControllerId());

View file

@ -30,7 +30,7 @@ public final class VigilantDrake extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {2}{U}: Untap Vigilant Drake.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{2}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{2}{U}")));
}
private VigilantDrake(final VigilantDrake card) {

View file

@ -46,7 +46,7 @@ public final class VigilantMartyr extends CardImpl {
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {W}{W}, {tap}, Sacrifice Vigilant Martyr: Counter target spell that targets an enchantment.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{W}{W}"));
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{W}{W}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetSpell(filter));

View file

@ -35,11 +35,11 @@ public final class VildinPackOutcast extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// {R}: Vildin-Pack Outcast gets +1/-1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
// {5}{R}{R}: Transform Vildin-Pack Outcast.
this.addAbility(new TransformAbility());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TransformSourceEffect(), new ManaCostsImpl("{5}{R}{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TransformSourceEffect(), new ManaCostsImpl<>("{5}{R}{R}")));
}
private VildinPackOutcast(final VildinPackOutcast card) {

View file

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

View file

@ -45,7 +45,7 @@ public final class VileRedeemer extends CardImpl {
this.addAbility(FlashAbility.getInstance());
// When you cast Vile Redeemer, you may pay {C}. If you do create a 1/1 colorless Eldrazi Scion creature token for each nontoken creature that died under your control this turn. They have "Sacrifice this creature: Add {C}."
this.addAbility(
new CastSourceTriggeredAbility(new DoIfCostPaid(new VileRedeemerEffect(), new ManaCostsImpl("{C}"), "Pay {C} to create 1/1 colorless Eldrazi Scion creature tokens?"), false),
new CastSourceTriggeredAbility(new DoIfCostPaid(new VileRedeemerEffect(), new ManaCostsImpl<>("{C}"), "Pay {C} to create 1/1 colorless Eldrazi Scion creature tokens?"), false),
new VileRedeemerNonTokenCreaturesDiedWatcher());
}

View file

@ -45,7 +45,7 @@ public final class VileRequiem extends CardImpl {
// {1}{B}, Sacrifice Vile Requiem: Destroy up to X target nonblack creatures, where X is the number of verse counters on Vile Requiem. They can't be regenerated.
Effect effect = new DestroyTargetEffect(true);
effect.setText("Destroy up to X target nonblack creatures, where X is the number of verse counters on {this}. They can't be regenerated");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(0, 0, filter, false));
ability.setTargetAdjuster(VerseCounterAdjuster.instance);

View file

@ -39,7 +39,7 @@ public final class VilisBrokerOfBlood extends CardImpl {
// {B}, Pay 2 life: Target creature gets -1/-1 until end of turn.
Ability ability = new SimpleActivatedAbility(
new BoostTargetEffect(-1, -1), new ManaCostsImpl("{B}")
new BoostTargetEffect(-1, -1), new ManaCostsImpl<>("{B}")
);
ability.addCost(new PayLifeCost(2));
ability.addTarget(new TargetCreaturePermanent());

View file

@ -37,7 +37,7 @@ public final class VillageElder extends CardImpl {
this.toughness = new MageInt(1);
// {G}, {tap}, Sacrifice a Forest: Regenerate target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetCreaturePermanent());

View file

@ -42,7 +42,7 @@ public final class Vineweft extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1,1,Duration.WhileOnBattlefield)));
// {4}{G}: Return Vineweft from your graveyard to your hand.
this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl("{4}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{4}{G}")));
}
private Vineweft(final Vineweft card) {

View file

@ -32,7 +32,7 @@ public final class VintaraElephant extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// {3}: Vintara Elephant loses trample until end of turn. Any player may activate this ability.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilitySourceEffect(
TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{3}"));
TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{3}"));
ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability"));
this.addAbility(ability);

View file

@ -23,7 +23,7 @@ public final class ViolentEruption extends CardImpl {
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(4));
// Madness {1}{R}{R}
this.addAbility(new MadnessAbility(new ManaCostsImpl("{1}{R}{R}")));
this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{1}{R}{R}")));
}
private ViolentEruption(final ViolentEruption card) {

View file

@ -33,7 +33,7 @@ public final class ViolentImpact extends CardImpl {
getSpellAbility().addTarget(new TargetPermanent(filter));
// Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}

View file

@ -34,7 +34,7 @@ public final class ViralDrake extends CardImpl {
this.addAbility(InfectAbility.getInstance());
// {3}{U}: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect(), new ManaCostsImpl("{3}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect(), new ManaCostsImpl<>("{3}{U}")));
}
private ViralDrake(final ViralDrake card) {

View file

@ -43,7 +43,7 @@ public final class ViridianLorebearers extends CardImpl {
// {3}{G}, {tap}: Target creature gets +X/+X until end of turn, where X is the number of artifacts your opponents control.
Effect effect = new BoostTargetEffect(new PermanentsOnBattlefieldCount(filter), new PermanentsOnBattlefieldCount(filter), Duration.EndOfTurn, true);
effect.setText("Target creature gets +X/+X until end of turn, where X is the number of artifacts your opponents control");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{3}{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{3}{G}"));
ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new TapSourceCost());
this.addAbility(ability);

View file

@ -38,7 +38,7 @@ public final class ViridianScout extends CardImpl {
this.toughness = new MageInt(2);
// {2}{G}, Sacrifice Viridian Scout: Viridian Scout deals 2 damage to target creature with flying.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class ViridianZealot extends CardImpl {
this.toughness = new MageInt(1);
// {1}{G}, Sacrifice Viridian Zealot: Destroy target artifact or enchantment.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{1}{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
this.addAbility(ability);

View file

@ -26,8 +26,8 @@ public final class VisceraDragger extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
this.addAbility(new UnearthAbility(new ManaCostsImpl("{1}{B}")));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{1}{B}")));
}
private VisceraDragger(final VisceraDragger card) {

View file

@ -39,7 +39,7 @@ public final class VisceridArmor extends CardImpl {
// Enchanted creature gets +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield)));
// {1}{U}: Return Viscerid Armor to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{1}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{1}{U}")));
}
private VisceridArmor(final VisceridArmor card) {

View file

@ -28,9 +28,9 @@ public final class VisceridDeepwalker extends CardImpl {
this.toughness = new MageInt(3);
// {U}: Viscerid Deepwalker gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
// Suspend 4-{U}
this.addAbility(new SuspendAbility(4, new ManaCostsImpl("{U}"), this));
this.addAbility(new SuspendAbility(4, new ManaCostsImpl<>("{U}"), this));
}
private VisceridDeepwalker(final VisceridDeepwalker card) {

View file

@ -45,7 +45,7 @@ public final class VitalSplicer extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new PhyrexianGolemToken())));
// {1}: Regenerate target Golem you control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{1}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ public final class VithianStinger extends CardImpl {
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// Unearth {1}{R}
this.addAbility(new UnearthAbility(new ManaCostsImpl("{1}{R}")));
this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{1}{R}")));
}
private VithianStinger(final VithianStinger card) {

View file

@ -39,7 +39,7 @@ public final class VitoThornOfTheDuskRose extends CardImpl {
// {3}{B}{B}: Creatures you control gain lifelink until end of turn.
this.addAbility(new SimpleActivatedAbility(new GainAbilityControlledEffect(
LifelinkAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES
), new ManaCostsImpl("{3}{B}{B}")));
), new ManaCostsImpl<>("{3}{B}{B}")));
}
private VitoThornOfTheDuskRose(final VitoThornOfTheDuskRose card) {

View file

@ -30,10 +30,10 @@ public final class VituGhaziGuildmage extends CardImpl {
this.toughness = new MageInt(2);
// {4}{G}{W}: Create a 3/3 green Centaur creature token.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new mage.game.permanent.token.CentaurToken()), new ManaCostsImpl("{4}{G}{W}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new mage.game.permanent.token.CentaurToken()), new ManaCostsImpl<>("{4}{G}{W}")));
// {2}{G}{W}: Populate. (Create a token that's a copy of a creature token you control.)
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PopulateEffect(), new ManaCostsImpl("{2}{G}{W}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PopulateEffect(), new ManaCostsImpl<>("{2}{G}{W}")));
}
private VituGhaziGuildmage(final VituGhaziGuildmage card) {

View file

@ -26,7 +26,7 @@ public final class VituGhaziTheCityTree extends CardImpl {
// {tap}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {2}{G}{W}, {tap}: Create a 1/1 green Saproling creature token.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new ManaCostsImpl("{2}{G}{W}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new ManaCostsImpl<>("{2}{G}{W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ public final class ViviensArkbow extends CardImpl {
// {X}, {T}, Discard a card: Look at the top X cards of your library. You may put a creature card with converted mana cost X or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.
Ability ability = new SimpleActivatedAbility(
new ViviensArkbowEffect(), new ManaCostsImpl("{X}")
new ViviensArkbowEffect(), new ManaCostsImpl<>("{X}")
);
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());

View file

@ -30,7 +30,7 @@ public final class ViviensGrizzly extends CardImpl {
// {3}{G}: Look at the top card of your library. If it's a creature or planeswalker card, you may reveal it and put it into your hand. If you don't put the card into your hand, put it on the bottom of your library.
this.addAbility(new SimpleActivatedAbility(
new ViviensGrizzlyEffect(), new ManaCostsImpl("{3}{G}")
new ViviensGrizzlyEffect(), new ManaCostsImpl<>("{3}{G}")
));
}

View file

@ -41,7 +41,7 @@ public final class ViviensJaguar extends CardImpl {
this.addAbility(new ConditionalActivatedAbility(
Zone.GRAVEYARD,
new ReturnSourceFromGraveyardToHandEffect(),
new ManaCostsImpl("{2}{G}"),
new ManaCostsImpl<>("{2}{G}"),
new PermanentsOnTheBattlefieldCondition(filter),
"{2}{G}: Return {this} from your graveyard to your hand. "
+ "Activate only if you control a Vivien planeswalker."

View file

@ -46,7 +46,7 @@ public final class VizierOfManyFaces extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(effect, true), new EmbalmedThisTurnWatcher());
// Embalm {3}{U}{U}
this.addAbility(new EmbalmAbility(new ManaCostsImpl("{3}{U}{U}"), this));
this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{3}{U}{U}"), this));
}
private VizierOfManyFaces(final VizierOfManyFaces card) {

View file

@ -48,7 +48,7 @@ public final class VizierOfTumblingSands extends CardImpl {
this.addAbility(ability);
// Cycling {1}{U}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{1}{U}")));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{1}{U}")));
// When you cycle Vizier of Tumbling Sands, untap target permanent.
ability = new CycleTriggeredAbility(new UntapTargetEffect());

View file

@ -45,12 +45,12 @@ public final class VizkopaGuildmage extends CardImpl {
this.toughness = new MageInt(2);
// 1{W}{B}: Target creature gains lifelink until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}{B}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// 1{W}{B}: Whenever you gain life this turn, each opponent loses that much life.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateDelayedTriggeredAbilityEffect(new VizkopaGuildmageDelayedTriggeredAbility()), new ManaCostsImpl("{1}{W}{B}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateDelayedTriggeredAbilityEffect(new VizkopaGuildmageDelayedTriggeredAbility()), new ManaCostsImpl<>("{1}{W}{B}")));
}

View file

@ -30,7 +30,7 @@ public final class VodalianHypnotist extends CardImpl {
// {2}{B}, {T}: Target player discards a card. Activate this ability only any time you could cast a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1),
new ManaCostsImpl("{2}{B}"));
new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer());
this.addAbility(ability);

View file

@ -29,7 +29,7 @@ public final class VodalianIllusionist extends CardImpl {
this.toughness = new MageInt(2);
// {U}{U}, {tap}: Target creature phases out.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhaseOutTargetEffect(), new ManaCostsImpl("{U}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhaseOutTargetEffect(), new ManaCostsImpl<>("{U}{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);

View file

@ -42,7 +42,7 @@ public final class VodalianKnights extends CardImpl {
new SacrificeSourceEffect()));
// {U}: Vodalian Knights gains flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
}
private VodalianKnights(final VodalianKnights card) {

View file

@ -29,8 +29,8 @@ public final class VodalianMage extends CardImpl {
this.toughness = new MageInt(1);
// {U}, {tap}: Counter target spell unless its controller pays {1}.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl("{1}")),
new ManaCostsImpl("{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl<>("{1}")),
new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetSpell());
this.addAbility(ability);

View file

@ -36,7 +36,7 @@ public final class VoidAttendant extends CardImpl {
// {1}{G}, Put a card an opponent owns from exile into that player's graveyard: Create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
Effect effect = new CreateTokenEffect(new EldraziScionToken());
effect.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new ExileOpponentsCardFromExileToGraveyardCost(true));
this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class VoidBeckoner extends CardImpl {
this.addAbility(DeathtouchAbility.getInstance());
// Cycling {2}{B}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{B}")));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}{B}")));
// When you cycle Void Beckoner, put a deathtouch counter on target creature you control.
Ability ability = new CycleTriggeredAbility(

View file

@ -34,7 +34,7 @@ public final class VoidStalker extends CardImpl {
this.toughness = new MageInt(1);
// {2}{U}, {tap}: Put Void Stalker and target creature on top of their owners' libraries, then those players shuffle their libraries.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new VoidStalkerEffect(), new ManaCostsImpl("{2}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new VoidStalkerEffect(), new ManaCostsImpl<>("{2}{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class VoidmageApprentice extends CardImpl {
this.toughness = new MageInt(1);
// Morph {2}{U}{U}
this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{U}{U}")));
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{U}{U}")));
// When Voidmage Apprentice is turned face up, counter target spell.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new CounterTargetEffect(), false);

View file

@ -40,14 +40,14 @@ public final class VoidmageProdigy extends CardImpl {
this.toughness = new MageInt(1);
// {U}{U}, Sacrifice a Wizard: Counter target spell.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{U}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{U}{U}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, false)));
Target target = new TargetSpell();
ability.addTarget(target);
this.addAbility(ability);
// Morph {U}
this.addAbility(new MorphAbility(new ManaCostsImpl("{U}")));
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{U}")));
}
private VoidmageProdigy(final VoidmageProdigy card) {

View file

@ -27,7 +27,7 @@ public final class VolcanicRambler extends CardImpl {
this.toughness = new MageInt(4);
// {2}{R}: Volcanic Rambler 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());
this.addAbility(ability);
}

View file

@ -32,7 +32,7 @@ public final class VolcanicSpray extends CardImpl {
// Volcanic Spray deals 1 damage to each creature without flying and each player.
this.getSpellAbility().addEffect(new DamageEverythingEffect(1, filter));
// Flashback {1}{R}
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{1}{R}")));
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{1}{R}")));
}
private VolcanicSpray(final VolcanicSpray card) {

View file

@ -34,7 +34,7 @@ public final class VolcanicSubmersion extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent(filter));
// Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private VolcanicSubmersion(final VolcanicSubmersion card) {

View file

@ -31,7 +31,7 @@ public final class VolcanoImp extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {1}{R}: Volcano Imp gains first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
}

View file

@ -49,7 +49,7 @@ public final class VoldarenPariah extends CardImpl {
new SacrificeTargetCost(new TargetControlledPermanent(3, 3, filter, false))));
// Madness {B}{B}{B}
this.addAbility(new MadnessAbility(new ManaCostsImpl("{B}{B}{B}")));
this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{B}{B}{B}")));
}
private VoldarenPariah(final VoldarenPariah card) {

View file

@ -23,7 +23,7 @@ public final class VolleyOfBoulders extends CardImpl {
this.getSpellAbility().addEffect(new DamageMultiEffect(6));
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(6));
// Flashback {R}{R}{R}{R}{R}{R}
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{R}{R}{R}{R}{R}{R}")));
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{R}{R}{R}{R}{R}{R}")));
}
private VolleyOfBoulders(final VolleyOfBoulders card) {

View file

@ -40,7 +40,7 @@ public final class VolrathTheFallen extends CardImpl {
Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
effect,
new ManaCostsImpl("{1}{B}"));
new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new DiscardCardCost(StaticFilters.FILTER_CARD_CREATURE));
this.addAbility(ability);
}

View file

@ -52,7 +52,7 @@ public final class VolrathsCurse extends CardImpl {
this.addAbility(new VolrathsCurseSpecialAction());
// {1}{U}: Return Volrath's Curse to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{1}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{1}{U}")));
}

View file

@ -32,7 +32,7 @@ public final class VolrathsShapeshifter extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VolrathsShapeshifterEffect()));
// {2}: Discard a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardControllerEffect(1), new ManaCostsImpl("{2}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardControllerEffect(1), new ManaCostsImpl<>("{2}")));
}
private VolrathsShapeshifter(final VolrathsShapeshifter card) {

View file

@ -36,7 +36,7 @@ public final class VolrathsStronghold extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {1}{B}, {tap}: Put target creature card from your graveyard on top of your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl("{1}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability);

View file

@ -30,7 +30,7 @@ public final class VolunteerReserves extends CardImpl {
this.addAbility(BandingAbility.getInstance());
// Cumulative upkeep-Pay {1}.
this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
}
public VolunteerReserves (final VolunteerReserves card) {

View file

@ -52,7 +52,7 @@ public final class VoodooDoll extends CardImpl {
// {X}{X}, {T}: Voodoo Doll deals damage equal to the number of pin counters on it to any target. X is the number of pin counters on Voodoo Doll.
ability = new SimpleActivatedAbility(
new DamageTargetEffect(new CountersSourceCount(CounterType.PIN)), new ManaCostsImpl("{X}{X}")
new DamageTargetEffect(new CountersSourceCount(CounterType.PIN)), new ManaCostsImpl<>("{X}{X}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAnyTarget());

View file

@ -30,7 +30,7 @@ public final class VoraciousNull extends CardImpl {
this.toughness = new MageInt(2);
// {1}{B}, Sacrifice another creature: Put two +1/+1 counters on Voracious Null. Activate this ability only any time you could cast a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new ManaCostsImpl("{1}{B}"));
Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1, 1, StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE, false)));
this.addAbility(ability);
}

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