diff --git a/Mage.Sets/src/mage/cards/a/AAT1.java b/Mage.Sets/src/mage/cards/a/AAT1.java
index 033e03d2d9..4e4bac71b5 100644
--- a/Mage.Sets/src/mage/cards/a/AAT1.java
+++ b/Mage.Sets/src/mage/cards/a/AAT1.java
@@ -34,7 +34,7 @@ public final class AAT1 extends CardImpl {
this.toughness = new MageInt(4);
// Whenever a repair counter is removed from a creature card your graveyard, you may pay {W/B}. If you do, target player loses 1 life and you gain 1 life.
- DoIfCostPaid effect = new DoIfCostPaid(new LoseLifeTargetEffect(1), new ManaCostsImpl("{W/B}"));
+ DoIfCostPaid effect = new DoIfCostPaid(new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{W/B}"));
Effect additionalEffect = new GainLifeEffect(1);
additionalEffect.setText("and you gain 1 life");
effect.addEffect(additionalEffect);
diff --git a/Mage.Sets/src/mage/cards/a/AbbeyMatron.java b/Mage.Sets/src/mage/cards/a/AbbeyMatron.java
index 902277b100..fec8b629e6 100644
--- a/Mage.Sets/src/mage/cards/a/AbbeyMatron.java
+++ b/Mage.Sets/src/mage/cards/a/AbbeyMatron.java
@@ -29,7 +29,7 @@ public final class AbbeyMatron extends CardImpl {
this.toughness = new MageInt(3);
// {W}, {tap}: Abbey Matron gets +0/+3 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0,3,Duration.EndOfTurn), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0,3,Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AbominationOfGudul.java b/Mage.Sets/src/mage/cards/a/AbominationOfGudul.java
index acab700c50..6dd61ca85e 100644
--- a/Mage.Sets/src/mage/cards/a/AbominationOfGudul.java
+++ b/Mage.Sets/src/mage/cards/a/AbominationOfGudul.java
@@ -35,7 +35,7 @@ public final class AbominationOfGudul extends CardImpl {
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(effect, true));
// Morph 2BGU
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{B}{G}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{B}{G}{U}")));
}
private AbominationOfGudul(final AbominationOfGudul card) {
diff --git a/Mage.Sets/src/mage/cards/a/AboshanCephalidEmperor.java b/Mage.Sets/src/mage/cards/a/AboshanCephalidEmperor.java
index 50e0ba0d91..cca4ba2649 100644
--- a/Mage.Sets/src/mage/cards/a/AboshanCephalidEmperor.java
+++ b/Mage.Sets/src/mage/cards/a/AboshanCephalidEmperor.java
@@ -50,7 +50,7 @@ public final class AboshanCephalidEmperor extends CardImpl {
this.addAbility(ability);
// {U}{U}{U}: Tap all creatures without flying.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapAllEffect(filter2), new ManaCostsImpl("{U}{U}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapAllEffect(filter2), new ManaCostsImpl<>("{U}{U}{U}")));
}
private AboshanCephalidEmperor(final AboshanCephalidEmperor card) {
diff --git a/Mage.Sets/src/mage/cards/a/AbsorbVis.java b/Mage.Sets/src/mage/cards/a/AbsorbVis.java
index db5e919c4b..7303d84c68 100644
--- a/Mage.Sets/src/mage/cards/a/AbsorbVis.java
+++ b/Mage.Sets/src/mage/cards/a/AbsorbVis.java
@@ -23,7 +23,7 @@ public final class AbsorbVis extends CardImpl {
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(4));
this.getSpellAbility().addEffect(new GainLifeEffect(4).setText("and you gain 4 life"));
this.getSpellAbility().addTarget(new TargetPlayer());
- this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl<>("{1}{B}")));
}
private AbsorbVis(final AbsorbVis card) {
diff --git a/Mage.Sets/src/mage/cards/a/AbyssalHunter.java b/Mage.Sets/src/mage/cards/a/AbyssalHunter.java
index 150f20638e..911379c441 100644
--- a/Mage.Sets/src/mage/cards/a/AbyssalHunter.java
+++ b/Mage.Sets/src/mage/cards/a/AbyssalHunter.java
@@ -33,7 +33,7 @@ public final class AbyssalHunter extends CardImpl {
this.toughness = new MageInt(1);
// {B}, {tap}: Tap target creature. Abyssal Hunter deals damage equal to Abyssal Hunter's power to that creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{B}"));
Effect effect = new DamageTargetEffect(new SourcePermanentPowerCount());
effect.setText("{this} deals damage equal to {this}'s power to that creature.");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/a/AbzanGuide.java b/Mage.Sets/src/mage/cards/a/AbzanGuide.java
index 4f64e3f24f..7ea85c0b36 100644
--- a/Mage.Sets/src/mage/cards/a/AbzanGuide.java
+++ b/Mage.Sets/src/mage/cards/a/AbzanGuide.java
@@ -28,7 +28,7 @@ public final class AbzanGuide extends CardImpl {
// Lifelink
this.addAbility(LifelinkAbility.getInstance());
// Morph {2}{W}{B}{G}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{W}{B}{G}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{W}{B}{G}")));
}
private AbzanGuide(final AbzanGuide card) {
diff --git a/Mage.Sets/src/mage/cards/a/AcademyElite.java b/Mage.Sets/src/mage/cards/a/AcademyElite.java
index 2250bb7f7e..be8e24d357 100644
--- a/Mage.Sets/src/mage/cards/a/AcademyElite.java
+++ b/Mage.Sets/src/mage/cards/a/AcademyElite.java
@@ -40,7 +40,7 @@ public final class AcademyElite extends CardImpl {
"with X +1/+1 counters on it, where X is the number of instant and sorcery cards in all graveyards"));
// {2}{U}, Remove a +1/+1 counter from Academy Elite: Draw a card, then discard a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(1, 1, false), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(1, 1, false), new ManaCostsImpl<>("{2}{U}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AcademyRuins.java b/Mage.Sets/src/mage/cards/a/AcademyRuins.java
index 71f1b35cff..5499ecb301 100644
--- a/Mage.Sets/src/mage/cards/a/AcademyRuins.java
+++ b/Mage.Sets/src/mage/cards/a/AcademyRuins.java
@@ -28,7 +28,7 @@ public final class AcademyRuins extends CardImpl {
// {T}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {1}{U}, {T}: Put target artifact card from your graveyard on top of your library.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AcidSpewerDragon.java b/Mage.Sets/src/mage/cards/a/AcidSpewerDragon.java
index e7c3488df2..a1c3acd22a 100644
--- a/Mage.Sets/src/mage/cards/a/AcidSpewerDragon.java
+++ b/Mage.Sets/src/mage/cards/a/AcidSpewerDragon.java
@@ -43,7 +43,7 @@ public final class AcidSpewerDragon extends CardImpl {
this.addAbility(DeathtouchAbility.getInstance());
// Megamorph {5}{B}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{5}{B}{B}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{5}{B}{B}"), true));
// When Acid-Spewer Dragon is turned face up, put a +1/+1 counter on each other Dragon creature you control.
this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), false, false));
diff --git a/Mage.Sets/src/mage/cards/a/AcolyteOfXathrid.java b/Mage.Sets/src/mage/cards/a/AcolyteOfXathrid.java
index 6e35e6790e..a94cb35ea1 100644
--- a/Mage.Sets/src/mage/cards/a/AcolyteOfXathrid.java
+++ b/Mage.Sets/src/mage/cards/a/AcolyteOfXathrid.java
@@ -29,7 +29,7 @@ public final class AcolyteOfXathrid extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(1);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AcornCatapult.java b/Mage.Sets/src/mage/cards/a/AcornCatapult.java
index 3ba04ac70f..79f2ad7b50 100644
--- a/Mage.Sets/src/mage/cards/a/AcornCatapult.java
+++ b/Mage.Sets/src/mage/cards/a/AcornCatapult.java
@@ -28,7 +28,7 @@ public final class AcornCatapult extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// {1}, {T}: Acorn Catapult deals 1 damage to any target. That creature's controller or that player creates a 1/1 green Squirrel creature token.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
ability.addEffect(new AcornCatapultEffect());
ability.addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/a/AcornHarvest.java b/Mage.Sets/src/mage/cards/a/AcornHarvest.java
index ccd4e55a21..d1a81aa82f 100644
--- a/Mage.Sets/src/mage/cards/a/AcornHarvest.java
+++ b/Mage.Sets/src/mage/cards/a/AcornHarvest.java
@@ -26,7 +26,7 @@ public final class AcornHarvest extends CardImpl {
this.getSpellAbility().addEffect(new CreateTokenEffect(new SquirrelToken(), 2));
// Flashback-{1}{G} - Pay 3 life.
- FlashbackAbility ability = new FlashbackAbility(this, new ManaCostsImpl("{1}{G}"));
+ FlashbackAbility ability = new FlashbackAbility(this, new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new PayLifeCost(3));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AdantoTheFirstFort.java b/Mage.Sets/src/mage/cards/a/AdantoTheFirstFort.java
index 7c2c08738c..4dafe4c1f3 100644
--- a/Mage.Sets/src/mage/cards/a/AdantoTheFirstFort.java
+++ b/Mage.Sets/src/mage/cards/a/AdantoTheFirstFort.java
@@ -32,7 +32,7 @@ public final class AdantoTheFirstFort extends CardImpl {
this.addAbility(new WhiteManaAbility());
// 2W, T: Create a 1/1 white Vampire creature token with lifelink.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new IxalanVampireToken()), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new IxalanVampireToken()), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AdarkarSentinel.java b/Mage.Sets/src/mage/cards/a/AdarkarSentinel.java
index 9b8625e476..54b1b38f21 100644
--- a/Mage.Sets/src/mage/cards/a/AdarkarSentinel.java
+++ b/Mage.Sets/src/mage/cards/a/AdarkarSentinel.java
@@ -27,7 +27,7 @@ public final class AdarkarSentinel extends CardImpl {
this.toughness = new MageInt(3);
// {1}: Adarkar Sentinel gets +0/+1 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0,1,Duration.EndOfTurn), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0,1,Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AdarkarWindform.java b/Mage.Sets/src/mage/cards/a/AdarkarWindform.java
index 90e3fb7004..30b8ec7c61 100644
--- a/Mage.Sets/src/mage/cards/a/AdarkarWindform.java
+++ b/Mage.Sets/src/mage/cards/a/AdarkarWindform.java
@@ -30,7 +30,7 @@ public final class AdarkarWindform extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}{S}: Target creature loses flying until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilityTargetEffect(
- FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{S}"));
+ FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{S}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AdmiralsOrder.java b/Mage.Sets/src/mage/cards/a/AdmiralsOrder.java
index 225eea9cbb..de8575c379 100644
--- a/Mage.Sets/src/mage/cards/a/AdmiralsOrder.java
+++ b/Mage.Sets/src/mage/cards/a/AdmiralsOrder.java
@@ -23,7 +23,7 @@ public final class AdmiralsOrder extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{U}");
// Raid - If you attacked with a creature this turn, you may pay {U} rather than pay this spell's mana cost.
- this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl("{U}"), RaidCondition.instance,
+ this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl<>("{U}"), RaidCondition.instance,
"
Raid — If you attacked this turn, you may pay {U} rather than pay this spell's mana cost"),
new PlayerAttackedWatcher());
// Counter target spell.
diff --git a/Mage.Sets/src/mage/cards/a/AdornedPouncer.java b/Mage.Sets/src/mage/cards/a/AdornedPouncer.java
index 7ded9866cd..76f86350c0 100644
--- a/Mage.Sets/src/mage/cards/a/AdornedPouncer.java
+++ b/Mage.Sets/src/mage/cards/a/AdornedPouncer.java
@@ -25,7 +25,7 @@ public final class AdornedPouncer extends CardImpl {
addAbility(DoubleStrikeAbility.getInstance());
// Eternalize 3WW
- addAbility(new EternalizeAbility(new ManaCostsImpl("{3}{W}{W}"), this));
+ addAbility(new EternalizeAbility(new ManaCostsImpl<>("{3}{W}{W}"), this));
}
private AdornedPouncer(final AdornedPouncer card) {
diff --git a/Mage.Sets/src/mage/cards/a/AdunOakenshield.java b/Mage.Sets/src/mage/cards/a/AdunOakenshield.java
index e3ebbb16de..74dc87936a 100644
--- a/Mage.Sets/src/mage/cards/a/AdunOakenshield.java
+++ b/Mage.Sets/src/mage/cards/a/AdunOakenshield.java
@@ -31,7 +31,7 @@ public final class AdunOakenshield extends CardImpl {
this.toughness = new MageInt(2);
//{B}{R}{G}, {T}: Return target creature card from your graveyard to your hand.
- Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{B}{R}{G}"));
+ Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{B}{R}{G}"));
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AdvancedHoverguard.java b/Mage.Sets/src/mage/cards/a/AdvancedHoverguard.java
index 2bdb7d0221..c46cc195cc 100644
--- a/Mage.Sets/src/mage/cards/a/AdvancedHoverguard.java
+++ b/Mage.Sets/src/mage/cards/a/AdvancedHoverguard.java
@@ -31,7 +31,7 @@ public final class AdvancedHoverguard extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {U}: Advanced Hoverguard gains shroud until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
}
private AdvancedHoverguard(final AdvancedHoverguard card) {
diff --git a/Mage.Sets/src/mage/cards/a/AdvancedStitchwing.java b/Mage.Sets/src/mage/cards/a/AdvancedStitchwing.java
index f01b8b13e3..ee89201842 100644
--- a/Mage.Sets/src/mage/cards/a/AdvancedStitchwing.java
+++ b/Mage.Sets/src/mage/cards/a/AdvancedStitchwing.java
@@ -33,7 +33,7 @@ public final class AdvancedStitchwing extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {2}{U}, Discard two cards: Return Advanced Stitchwing from your graveyard to the battlefield tapped.
- Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true), new ManaCostsImpl<>("{2}{U}"));
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, new FilterCard("two cards"))));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AegisAutomaton.java b/Mage.Sets/src/mage/cards/a/AegisAutomaton.java
index 9fc1e09aea..0d555c64eb 100644
--- a/Mage.Sets/src/mage/cards/a/AegisAutomaton.java
+++ b/Mage.Sets/src/mage/cards/a/AegisAutomaton.java
@@ -36,7 +36,7 @@ public final class AegisAutomaton extends CardImpl {
this.toughness = new MageInt(3);
// {4}{W}: Return another target creature you control to its owner's hand.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{4}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{4}{W}"));
ability.addTarget(new TargetControlledCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AegisOfHonor.java b/Mage.Sets/src/mage/cards/a/AegisOfHonor.java
index 614ef36742..e4da128601 100644
--- a/Mage.Sets/src/mage/cards/a/AegisOfHonor.java
+++ b/Mage.Sets/src/mage/cards/a/AegisOfHonor.java
@@ -31,7 +31,7 @@ public final class AegisOfHonor extends CardImpl {
// {1}: The next time an instant or sorcery spell would deal damage to you this
//turn, that spell deals that damage to its controller instead.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AegisOfHonorEffect(), new ManaCostsImpl("{1}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AegisOfHonorEffect(), new ManaCostsImpl<>("{1}")));
}
diff --git a/Mage.Sets/src/mage/cards/a/AegisOfTheMeek.java b/Mage.Sets/src/mage/cards/a/AegisOfTheMeek.java
index ab7c74b038..361603e816 100644
--- a/Mage.Sets/src/mage/cards/a/AegisOfTheMeek.java
+++ b/Mage.Sets/src/mage/cards/a/AegisOfTheMeek.java
@@ -35,7 +35,7 @@ public final class AegisOfTheMeek extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// {1}, {T}: Target 1/1 creature gets +1/+2 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 2, Duration.EndOfTurn), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/Aeolipile.java b/Mage.Sets/src/mage/cards/a/Aeolipile.java
index 6993fdb393..ac83131cfe 100644
--- a/Mage.Sets/src/mage/cards/a/Aeolipile.java
+++ b/Mage.Sets/src/mage/cards/a/Aeolipile.java
@@ -24,7 +24,7 @@ public final class Aeolipile extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
// {1}, {tap}, Sacrifice Aeolipile: Aeolipile deals 2 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/a/AeonChronicler.java b/Mage.Sets/src/mage/cards/a/AeonChronicler.java
index 9c8b032743..37ef8b03d4 100644
--- a/Mage.Sets/src/mage/cards/a/AeonChronicler.java
+++ b/Mage.Sets/src/mage/cards/a/AeonChronicler.java
@@ -39,7 +39,7 @@ public final class AeonChronicler extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(CardsInControllerHandCount.instance, Duration.EndOfGame)));
// Suspend X-{X}{3}{U}. X can't be 0.
- this.addAbility(new SuspendAbility(Integer.MAX_VALUE, new ManaCostsImpl("{3}{U}"), this, true));
+ this.addAbility(new SuspendAbility(Integer.MAX_VALUE, new ManaCostsImpl<>("{3}{U}"), this, true));
// Whenever a time counter is removed from Aeon Chronicler while it's exiled, draw a card.
this.addAbility(new AeonChroniclerTriggeredAbility());
diff --git a/Mage.Sets/src/mage/cards/a/AerialCaravan.java b/Mage.Sets/src/mage/cards/a/AerialCaravan.java
index 9a31d61cce..6829fdc985 100644
--- a/Mage.Sets/src/mage/cards/a/AerialCaravan.java
+++ b/Mage.Sets/src/mage/cards/a/AerialCaravan.java
@@ -32,7 +32,7 @@ public final class AerialCaravan extends CardImpl {
this.addAbility(new SimpleActivatedAbility(
new ExileTopXMayPlayUntilEndOfTurnEffect(1).setText("Exile the top card of your library. " +
"Until end of turn, you may play that card. (Reveal the card as you exile it.)"),
- new ManaCostsImpl("{1}{U}{U}")));
+ new ManaCostsImpl<>("{1}{U}{U}")));
}
private AerialCaravan(final AerialCaravan card) {
diff --git a/Mage.Sets/src/mage/cards/a/AerieBowmasters.java b/Mage.Sets/src/mage/cards/a/AerieBowmasters.java
index e84f91122d..2974c599e0 100644
--- a/Mage.Sets/src/mage/cards/a/AerieBowmasters.java
+++ b/Mage.Sets/src/mage/cards/a/AerieBowmasters.java
@@ -28,7 +28,7 @@ public final class AerieBowmasters extends CardImpl {
this.addAbility(ReachAbility.getInstance());
// Megamorph {5}{G} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up at any time for its megamorph cost and put a +1/+1 counter on it.))
- this.addAbility(new MorphAbility(new ManaCostsImpl("{5}{G}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{5}{G}"), true));
}
diff --git a/Mage.Sets/src/mage/cards/a/AerieMystics.java b/Mage.Sets/src/mage/cards/a/AerieMystics.java
index 0b2909139c..0fa148effe 100644
--- a/Mage.Sets/src/mage/cards/a/AerieMystics.java
+++ b/Mage.Sets/src/mage/cards/a/AerieMystics.java
@@ -31,7 +31,7 @@ public final class AerieMystics extends CardImpl {
this.toughness = new MageInt(3);
this.addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), new ManaCostsImpl("{1}{G}{U}")));
+ new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), new ManaCostsImpl<>("{1}{G}{U}")));
}
private AerieMystics(final AerieMystics card) {
diff --git a/Mage.Sets/src/mage/cards/a/AerieWorshippers.java b/Mage.Sets/src/mage/cards/a/AerieWorshippers.java
index 56882e5b74..963f329eb0 100644
--- a/Mage.Sets/src/mage/cards/a/AerieWorshippers.java
+++ b/Mage.Sets/src/mage/cards/a/AerieWorshippers.java
@@ -28,7 +28,7 @@ public final class AerieWorshippers extends CardImpl {
this.toughness = new MageInt(4);
// Inspired — Whenever Aerie Worshipers becomes untapped, you may pay {2}{U}. If you do, create a 2/2 blue Bird enchantment creature token with flying.
- this.addAbility(new InspiredAbility(new DoIfCostPaid(new CreateTokenEffect(new AerieWorshippersBirdToken()), new ManaCostsImpl("{2}{U}"))));
+ this.addAbility(new InspiredAbility(new DoIfCostPaid(new CreateTokenEffect(new AerieWorshippersBirdToken()), new ManaCostsImpl<>("{2}{U}"))));
}
private AerieWorshippers(final AerieWorshippers card) {
diff --git a/Mage.Sets/src/mage/cards/a/AetherSpellbomb.java b/Mage.Sets/src/mage/cards/a/AetherSpellbomb.java
index cb1bedbec8..6e09a9aa91 100644
--- a/Mage.Sets/src/mage/cards/a/AetherSpellbomb.java
+++ b/Mage.Sets/src/mage/cards/a/AetherSpellbomb.java
@@ -24,7 +24,7 @@ public final class AetherSpellbomb extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
//{U}, Sacrifice Aether Spellbomb: Return target creature to its owner's hand.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{U}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{U}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/Aetherling.java b/Mage.Sets/src/mage/cards/a/Aetherling.java
index ff6d6b5f8a..8dc959992a 100644
--- a/Mage.Sets/src/mage/cards/a/Aetherling.java
+++ b/Mage.Sets/src/mage/cards/a/Aetherling.java
@@ -29,13 +29,13 @@ public final class Aetherling extends CardImpl {
this.toughness = new MageInt(5);
// {U}: Exile Aetherling. Return it to the battlefield under its owner's control at the beginning of the next end step.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(), new ManaCostsImpl<>("{U}")));
// {U}: Aetherling can't be blocked this turn
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
// {1}: Aetherling gets +1/-1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl("{1}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
// {1}: Aetherling gets -1/+1 until end of turn
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-1, 1, Duration.EndOfTurn), new ManaCostsImpl("{1}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
}
private Aetherling(final Aetherling card) {
diff --git a/Mage.Sets/src/mage/cards/a/AgentOfHorizons.java b/Mage.Sets/src/mage/cards/a/AgentOfHorizons.java
index 7196a73364..6a343b9362 100644
--- a/Mage.Sets/src/mage/cards/a/AgentOfHorizons.java
+++ b/Mage.Sets/src/mage/cards/a/AgentOfHorizons.java
@@ -28,7 +28,7 @@ public final class AgentOfHorizons extends CardImpl {
this.toughness = new MageInt(2);
// {2}{U}: Agent of Horizons can't be blocked this turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{2}{U}")));
}
private AgentOfHorizons(final AgentOfHorizons card) {
diff --git a/Mage.Sets/src/mage/cards/a/AgentOfShauku.java b/Mage.Sets/src/mage/cards/a/AgentOfShauku.java
index 5fc03a0ae7..00ad058038 100644
--- a/Mage.Sets/src/mage/cards/a/AgentOfShauku.java
+++ b/Mage.Sets/src/mage/cards/a/AgentOfShauku.java
@@ -36,7 +36,7 @@ public final class AgentOfShauku extends CardImpl {
this.toughness = new MageInt(1);
// {1}{B}, Sacrifice a land: Target creature gets +2/+0 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AgentOfStromgald.java b/Mage.Sets/src/mage/cards/a/AgentOfStromgald.java
index ae10878cfd..e6efe88dfb 100644
--- a/Mage.Sets/src/mage/cards/a/AgentOfStromgald.java
+++ b/Mage.Sets/src/mage/cards/a/AgentOfStromgald.java
@@ -26,7 +26,7 @@ public final class AgentOfStromgald extends CardImpl {
this.toughness = new MageInt(1);
// {R}: Add {B}.
- this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(1), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(1), new ManaCostsImpl<>("{R}")));
}
private AgentOfStromgald(final AgentOfStromgald card) {
diff --git a/Mage.Sets/src/mage/cards/a/Agoraphobia.java b/Mage.Sets/src/mage/cards/a/Agoraphobia.java
index fee2c2e1fb..50723fd532 100644
--- a/Mage.Sets/src/mage/cards/a/Agoraphobia.java
+++ b/Mage.Sets/src/mage/cards/a/Agoraphobia.java
@@ -41,7 +41,7 @@ public final class Agoraphobia extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(-5, 0)));
// {2}{U}: Return Agoraphobia to its owner's hand.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}")));
}
private Agoraphobia(final Agoraphobia card) {
diff --git a/Mage.Sets/src/mage/cards/a/AinokBondKin.java b/Mage.Sets/src/mage/cards/a/AinokBondKin.java
index d90bd47978..76e4482c4d 100644
--- a/Mage.Sets/src/mage/cards/a/AinokBondKin.java
+++ b/Mage.Sets/src/mage/cards/a/AinokBondKin.java
@@ -28,7 +28,7 @@ public final class AinokBondKin extends CardImpl {
this.toughness = new MageInt(1);
// Outlast {1}{W} ({1}{W}, {T}: Put a +1/+1 counter on this creature. Outlast only as a sorcery.)
- this.addAbility(new OutlastAbility(new ManaCostsImpl("{1}{W}")));
+ this.addAbility(new OutlastAbility(new ManaCostsImpl<>("{1}{W}")));
// Each creature you control with a +1/+1 counter on it has first strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
diff --git a/Mage.Sets/src/mage/cards/a/AinokSurvivalist.java b/Mage.Sets/src/mage/cards/a/AinokSurvivalist.java
index 58e059e30c..5bd90d4a03 100644
--- a/Mage.Sets/src/mage/cards/a/AinokSurvivalist.java
+++ b/Mage.Sets/src/mage/cards/a/AinokSurvivalist.java
@@ -37,7 +37,7 @@ public final class AinokSurvivalist extends CardImpl {
this.toughness = new MageInt(1);
// Megamorph {1}{G}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{G}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{G}"), true));
// When Ainok Survivalist is turned face up, destroy target artifact or enchantment an opponent controls.
Effect effect = new DestroyTargetEffect();
diff --git a/Mage.Sets/src/mage/cards/a/AinokTracker.java b/Mage.Sets/src/mage/cards/a/AinokTracker.java
index 7c0f9ce5bb..49e46b7ee2 100644
--- a/Mage.Sets/src/mage/cards/a/AinokTracker.java
+++ b/Mage.Sets/src/mage/cards/a/AinokTracker.java
@@ -28,7 +28,7 @@ public final class AinokTracker extends CardImpl {
// First Strike
this.addAbility(FirstStrikeAbility.getInstance());
// Morph 4R
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{R}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{R}")));
}
private AinokTracker(final AinokTracker card) {
diff --git a/Mage.Sets/src/mage/cards/a/AirServant.java b/Mage.Sets/src/mage/cards/a/AirServant.java
index 0f41c5b48e..f6d76383a2 100644
--- a/Mage.Sets/src/mage/cards/a/AirServant.java
+++ b/Mage.Sets/src/mage/cards/a/AirServant.java
@@ -37,7 +37,7 @@ public final class AirServant extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(3);
this.addAbility(FlyingAbility.getInstance());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{2}{U}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AirdropCondor.java b/Mage.Sets/src/mage/cards/a/AirdropCondor.java
index 3224cdfa4c..db929834ac 100644
--- a/Mage.Sets/src/mage/cards/a/AirdropCondor.java
+++ b/Mage.Sets/src/mage/cards/a/AirdropCondor.java
@@ -41,7 +41,7 @@ public final class AirdropCondor extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}{R}, Sacrifice a Goblin creature: Airdrop Condor deals damage equal to the sacrificed creature's power to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(SacrificeCostCreaturesPower.instance), new ManaCostsImpl("{1}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(SacrificeCostCreaturesPower.instance), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(filter)));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AkimTheSoaringWind.java b/Mage.Sets/src/mage/cards/a/AkimTheSoaringWind.java
index e3dbb9a505..fba827fccb 100644
--- a/Mage.Sets/src/mage/cards/a/AkimTheSoaringWind.java
+++ b/Mage.Sets/src/mage/cards/a/AkimTheSoaringWind.java
@@ -67,7 +67,7 @@ public final class AkimTheSoaringWind extends CardImpl {
Duration.EndOfTurn,
filter,
false),
- new ManaCostsImpl("{3}{U}{R}{W}"))
+ new ManaCostsImpl<>("{3}{U}{R}{W}"))
);
}
diff --git a/Mage.Sets/src/mage/cards/a/AkoumFirebird.java b/Mage.Sets/src/mage/cards/a/AkoumFirebird.java
index c64e50ab76..4f729a9063 100644
--- a/Mage.Sets/src/mage/cards/a/AkoumFirebird.java
+++ b/Mage.Sets/src/mage/cards/a/AkoumFirebird.java
@@ -44,7 +44,7 @@ public final class AkoumFirebird extends CardImpl {
// Landfall-Whenever a land enters the battlefield under your control, you may pay {4}{R}{R}.
// If you do, return Akoum Firebird from your graveyard to the battlefield.
this.addAbility(new AkoumFirebirdLandfallAbility(new DoIfCostPaid(
- new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl("{4}{R}{R}")), false));
+ new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{4}{R}{R}")), false));
}
private AkoumFirebird(final AkoumFirebird card) {
diff --git a/Mage.Sets/src/mage/cards/a/AkoumStonewaker.java b/Mage.Sets/src/mage/cards/a/AkoumStonewaker.java
index 1e96a16910..a54a5c5046 100644
--- a/Mage.Sets/src/mage/cards/a/AkoumStonewaker.java
+++ b/Mage.Sets/src/mage/cards/a/AkoumStonewaker.java
@@ -32,7 +32,7 @@ public final class AkoumStonewaker extends CardImpl {
// Landfall — Whenever a land enters the battlefield under your control, you may pay {2}{R}. If you do, create a 3/1 red Elemental creature token with trample and haste.
// Exile that token at the beginning of the next end step.
- this.addAbility(new LandfallAbility(new DoIfCostPaid(new AkoumStonewakerEffect(), new ManaCostsImpl("{2}{R}")), false));
+ this.addAbility(new LandfallAbility(new DoIfCostPaid(new AkoumStonewakerEffect(), new ManaCostsImpl<>("{2}{R}")), false));
}
diff --git a/Mage.Sets/src/mage/cards/a/AkroanJailer.java b/Mage.Sets/src/mage/cards/a/AkroanJailer.java
index 09f56ac141..7499b03755 100644
--- a/Mage.Sets/src/mage/cards/a/AkroanJailer.java
+++ b/Mage.Sets/src/mage/cards/a/AkroanJailer.java
@@ -29,7 +29,7 @@ public final class AkroanJailer extends CardImpl {
this.toughness = new MageInt(1);
// {2}{W}, {T}: Tap target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AkroanMastiff.java b/Mage.Sets/src/mage/cards/a/AkroanMastiff.java
index 1dc8f3dc60..268fc500de 100644
--- a/Mage.Sets/src/mage/cards/a/AkroanMastiff.java
+++ b/Mage.Sets/src/mage/cards/a/AkroanMastiff.java
@@ -29,7 +29,7 @@ public final class AkroanMastiff extends CardImpl {
this.toughness = new MageInt(2);
// {W},{T}: Tap target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AkroanPhalanx.java b/Mage.Sets/src/mage/cards/a/AkroanPhalanx.java
index ef2edca290..4ef7e6694a 100644
--- a/Mage.Sets/src/mage/cards/a/AkroanPhalanx.java
+++ b/Mage.Sets/src/mage/cards/a/AkroanPhalanx.java
@@ -31,7 +31,7 @@ public final class AkroanPhalanx extends CardImpl {
// Vigilance
this.addAbility(VigilanceAbility.getInstance());
// {2}{R}: Creatures you control get +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{R}")));
}
private AkroanPhalanx(final AkroanPhalanx card) {
diff --git a/Mage.Sets/src/mage/cards/a/AkromaAngelOfFury.java b/Mage.Sets/src/mage/cards/a/AkromaAngelOfFury.java
index 538292d545..e955a09abe 100644
--- a/Mage.Sets/src/mage/cards/a/AkromaAngelOfFury.java
+++ b/Mage.Sets/src/mage/cards/a/AkromaAngelOfFury.java
@@ -39,9 +39,9 @@ public final class AkromaAngelOfFury extends CardImpl {
// protection from white and from blue
this.addAbility(ProtectionAbility.from(ObjectColor.WHITE, ObjectColor.BLUE));
// {R}: Akroma, Angel of Fury 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}")));
// Morph {3}{R}{R}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{R}{R}{R}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{R}{R}{R}")));
}
private AkromaAngelOfFury(final AkromaAngelOfFury card) {
diff --git a/Mage.Sets/src/mage/cards/a/AkromasBlessing.java b/Mage.Sets/src/mage/cards/a/AkromasBlessing.java
index 06b0bbb62e..4cc882eed3 100644
--- a/Mage.Sets/src/mage/cards/a/AkromasBlessing.java
+++ b/Mage.Sets/src/mage/cards/a/AkromasBlessing.java
@@ -25,7 +25,7 @@ public final class AkromasBlessing extends CardImpl {
// Choose a color. Creatures you control gain protection from the chosen color until end of turn.
this.getSpellAbility().addEffect(new GainProtectionFromColorAllEffect(Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES));
// Cycling {W}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{W}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{W}")));
}
private AkromasBlessing(final AkromasBlessing card) {
diff --git a/Mage.Sets/src/mage/cards/a/AlabasterLeech.java b/Mage.Sets/src/mage/cards/a/AlabasterLeech.java
index 8330ace8ef..72083ffa17 100644
--- a/Mage.Sets/src/mage/cards/a/AlabasterLeech.java
+++ b/Mage.Sets/src/mage/cards/a/AlabasterLeech.java
@@ -35,7 +35,7 @@ public final class AlabasterLeech extends CardImpl {
// White spells you cast cost {W} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
- new SpellsCostIncreasingAllEffect(new ManaCostsImpl("{W}"), filter, TargetController.YOU)));
+ new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{W}"), filter, TargetController.YOU)));
}
private AlabasterLeech(final AlabasterLeech card) {
diff --git a/Mage.Sets/src/mage/cards/a/AlabasterMage.java b/Mage.Sets/src/mage/cards/a/AlabasterMage.java
index a2972ce77f..b9a529368d 100644
--- a/Mage.Sets/src/mage/cards/a/AlabasterMage.java
+++ b/Mage.Sets/src/mage/cards/a/AlabasterMage.java
@@ -29,7 +29,7 @@ public final class AlabasterMage extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AladdinsLamp.java b/Mage.Sets/src/mage/cards/a/AladdinsLamp.java
index 00ff1a7801..b99bbb7308 100644
--- a/Mage.Sets/src/mage/cards/a/AladdinsLamp.java
+++ b/Mage.Sets/src/mage/cards/a/AladdinsLamp.java
@@ -28,7 +28,7 @@ public final class AladdinsLamp extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{10}");
// {X}, {T}: The next time you would draw a card this turn, instead look at the top X cards of your library, put all but one of them on the bottom of your library in a random order, then draw a card. X can't be 0.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AladdinsLampEffect(), new ManaCostsImpl("{X}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AladdinsLampEffect(), new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AladdinsRing.java b/Mage.Sets/src/mage/cards/a/AladdinsRing.java
index 4befe29f9e..2a96b9f078 100644
--- a/Mage.Sets/src/mage/cards/a/AladdinsRing.java
+++ b/Mage.Sets/src/mage/cards/a/AladdinsRing.java
@@ -23,7 +23,7 @@ public final class AladdinsRing extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{8}");
// {8}, {tap}: Aladdin's Ring deals 4 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl("{8}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl<>("{8}"));
ability.addTarget(new TargetAnyTarget());
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AlbinoTroll.java b/Mage.Sets/src/mage/cards/a/AlbinoTroll.java
index d8807d99f9..e910f7d110 100644
--- a/Mage.Sets/src/mage/cards/a/AlbinoTroll.java
+++ b/Mage.Sets/src/mage/cards/a/AlbinoTroll.java
@@ -27,7 +27,7 @@ public final class AlbinoTroll extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
this.addAbility(new EchoAbility("{1}{G}"));
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}")));
}
private AlbinoTroll(final AlbinoTroll card) {
diff --git a/Mage.Sets/src/mage/cards/a/AlchemistsGreeting.java b/Mage.Sets/src/mage/cards/a/AlchemistsGreeting.java
index 6f40113936..49e93779e5 100644
--- a/Mage.Sets/src/mage/cards/a/AlchemistsGreeting.java
+++ b/Mage.Sets/src/mage/cards/a/AlchemistsGreeting.java
@@ -24,7 +24,7 @@ public final class AlchemistsGreeting extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Madness {1}{R}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{1}{R}")));
}
private AlchemistsGreeting(final AlchemistsGreeting card) {
diff --git a/Mage.Sets/src/mage/cards/a/AlchemistsRefuge.java b/Mage.Sets/src/mage/cards/a/AlchemistsRefuge.java
index 1893b88036..1f12ece071 100644
--- a/Mage.Sets/src/mage/cards/a/AlchemistsRefuge.java
+++ b/Mage.Sets/src/mage/cards/a/AlchemistsRefuge.java
@@ -39,7 +39,7 @@ public final class AlchemistsRefuge extends CardImpl {
// {G}{U}, {tap}: You may cast spells this turn as though they had flash.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AddContinuousEffectToGame(new CastAsThoughItHadFlashAllEffect(Duration.EndOfTurn, filter)),
- new CompositeCost(new ManaCostsImpl("{G}{U}"), new TapSourceCost(), "{G}{U}, {T}")));
+ new CompositeCost(new ManaCostsImpl<>("{G}{U}"), new TapSourceCost(), "{G}{U}, {T}")));
}
private AlchemistsRefuge(final AlchemistsRefuge card) {
diff --git a/Mage.Sets/src/mage/cards/a/AlchemistsVial.java b/Mage.Sets/src/mage/cards/a/AlchemistsVial.java
index 82ec8de7d6..3f7a9fab9f 100644
--- a/Mage.Sets/src/mage/cards/a/AlchemistsVial.java
+++ b/Mage.Sets/src/mage/cards/a/AlchemistsVial.java
@@ -30,7 +30,7 @@ public final class AlchemistsVial extends CardImpl {
// When Alchemist's Vial enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
// {1}, {T}, Sacrifice Alchemist's Vial: Target creature can't attack or block this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/a/AlexiZephyrMage.java b/Mage.Sets/src/mage/cards/a/AlexiZephyrMage.java
index f90cd15b5e..3af1dca7b3 100644
--- a/Mage.Sets/src/mage/cards/a/AlexiZephyrMage.java
+++ b/Mage.Sets/src/mage/cards/a/AlexiZephyrMage.java
@@ -38,7 +38,7 @@ public final class AlexiZephyrMage extends CardImpl {
// {X}{U}, {tap}, Discard two cards: Return X target creatures to their owners' hands.
Effect effect = new ReturnToHandTargetEffect();
effect.setText("Return X target creatures to their owner's hands");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{X}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{X}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, new FilterCard("two cards"))));
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_CREATURES));
diff --git a/Mage.Sets/src/mage/cards/a/AliBaba.java b/Mage.Sets/src/mage/cards/a/AliBaba.java
index 92bab3f5d5..54cb865f43 100644
--- a/Mage.Sets/src/mage/cards/a/AliBaba.java
+++ b/Mage.Sets/src/mage/cards/a/AliBaba.java
@@ -35,7 +35,7 @@ public final class AliBaba extends CardImpl {
this.toughness = new MageInt(1);
// {R}: Tap target Wall.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{R}"));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AllosaurusShepherd.java b/Mage.Sets/src/mage/cards/a/AllosaurusShepherd.java
index 46735c2636..f239034686 100644
--- a/Mage.Sets/src/mage/cards/a/AllosaurusShepherd.java
+++ b/Mage.Sets/src/mage/cards/a/AllosaurusShepherd.java
@@ -50,7 +50,7 @@ public class AllosaurusShepherd extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new SetPowerToughnessAllEffect(5, 5, Duration.EndOfTurn, elvesFilter, true)
.setText("Until end of turn, each Elf creature you control has base power and toughness 5/5"),
- new ManaCostsImpl("{4}{G}{G}"));
+ new ManaCostsImpl<>("{4}{G}{G}"));
ability.addEffect(new CreaturesBecomeOtherTypeEffect(elvesFilter, SubType.DINOSAUR, Duration.EndOfTurn)
.setText("and becomes a Dinosaur in addition to its other creature types"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AlmightyBrushwagg.java b/Mage.Sets/src/mage/cards/a/AlmightyBrushwagg.java
index a3b015d8db..03c3ca3d7b 100644
--- a/Mage.Sets/src/mage/cards/a/AlmightyBrushwagg.java
+++ b/Mage.Sets/src/mage/cards/a/AlmightyBrushwagg.java
@@ -30,7 +30,7 @@ public final class AlmightyBrushwagg extends CardImpl {
// {3}{G}: Almighty Brushwagg gets +3/+3 until end of turn.
this.addAbility(new SimpleActivatedAbility(
- new BoostSourceEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl("{3}{G}")
+ new BoostSourceEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl<>("{3}{G}")
));
}
diff --git a/Mage.Sets/src/mage/cards/a/AlmsOfTheVein.java b/Mage.Sets/src/mage/cards/a/AlmsOfTheVein.java
index 54136ba48d..b623ff2241 100644
--- a/Mage.Sets/src/mage/cards/a/AlmsOfTheVein.java
+++ b/Mage.Sets/src/mage/cards/a/AlmsOfTheVein.java
@@ -25,7 +25,7 @@ public final class AlmsOfTheVein extends CardImpl {
this.getSpellAbility().addTarget(new TargetOpponent());
// Madness {B}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{B}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{B}")));
}
private AlmsOfTheVein(final AlmsOfTheVein card) {
diff --git a/Mage.Sets/src/mage/cards/a/AlphaKavu.java b/Mage.Sets/src/mage/cards/a/AlphaKavu.java
index d80857ec87..0fc36af39b 100644
--- a/Mage.Sets/src/mage/cards/a/AlphaKavu.java
+++ b/Mage.Sets/src/mage/cards/a/AlphaKavu.java
@@ -36,7 +36,7 @@ public final class AlphaKavu extends CardImpl {
// {1}{G}: Target Kavu creature gets -1/+1 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, 1, Duration.EndOfTurn),
- new ManaCostsImpl("{1}{G}"));
+ new ManaCostsImpl<>("{1}{G}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AmaranthineWall.java b/Mage.Sets/src/mage/cards/a/AmaranthineWall.java
index 361ee75b44..0bec6b643f 100644
--- a/Mage.Sets/src/mage/cards/a/AmaranthineWall.java
+++ b/Mage.Sets/src/mage/cards/a/AmaranthineWall.java
@@ -29,7 +29,7 @@ public final class AmaranthineWall extends CardImpl {
this.addAbility(DefenderAbility.getInstance());
// {2}: Amaranthine Wall gains indestructible until end of turn.
GainAbilitySourceEffect effect = new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn);
- SimpleActivatedAbility ability = new SimpleActivatedAbility(effect, new ManaCostsImpl("{2}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{2}"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AmbushCommander.java b/Mage.Sets/src/mage/cards/a/AmbushCommander.java
index ed4fd92ebe..0f18d08bc1 100644
--- a/Mage.Sets/src/mage/cards/a/AmbushCommander.java
+++ b/Mage.Sets/src/mage/cards/a/AmbushCommander.java
@@ -47,7 +47,7 @@ public final class AmbushCommander extends CardImpl {
// {1}{G}, Sacrifice an Elf: Target creature gets +3/+3 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn),
- new ManaCostsImpl("{1}{G}"));
+ new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, filter)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/Amok.java b/Mage.Sets/src/mage/cards/a/Amok.java
index e51cfac57d..c19375fed6 100644
--- a/Mage.Sets/src/mage/cards/a/Amok.java
+++ b/Mage.Sets/src/mage/cards/a/Amok.java
@@ -24,7 +24,7 @@ public final class Amok extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}");
// {1}, Discard a card at random: Put a +1/+1 counter on target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{1}"));
ability.addCost(new DiscardCardCost(true));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AmphinPathmage.java b/Mage.Sets/src/mage/cards/a/AmphinPathmage.java
index 1b4a23c541..ae2b78baa8 100644
--- a/Mage.Sets/src/mage/cards/a/AmphinPathmage.java
+++ b/Mage.Sets/src/mage/cards/a/AmphinPathmage.java
@@ -30,7 +30,7 @@ public final class AmphinPathmage extends CardImpl {
this.toughness = new MageInt(2);
// {2}{U}: Target creature can't be blocked this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{2}{U}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AmrouScout.java b/Mage.Sets/src/mage/cards/a/AmrouScout.java
index 1d6280703b..62259eecf7 100644
--- a/Mage.Sets/src/mage/cards/a/AmrouScout.java
+++ b/Mage.Sets/src/mage/cards/a/AmrouScout.java
@@ -41,7 +41,7 @@ public final class AmrouScout extends CardImpl {
// {4}, {tap}: Search your library for a Rebel permanent card with converted mana cost 3 or less and put it onto the battlefield. Then shuffle your library.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false),
- new ManaCostsImpl("{4}"));
+ new ManaCostsImpl<>("{4}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/Amugaba.java b/Mage.Sets/src/mage/cards/a/Amugaba.java
index 58eeaf3742..d5e09a282b 100644
--- a/Mage.Sets/src/mage/cards/a/Amugaba.java
+++ b/Mage.Sets/src/mage/cards/a/Amugaba.java
@@ -32,7 +32,7 @@ public final class Amugaba extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {2}{U}, Discard a card: Return Amugaba to its owner's hand.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}"));
ability.addCost(new DiscardTargetCost(new TargetCardInHand()));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AnabaShaman.java b/Mage.Sets/src/mage/cards/a/AnabaShaman.java
index 1d27b4619e..dd02946d66 100644
--- a/Mage.Sets/src/mage/cards/a/AnabaShaman.java
+++ b/Mage.Sets/src/mage/cards/a/AnabaShaman.java
@@ -30,7 +30,7 @@ public final class AnabaShaman extends CardImpl {
this.toughness = new MageInt(2);
// {R}, {tap}: Anaba Shaman deals 1 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AncestralTribute.java b/Mage.Sets/src/mage/cards/a/AncestralTribute.java
index ba9b95b70c..75c95acd25 100644
--- a/Mage.Sets/src/mage/cards/a/AncestralTribute.java
+++ b/Mage.Sets/src/mage/cards/a/AncestralTribute.java
@@ -27,7 +27,7 @@ public final class AncestralTribute extends CardImpl {
this.getSpellAbility().addEffect(new GainLifeEffect((new CardsInControllerGraveyardCount(new FilterCard(), 2))));
// Flashback {9}{W}{W}{W}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{9}{W}{W}{W}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{9}{W}{W}{W}")));
}
diff --git a/Mage.Sets/src/mage/cards/a/AncientExcavation.java b/Mage.Sets/src/mage/cards/a/AncientExcavation.java
index 5b8d3bf93d..feee37e1bb 100644
--- a/Mage.Sets/src/mage/cards/a/AncientExcavation.java
+++ b/Mage.Sets/src/mage/cards/a/AncientExcavation.java
@@ -28,7 +28,7 @@ public final class AncientExcavation extends CardImpl {
this.getSpellAbility().addEffect(new AncientExcavationEffect());
// Basic landcycling {2}
- this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl<>("{2}")));
}
private AncientExcavation(final AncientExcavation card) {
diff --git a/Mage.Sets/src/mage/cards/a/AncientGrudge.java b/Mage.Sets/src/mage/cards/a/AncientGrudge.java
index 733954463f..2a8fb1204b 100644
--- a/Mage.Sets/src/mage/cards/a/AncientGrudge.java
+++ b/Mage.Sets/src/mage/cards/a/AncientGrudge.java
@@ -23,7 +23,7 @@ public final class AncientGrudge extends CardImpl {
this.getSpellAbility().addTarget(new TargetArtifactPermanent());
// Flashback {G}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{G}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{G}")));
}
private AncientGrudge(final AncientGrudge card) {
diff --git a/Mage.Sets/src/mage/cards/a/AncientHellkite.java b/Mage.Sets/src/mage/cards/a/AncientHellkite.java
index 2a7c857f24..5a709bc964 100644
--- a/Mage.Sets/src/mage/cards/a/AncientHellkite.java
+++ b/Mage.Sets/src/mage/cards/a/AncientHellkite.java
@@ -42,7 +42,7 @@ public final class AncientHellkite extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {R}: Ancient Hellkite deals 1 damage to target creature defending player controls. Activate this ability only if Ancient Hellkite is attacking.
- Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{R}"), SourceAttackingCondition.instance);
+ Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{R}"), SourceAttackingCondition.instance);
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AncientHydra.java b/Mage.Sets/src/mage/cards/a/AncientHydra.java
index 05ac33fb61..1683be4300 100644
--- a/Mage.Sets/src/mage/cards/a/AncientHydra.java
+++ b/Mage.Sets/src/mage/cards/a/AncientHydra.java
@@ -32,7 +32,7 @@ public final class AncientHydra extends CardImpl {
// Fading 5
this.addAbility(new FadingAbility(5, this));
// {1}, Remove a fade counter from Ancient Hydra: Ancient Hydra deals 1 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{1}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.FADE.createInstance(1)));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AncientKavu.java b/Mage.Sets/src/mage/cards/a/AncientKavu.java
index 8fb1208803..9737b5ad95 100644
--- a/Mage.Sets/src/mage/cards/a/AncientKavu.java
+++ b/Mage.Sets/src/mage/cards/a/AncientKavu.java
@@ -27,7 +27,7 @@ public final class AncientKavu extends CardImpl {
this.toughness = new MageInt(3);
// {2}: Ancient Kavu becomes colorless until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorSourceEffect(new ObjectColor(), Duration.EndOfTurn), new ManaCostsImpl("{2}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorSourceEffect(new ObjectColor(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}")));
}
private AncientKavu(final AncientKavu card) {
diff --git a/Mage.Sets/src/mage/cards/a/AncientSilverback.java b/Mage.Sets/src/mage/cards/a/AncientSilverback.java
index d24328ef19..10feefc0a9 100644
--- a/Mage.Sets/src/mage/cards/a/AncientSilverback.java
+++ b/Mage.Sets/src/mage/cards/a/AncientSilverback.java
@@ -25,7 +25,7 @@ public final class AncientSilverback extends CardImpl {
this.power = new MageInt(6);
this.toughness = new MageInt(5);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{G}")));
}
private AncientSilverback(final AncientSilverback card) {
diff --git a/Mage.Sets/src/mage/cards/a/AndraditeLeech.java b/Mage.Sets/src/mage/cards/a/AndraditeLeech.java
index cf6c59c18f..a37f25cfbe 100644
--- a/Mage.Sets/src/mage/cards/a/AndraditeLeech.java
+++ b/Mage.Sets/src/mage/cards/a/AndraditeLeech.java
@@ -34,10 +34,10 @@ public final class AndraditeLeech extends CardImpl {
// Black spells you cast cost {B} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
- new SpellsCostIncreasingAllEffect(new ManaCostsImpl("{B}"), filter, TargetController.YOU)));
+ new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{B}"), filter, TargetController.YOU)));
// {B}: Andradite Leech gets +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{B}")));
+ new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
}
private AndraditeLeech(final AndraditeLeech card) {
diff --git a/Mage.Sets/src/mage/cards/a/AngelOfGrace.java b/Mage.Sets/src/mage/cards/a/AngelOfGrace.java
index be50c0fc04..3ae9d70bc5 100644
--- a/Mage.Sets/src/mage/cards/a/AngelOfGrace.java
+++ b/Mage.Sets/src/mage/cards/a/AngelOfGrace.java
@@ -42,7 +42,7 @@ public final class AngelOfGrace extends CardImpl {
// {4}{W}{W}, Exile Angel of Grace from your graveyard: Your life total becomes 10.
Ability ability = new SimpleActivatedAbility(
- Zone.GRAVEYARD, new SetPlayerLifeSourceEffect(10), new ManaCostsImpl("{4}{W}{W}")
+ Zone.GRAVEYARD, new SetPlayerLifeSourceEffect(10), new ManaCostsImpl<>("{4}{W}{W}")
);
ability.addCost(new ExileSourceFromGraveCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AngelOfSanctions.java b/Mage.Sets/src/mage/cards/a/AngelOfSanctions.java
index 96520cc539..ae5742a6f0 100644
--- a/Mage.Sets/src/mage/cards/a/AngelOfSanctions.java
+++ b/Mage.Sets/src/mage/cards/a/AngelOfSanctions.java
@@ -48,7 +48,7 @@ public final class AngelOfSanctions extends CardImpl {
this.addAbility(ability);
// Embalm {5}{W}
- this.addAbility(new EmbalmAbility(new ManaCostsImpl("{5}{W}"), this));
+ this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{5}{W}"), this));
}
diff --git a/Mage.Sets/src/mage/cards/a/AngelOfTheGodPharaoh.java b/Mage.Sets/src/mage/cards/a/AngelOfTheGodPharaoh.java
index 534725d1d1..800e10d29c 100644
--- a/Mage.Sets/src/mage/cards/a/AngelOfTheGodPharaoh.java
+++ b/Mage.Sets/src/mage/cards/a/AngelOfTheGodPharaoh.java
@@ -28,7 +28,7 @@ public final class AngelOfTheGodPharaoh extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
diff --git a/Mage.Sets/src/mage/cards/a/Angelsong.java b/Mage.Sets/src/mage/cards/a/Angelsong.java
index b579d6ece1..552c69a1f2 100644
--- a/Mage.Sets/src/mage/cards/a/Angelsong.java
+++ b/Mage.Sets/src/mage/cards/a/Angelsong.java
@@ -21,7 +21,7 @@ public final class Angelsong extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}");
this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true));
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private Angelsong(final Angelsong card) {
diff --git a/Mage.Sets/src/mage/cards/a/AngusMackenzie.java b/Mage.Sets/src/mage/cards/a/AngusMackenzie.java
index abcaea6ca4..b61738dc89 100644
--- a/Mage.Sets/src/mage/cards/a/AngusMackenzie.java
+++ b/Mage.Sets/src/mage/cards/a/AngusMackenzie.java
@@ -36,7 +36,7 @@ public final class AngusMackenzie extends CardImpl {
Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD,
effect,
- new ManaCostsImpl("{G}{W}{U}"),
+ new ManaCostsImpl<>("{G}{W}{U}"),
BeforeCombatDamageCondition.getInstance()
);
ability.addCost(new TapSourceCost());
diff --git a/Mage.Sets/src/mage/cards/a/AnjesRavager.java b/Mage.Sets/src/mage/cards/a/AnjesRavager.java
index c9c7d416c4..4bab50c6ba 100644
--- a/Mage.Sets/src/mage/cards/a/AnjesRavager.java
+++ b/Mage.Sets/src/mage/cards/a/AnjesRavager.java
@@ -39,7 +39,7 @@ public final class AnjesRavager extends CardImpl {
this.addAbility(ability);
// Madness {1}{R}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{1}{R}")));
}
private AnjesRavager(final AnjesRavager card) {
diff --git a/Mage.Sets/src/mage/cards/a/AnointedChorister.java b/Mage.Sets/src/mage/cards/a/AnointedChorister.java
index c4761f699a..70a6b49a89 100644
--- a/Mage.Sets/src/mage/cards/a/AnointedChorister.java
+++ b/Mage.Sets/src/mage/cards/a/AnointedChorister.java
@@ -31,7 +31,7 @@ public final class AnointedChorister extends CardImpl {
// {4}{W}: Anointed Chorister gets +3/+3 until end of turn.
this.addAbility(new SimpleActivatedAbility(
- new BoostSourceEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl("{4}{W}")
+ new BoostSourceEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{W}")
));
}
diff --git a/Mage.Sets/src/mage/cards/a/AnointerPriest.java b/Mage.Sets/src/mage/cards/a/AnointerPriest.java
index d27af45866..7f567af7c3 100644
--- a/Mage.Sets/src/mage/cards/a/AnointerPriest.java
+++ b/Mage.Sets/src/mage/cards/a/AnointerPriest.java
@@ -39,7 +39,7 @@ public final class AnointerPriest extends CardImpl {
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new GainLifeEffect(1), filter));
// Embalm {3}{W}
- this.addAbility(new EmbalmAbility(new ManaCostsImpl("{3}{W}"), this));
+ this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{3}{W}"), this));
}
private AnointerPriest(final AnointerPriest card) {
diff --git a/Mage.Sets/src/mage/cards/a/AntQueen.java b/Mage.Sets/src/mage/cards/a/AntQueen.java
index 90ae7da05c..891d82ec32 100644
--- a/Mage.Sets/src/mage/cards/a/AntQueen.java
+++ b/Mage.Sets/src/mage/cards/a/AntQueen.java
@@ -30,7 +30,7 @@ public final class AntQueen extends CardImpl {
this.power = new MageInt(5);
this.toughness = new MageInt(5);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(insectToken), new ManaCostsImpl("{1}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(insectToken), new ManaCostsImpl<>("{1}{G}")));
}
private AntQueen(final AntQueen card) {
diff --git a/Mage.Sets/src/mage/cards/a/Anthroplasm.java b/Mage.Sets/src/mage/cards/a/Anthroplasm.java
index ba6b49f2af..25bd3c78c6 100644
--- a/Mage.Sets/src/mage/cards/a/Anthroplasm.java
+++ b/Mage.Sets/src/mage/cards/a/Anthroplasm.java
@@ -36,7 +36,7 @@ public final class Anthroplasm extends CardImpl {
// Anthroplasm enters the battlefield with two +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), "with two +1/+1 counters on it"));
// {X}, {tap}: Remove all +1/+1 counters from Anthroplasm and put X +1/+1 counters on it.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AnthroplasmEffect(), new ManaCostsImpl("{X}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AnthroplasmEffect(), new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AntlerSkulkin.java b/Mage.Sets/src/mage/cards/a/AntlerSkulkin.java
index c7e2ee6f5c..42a45e84fd 100644
--- a/Mage.Sets/src/mage/cards/a/AntlerSkulkin.java
+++ b/Mage.Sets/src/mage/cards/a/AntlerSkulkin.java
@@ -40,7 +40,7 @@ public final class AntlerSkulkin extends CardImpl {
this.toughness = new MageInt(3);
// {2}: Target white creature gains persist until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new PersistAbility(), Duration.EndOfTurn), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new PersistAbility(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AnuridSwarmsnapper.java b/Mage.Sets/src/mage/cards/a/AnuridSwarmsnapper.java
index a26887f832..c2831dcee5 100644
--- a/Mage.Sets/src/mage/cards/a/AnuridSwarmsnapper.java
+++ b/Mage.Sets/src/mage/cards/a/AnuridSwarmsnapper.java
@@ -30,7 +30,7 @@ public final class AnuridSwarmsnapper extends CardImpl {
// Reach
this.addAbility(ReachAbility.getInstance());
// {1}{G}: Anurid Swarmsnapper can block an additional creature this turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(Duration.EndOfTurn, 1), new ManaCostsImpl("{1}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(Duration.EndOfTurn, 1), new ManaCostsImpl<>("{1}{G}")));
}
private AnuridSwarmsnapper(final AnuridSwarmsnapper card) {
diff --git a/Mage.Sets/src/mage/cards/a/AphettoAlchemist.java b/Mage.Sets/src/mage/cards/a/AphettoAlchemist.java
index aee72367d6..65a501c039 100644
--- a/Mage.Sets/src/mage/cards/a/AphettoAlchemist.java
+++ b/Mage.Sets/src/mage/cards/a/AphettoAlchemist.java
@@ -45,7 +45,7 @@ public final class AphettoAlchemist extends CardImpl {
this.addAbility(ability);
// Morph {U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{U}")));
}
private AphettoAlchemist(final AphettoAlchemist card) {
diff --git a/Mage.Sets/src/mage/cards/a/AphettoExterminator.java b/Mage.Sets/src/mage/cards/a/AphettoExterminator.java
index 36b883b428..8185548195 100644
--- a/Mage.Sets/src/mage/cards/a/AphettoExterminator.java
+++ b/Mage.Sets/src/mage/cards/a/AphettoExterminator.java
@@ -30,7 +30,7 @@ public final class AphettoExterminator extends CardImpl {
this.toughness = new MageInt(1);
// Morph {3}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{B}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{B}")));
// When Aphetto Exterminator is turned face up, target creature gets -3/-3 until end of turn.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new BoostTargetEffect(-3,-3,Duration.EndOfTurn));
diff --git a/Mage.Sets/src/mage/cards/a/ApocalypseChime.java b/Mage.Sets/src/mage/cards/a/ApocalypseChime.java
index c9118a06e5..48a756dc13 100644
--- a/Mage.Sets/src/mage/cards/a/ApocalypseChime.java
+++ b/Mage.Sets/src/mage/cards/a/ApocalypseChime.java
@@ -36,7 +36,7 @@ public final class ApocalypseChime extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
// {2}, {T}, Sacrifice Apocalypse Chime: Destroy all nontoken permanents with a name originally printed in the Homelands expansion. They can't be regenerated.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter, true), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter, true), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/ApothecaryInitiate.java b/Mage.Sets/src/mage/cards/a/ApothecaryInitiate.java
index 562d7e4b6c..dcaf30f7d1 100644
--- a/Mage.Sets/src/mage/cards/a/ApothecaryInitiate.java
+++ b/Mage.Sets/src/mage/cards/a/ApothecaryInitiate.java
@@ -37,7 +37,7 @@ public final class ApothecaryInitiate extends CardImpl {
this.toughness = new MageInt(1);
// Whenever a player casts a white spell, you may pay {1}. If you do, you gain 1 life.
- this.addAbility(new SpellCastAllTriggeredAbility(new DoIfCostPaid(new GainLifeEffect(1), new ManaCostsImpl("{1}")), filter, false));
+ this.addAbility(new SpellCastAllTriggeredAbility(new DoIfCostPaid(new GainLifeEffect(1), new ManaCostsImpl<>("{1}")), filter, false));
}
diff --git a/Mage.Sets/src/mage/cards/a/ApprenticeWizard.java b/Mage.Sets/src/mage/cards/a/ApprenticeWizard.java
index dbe9cb7e51..90bf553ace 100644
--- a/Mage.Sets/src/mage/cards/a/ApprenticeWizard.java
+++ b/Mage.Sets/src/mage/cards/a/ApprenticeWizard.java
@@ -28,7 +28,7 @@ public final class ApprenticeWizard extends CardImpl {
this.toughness = new MageInt(1);
// {U}, {tap}: Add {C}{C}{C}.
- Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(3), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(3), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AquamorphEntity.java b/Mage.Sets/src/mage/cards/a/AquamorphEntity.java
index 87f34fe9c9..3d3668de60 100644
--- a/Mage.Sets/src/mage/cards/a/AquamorphEntity.java
+++ b/Mage.Sets/src/mage/cards/a/AquamorphEntity.java
@@ -38,7 +38,7 @@ public final class AquamorphEntity extends CardImpl {
this.addAbility(ability);
// Morph {2}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{U}")));
}
private AquamorphEntity(final AquamorphEntity card) {
diff --git a/Mage.Sets/src/mage/cards/a/AquastrandSpider.java b/Mage.Sets/src/mage/cards/a/AquastrandSpider.java
index e97e5d7676..9abc90a97c 100644
--- a/Mage.Sets/src/mage/cards/a/AquastrandSpider.java
+++ b/Mage.Sets/src/mage/cards/a/AquastrandSpider.java
@@ -37,7 +37,7 @@ public final class AquastrandSpider extends CardImpl {
// {G}: Target creature with a +1/+1 counter on it gains reach until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilityTargetEffect(ReachAbility.getInstance(),
- Duration.EndOfTurn), new ManaCostsImpl("{G}"));
+ Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_P1P1));
this.addAbility(ability.addCustomOutcome(Outcome.Benefit));
}
diff --git a/Mage.Sets/src/mage/cards/a/AquaticIncursion.java b/Mage.Sets/src/mage/cards/a/AquaticIncursion.java
index 208719f4a1..bd75200661 100644
--- a/Mage.Sets/src/mage/cards/a/AquaticIncursion.java
+++ b/Mage.Sets/src/mage/cards/a/AquaticIncursion.java
@@ -37,7 +37,7 @@ public final class AquaticIncursion extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new MerfolkHexproofToken(), 2), false));
// {3}{U}: Target Merfolk can't be blocked this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{3}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{3}{U}"));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AquusSteed.java b/Mage.Sets/src/mage/cards/a/AquusSteed.java
index c8baf324e9..8c5f1bd0f7 100644
--- a/Mage.Sets/src/mage/cards/a/AquusSteed.java
+++ b/Mage.Sets/src/mage/cards/a/AquusSteed.java
@@ -30,7 +30,7 @@ public final class AquusSteed extends CardImpl {
this.toughness = new MageInt(3);
// {2}{U}, {T}: Target creature gets -2/-0 until end of turn.
- Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, 0, Duration.EndOfTurn), new ManaCostsImpl("{2}{U}"));
+ Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{U}"));
secondAbility.addCost(new TapSourceCost());
secondAbility.addTarget(new TargetCreaturePermanent());
this.addAbility(secondAbility);
diff --git a/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java b/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java
index a7feb5b51c..f73f4780c8 100644
--- a/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java
+++ b/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java
@@ -63,9 +63,9 @@ public final class ArahboRoarOfTheWorld extends CardImpl {
this.addAbility(ability);
// Whenever another Cat you control attacks, you may pay {1}{G}{W}. If you do, it gains trample and gets +X/+X until end of turn, where X is its power.
-// Effect effect = new DoIfCostPaid(new ArahboEffect(), new ManaCostsImpl("{1}{G}{W}"));
+// Effect effect = new DoIfCostPaid(new ArahboEffect(), new ManaCostsImpl<>("{1}{G}{W}"));
ability = new AttacksCreatureYouControlTriggeredAbility(
- new DoIfCostPaid(new ArahboEffect(), new ManaCostsImpl("{1}{G}{W}")), false, filter2, true);
+ new DoIfCostPaid(new ArahboEffect(), new ManaCostsImpl<>("{1}{G}{W}")), false, filter2, true);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/ArashiTheSkyAsunder.java b/Mage.Sets/src/mage/cards/a/ArashiTheSkyAsunder.java
index f7e122917b..b1b1994365 100644
--- a/Mage.Sets/src/mage/cards/a/ArashiTheSkyAsunder.java
+++ b/Mage.Sets/src/mage/cards/a/ArashiTheSkyAsunder.java
@@ -43,7 +43,7 @@ public final class ArashiTheSkyAsunder extends CardImpl {
this.toughness = new MageInt(5);
// {X}{G}, {tap}: Arashi, the Sky Asunder deals X damage to target creature with flying.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(ManacostVariableValue.REGULAR), new ManaCostsImpl("{X}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(ManacostVariableValue.REGULAR), new ManaCostsImpl<>("{X}{G}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/ArbalestElite.java b/Mage.Sets/src/mage/cards/a/ArbalestElite.java
index d560c58da8..cbfc402f64 100644
--- a/Mage.Sets/src/mage/cards/a/ArbalestElite.java
+++ b/Mage.Sets/src/mage/cards/a/ArbalestElite.java
@@ -31,7 +31,7 @@ public final class ArbalestElite extends CardImpl {
this.toughness = new MageInt(3);
// {2}{W}, {tap}: Arbalest Elite deals 3 damage to target attacking or blocking creature. Arbalest Elite doesn't untap during your next untap step.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAttackingOrBlockingCreature());
ability.addEffect(new DontUntapInControllersNextUntapStepSourceEffect());
diff --git a/Mage.Sets/src/mage/cards/a/ArcMage.java b/Mage.Sets/src/mage/cards/a/ArcMage.java
index 40125002e9..238a6d6592 100644
--- a/Mage.Sets/src/mage/cards/a/ArcMage.java
+++ b/Mage.Sets/src/mage/cards/a/ArcMage.java
@@ -29,7 +29,7 @@ public final class ArcMage extends CardImpl {
this.toughness = new MageInt(2);
// {2}{R}, {tap}, Discard a card: Arc Mage deals 2 damage divided as you choose among one or two targets.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageMultiEffect(2), new ManaCostsImpl("{2}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageMultiEffect(2), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetAnyTargetAmount(2));
diff --git a/Mage.Sets/src/mage/cards/a/ArcSlogger.java b/Mage.Sets/src/mage/cards/a/ArcSlogger.java
index 9e6ca29c00..7e88e10ad1 100644
--- a/Mage.Sets/src/mage/cards/a/ArcSlogger.java
+++ b/Mage.Sets/src/mage/cards/a/ArcSlogger.java
@@ -29,7 +29,7 @@ public final class ArcSlogger extends CardImpl {
this.toughness = new MageInt(5);
// {R}, Exile the top ten cards of your library: Arc-Slogger deals 2 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}"));
ability.addCost(new ExileFromTopOfLibraryCost(10));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java b/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java
index 0a595113b8..baa7eee048 100644
--- a/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java
+++ b/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java
@@ -45,13 +45,13 @@ public final class ArcadesSabboth extends CardImpl {
// At the beginning of your upkeep, sacrifice Arcades Sabboth unless you pay {G}{W}{U}.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
- new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{G}{W}{U}")), TargetController.YOU, false));
+ new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{W}{U}")), TargetController.YOU, false));
// Each untapped creature you control gets +0/+2 as long as it's not attacking.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(0, 2, Duration.WhileOnBattlefield, filter, false)));
// {W}: Arcades Sabboth gets +0/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
}
private ArcadesSabboth(final ArcadesSabboth card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArcaneArtisan.java b/Mage.Sets/src/mage/cards/a/ArcaneArtisan.java
index 1a3b700eb1..41c74498e2 100644
--- a/Mage.Sets/src/mage/cards/a/ArcaneArtisan.java
+++ b/Mage.Sets/src/mage/cards/a/ArcaneArtisan.java
@@ -48,7 +48,7 @@ public final class ArcaneArtisan extends CardImpl {
// {2}{U}, {T}: Target player draws a card, then exiles a card from their hand. If a creature card is exiled this way, that player creates a token that's a copy of that card.
Ability ability = new SimpleActivatedAbility(
new ArcaneArtisanCreateTokenEffect(),
- new ManaCostsImpl("{2}{U}")
+ new ManaCostsImpl<>("{2}{U}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer());
diff --git a/Mage.Sets/src/mage/cards/a/ArcanisTheOmnipotent.java b/Mage.Sets/src/mage/cards/a/ArcanisTheOmnipotent.java
index 489b5c96ce..53efed21bd 100644
--- a/Mage.Sets/src/mage/cards/a/ArcanisTheOmnipotent.java
+++ b/Mage.Sets/src/mage/cards/a/ArcanisTheOmnipotent.java
@@ -33,7 +33,7 @@ public final class ArcanisTheOmnipotent extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(3), new TapSourceCost()));
// {2}{U}{U}: Return Arcanis the Omnipotent to its owner's hand.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{2}{U}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}{U}")));
}
private ArcanisTheOmnipotent(final ArcanisTheOmnipotent card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArcanumWings.java b/Mage.Sets/src/mage/cards/a/ArcanumWings.java
index 826e030de6..2711853d8b 100644
--- a/Mage.Sets/src/mage/cards/a/ArcanumWings.java
+++ b/Mage.Sets/src/mage/cards/a/ArcanumWings.java
@@ -37,7 +37,7 @@ public final class ArcanumWings extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
// Aura swap {2}{U}
- this.addAbility(new AuraSwapAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new AuraSwapAbility(new ManaCostsImpl<>("{2}{U}")));
}
private ArcanumWings(final ArcanumWings card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArchersParapet.java b/Mage.Sets/src/mage/cards/a/ArchersParapet.java
index 4cb8d46a62..93aef7bf78 100644
--- a/Mage.Sets/src/mage/cards/a/ArchersParapet.java
+++ b/Mage.Sets/src/mage/cards/a/ArchersParapet.java
@@ -31,7 +31,7 @@ public final class ArchersParapet extends CardImpl {
// Defender
this.addAbility(DefenderAbility.getInstance());
// 1B, T: Each opponent loses 1 life.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeOpponentsEffect(1), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeOpponentsEffect(1), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/ArchfiendOfIfnir.java b/Mage.Sets/src/mage/cards/a/ArchfiendOfIfnir.java
index 3be45fc49b..7f21c1c5e2 100644
--- a/Mage.Sets/src/mage/cards/a/ArchfiendOfIfnir.java
+++ b/Mage.Sets/src/mage/cards/a/ArchfiendOfIfnir.java
@@ -40,7 +40,7 @@ public final class ArchfiendOfIfnir extends CardImpl {
));
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private ArchfiendOfIfnir(final ArchfiendOfIfnir card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArchfiendOfSpite.java b/Mage.Sets/src/mage/cards/a/ArchfiendOfSpite.java
index 6ff9b34ee2..16e33657f5 100644
--- a/Mage.Sets/src/mage/cards/a/ArchfiendOfSpite.java
+++ b/Mage.Sets/src/mage/cards/a/ArchfiendOfSpite.java
@@ -42,7 +42,7 @@ public final class ArchfiendOfSpite extends CardImpl {
this.addAbility(new ArchfiendOfSpiteAbility());
// Madness {3}{B}{B}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{3}{B}{B}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{3}{B}{B}")));
}
diff --git a/Mage.Sets/src/mage/cards/a/ArchitectsOfWill.java b/Mage.Sets/src/mage/cards/a/ArchitectsOfWill.java
index e3e4b2a6e9..ea062ba29f 100644
--- a/Mage.Sets/src/mage/cards/a/ArchitectsOfWill.java
+++ b/Mage.Sets/src/mage/cards/a/ArchitectsOfWill.java
@@ -36,7 +36,7 @@ public final class ArchitectsOfWill extends CardImpl {
this.addAbility(ability);
// Cycling {UB}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{U/B}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{U/B}")));
}
private ArchitectsOfWill(final ArchitectsOfWill card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArchonOfAbsolution.java b/Mage.Sets/src/mage/cards/a/ArchonOfAbsolution.java
index cb5d9b0504..e66bef7e77 100644
--- a/Mage.Sets/src/mage/cards/a/ArchonOfAbsolution.java
+++ b/Mage.Sets/src/mage/cards/a/ArchonOfAbsolution.java
@@ -34,7 +34,7 @@ public final class ArchonOfAbsolution extends CardImpl {
// Creatures can't attack you or a planeswalker you control unless their controller pays {1} for each of those creatures.
this.addAbility(new SimpleStaticAbility(new CantAttackYouUnlessPayManaAllEffect(
- new ManaCostsImpl("{1}"), true
+ new ManaCostsImpl<>("{1}"), true
).setText("creatures can't attack you or planeswalkers you control " +
"unless their controller pays {1} for each of those creatures")));
}
diff --git a/Mage.Sets/src/mage/cards/a/ArcticAven.java b/Mage.Sets/src/mage/cards/a/ArcticAven.java
index 2241f13c55..32dddb0688 100644
--- a/Mage.Sets/src/mage/cards/a/ArcticAven.java
+++ b/Mage.Sets/src/mage/cards/a/ArcticAven.java
@@ -45,7 +45,7 @@ public final class ArcticAven extends CardImpl {
// {W}: Arctic Aven gains lifelink until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{W}")));
+ new ManaCostsImpl<>("{W}")));
}
private ArcticAven(final ArcticAven card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArcticNishoba.java b/Mage.Sets/src/mage/cards/a/ArcticNishoba.java
index 873ae4e469..7f194f53fa 100644
--- a/Mage.Sets/src/mage/cards/a/ArcticNishoba.java
+++ b/Mage.Sets/src/mage/cards/a/ArcticNishoba.java
@@ -37,8 +37,8 @@ public final class ArcticNishoba extends CardImpl {
// Cumulative upkeep {G} or {W}
this.addAbility(new CumulativeUpkeepAbility(new OrCost(
- "{G} or {W}", new ManaCostsImpl("{G}"),
- new ManaCostsImpl("{W}")
+ "{G} or {W}", new ManaCostsImpl<>("{G}"),
+ new ManaCostsImpl<>("{W}")
)));
// When Arctic Nishoba dies, you gain 2 life for each age counter on it.
diff --git a/Mage.Sets/src/mage/cards/a/ArcticWolves.java b/Mage.Sets/src/mage/cards/a/ArcticWolves.java
index 17cb24b9dc..62128ae536 100644
--- a/Mage.Sets/src/mage/cards/a/ArcticWolves.java
+++ b/Mage.Sets/src/mage/cards/a/ArcticWolves.java
@@ -25,7 +25,7 @@ public final class ArcticWolves extends CardImpl {
this.toughness = new MageInt(5);
// Cumulative upkeep {2}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{2}")));
// When Arctic Wolves enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
}
diff --git a/Mage.Sets/src/mage/cards/a/ArensonsAura.java b/Mage.Sets/src/mage/cards/a/ArensonsAura.java
index 6d85ed6b64..50f0921eb9 100644
--- a/Mage.Sets/src/mage/cards/a/ArensonsAura.java
+++ b/Mage.Sets/src/mage/cards/a/ArensonsAura.java
@@ -37,12 +37,12 @@ public final class ArensonsAura extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}");
// {W}, Sacrifice an enchantment: Destroy target enchantment.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true)));
ability.addTarget(new TargetEnchantmentPermanent());
this.addAbility(ability);
// {3}{U}{U}: Counter target enchantment spell.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{3}{U}{U}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{3}{U}{U}"));
ability.addTarget(new TargetSpell(filter2));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/ArgentSphinx.java b/Mage.Sets/src/mage/cards/a/ArgentSphinx.java
index 1386549a10..807b1241d4 100644
--- a/Mage.Sets/src/mage/cards/a/ArgentSphinx.java
+++ b/Mage.Sets/src/mage/cards/a/ArgentSphinx.java
@@ -39,7 +39,7 @@ public final class ArgentSphinx extends CardImpl {
// Metalcraft — {U}: Exile Argent Sphinx. Return it to the battlefield under your control at the beginning of the next end step. Activate this ability only if you control three or more artifacts.
Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD, new ArgentSphinxEffect(),
- new ManaCostsImpl("{U}"), MetalcraftCondition.instance
+ new ManaCostsImpl<>("{U}"), MetalcraftCondition.instance
);
ability.setAbilityWord(AbilityWord.METALCRAFT);
ability.addHint(MetalcraftHint.instance);
diff --git a/Mage.Sets/src/mage/cards/a/ArgivianArchaeologist.java b/Mage.Sets/src/mage/cards/a/ArgivianArchaeologist.java
index 2c9f9b6362..a127adcbd4 100644
--- a/Mage.Sets/src/mage/cards/a/ArgivianArchaeologist.java
+++ b/Mage.Sets/src/mage/cards/a/ArgivianArchaeologist.java
@@ -29,7 +29,7 @@ public final class ArgivianArchaeologist extends CardImpl {
this.toughness = new MageInt(1);
// {W}{W}, {tap}: Return target artifact card from your graveyard to your hand.
- Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{W}{W}"));
ability.addCost(new TapSourceCost());
Target target = new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD);
ability.addTarget(target);
diff --git a/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java b/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java
index 7e6f55b301..d2c2cf38f9 100644
--- a/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java
+++ b/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java
@@ -32,7 +32,7 @@ public final class ArguelsBloodFast extends CardImpl {
this.secondSideCardClazz = mage.cards.t.TempleOfAclazotz.class;
// {1}{B}, Pay 2 life: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new PayLifeCost(2));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/ArkOfBlight.java b/Mage.Sets/src/mage/cards/a/ArkOfBlight.java
index c06ecf3bb2..2345cd8e47 100644
--- a/Mage.Sets/src/mage/cards/a/ArkOfBlight.java
+++ b/Mage.Sets/src/mage/cards/a/ArkOfBlight.java
@@ -24,7 +24,7 @@ public final class ArkOfBlight extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
// {3}, {tap}, Sacrifice Ark of Blight: Destroy target land.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{3}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetLandPermanent());
diff --git a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java
index 6296d98586..34765583d5 100644
--- a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java
+++ b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java
@@ -34,7 +34,7 @@ public final class ArmageddonClock extends CardImpl {
.setText("{this} deals damage equal to the number of doom counters on it to each player"), TargetController.YOU, false));
// {4}: Remove a doom counter from Armageddon Clock. Any player may activate this ability but only during any upkeep step.
ActivatedAbilityImpl ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
- new RemoveCounterSourceEffect(CounterType.DOOM.createInstance()), new ManaCostsImpl("{4}"), new IsStepCondition(PhaseStep.UPKEEP, false),
+ new RemoveCounterSourceEffect(CounterType.DOOM.createInstance()), new ManaCostsImpl<>("{4}"), new IsStepCondition(PhaseStep.UPKEEP, false),
"Remove a doom counter from {this}. Any player may activate this ability but only during any upkeep step");
ability.setMayActivate(TargetController.ANY);
diff --git a/Mage.Sets/src/mage/cards/a/Armistice.java b/Mage.Sets/src/mage/cards/a/Armistice.java
index 5bceac95bb..077f854ced 100644
--- a/Mage.Sets/src/mage/cards/a/Armistice.java
+++ b/Mage.Sets/src/mage/cards/a/Armistice.java
@@ -27,7 +27,7 @@ public final class Armistice extends CardImpl {
// {3}{W}{W}: You draw a card and target opponent gains 3 life.
Effect effect = new DrawCardSourceControllerEffect(1);
effect.setText("You draw a card");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{3}{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{3}{W}{W}"));
effect = new GainLifeTargetEffect(3);
effect.setText("and target opponent gains 3 life");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/a/ArmorOfFaith.java b/Mage.Sets/src/mage/cards/a/ArmorOfFaith.java
index 32a700d633..b57ede73a5 100644
--- a/Mage.Sets/src/mage/cards/a/ArmorOfFaith.java
+++ b/Mage.Sets/src/mage/cards/a/ArmorOfFaith.java
@@ -34,7 +34,7 @@ public final class ArmorOfFaith extends CardImpl {
// Enchanted creature gets +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield)));
// {W}: Enchanted creature gets +0/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
}
private ArmorOfFaith(final ArmorOfFaith card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArmoredGuardian.java b/Mage.Sets/src/mage/cards/a/ArmoredGuardian.java
index 5f062fdf74..a58072b516 100644
--- a/Mage.Sets/src/mage/cards/a/ArmoredGuardian.java
+++ b/Mage.Sets/src/mage/cards/a/ArmoredGuardian.java
@@ -33,12 +33,12 @@ public final class ArmoredGuardian extends CardImpl {
// {1}{W}{W}: Target creature you control gains protection from the color of your choice until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainProtectionFromColorTargetEffect(Duration.EndOfTurn),
- new ManaCostsImpl("{1}{W}{W}"));
+ new ManaCostsImpl<>("{1}{W}{W}"));
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
// {1}{U}{U}: Armored Guardian gains shroud until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{1}{U}{U}")));
+ new ManaCostsImpl<>("{1}{U}{U}")));
}
private ArmoredGuardian(final ArmoredGuardian card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArmorerGuildmage.java b/Mage.Sets/src/mage/cards/a/ArmorerGuildmage.java
index a134a49321..a8bc8c09f2 100644
--- a/Mage.Sets/src/mage/cards/a/ArmorerGuildmage.java
+++ b/Mage.Sets/src/mage/cards/a/ArmorerGuildmage.java
@@ -30,13 +30,13 @@ public final class ArmorerGuildmage extends CardImpl {
this.toughness = new MageInt(1);
// {B}, {tap}: Target creature gets +1/+0 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {G}, {tap}: Target creature gets +0/+1 until end of turn.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{G}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/ArmsDealer.java b/Mage.Sets/src/mage/cards/a/ArmsDealer.java
index dafb0de49b..67da3c871f 100644
--- a/Mage.Sets/src/mage/cards/a/ArmsDealer.java
+++ b/Mage.Sets/src/mage/cards/a/ArmsDealer.java
@@ -39,7 +39,7 @@ public final class ArmsDealer extends CardImpl {
// {1}{R}, Sacrifice a Goblin: Arms Dealer deals 4 damage to target creature.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new DamageTargetEffect(4),
- new ManaCostsImpl("{1}{R}"));
+ new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/ArmyOfTheDamned.java b/Mage.Sets/src/mage/cards/a/ArmyOfTheDamned.java
index a220f66c4e..a5ddf7b23e 100644
--- a/Mage.Sets/src/mage/cards/a/ArmyOfTheDamned.java
+++ b/Mage.Sets/src/mage/cards/a/ArmyOfTheDamned.java
@@ -23,7 +23,7 @@ public final class ArmyOfTheDamned extends CardImpl {
this.getSpellAbility().addEffect(new CreateTokenEffect(new ZombieToken(), 13, true, false));
// Flashback {7}{B}{B}{B}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{7}{B}{B}{B}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{7}{B}{B}{B}")));
}
private ArmyOfTheDamned(final ArmyOfTheDamned card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArnjlotsAscent.java b/Mage.Sets/src/mage/cards/a/ArnjlotsAscent.java
index 1bc4197044..225b6ca7cd 100644
--- a/Mage.Sets/src/mage/cards/a/ArnjlotsAscent.java
+++ b/Mage.Sets/src/mage/cards/a/ArnjlotsAscent.java
@@ -25,10 +25,10 @@ public final class ArnjlotsAscent extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}");
// Cumulative upkeep {U}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{U}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{U}")));
// {1}: Target creature gains flying until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(),
- Duration.EndOfTurn), new ManaCostsImpl("{1}"));
+ Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/ArrowVolleyTrap.java b/Mage.Sets/src/mage/cards/a/ArrowVolleyTrap.java
index 27a6ee9e85..a846575e5d 100644
--- a/Mage.Sets/src/mage/cards/a/ArrowVolleyTrap.java
+++ b/Mage.Sets/src/mage/cards/a/ArrowVolleyTrap.java
@@ -24,7 +24,7 @@ public final class ArrowVolleyTrap extends CardImpl {
this.subtype.add(SubType.TRAP);
// If four or more creatures are attacking, you may pay {1}{W} rather than pay Arrow Volley Trap's mana cost.
- this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl("{1}{W}"), ArrowVolleyTrapCondition.instance));
+ this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl<>("{1}{W}"), ArrowVolleyTrapCondition.instance));
// Arrow Volley Trap deals 5 damage divided as you choose among any number of target attacking creatures.
this.getSpellAbility().addEffect(new DamageMultiEffect(5));
diff --git a/Mage.Sets/src/mage/cards/a/ArtfulDodge.java b/Mage.Sets/src/mage/cards/a/ArtfulDodge.java
index c2d8926523..9a21bd5628 100644
--- a/Mage.Sets/src/mage/cards/a/ArtfulDodge.java
+++ b/Mage.Sets/src/mage/cards/a/ArtfulDodge.java
@@ -25,7 +25,7 @@ public final class ArtfulDodge extends CardImpl {
this.getSpellAbility().addEffect(new CantBeBlockedTargetEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Flashback {U}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{U}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{U}")));
}
private ArtfulDodge(final ArtfulDodge card) {
diff --git a/Mage.Sets/src/mage/cards/a/ArtificersIntuition.java b/Mage.Sets/src/mage/cards/a/ArtificersIntuition.java
index 1ff0807b76..a1528c48ce 100644
--- a/Mage.Sets/src/mage/cards/a/ArtificersIntuition.java
+++ b/Mage.Sets/src/mage/cards/a/ArtificersIntuition.java
@@ -32,7 +32,7 @@ public final class ArtificersIntuition extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
// {U}, Discard an artifact card: Search your library for an artifact card with converted mana cost 1 or less, reveal that card, and put it into your hand. Then shuffle your library.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), new ManaCostsImpl<>("{U}"));
ability.addCost(new DiscardCardCost(StaticFilters.FILTER_CARD_ARTIFACT_AN));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AryelKnightOfWindgrace.java b/Mage.Sets/src/mage/cards/a/AryelKnightOfWindgrace.java
index 59d17c4281..9bed290a7a 100644
--- a/Mage.Sets/src/mage/cards/a/AryelKnightOfWindgrace.java
+++ b/Mage.Sets/src/mage/cards/a/AryelKnightOfWindgrace.java
@@ -46,14 +46,14 @@ public final class AryelKnightOfWindgrace extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// {2}{W}, {T}: Create a 2/2 white Knight creature token with vigilance.
- Ability tokenAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new KnightToken()), new ManaCostsImpl("{2}{W}"));
+ Ability tokenAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new KnightToken()), new ManaCostsImpl<>("{2}{W}"));
tokenAbility.addCost(new TapSourceCost());
this.addAbility(tokenAbility);
// {B}, {T}, Tap X untapped Knights you control: Destroy target creature with power X or less.
//Simple costs
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect()
- .setText("Destroy target creature with power X or less"), new ManaCostsImpl("{B}"));
+ .setText("Destroy target creature with power X or less"), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new AryelTapXTargetCost());
ability.setTargetAdjuster(AryelKnightOfWindgraceAdjuster.instance);
diff --git a/Mage.Sets/src/mage/cards/a/AsForetold.java b/Mage.Sets/src/mage/cards/a/AsForetold.java
index e4b281fa86..610e9d2989 100644
--- a/Mage.Sets/src/mage/cards/a/AsForetold.java
+++ b/Mage.Sets/src/mage/cards/a/AsForetold.java
@@ -86,7 +86,7 @@ class AsForetoldAlternativeCost extends AlternativeCostSourceAbility {
private boolean wasActivated;
AsForetoldAlternativeCost(int timeCounters) {
- super(new ManaCostsImpl("{0}"), new SpellWithManaCostLessThanOrEqualToCondition(timeCounters));
+ super(new ManaCostsImpl<>("{0}"), new SpellWithManaCostLessThanOrEqualToCondition(timeCounters));
}
private AsForetoldAlternativeCost(final AsForetoldAlternativeCost ability) {
diff --git a/Mage.Sets/src/mage/cards/a/AscendantSpirit.java b/Mage.Sets/src/mage/cards/a/AscendantSpirit.java
index b9972d2aa0..57ce64a599 100644
--- a/Mage.Sets/src/mage/cards/a/AscendantSpirit.java
+++ b/Mage.Sets/src/mage/cards/a/AscendantSpirit.java
@@ -35,7 +35,7 @@ public final class AscendantSpirit extends CardImpl {
// {S}{S}: Ascendant Spirit becomes a Spirit Warrior with base power and toughness 2/3.
Ability ability = new SimpleActivatedAbility(new AddCardSubTypeSourceEffect(
Duration.Custom, SubType.SPIRIT, SubType.WARRIOR
- ).setText("{this} becomes a Spirit Warrior"), new ManaCostsImpl("{S}{S}"));
+ ).setText("{this} becomes a Spirit Warrior"), new ManaCostsImpl<>("{S}{S}"));
ability.addEffect(new SetPowerToughnessSourceEffect(
2, 3, Duration.Custom, SubLayer.SetPT_7b
).setText("with base power and toughness 2/3"));
@@ -43,12 +43,12 @@ public final class AscendantSpirit extends CardImpl {
// {S}{S}{S}: If Ascendant Spirit is a Warrior, put a flying counter on it and it becomes a Spirit Warrior Angel with base power and toughness 4/4.
this.addAbility(new SimpleActivatedAbility(
- new AscendantSpiritWarriorEffect(), new ManaCostsImpl("{S}{S}{S}")
+ new AscendantSpiritWarriorEffect(), new ManaCostsImpl<>("{S}{S}{S}")
));
// {S}{S}{S}{S}: If Ascendant Spirit is an Angel, put two +1/+1 counters on it and it gains "Whenever this creature deals damage to a player, draw a card."
this.addAbility(new SimpleActivatedAbility(
- new AscendantSpiritAngelEffect(), new ManaCostsImpl("{S}{S}{S}{S}")
+ new AscendantSpiritAngelEffect(), new ManaCostsImpl<>("{S}{S}{S}{S}")
));
}
diff --git a/Mage.Sets/src/mage/cards/a/AscendingAven.java b/Mage.Sets/src/mage/cards/a/AscendingAven.java
index 1770a937c2..a05231d03e 100644
--- a/Mage.Sets/src/mage/cards/a/AscendingAven.java
+++ b/Mage.Sets/src/mage/cards/a/AscendingAven.java
@@ -30,7 +30,7 @@ public final class AscendingAven extends CardImpl {
// Ascending Aven can block only creatures with flying.
this.addAbility(new CanBlockOnlyFlyingAbility());
// Morph {2}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{U}")));
}
private AscendingAven(final AscendingAven card) {
diff --git a/Mage.Sets/src/mage/cards/a/Asceticism.java b/Mage.Sets/src/mage/cards/a/Asceticism.java
index a59ffcec75..41aaa31eeb 100644
--- a/Mage.Sets/src/mage/cards/a/Asceticism.java
+++ b/Mage.Sets/src/mage/cards/a/Asceticism.java
@@ -29,7 +29,7 @@ public final class Asceticism extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES)));
// {1}{G}: Regenerate target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{1}{G}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AshBarrens.java b/Mage.Sets/src/mage/cards/a/AshBarrens.java
index 78c4231f59..9afefb3db9 100644
--- a/Mage.Sets/src/mage/cards/a/AshBarrens.java
+++ b/Mage.Sets/src/mage/cards/a/AshBarrens.java
@@ -22,7 +22,7 @@ public final class AshBarrens extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// Basic landcycling {1}
- this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl<>("{1}")));
}
private AshBarrens(final AshBarrens card) {
diff --git a/Mage.Sets/src/mage/cards/a/AshenFirebeast.java b/Mage.Sets/src/mage/cards/a/AshenFirebeast.java
index b0429a137e..fdf7d0bfc5 100644
--- a/Mage.Sets/src/mage/cards/a/AshenFirebeast.java
+++ b/Mage.Sets/src/mage/cards/a/AshenFirebeast.java
@@ -36,7 +36,7 @@ public final class AshenFirebeast extends CardImpl {
this.toughness = new MageInt(6);
// {1}{R}: Ashen Firebeast deals 1 damage to each creature without flying.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter), new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter), new ManaCostsImpl<>("{1}{R}")));
}
private AshenFirebeast(final AshenFirebeast card) {
diff --git a/Mage.Sets/src/mage/cards/a/AshenGhoul.java b/Mage.Sets/src/mage/cards/a/AshenGhoul.java
index 41e16e6cb9..9dada96813 100644
--- a/Mage.Sets/src/mage/cards/a/AshenGhoul.java
+++ b/Mage.Sets/src/mage/cards/a/AshenGhoul.java
@@ -39,7 +39,7 @@ public final class AshenGhoul extends CardImpl {
this.addAbility(new ConditionalActivatedAbility(
Zone.GRAVEYARD,
new ReturnSourceFromGraveyardToBattlefieldEffect(),
- new ManaCostsImpl("{B}"),
+ new ManaCostsImpl<>("{B}"),
AshenGhoulCondition.instance
));
}
diff --git a/Mage.Sets/src/mage/cards/a/AshioksSkulker.java b/Mage.Sets/src/mage/cards/a/AshioksSkulker.java
index e67a4f5e3e..776b9c1550 100644
--- a/Mage.Sets/src/mage/cards/a/AshioksSkulker.java
+++ b/Mage.Sets/src/mage/cards/a/AshioksSkulker.java
@@ -26,7 +26,7 @@ public final class AshioksSkulker extends CardImpl {
// {3}{U}: Ashiok's Skulker can't be blocked this turn.
this.addAbility(new SimpleActivatedAbility(
- new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl("{3}{U}")
+ new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{3}{U}")
));
}
diff --git a/Mage.Sets/src/mage/cards/a/AshlingThePilgrim.java b/Mage.Sets/src/mage/cards/a/AshlingThePilgrim.java
index 32680b44c6..5b12b29612 100644
--- a/Mage.Sets/src/mage/cards/a/AshlingThePilgrim.java
+++ b/Mage.Sets/src/mage/cards/a/AshlingThePilgrim.java
@@ -39,7 +39,7 @@ public final class AshlingThePilgrim extends CardImpl {
// {1}{R}: Put a +1/+1 counter on Ashling the Pilgrim. If this is the third time this ability has resolved this turn, remove all +1/+1 counters from Ashling the Pilgrim, and it deals that much damage to each creature and each player.
Ability ability = new SimpleActivatedAbility(
- new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{1}{R}")
+ new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{1}{R}")
);
ability.addEffect(new IfAbilityHasResolvedXTimesEffect(Outcome.Damage, 3, new AshlingThePilgrimEffect()));
ability.addHint(AbilityResolutionCountHint.instance);
diff --git a/Mage.Sets/src/mage/cards/a/AshnodsBattleGear.java b/Mage.Sets/src/mage/cards/a/AshnodsBattleGear.java
index e7a7b4314a..74730f8bfb 100644
--- a/Mage.Sets/src/mage/cards/a/AshnodsBattleGear.java
+++ b/Mage.Sets/src/mage/cards/a/AshnodsBattleGear.java
@@ -30,7 +30,7 @@ public final class AshnodsBattleGear extends CardImpl {
// {2}, {tap}: Target creature you control gets +2/-2 for as long as Ashnod's Battle Gear remains tapped.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
new BoostTargetEffect(2, -2, Duration.Custom), SourceTappedCondition.TAPPED,
- "target creature you control gets +2/-2 for as long as {this} remains tapped"), new ManaCostsImpl("{2}"));
+ "target creature you control gets +2/-2 for as long as {this} remains tapped"), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AsmodeusTheArchfiend.java b/Mage.Sets/src/mage/cards/a/AsmodeusTheArchfiend.java
index 047564ad01..b41ac3ba9b 100644
--- a/Mage.Sets/src/mage/cards/a/AsmodeusTheArchfiend.java
+++ b/Mage.Sets/src/mage/cards/a/AsmodeusTheArchfiend.java
@@ -40,7 +40,7 @@ public final class AsmodeusTheArchfiend extends CardImpl {
this.addAbility(new SimpleStaticAbility(new AsmodeusTheArchfiendReplacementEffect()).withFlavorWord("Binding Contract"));
// {B}{B}{B}: Draw seven cards.
- this.addAbility(new SimpleActivatedAbility(new DrawCardSourceControllerEffect(7), new ManaCostsImpl("{B}{B}{B}")));
+ this.addAbility(new SimpleActivatedAbility(new DrawCardSourceControllerEffect(7), new ManaCostsImpl<>("{B}{B}{B}")));
// {B}: Return all cards exiled with Asmodeus the Archfiend to their owner's hand and you lose that much life.
this.addAbility(new AsmodeusTheArchfiendReturnAbility());
@@ -102,7 +102,7 @@ class AsmodeusTheArchfiendReplacementEffect extends ReplacementEffectImpl {
class AsmodeusTheArchfiendReturnAbility extends ActivatedAbilityImpl {
public AsmodeusTheArchfiendReturnAbility() {
- super(Zone.BATTLEFIELD, new AsmodeusTheArchfiendReturnEffect(), new ManaCostsImpl("{B}"));
+ super(Zone.BATTLEFIELD, new AsmodeusTheArchfiendReturnEffect(), new ManaCostsImpl<>("{B}"));
}
private AsmodeusTheArchfiendReturnAbility(final AsmodeusTheArchfiendReturnAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/a/AsphodelWanderer.java b/Mage.Sets/src/mage/cards/a/AsphodelWanderer.java
index 97f483b65b..401b90b287 100644
--- a/Mage.Sets/src/mage/cards/a/AsphodelWanderer.java
+++ b/Mage.Sets/src/mage/cards/a/AsphodelWanderer.java
@@ -27,7 +27,7 @@ public final class AsphodelWanderer extends CardImpl {
this.toughness = new MageInt(1);
// {2}{B}: Regenerate Asphodel Wanderer.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{2}{B}")));
}
private AsphodelWanderer(final AsphodelWanderer card) {
diff --git a/Mage.Sets/src/mage/cards/a/AssaultFormation.java b/Mage.Sets/src/mage/cards/a/AssaultFormation.java
index 645fec98a5..5cc6683eb9 100644
--- a/Mage.Sets/src/mage/cards/a/AssaultFormation.java
+++ b/Mage.Sets/src/mage/cards/a/AssaultFormation.java
@@ -39,12 +39,12 @@ public final class AssaultFormation extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CombatDamageByToughnessEffect(StaticFilters.FILTER_PERMANENT_CREATURE, true)));
// {G}: Target creature with defender can attack this turn as though it didn't have defender.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanAttackAsThoughItDidntHaveDefenderTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanAttackAsThoughItDidntHaveDefenderTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
// {2}{G}: Creatures you control get +0/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}")));
}
diff --git a/Mage.Sets/src/mage/cards/a/AstralDrift.java b/Mage.Sets/src/mage/cards/a/AstralDrift.java
index 7879752767..163edca08d 100644
--- a/Mage.Sets/src/mage/cards/a/AstralDrift.java
+++ b/Mage.Sets/src/mage/cards/a/AstralDrift.java
@@ -37,7 +37,7 @@ public final class AstralDrift extends CardImpl {
this.addAbility(new AstralDriftTriggeredAbility());
// Cycling {2}{W}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{W}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}{W}")));
}
private AstralDrift(final AstralDrift card) {
diff --git a/Mage.Sets/src/mage/cards/a/Astrolabe.java b/Mage.Sets/src/mage/cards/a/Astrolabe.java
index 3712703a27..b4e67fa643 100644
--- a/Mage.Sets/src/mage/cards/a/Astrolabe.java
+++ b/Mage.Sets/src/mage/cards/a/Astrolabe.java
@@ -26,7 +26,7 @@ public final class Astrolabe extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// {1}, {tap}, Sacrifice Astrolabe: Add two mana of any one color. Draw a card at the beginning of the next turn's upkeep.
- SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(2), new ManaCostsImpl("{1}"));
+ SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(2), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(
diff --git a/Mage.Sets/src/mage/cards/a/AsylumVisitor.java b/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
index b201183278..8838eb8d41 100644
--- a/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
+++ b/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
@@ -41,7 +41,7 @@ public final class AsylumVisitor extends CardImpl {
this.addAbility(ability);
// Madness {1}{B}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{1}{B}")));
}
private AsylumVisitor(final AsylumVisitor card) {
diff --git a/Mage.Sets/src/mage/cards/a/AtalyaSamiteMaster.java b/Mage.Sets/src/mage/cards/a/AtalyaSamiteMaster.java
index 473912b2e4..5035b2fb52 100644
--- a/Mage.Sets/src/mage/cards/a/AtalyaSamiteMaster.java
+++ b/Mage.Sets/src/mage/cards/a/AtalyaSamiteMaster.java
@@ -43,7 +43,7 @@ public final class AtalyaSamiteMaster extends CardImpl {
// {X}, {tap}: Choose one - Prevent the next X damage that would be dealt to target creature this turn; or you gain X life. Spend only white mana on X.
PreventDamageToTargetEffect effect = new PreventDamageToTargetEffect(Duration.EndOfTurn, false, true, ManacostVariableValue.REGULAR);
effect.setText("Prevent the next X damage that would be dealt to target creature this turn. Spend only white mana on X.");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{X}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost());
VariableCost variableCost = ability.getManaCostsToPay().getVariableCosts().get(0);
diff --git a/Mage.Sets/src/mage/cards/a/AtarkaBeastbreaker.java b/Mage.Sets/src/mage/cards/a/AtarkaBeastbreaker.java
index 9a40af79a6..e7013ddb2a 100644
--- a/Mage.Sets/src/mage/cards/a/AtarkaBeastbreaker.java
+++ b/Mage.Sets/src/mage/cards/a/AtarkaBeastbreaker.java
@@ -29,7 +29,7 @@ public final class AtarkaBeastbreaker extends CardImpl {
Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD,
new BoostSourceEffect(4,4, Duration.EndOfTurn),
- new ManaCostsImpl("{4}{G}"),
+ new ManaCostsImpl<>("{4}{G}"),
FormidableCondition.instance);
ability.setAbilityWord(AbilityWord.FORMIDABLE);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AtarkaEfreet.java b/Mage.Sets/src/mage/cards/a/AtarkaEfreet.java
index 94b2ee5a42..0381955712 100644
--- a/Mage.Sets/src/mage/cards/a/AtarkaEfreet.java
+++ b/Mage.Sets/src/mage/cards/a/AtarkaEfreet.java
@@ -29,7 +29,7 @@ public final class AtarkaEfreet extends CardImpl {
this.toughness = new MageInt(1);
// Megamorph {2}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{R}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{R}"), true));
// When Atarka Efreet is turned face up, it deals 1 damage to any target.
Effect effect = new DamageTargetEffect(1, "it");
diff --git a/Mage.Sets/src/mage/cards/a/AtarkaMonument.java b/Mage.Sets/src/mage/cards/a/AtarkaMonument.java
index 29d87545fb..c28b376079 100644
--- a/Mage.Sets/src/mage/cards/a/AtarkaMonument.java
+++ b/Mage.Sets/src/mage/cards/a/AtarkaMonument.java
@@ -36,7 +36,7 @@ public final class AtarkaMonument extends CardImpl {
.withSubType(SubType.DRAGON)
.withType(CardType.ARTIFACT)
.withAbility(FlyingAbility.getInstance()),
- "", Duration.EndOfTurn), new ManaCostsImpl("{4}{R}{G}")));
+ "", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{R}{G}")));
}
private AtarkaMonument(final AtarkaMonument card) {
diff --git a/Mage.Sets/src/mage/cards/a/AtarkaPummeler.java b/Mage.Sets/src/mage/cards/a/AtarkaPummeler.java
index 518cc8038a..59e2c51906 100644
--- a/Mage.Sets/src/mage/cards/a/AtarkaPummeler.java
+++ b/Mage.Sets/src/mage/cards/a/AtarkaPummeler.java
@@ -37,7 +37,7 @@ public final class AtarkaPummeler extends CardImpl {
Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD,
new GainAbilityAllEffect(new MenaceAbility(), Duration.EndOfTurn, filter),
- new ManaCostsImpl("{3}{R}{R}"),
+ new ManaCostsImpl<>("{3}{R}{R}"),
FormidableCondition.instance);
ability.setAbilityWord(AbilityWord.FORMIDABLE);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/Attrition.java b/Mage.Sets/src/mage/cards/a/Attrition.java
index 87ba1b29fc..2e0bc9e726 100644
--- a/Mage.Sets/src/mage/cards/a/Attrition.java
+++ b/Mage.Sets/src/mage/cards/a/Attrition.java
@@ -23,7 +23,7 @@ public final class Attrition extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{B}");
//{B}, Sacrifice a creature: Destroy target nonblack creature.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{B}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AugmentingAutomaton.java b/Mage.Sets/src/mage/cards/a/AugmentingAutomaton.java
index 33d214e64e..6e133f73db 100644
--- a/Mage.Sets/src/mage/cards/a/AugmentingAutomaton.java
+++ b/Mage.Sets/src/mage/cards/a/AugmentingAutomaton.java
@@ -27,7 +27,7 @@ public final class AugmentingAutomaton extends CardImpl {
this.toughness = new MageInt(1);
// {1}{B}: Augmenting Automaton gets +1/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")));
}
private AugmentingAutomaton(final AugmentingAutomaton card) {
diff --git a/Mage.Sets/src/mage/cards/a/AugurOfSkulls.java b/Mage.Sets/src/mage/cards/a/AugurOfSkulls.java
index 88db95898c..44b61138ec 100644
--- a/Mage.Sets/src/mage/cards/a/AugurOfSkulls.java
+++ b/Mage.Sets/src/mage/cards/a/AugurOfSkulls.java
@@ -33,7 +33,7 @@ public final class AugurOfSkulls extends CardImpl {
this.toughness = new MageInt(1);
// {1}{B}: Regenerate Augur of Skulls.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
// Sacrifice Augur of Skulls: Target player discards two cards. Activate this ability only during your upkeep.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new DiscardTargetEffect(2),
diff --git a/Mage.Sets/src/mage/cards/a/AuraExtraction.java b/Mage.Sets/src/mage/cards/a/AuraExtraction.java
index 5e9fcf7648..0d5511f598 100644
--- a/Mage.Sets/src/mage/cards/a/AuraExtraction.java
+++ b/Mage.Sets/src/mage/cards/a/AuraExtraction.java
@@ -24,7 +24,7 @@ public final class AuraExtraction extends CardImpl {
this.getSpellAbility().addTarget(new TargetEnchantmentPermanent());
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private AuraExtraction(final AuraExtraction card) {
diff --git a/Mage.Sets/src/mage/cards/a/AuriokReplica.java b/Mage.Sets/src/mage/cards/a/AuriokReplica.java
index 86dfd28348..df0f99496b 100644
--- a/Mage.Sets/src/mage/cards/a/AuriokReplica.java
+++ b/Mage.Sets/src/mage/cards/a/AuriokReplica.java
@@ -33,7 +33,7 @@ public final class AuriokReplica extends CardImpl {
this.toughness = new MageInt(2);
// {W}, Sacrifice Auriok Replica: Prevent all damage a source of your choice would deal to you this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AuriokReplicaEffect(), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AuriokReplicaEffect(), new ManaCostsImpl<>("{W}"));
ability.addTarget(new TargetSource());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AuriokSalvagers.java b/Mage.Sets/src/mage/cards/a/AuriokSalvagers.java
index 396921324d..6da02d3aba 100644
--- a/Mage.Sets/src/mage/cards/a/AuriokSalvagers.java
+++ b/Mage.Sets/src/mage/cards/a/AuriokSalvagers.java
@@ -38,7 +38,7 @@ public final class AuriokSalvagers extends CardImpl {
this.toughness = new MageInt(4);
// {1}{W}: Return target artifact card with converted mana cost 1 or less from your graveyard to your hand.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(),new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(),new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AuroraEidolon.java b/Mage.Sets/src/mage/cards/a/AuroraEidolon.java
index acb8b3edff..d0dbb26126 100644
--- a/Mage.Sets/src/mage/cards/a/AuroraEidolon.java
+++ b/Mage.Sets/src/mage/cards/a/AuroraEidolon.java
@@ -32,7 +32,7 @@ public final class AuroraEidolon extends CardImpl {
this.toughness = new MageInt(2);
// {W}, Sacrifice Aurora Eidolon: Prevent the next 3 damage that would be dealt to any target this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 3), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 3), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AuroraGriffin.java b/Mage.Sets/src/mage/cards/a/AuroraGriffin.java
index 19328bd7b9..63051e0531 100644
--- a/Mage.Sets/src/mage/cards/a/AuroraGriffin.java
+++ b/Mage.Sets/src/mage/cards/a/AuroraGriffin.java
@@ -33,7 +33,7 @@ public final class AuroraGriffin extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {W}: Target permanent becomes white until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorTargetEffect(ObjectColor.WHITE,
- Duration.EndOfTurn), new ManaCostsImpl("{W}"));
+ Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
ability.addTarget(new TargetPermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AuspiciousAncestor.java b/Mage.Sets/src/mage/cards/a/AuspiciousAncestor.java
index 862862003f..81ccf643fb 100644
--- a/Mage.Sets/src/mage/cards/a/AuspiciousAncestor.java
+++ b/Mage.Sets/src/mage/cards/a/AuspiciousAncestor.java
@@ -37,7 +37,7 @@ public final class AuspiciousAncestor extends CardImpl {
// When Auspicious Ancestor dies, you gain 3 life.
this.addAbility(new DiesSourceTriggeredAbility(new GainLifeEffect(3), false));
// Whenever a player casts a white spell, you may pay {1}. If you do, you gain 1 life.
- this.addAbility(new SpellCastAllTriggeredAbility(new DoIfCostPaid(new GainLifeEffect(1), new ManaCostsImpl("{1}")), filter, false));
+ this.addAbility(new SpellCastAllTriggeredAbility(new DoIfCostPaid(new GainLifeEffect(1), new ManaCostsImpl<>("{1}")), filter, false));
}
private AuspiciousAncestor(final AuspiciousAncestor card) {
diff --git a/Mage.Sets/src/mage/cards/a/AutumnWillow.java b/Mage.Sets/src/mage/cards/a/AutumnWillow.java
index e7bd1c7ba3..7e199f7985 100644
--- a/Mage.Sets/src/mage/cards/a/AutumnWillow.java
+++ b/Mage.Sets/src/mage/cards/a/AutumnWillow.java
@@ -32,7 +32,7 @@ public final class AutumnWillow extends CardImpl {
this.addAbility(ShroudAbility.getInstance());
// {G}: Until end of turn, Autumn Willow can be the target of spells and abilities controlled by target player as though it didn't have shroud.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AutumnWillowEffect(), new ManaCostsImpl("{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AutumnWillowEffect(), new ManaCostsImpl<>("{G}"));
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AutumnalGloom.java b/Mage.Sets/src/mage/cards/a/AutumnalGloom.java
index fbf7ac4320..4b61475d67 100644
--- a/Mage.Sets/src/mage/cards/a/AutumnalGloom.java
+++ b/Mage.Sets/src/mage/cards/a/AutumnalGloom.java
@@ -28,7 +28,7 @@ public final class AutumnalGloom extends CardImpl {
this.secondSideCardClazz = AncientOfTheEquinox.class;
// {B}: Put the top card of your library into your graveyard.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsControllerEffect(1), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsControllerEffect(1), new ManaCostsImpl<>("{B}")));
// Delirium — At the beginning of your end step, if there are four or more card types among cards in your graveyard, transform Autumnal Gloom.
this.addAbility(new TransformAbility());
diff --git a/Mage.Sets/src/mage/cards/a/AvacynsJudgment.java b/Mage.Sets/src/mage/cards/a/AvacynsJudgment.java
index c13154d5ae..8746129321 100644
--- a/Mage.Sets/src/mage/cards/a/AvacynsJudgment.java
+++ b/Mage.Sets/src/mage/cards/a/AvacynsJudgment.java
@@ -25,7 +25,7 @@ public final class AvacynsJudgment extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}");
// Madness {X}{R}
- Ability ability = new MadnessAbility(new ManaCostsImpl("{X}{R}"));
+ Ability ability = new MadnessAbility(new ManaCostsImpl<>("{X}{R}"));
ability.setRuleAtTheTop(true);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AvariceTotem.java b/Mage.Sets/src/mage/cards/a/AvariceTotem.java
index 7e467da997..5fb073015a 100644
--- a/Mage.Sets/src/mage/cards/a/AvariceTotem.java
+++ b/Mage.Sets/src/mage/cards/a/AvariceTotem.java
@@ -24,7 +24,7 @@ public final class AvariceTotem extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {5}: Exchange control of Avarice Totem and target nonland permanent.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExchangeControlTargetEffect(Duration.EndOfGame, rule, true), new ManaCostsImpl("{5}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExchangeControlTargetEffect(Duration.EndOfGame, rule, true), new ManaCostsImpl<>("{5}"));
ability.addTarget(new TargetNonlandPermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AvatarOfFury.java b/Mage.Sets/src/mage/cards/a/AvatarOfFury.java
index 6b82a1050d..2073fc4b78 100644
--- a/Mage.Sets/src/mage/cards/a/AvatarOfFury.java
+++ b/Mage.Sets/src/mage/cards/a/AvatarOfFury.java
@@ -53,7 +53,7 @@ public final class AvatarOfFury extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {R}: Avatar of Fury 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 AvatarOfFury(final AvatarOfFury card) {
diff --git a/Mage.Sets/src/mage/cards/a/AvenArcher.java b/Mage.Sets/src/mage/cards/a/AvenArcher.java
index 659793bda2..f40913eb9a 100644
--- a/Mage.Sets/src/mage/cards/a/AvenArcher.java
+++ b/Mage.Sets/src/mage/cards/a/AvenArcher.java
@@ -36,7 +36,7 @@ public final class AvenArcher extends CardImpl {
// {2}{W}, {tap}: Aven Archer deals 2 damage to target attacking or blocking creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAttackingOrBlockingCreature());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AvenFateshaper.java b/Mage.Sets/src/mage/cards/a/AvenFateshaper.java
index 2194b5f443..821ca1d8a5 100644
--- a/Mage.Sets/src/mage/cards/a/AvenFateshaper.java
+++ b/Mage.Sets/src/mage/cards/a/AvenFateshaper.java
@@ -32,7 +32,7 @@ public final class AvenFateshaper extends CardImpl {
// When Aven Fateshaper enters the battlefield, look at the top four cards of your library, then put them back in any order.
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryControllerEffect(4)));
// {4}{U}: Look at the top four cards of your library, then put them back in any order.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookLibraryControllerEffect(4), new ManaCostsImpl("{4}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookLibraryControllerEffect(4), new ManaCostsImpl<>("{4}{U}")));
}
private AvenFateshaper(final AvenFateshaper card) {
diff --git a/Mage.Sets/src/mage/cards/a/AvenFlock.java b/Mage.Sets/src/mage/cards/a/AvenFlock.java
index f65fc68ee2..2d3393f547 100644
--- a/Mage.Sets/src/mage/cards/a/AvenFlock.java
+++ b/Mage.Sets/src/mage/cards/a/AvenFlock.java
@@ -31,7 +31,7 @@ public final class AvenFlock extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {W}: Aven Flock gets +0/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
}
private AvenFlock(final AvenFlock card) {
diff --git a/Mage.Sets/src/mage/cards/a/AvenInitiate.java b/Mage.Sets/src/mage/cards/a/AvenInitiate.java
index fc336b9848..8e3dd73d6c 100644
--- a/Mage.Sets/src/mage/cards/a/AvenInitiate.java
+++ b/Mage.Sets/src/mage/cards/a/AvenInitiate.java
@@ -29,7 +29,7 @@ public final class AvenInitiate extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Embalm {6}{U}
- this.addAbility(new EmbalmAbility(new ManaCostsImpl("{6}{U}"), this));
+ this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{6}{U}"), this));
}
diff --git a/Mage.Sets/src/mage/cards/a/AvenLiberator.java b/Mage.Sets/src/mage/cards/a/AvenLiberator.java
index 18deae5c05..c61f2d1ed7 100644
--- a/Mage.Sets/src/mage/cards/a/AvenLiberator.java
+++ b/Mage.Sets/src/mage/cards/a/AvenLiberator.java
@@ -32,7 +32,7 @@ public final class AvenLiberator extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Morph {3}{W}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{W}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{W}")));
// When Aven Liberator is turned face up, target creature you control gains protection from the color of your choice until end of turn.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn));
ability.addTarget(new TargetControlledCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/a/AvenSoulgazer.java b/Mage.Sets/src/mage/cards/a/AvenSoulgazer.java
index 647c2d9c61..eb2a80de96 100644
--- a/Mage.Sets/src/mage/cards/a/AvenSoulgazer.java
+++ b/Mage.Sets/src/mage/cards/a/AvenSoulgazer.java
@@ -47,7 +47,7 @@ public final class AvenSoulgazer extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {2}{W}: Look at target face-down creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AvenSoulgazerLookFaceDownEffect(), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AvenSoulgazerLookFaceDownEffect(), new ManaCostsImpl<>("{2}{W}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AvenSunstriker.java b/Mage.Sets/src/mage/cards/a/AvenSunstriker.java
index aa2765914e..91ce73b0f0 100644
--- a/Mage.Sets/src/mage/cards/a/AvenSunstriker.java
+++ b/Mage.Sets/src/mage/cards/a/AvenSunstriker.java
@@ -30,7 +30,7 @@ public final class AvenSunstriker extends CardImpl {
// Double strike
this.addAbility(DoubleStrikeAbility.getInstance());
// Megamorph {4}{W}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{W}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{W}"), true));
}
private AvenSunstriker(final AvenSunstriker card) {
diff --git a/Mage.Sets/src/mage/cards/a/AvenTrooper.java b/Mage.Sets/src/mage/cards/a/AvenTrooper.java
index d38da2a11d..c1dd396887 100644
--- a/Mage.Sets/src/mage/cards/a/AvenTrooper.java
+++ b/Mage.Sets/src/mage/cards/a/AvenTrooper.java
@@ -32,7 +32,7 @@ public final class AvenTrooper extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {2}{W}, Discard a card: Aven Trooper gets +1/+2 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 2, Duration.EndOfTurn), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AvenWindGuide.java b/Mage.Sets/src/mage/cards/a/AvenWindGuide.java
index 81e98d4870..5cbf46c731 100644
--- a/Mage.Sets/src/mage/cards/a/AvenWindGuide.java
+++ b/Mage.Sets/src/mage/cards/a/AvenWindGuide.java
@@ -55,7 +55,7 @@ public final class AvenWindGuide extends CardImpl {
this.addAbility(ability);
// Embalm {4}{W}{U}
- this.addAbility(new EmbalmAbility(new ManaCostsImpl("{4}{W}{U}"), this));
+ this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{4}{W}{U}"), this));
}
private AvenWindGuide(final AvenWindGuide card) {
diff --git a/Mage.Sets/src/mage/cards/a/AvenWindreader.java b/Mage.Sets/src/mage/cards/a/AvenWindreader.java
index 31418007ea..6aa413c84b 100644
--- a/Mage.Sets/src/mage/cards/a/AvenWindreader.java
+++ b/Mage.Sets/src/mage/cards/a/AvenWindreader.java
@@ -36,7 +36,7 @@ public final class AvenWindreader extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}{U}: Target player reveals the top card of their library.
- Ability ability = new SimpleActivatedAbility(new AvenWindreaderEffect(), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(new AvenWindreaderEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AvengerEnDal.java b/Mage.Sets/src/mage/cards/a/AvengerEnDal.java
index 7e0ce1b2ab..efab2479a6 100644
--- a/Mage.Sets/src/mage/cards/a/AvengerEnDal.java
+++ b/Mage.Sets/src/mage/cards/a/AvengerEnDal.java
@@ -34,7 +34,7 @@ public final class AvengerEnDal extends CardImpl {
this.toughness = new MageInt(1);
// {2}{W}, {T}, Discard a card: Exile target attacking creature. Its controller gains life equal to its toughness.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetAttackingCreature());
diff --git a/Mage.Sets/src/mage/cards/a/AvianOddity.java b/Mage.Sets/src/mage/cards/a/AvianOddity.java
index 1fd336ea1a..367025d9c7 100644
--- a/Mage.Sets/src/mage/cards/a/AvianOddity.java
+++ b/Mage.Sets/src/mage/cards/a/AvianOddity.java
@@ -32,7 +32,7 @@ public final class AvianOddity extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Cycling {2}{U}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}{U}")));
// When you cycle Avian Oddity, put a flying counter on target creature you control.
Ability ability = new CycleTriggeredAbility(new AddCountersTargetEffect(CounterType.FLYING.createInstance()));
diff --git a/Mage.Sets/src/mage/cards/a/Avizoa.java b/Mage.Sets/src/mage/cards/a/Avizoa.java
index 1102019d23..15e077db67 100644
--- a/Mage.Sets/src/mage/cards/a/Avizoa.java
+++ b/Mage.Sets/src/mage/cards/a/Avizoa.java
@@ -33,7 +33,7 @@ public final class Avizoa extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {0}: Avizoa gets +2/+2 until end of turn. You skip your next untap step. Activate this ability only once each turn.
- Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{0}"));
+ Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{0}"));
ability.addEffect(new SkipNextPlayerUntapStepEffect());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AwesomePresence.java b/Mage.Sets/src/mage/cards/a/AwesomePresence.java
index e0654d39ce..4735a51254 100644
--- a/Mage.Sets/src/mage/cards/a/AwesomePresence.java
+++ b/Mage.Sets/src/mage/cards/a/AwesomePresence.java
@@ -40,7 +40,7 @@ public final class AwesomePresence extends CardImpl {
this.addAbility(ability);
// Enchanted creature can't be blocked unless defending player pays {3} for each creature they control that's blocking it.
- this.addAbility(new SimpleStaticAbility(new AwesomePresenceRestrictionEffect(new ManaCostsImpl("{3}"))));
+ this.addAbility(new SimpleStaticAbility(new AwesomePresenceRestrictionEffect(new ManaCostsImpl<>("{3}"))));
}
diff --git a/Mage.Sets/src/mage/cards/a/AxgardArmory.java b/Mage.Sets/src/mage/cards/a/AxgardArmory.java
index a275274dc5..ea84ad41b0 100644
--- a/Mage.Sets/src/mage/cards/a/AxgardArmory.java
+++ b/Mage.Sets/src/mage/cards/a/AxgardArmory.java
@@ -38,7 +38,7 @@ public final class AxgardArmory extends CardImpl {
new SearchLibraryPutInHandEffect(new AxgardArmoryTarget(), true)
.setText("search your library for an Aura card and/or an Equipment card, reveal them, " +
"put them into your hand, then shuffle"),
- new ManaCostsImpl("{1}{R}{R}{W}")
+ new ManaCostsImpl<>("{1}{R}{R}{W}")
);
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/a/AyeshaTanaka.java b/Mage.Sets/src/mage/cards/a/AyeshaTanaka.java
index 159ba11a22..d0712960ef 100644
--- a/Mage.Sets/src/mage/cards/a/AyeshaTanaka.java
+++ b/Mage.Sets/src/mage/cards/a/AyeshaTanaka.java
@@ -43,7 +43,7 @@ public final class AyeshaTanaka extends CardImpl {
this.addAbility(BandingAbility.getInstance());
// {T}: Counter target activated ability from an artifact source unless that ability's controller pays {W}.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl("{W}")), new TapSourceCost());
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl<>("{W}")), new TapSourceCost());
ability.addTarget(new TargetActivatedAbility(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java b/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java
index ca711e757c..6be0b43d03 100644
--- a/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java
+++ b/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java
@@ -55,7 +55,7 @@ public final class AyliEternalPilgrim extends CardImpl {
ability = new ConditionalActivatedAbility(
Zone.BATTLEFIELD,
new ExileTargetEffect(),
- new ManaCostsImpl("{1}{W}{B}"),
+ new ManaCostsImpl<>("{1}{W}{B}"),
new AyliEternalPilgrimCondition(),
"{1}{W}{B}, Sacrifice another creature: Exile target nonland permanent. Activate only if you have at least 10 life more than your starting life total.");
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)));
diff --git a/Mage.Sets/src/mage/cards/a/AzimaetDrake.java b/Mage.Sets/src/mage/cards/a/AzimaetDrake.java
index 9614f0f75d..de541c7021 100644
--- a/Mage.Sets/src/mage/cards/a/AzimaetDrake.java
+++ b/Mage.Sets/src/mage/cards/a/AzimaetDrake.java
@@ -29,7 +29,7 @@ public final class AzimaetDrake extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {U}: Azimaet Drake gets +1/+0 until end of turn. Activate this ability only once each turn.
- this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{U}")));
+ this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
}
private AzimaetDrake(final AzimaetDrake card) {
diff --git a/Mage.Sets/src/mage/cards/a/AzorTheLawbringer.java b/Mage.Sets/src/mage/cards/a/AzorTheLawbringer.java
index 4a1b428af2..ed07cdd0bf 100644
--- a/Mage.Sets/src/mage/cards/a/AzorTheLawbringer.java
+++ b/Mage.Sets/src/mage/cards/a/AzorTheLawbringer.java
@@ -161,7 +161,7 @@ class AzorTheLawbringerAttacksEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
- ManaCosts cost = new ManaCostsImpl("{X}{W}{U}{U}");
+ ManaCosts cost = new ManaCostsImpl<>("{X}{W}{U}{U}");
if (controller.chooseUse(Outcome.Damage, "Pay " + cost.getText() + "? If you do, you gain X life and draw X cards.", source, game)) {
int costX = controller.announceXMana(0, Integer.MAX_VALUE, "Announce the value for {X}", game, source);
cost.add(new GenericManaCost(costX));
diff --git a/Mage.Sets/src/mage/cards/a/AzoriusCluestone.java b/Mage.Sets/src/mage/cards/a/AzoriusCluestone.java
index 75f095b502..d46de76675 100644
--- a/Mage.Sets/src/mage/cards/a/AzoriusCluestone.java
+++ b/Mage.Sets/src/mage/cards/a/AzoriusCluestone.java
@@ -32,7 +32,7 @@ public final class AzoriusCluestone extends CardImpl {
this.addAbility(new BlueManaAbility());
// {W}{U}, {T}, Sacrifice Azorius Cluestone: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{W}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{W}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AzoriusKeyrune.java b/Mage.Sets/src/mage/cards/a/AzoriusKeyrune.java
index 8a699c1207..eae14707ac 100644
--- a/Mage.Sets/src/mage/cards/a/AzoriusKeyrune.java
+++ b/Mage.Sets/src/mage/cards/a/AzoriusKeyrune.java
@@ -36,7 +36,7 @@ public final class AzoriusKeyrune extends CardImpl {
.withSubType(SubType.BIRD)
.withType(CardType.ARTIFACT)
.withAbility(FlyingAbility.getInstance()),
- "", Duration.EndOfTurn), new ManaCostsImpl("{W}{U}")));
+ "", Duration.EndOfTurn), new ManaCostsImpl<>("{W}{U}")));
}
private AzoriusKeyrune(final AzoriusKeyrune card) {
diff --git a/Mage.Sets/src/mage/cards/a/AzureMage.java b/Mage.Sets/src/mage/cards/a/AzureMage.java
index 5149aa25df..ea2922c252 100644
--- a/Mage.Sets/src/mage/cards/a/AzureMage.java
+++ b/Mage.Sets/src/mage/cards/a/AzureMage.java
@@ -25,7 +25,7 @@ public final class AzureMage extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{3}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{3}{U}")));
}
private AzureMage(final AzureMage card) {