diff --git a/Mage.Sets/src/mage/cards/m/MaceWindu.java b/Mage.Sets/src/mage/cards/m/MaceWindu.java
index 6749bb9c43b..b6ebd3b97de 100644
--- a/Mage.Sets/src/mage/cards/m/MaceWindu.java
+++ b/Mage.Sets/src/mage/cards/m/MaceWindu.java
@@ -47,7 +47,7 @@ public final class MaceWindu extends CardImpl {
this.addAbility(ability);
// Meditate {1}{U}
- this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{U}")));
+ this.addAbility(new MeditateAbility(new ManaCostsImpl<>("{1}{U}")));
}
private MaceWindu(final MaceWindu card) {
diff --git a/Mage.Sets/src/mage/cards/m/MacetailHystrodon.java b/Mage.Sets/src/mage/cards/m/MacetailHystrodon.java
index 67d6e3c1d13..818f09ad42e 100644
--- a/Mage.Sets/src/mage/cards/m/MacetailHystrodon.java
+++ b/Mage.Sets/src/mage/cards/m/MacetailHystrodon.java
@@ -30,7 +30,7 @@ public final class MacetailHystrodon extends CardImpl {
// Haste
this.addAbility(HasteAbility.getInstance());
// Cycling {3}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}")));
}
private MacetailHystrodon(final MacetailHystrodon card) {
diff --git a/Mage.Sets/src/mage/cards/m/MadblindMountain.java b/Mage.Sets/src/mage/cards/m/MadblindMountain.java
index 63cd3c954c3..f635a3fb40c 100644
--- a/Mage.Sets/src/mage/cards/m/MadblindMountain.java
+++ b/Mage.Sets/src/mage/cards/m/MadblindMountain.java
@@ -45,7 +45,7 @@ public final class MadblindMountain extends CardImpl {
// {R}, {tap}: Shuffle your library. Activate this ability only if you control two or more red permanents.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new ShuffleLibrarySourceEffect(),
- new ManaCostsImpl("{R}"),
+ new ManaCostsImpl<>("{R}"),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MaelstromDjinn.java b/Mage.Sets/src/mage/cards/m/MaelstromDjinn.java
index a0998a4d4bb..764d3f7406e 100644
--- a/Mage.Sets/src/mage/cards/m/MaelstromDjinn.java
+++ b/Mage.Sets/src/mage/cards/m/MaelstromDjinn.java
@@ -35,7 +35,7 @@ public final class MaelstromDjinn extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Morph {2}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{U}")));
// When Maelstrom Djinn is turned face up, put two time counters on it and it gains vanishing.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance(2)));
Effect effect = new GainAbilitySourceEffect(new VanishingUpkeepAbility(0), Duration.WhileOnBattlefield);
diff --git a/Mage.Sets/src/mage/cards/m/MageRingNetwork.java b/Mage.Sets/src/mage/cards/m/MageRingNetwork.java
index 935e6f0fb9c..6502283911c 100644
--- a/Mage.Sets/src/mage/cards/m/MageRingNetwork.java
+++ b/Mage.Sets/src/mage/cards/m/MageRingNetwork.java
@@ -33,7 +33,7 @@ public final class MageRingNetwork extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {1}, {T}: Put a storage counter on Mage-Ring Network.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.STORAGE.createInstance()),
- new ManaCostsImpl("{1}"));
+ new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
// {T}, Remove any number of storage counters from Mage-Ring Network: Add {C} for each storage counter removed this way.
diff --git a/Mage.Sets/src/mage/cards/m/MageRingResponder.java b/Mage.Sets/src/mage/cards/m/MageRingResponder.java
index 1a328072b36..c38ba3acc32 100644
--- a/Mage.Sets/src/mage/cards/m/MageRingResponder.java
+++ b/Mage.Sets/src/mage/cards/m/MageRingResponder.java
@@ -38,7 +38,7 @@ public final class MageRingResponder extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
// {7}: Untap Mage-Ring Responder.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{7}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{7}")));
// Whenever Mage-Ring Responder attacks, it deals 7 damage to target creature defending player controls.
this.addAbility(new MageRingResponderAbility());
diff --git a/Mage.Sets/src/mage/cards/m/MagesGuile.java b/Mage.Sets/src/mage/cards/m/MagesGuile.java
index ab505a33884..b2910fe42de 100644
--- a/Mage.Sets/src/mage/cards/m/MagesGuile.java
+++ b/Mage.Sets/src/mage/cards/m/MagesGuile.java
@@ -25,7 +25,7 @@ public final class MagesGuile extends CardImpl {
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(ShroudAbility.getInstance(), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Cycling {U}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{U}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{U}")));
}
private MagesGuile(final MagesGuile card) {
diff --git a/Mage.Sets/src/mage/cards/m/MagetaTheLion.java b/Mage.Sets/src/mage/cards/m/MagetaTheLion.java
index ac7e6ffb614..d70d61db827 100644
--- a/Mage.Sets/src/mage/cards/m/MagetaTheLion.java
+++ b/Mage.Sets/src/mage/cards/m/MagetaTheLion.java
@@ -42,7 +42,7 @@ public final class MagetaTheLion extends CardImpl {
this.toughness = new MageInt(3);
// {2}{W}{W}, {tap}, Discard two cards: Destroy all creatures except for Mageta the Lion. Those creatures can't be regenerated.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter, true), new ManaCostsImpl("{2}{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter, true), new ManaCostsImpl<>("{2}{W}{W}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2,2, new FilterCard("two cards"))));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MagewrightsStone.java b/Mage.Sets/src/mage/cards/m/MagewrightsStone.java
index fea2a0bcc71..4ba978a6bff 100644
--- a/Mage.Sets/src/mage/cards/m/MagewrightsStone.java
+++ b/Mage.Sets/src/mage/cards/m/MagewrightsStone.java
@@ -36,7 +36,7 @@ public final class MagewrightsStone extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {1}, {T}: Untap target creature that has an activated ability with {T} in its cost.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MagmaOpus.java b/Mage.Sets/src/mage/cards/m/MagmaOpus.java
index 93f7c0d1d52..fc202b234d1 100644
--- a/Mage.Sets/src/mage/cards/m/MagmaOpus.java
+++ b/Mage.Sets/src/mage/cards/m/MagmaOpus.java
@@ -39,7 +39,7 @@ public final class MagmaOpus extends CardImpl {
// {U/R}{U/R}, Discard Magma Opus: Create a Treasure token.
Ability ability = new SimpleActivatedAbility(
- Zone.HAND, new CreateTokenEffect(new TreasureToken()), new ManaCostsImpl("{U/R}{U/R}")
+ Zone.HAND, new CreateTokenEffect(new TreasureToken()), new ManaCostsImpl<>("{U/R}{U/R}")
);
ability.addCost(new DiscardSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MagmaPhoenix.java b/Mage.Sets/src/mage/cards/m/MagmaPhoenix.java
index 3543d76cf85..7011e599ee6 100644
--- a/Mage.Sets/src/mage/cards/m/MagmaPhoenix.java
+++ b/Mage.Sets/src/mage/cards/m/MagmaPhoenix.java
@@ -31,7 +31,7 @@ public final class MagmaPhoenix extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
this.addAbility(new DiesSourceTriggeredAbility(new DamageEverythingEffect(3, "it"), false));
- this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl("{3}{R}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{3}{R}{R}")));
}
private MagmaPhoenix(final MagmaPhoenix card) {
diff --git a/Mage.Sets/src/mage/cards/m/MagmaVein.java b/Mage.Sets/src/mage/cards/m/MagmaVein.java
index d2af5b96b09..eff727e4227 100644
--- a/Mage.Sets/src/mage/cards/m/MagmaVein.java
+++ b/Mage.Sets/src/mage/cards/m/MagmaVein.java
@@ -37,7 +37,7 @@ public final class MagmaVein extends CardImpl {
// {R}, Sacrifice a land: Magma Vein deals 1 damage to each creature without flying.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter1), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter1), new ManaCostsImpl<>("{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter2)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MagmaticCore.java b/Mage.Sets/src/mage/cards/m/MagmaticCore.java
index 297441d2c01..d133c811e9f 100644
--- a/Mage.Sets/src/mage/cards/m/MagmaticCore.java
+++ b/Mage.Sets/src/mage/cards/m/MagmaticCore.java
@@ -26,7 +26,7 @@ public final class MagmaticCore extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}{R}");
// Cumulative upkeep {1}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
// At the beginning of your end step, Magmatic Core deals X damage divided as you choose among any number of target creatures, where X is the number of age counters on it.
DynamicValue value = new CountersSourceCount(CounterType.AGE);
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheBalance.java b/Mage.Sets/src/mage/cards/m/MagusOfTheBalance.java
index bea16480291..54a3344278c 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheBalance.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheBalance.java
@@ -30,7 +30,7 @@ public final class MagusOfTheBalance extends CardImpl {
// {4}{W}, {T}, Sacrifice Magus of the Balance: Each player chooses a number of lands they control equal to the number of lands controlled by the player who controls the fewest, then sacrifices the rest. Players discard cards and sacrifice creatures the same way.
Ability ability = new SimpleActivatedAbility(
new BalanceEffect(),
- new ManaCostsImpl("{4}{W}")
+ new ManaCostsImpl<>("{4}{W}")
);
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheCandelabra.java b/Mage.Sets/src/mage/cards/m/MagusOfTheCandelabra.java
index a8d48272ea4..04c5f32b787 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheCandelabra.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheCandelabra.java
@@ -33,7 +33,7 @@ public final class MagusOfTheCandelabra extends CardImpl {
// {X}, {T}: Untap X target lands.
Effect effect = new UntapTargetEffect();
effect.setText("untap X target lands");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{X}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_LANDS));
ability.setTargetAdjuster(XTargetsAdjuster.instance);
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java b/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java
index e6acacc43e5..8f512899500 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java
@@ -43,7 +43,7 @@ public final class MagusOfTheDisk extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
// {1}, {tap}: Destroy all artifacts, creatures, and enchantments.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter, false), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter, false), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMind.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMind.java
index d008b35c54e..0a7fb02c586 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheMind.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMind.java
@@ -34,7 +34,7 @@ public final class MagusOfTheMind extends CardImpl {
this.toughness = new MageInt(5);
// U, T, Sacrifice Magus of the Mind: Shuffle your library, then exile the top X cards, where X is one plus the number of spells cast this turn. Until end of turn, you may play cards exiled this way without paying their mana costs.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MagusOfTheMindEffect(), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MagusOfTheMindEffect(), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability, new CastSpellLastTurnWatcher());
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheOrder.java b/Mage.Sets/src/mage/cards/m/MagusOfTheOrder.java
index f343367e796..d06cbef5eea 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheOrder.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheOrder.java
@@ -51,7 +51,7 @@ public final class MagusOfTheOrder extends CardImpl {
// {G}, {T}, Sacrifice Magus of the Order and another green creature: Search your library for a green creature card and put it onto the battlefield. Then shuffle your library.
Ability ability = new SimpleActivatedAbility(new SearchLibraryPutInPlayEffect(
new TargetCardInLibrary(1, filter), false, true
- ), new ManaCostsImpl("{G}"));
+ ), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new CompositeCost(
new SacrificeSourceCost(), new SacrificeTargetCost(new TargetControlledPermanent(filter2)),
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheScroll.java b/Mage.Sets/src/mage/cards/m/MagusOfTheScroll.java
index 1900ddc9618..4f15f1cad4b 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheScroll.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheScroll.java
@@ -34,7 +34,7 @@ public final class MagusOfTheScroll extends CardImpl {
this.toughness = new MageInt(1);
// {3}, {tap}: Name a card. Reveal a card at random from your hand. If it's the named card, Magus of the Scroll deals 2 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ChooseACardNameEffect(ChooseACardNameEffect.TypeOfName.ALL), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ChooseACardNameEffect(ChooseACardNameEffect.TypeOfName.ALL), new ManaCostsImpl<>("{3}"));
ability.addEffect(new MagusOfTheScrollEffect());
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheWheel.java b/Mage.Sets/src/mage/cards/m/MagusOfTheWheel.java
index 9c5a46b79d6..a1d6411b90c 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheWheel.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheWheel.java
@@ -33,7 +33,7 @@ public final class MagusOfTheWheel extends CardImpl {
// {1}{R}, {T}, Sacrifice Magus of the Wheel: Each player discards their hand, then draws seven cards.
Effect effect = new DrawCardAllEffect(7);
effect.setText(", then draws seven cards");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardHandAllEffect(), new ManaCostsImpl("{1}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardHandAllEffect(), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java b/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java
index 149dc7d59ad..ef2df53ac7a 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java
@@ -43,7 +43,7 @@ public final class MagusOfTheWill extends CardImpl {
// {2}{B}, {T}, Exile Magus of the Will: Until end of turn, you may play cards from your graveyard.
// If a card would be put into your graveyard from anywhere else this turn, exile that card instead.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanPlayCardsFromGraveyardEffect(), new ManaCostsImpl("{2}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanPlayCardsFromGraveyardEffect(), new ManaCostsImpl<>("{2}{B}"));
ability.addEffect(new MagusOfTheWillReplacementEffect());
ability.addCost(new TapSourceCost());
ability.addCost(new ExileSourceCost());
diff --git a/Mage.Sets/src/mage/cards/m/MajorTeroh.java b/Mage.Sets/src/mage/cards/m/MajorTeroh.java
index 7b4481f982f..de2e4ad4378 100644
--- a/Mage.Sets/src/mage/cards/m/MajorTeroh.java
+++ b/Mage.Sets/src/mage/cards/m/MajorTeroh.java
@@ -42,7 +42,7 @@ public final class MajorTeroh extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {3}{W}{W}, Sacrifice Major Teroh: Exile all black creatures.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileAllEffect(filter),new ManaCostsImpl("{3}{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileAllEffect(filter),new ManaCostsImpl<>("{3}{W}{W}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MalachOfTheDawn.java b/Mage.Sets/src/mage/cards/m/MalachOfTheDawn.java
index 3724d911bdc..d5ad355b87c 100644
--- a/Mage.Sets/src/mage/cards/m/MalachOfTheDawn.java
+++ b/Mage.Sets/src/mage/cards/m/MalachOfTheDawn.java
@@ -28,7 +28,7 @@ public final class MalachOfTheDawn extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {W}{W}{W}: Regenerate Malach of the Dawn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{W}{W}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{W}{W}{W}")));
}
private MalachOfTheDawn(final MalachOfTheDawn card) {
diff --git a/Mage.Sets/src/mage/cards/m/MalachiteGolem.java b/Mage.Sets/src/mage/cards/m/MalachiteGolem.java
index 498e569af5a..31b004f8ac8 100644
--- a/Mage.Sets/src/mage/cards/m/MalachiteGolem.java
+++ b/Mage.Sets/src/mage/cards/m/MalachiteGolem.java
@@ -25,7 +25,7 @@ public final class MalachiteGolem extends CardImpl {
this.subtype.add(SubType.GOLEM);
this.power = new MageInt(5);
this.toughness = new MageInt(3);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{G}")));
}
private MalachiteGolem(final MalachiteGolem card) {
diff --git a/Mage.Sets/src/mage/cards/m/MalachiteTalisman.java b/Mage.Sets/src/mage/cards/m/MalachiteTalisman.java
index 425d5930be1..a7686742545 100644
--- a/Mage.Sets/src/mage/cards/m/MalachiteTalisman.java
+++ b/Mage.Sets/src/mage/cards/m/MalachiteTalisman.java
@@ -30,7 +30,7 @@ public final class MalachiteTalisman extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// Whenever a player casts a green spell, you may pay {3}. If you do, untap target permanent.
- Ability ability = new SpellCastAllTriggeredAbility(new DoIfCostPaid(new UntapTargetEffect(), new ManaCostsImpl("{3}")), filter, false);
+ Ability ability = new SpellCastAllTriggeredAbility(new DoIfCostPaid(new UntapTargetEffect(), new ManaCostsImpl<>("{3}")), filter, false);
ability.addTarget(new TargetPermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java b/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java
index e227e09d104..222e7cdf944 100644
--- a/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java
+++ b/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java
@@ -33,7 +33,7 @@ public final class MalevolentAwakening extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{B}");
// {1}{B}{B}, Sacrifice a creature: Return target creature card from your graveyard to your hand.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{1}{B}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{1}{B}{B}"));
ability.addTarget(new TargetCardInYourGraveyard(filter));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MalevolentWhispers.java b/Mage.Sets/src/mage/cards/m/MalevolentWhispers.java
index 2a1eae5a819..c7fd49787a3 100644
--- a/Mage.Sets/src/mage/cards/m/MalevolentWhispers.java
+++ b/Mage.Sets/src/mage/cards/m/MalevolentWhispers.java
@@ -40,7 +40,7 @@ public final class MalevolentWhispers extends CardImpl {
this.getSpellAbility().addEffect(effect);
// Madness {3}{R}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{3}{R}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{3}{R}")));
}
private MalevolentWhispers(final MalevolentWhispers card) {
diff --git a/Mage.Sets/src/mage/cards/m/MalignantGrowth.java b/Mage.Sets/src/mage/cards/m/MalignantGrowth.java
index 54e8f93bebb..2a1f6513404 100644
--- a/Mage.Sets/src/mage/cards/m/MalignantGrowth.java
+++ b/Mage.Sets/src/mage/cards/m/MalignantGrowth.java
@@ -28,7 +28,7 @@ public final class MalignantGrowth extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}{U}");
// Cumulative upkeep {1}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
// At the beginning of your upkeep, put a growth counter on Malignant Growth.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
diff --git a/Mage.Sets/src/mage/cards/m/ManaChains.java b/Mage.Sets/src/mage/cards/m/ManaChains.java
index 670d44c572d..14ebe31340c 100644
--- a/Mage.Sets/src/mage/cards/m/ManaChains.java
+++ b/Mage.Sets/src/mage/cards/m/ManaChains.java
@@ -37,7 +37,7 @@ public final class ManaChains extends CardImpl {
this.addAbility(ability);
// Enchanted creature has "Cumulative upkeep {1}."
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(
- new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")), AttachmentType.AURA)));
+ new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")), AttachmentType.AURA)));
}
private ManaChains(final ManaChains card) {
diff --git a/Mage.Sets/src/mage/cards/m/ManaforgeCinder.java b/Mage.Sets/src/mage/cards/m/ManaforgeCinder.java
index c57c5b25284..ecb53d1174c 100644
--- a/Mage.Sets/src/mage/cards/m/ManaforgeCinder.java
+++ b/Mage.Sets/src/mage/cards/m/ManaforgeCinder.java
@@ -35,7 +35,7 @@ public final class ManaforgeCinder extends CardImpl {
this.toughness = new MageInt(1);
// {1}: Add {B} or {R}. Activate this ability no more than three times each turn.
- this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new ManaforgeCinderManaEffect(), new ManaCostsImpl("{1}"), 3));
+ this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new ManaforgeCinderManaEffect(), new ManaCostsImpl<>("{1}"), 3));
}
diff --git a/Mage.Sets/src/mage/cards/m/MannichiTheFeveredDream.java b/Mage.Sets/src/mage/cards/m/MannichiTheFeveredDream.java
index 0967c4f0e43..9ae797f1cf3 100644
--- a/Mage.Sets/src/mage/cards/m/MannichiTheFeveredDream.java
+++ b/Mage.Sets/src/mage/cards/m/MannichiTheFeveredDream.java
@@ -29,7 +29,7 @@ public final class MannichiTheFeveredDream extends CardImpl {
this.toughness = new MageInt(2);
// {1}{R}: Switch each creature's power and toughness until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SwitchPowerToughnessAllEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SwitchPowerToughnessAllEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
}
private MannichiTheFeveredDream(final MannichiTheFeveredDream card) {
diff --git a/Mage.Sets/src/mage/cards/m/ManorGargoyle.java b/Mage.Sets/src/mage/cards/m/ManorGargoyle.java
index 03efbb6aeb5..f95a0cc1c78 100644
--- a/Mage.Sets/src/mage/cards/m/ManorGargoyle.java
+++ b/Mage.Sets/src/mage/cards/m/ManorGargoyle.java
@@ -70,7 +70,7 @@ public final class ManorGargoyle extends CardImpl {
ContinuousEffect effect2 = new LoseAbilitySourceEffect(DefenderAbility.getInstance(), Duration.EndOfTurn);
effect2.addDependencyType(DependencyType.LooseDefenderEffect);
effect2.setText("Until end of turn, {this} loses defender");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect2, new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect2, new ManaCostsImpl<>("{1}"));
effect2 = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn);
effect2.setText("and gains flying");
ability.addEffect(effect2);
diff --git a/Mage.Sets/src/mage/cards/m/ManorSkeleton.java b/Mage.Sets/src/mage/cards/m/ManorSkeleton.java
index 7ea9d64f3b1..cbc1c0438c3 100644
--- a/Mage.Sets/src/mage/cards/m/ManorSkeleton.java
+++ b/Mage.Sets/src/mage/cards/m/ManorSkeleton.java
@@ -28,7 +28,7 @@ public final class ManorSkeleton extends CardImpl {
this.addAbility(HasteAbility.getInstance());
// {1}{B}: Regenerate Manor Skeleton.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
}
private ManorSkeleton(final ManorSkeleton card) {
diff --git a/Mage.Sets/src/mage/cards/m/MarangRiverSkeleton.java b/Mage.Sets/src/mage/cards/m/MarangRiverSkeleton.java
index 9adbddd484d..e6eb6efd954 100644
--- a/Mage.Sets/src/mage/cards/m/MarangRiverSkeleton.java
+++ b/Mage.Sets/src/mage/cards/m/MarangRiverSkeleton.java
@@ -26,10 +26,10 @@ public final class MarangRiverSkeleton extends CardImpl {
this.toughness = new MageInt(1);
// {B}: Regenerate Marang River Skeleton.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
// Megamorph {3}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{B}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{B}"), true));
}
private MarangRiverSkeleton(final MarangRiverSkeleton card) {
diff --git a/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java b/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java
index ecee5ad42fb..5ef17bfdb28 100644
--- a/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java
+++ b/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java
@@ -57,7 +57,7 @@ public final class MarathWillOfTheWild extends CardImpl {
// {X}, Remove X +1/+1 counters from Marath: Choose one - Put X +1/+1 counters on target creature;
effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance(0), ManacostVariableValue.REGULAR);
effect.setText("Put X +1/+1 counters on target creature");
- Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl("{X}"));
+ Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{X}"));
ability.addCost(new MarathWillOfTheWildRemoveCountersCost());
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/m/MarchesasSmuggler.java b/Mage.Sets/src/mage/cards/m/MarchesasSmuggler.java
index be6270f346e..4427593d911 100644
--- a/Mage.Sets/src/mage/cards/m/MarchesasSmuggler.java
+++ b/Mage.Sets/src/mage/cards/m/MarchesasSmuggler.java
@@ -36,7 +36,7 @@ public final class MarchesasSmuggler extends CardImpl {
// Dethrone
this.addAbility(new DethroneAbility());
// {1}{U}{R}: Target creature you control gains haste until end of turn and can't be blocked this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{U}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}{R}"));
ability.addTarget(new TargetControlledCreaturePermanent());
Effect effect = new CantBeBlockedTargetEffect(Duration.EndOfTurn);
effect.setText("and can't be blocked this turn");
diff --git a/Mage.Sets/src/mage/cards/m/MarduBanner.java b/Mage.Sets/src/mage/cards/m/MarduBanner.java
index e701b1c741f..d9ee6142c4f 100644
--- a/Mage.Sets/src/mage/cards/m/MarduBanner.java
+++ b/Mage.Sets/src/mage/cards/m/MarduBanner.java
@@ -31,7 +31,7 @@ public final class MarduBanner extends CardImpl {
this.addAbility(new BlackManaAbility());
// {R}{W}{B}, {T}, Sacrifice Mardu Banner: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{R}{W}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{R}{W}{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/Marjhan.java b/Mage.Sets/src/mage/cards/m/Marjhan.java
index b3b46622b2c..ae853b9e34a 100644
--- a/Mage.Sets/src/mage/cards/m/Marjhan.java
+++ b/Mage.Sets/src/mage/cards/m/Marjhan.java
@@ -53,7 +53,7 @@ public final class Marjhan extends CardImpl {
// {U}{U}, Sacrifice a creature: Untap Marjhan. Activate this ability only during your upkeep.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
- new UntapSourceEffect(), new ManaCostsImpl("{U}{U}"), new IsStepCondition(PhaseStep.UPKEEP), null);
+ new UntapSourceEffect(), new ManaCostsImpl<>("{U}{U}"), new IsStepCondition(PhaseStep.UPKEEP), null);
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
this.addAbility(ability);
@@ -61,7 +61,7 @@ public final class Marjhan extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island"))));
// {U}{U}: Marjhan gets -1/-0 until end of turn and deals 1 damage to target attacking creature without flying.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-1, 0, Duration.EndOfTurn), new ManaCostsImpl("{U}{U}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{U}{U}"));
ability.addEffect(new DamageTargetEffect(1, "and"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MarkerBeetles.java b/Mage.Sets/src/mage/cards/m/MarkerBeetles.java
index 52263eb2255..3d318103d4f 100644
--- a/Mage.Sets/src/mage/cards/m/MarkerBeetles.java
+++ b/Mage.Sets/src/mage/cards/m/MarkerBeetles.java
@@ -35,7 +35,7 @@ public final class MarkerBeetles extends CardImpl {
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {2}, Sacrifice Marker Beetles: Draw a card.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MarkovDreadknight.java b/Mage.Sets/src/mage/cards/m/MarkovDreadknight.java
index a27e54b9273..69152e81a5a 100644
--- a/Mage.Sets/src/mage/cards/m/MarkovDreadknight.java
+++ b/Mage.Sets/src/mage/cards/m/MarkovDreadknight.java
@@ -33,7 +33,7 @@ public final class MarkovDreadknight extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {2}{B}, Discard a card: Put two +1/+1 counters on Markhov Dreadknight.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new ManaCostsImpl("{2}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MarshHulk.java b/Mage.Sets/src/mage/cards/m/MarshHulk.java
index 61d8410a643..e9cd2f32441 100644
--- a/Mage.Sets/src/mage/cards/m/MarshHulk.java
+++ b/Mage.Sets/src/mage/cards/m/MarshHulk.java
@@ -24,7 +24,7 @@ public final class MarshHulk extends CardImpl {
this.toughness = new MageInt(6);
// Megamorph {6}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{6}{B}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{6}{B}"), true));
}
private MarshHulk(final MarshHulk card) {
diff --git a/Mage.Sets/src/mage/cards/m/MarshalingCry.java b/Mage.Sets/src/mage/cards/m/MarshalingCry.java
index 09d9d3de591..c14830c7ee3 100644
--- a/Mage.Sets/src/mage/cards/m/MarshalingCry.java
+++ b/Mage.Sets/src/mage/cards/m/MarshalingCry.java
@@ -33,10 +33,10 @@ public final class MarshalingCry extends CardImpl {
this.getSpellAbility().addEffect(effect);
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
// Flashback {3}{W}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{3}{W}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{3}{W}")));
}
private MarshalingCry(final MarshalingCry card) {
diff --git a/Mage.Sets/src/mage/cards/m/MartyrOfSands.java b/Mage.Sets/src/mage/cards/m/MartyrOfSands.java
index de7ad50c84e..c035d63a6b3 100644
--- a/Mage.Sets/src/mage/cards/m/MartyrOfSands.java
+++ b/Mage.Sets/src/mage/cards/m/MartyrOfSands.java
@@ -45,7 +45,7 @@ public final class MartyrOfSands extends CardImpl {
// {1}, Reveal X white cards from your hand, Sacrifice Martyr of Sands: You gain three times X life.
Effect effect = new GainLifeEffect(new MultipliedValue(RevealTargetFromHandCostCount.instance, 3));
effect.setText("You gain three times X life.");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}"));
ability.addCost(new RevealTargetFromHandCost(new TargetCardInHand(0, Integer.MAX_VALUE, filter)));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MartyredRusalka.java b/Mage.Sets/src/mage/cards/m/MartyredRusalka.java
index 180e207a069..6be023f56b9 100644
--- a/Mage.Sets/src/mage/cards/m/MartyredRusalka.java
+++ b/Mage.Sets/src/mage/cards/m/MartyredRusalka.java
@@ -31,7 +31,7 @@ public final class MartyredRusalka extends CardImpl {
this.toughness = new MageInt(1);
// {W}, Sacrifice a creature: Target creature can't attack this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MaskedAdmirers.java b/Mage.Sets/src/mage/cards/m/MaskedAdmirers.java
index c521ee441b1..8c61abc9abe 100644
--- a/Mage.Sets/src/mage/cards/m/MaskedAdmirers.java
+++ b/Mage.Sets/src/mage/cards/m/MaskedAdmirers.java
@@ -37,7 +37,7 @@ public final class MaskedAdmirers extends CardImpl {
OneShotEffect effect = new ReturnToHandSourceEffect();
effect.setText("return {this} from your graveyard to your hand");
this.addAbility(new SpellCastControllerTriggeredAbility(
- Zone.GRAVEYARD, new DoIfCostPaid(effect, new ManaCostsImpl("{G}{G}")), StaticFilters.FILTER_SPELL_A_CREATURE, false, false));
+ Zone.GRAVEYARD, new DoIfCostPaid(effect, new ManaCostsImpl<>("{G}{G}")), StaticFilters.FILTER_SPELL_A_CREATURE, false, false));
}
private MaskedAdmirers(final MaskedAdmirers card) {
diff --git a/Mage.Sets/src/mage/cards/m/MaskedBlackguard.java b/Mage.Sets/src/mage/cards/m/MaskedBlackguard.java
index 345956e6ce6..436ffdc2e6b 100644
--- a/Mage.Sets/src/mage/cards/m/MaskedBlackguard.java
+++ b/Mage.Sets/src/mage/cards/m/MaskedBlackguard.java
@@ -31,7 +31,7 @@ public final class MaskedBlackguard extends CardImpl {
// {2}{B}: Masked Blackguard gets +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(
- new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{2}{B}")
+ new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")
));
}
diff --git a/Mage.Sets/src/mage/cards/m/MassDiminish.java b/Mage.Sets/src/mage/cards/m/MassDiminish.java
index 4cc90e77d00..a040e792605 100644
--- a/Mage.Sets/src/mage/cards/m/MassDiminish.java
+++ b/Mage.Sets/src/mage/cards/m/MassDiminish.java
@@ -31,7 +31,7 @@ public final class MassDiminish extends CardImpl {
this.getSpellAbility().addTarget(new TargetPlayer());
// Flashback {3}{U}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{3}{U}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{3}{U}")));
}
private MassDiminish(final MassDiminish card) {
diff --git a/Mage.Sets/src/mage/cards/m/MasterOfPearls.java b/Mage.Sets/src/mage/cards/m/MasterOfPearls.java
index e0733f71467..113b096b3a6 100644
--- a/Mage.Sets/src/mage/cards/m/MasterOfPearls.java
+++ b/Mage.Sets/src/mage/cards/m/MasterOfPearls.java
@@ -29,7 +29,7 @@ public final class MasterOfPearls extends CardImpl {
this.toughness = new MageInt(2);
// Morph {3}{W}{W}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{W}{W}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{W}{W}")));
// When Master of Pearls is turned face up, creatures you control get +2/+2 until end of turn.
this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new BoostControlledEffect(2, 2, Duration.EndOfTurn, FILTER_PERMANENT_CREATURES)));
}
diff --git a/Mage.Sets/src/mage/cards/m/MasterOfTheVeil.java b/Mage.Sets/src/mage/cards/m/MasterOfTheVeil.java
index 8bae3f75117..3589a56d405 100644
--- a/Mage.Sets/src/mage/cards/m/MasterOfTheVeil.java
+++ b/Mage.Sets/src/mage/cards/m/MasterOfTheVeil.java
@@ -44,7 +44,7 @@ public final class MasterOfTheVeil extends CardImpl {
this.toughness = new MageInt(3);
// Morph {2}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{U}")));
// When Master of the Veil is turned face up, you may turn target creature with a morph ability face down.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new MasterOfTheVeilEffect(), false, true);
diff --git a/Mage.Sets/src/mage/cards/m/MasterTransmuter.java b/Mage.Sets/src/mage/cards/m/MasterTransmuter.java
index c1feebee40b..bec9232f749 100644
--- a/Mage.Sets/src/mage/cards/m/MasterTransmuter.java
+++ b/Mage.Sets/src/mage/cards/m/MasterTransmuter.java
@@ -33,7 +33,7 @@ public final class MasterTransmuter extends CardImpl {
this.toughness = new MageInt(2);
// {U}, {tap}, Return an artifact you control to its owner's hand: You may put an artifact card from your hand onto the battlefield.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(new FilterArtifactCard("an artifact card")), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(new FilterArtifactCard("an artifact card")), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(new FilterControlledArtifactPermanent("an artifact"))));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MasteryOfTheUnseen.java b/Mage.Sets/src/mage/cards/m/MasteryOfTheUnseen.java
index 78cc7c7e039..7fb14846a22 100644
--- a/Mage.Sets/src/mage/cards/m/MasteryOfTheUnseen.java
+++ b/Mage.Sets/src/mage/cards/m/MasteryOfTheUnseen.java
@@ -29,7 +29,7 @@ public final class MasteryOfTheUnseen extends CardImpl {
new FilterControlledPermanent("a permanent you control")));
// {3}{W}: Manifest the top card of your library.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ManifestEffect(1), new ManaCostsImpl("{3}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ManifestEffect(1), new ManaCostsImpl<>("{3}{W}")));
}
private MasteryOfTheUnseen(final MasteryOfTheUnseen card) {
diff --git a/Mage.Sets/src/mage/cards/m/MatsuTribeBirdstalker.java b/Mage.Sets/src/mage/cards/m/MatsuTribeBirdstalker.java
index c3a40ffd2b2..b096810cde9 100644
--- a/Mage.Sets/src/mage/cards/m/MatsuTribeBirdstalker.java
+++ b/Mage.Sets/src/mage/cards/m/MatsuTribeBirdstalker.java
@@ -42,7 +42,7 @@ public final class MatsuTribeBirdstalker extends CardImpl {
// {G}: Matsu-Tribe Birdstalker gains reach until end of turn. (It can block creatures with flying.)
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilitySourceEffect(ReachAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{G}")));
+ new ManaCostsImpl<>("{G}")));
}
private MatsuTribeBirdstalker(final MatsuTribeBirdstalker card) {
diff --git a/Mage.Sets/src/mage/cards/m/MatsuTribeDecoy.java b/Mage.Sets/src/mage/cards/m/MatsuTribeDecoy.java
index 59f568b1f29..9fd0cd665b1 100644
--- a/Mage.Sets/src/mage/cards/m/MatsuTribeDecoy.java
+++ b/Mage.Sets/src/mage/cards/m/MatsuTribeDecoy.java
@@ -32,7 +32,7 @@ public final class MatsuTribeDecoy extends CardImpl {
this.toughness = new MageInt(3);
// {2}{G}: Target creature blocks Matsu-Tribe Decoy this turn if able.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByTargetSourceEffect(), new ManaCostsImpl("{2}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByTargetSourceEffect(), new ManaCostsImpl<>("{2}{G}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// Whenever Kashi-Tribe Reaver deals combat damage to a creature, tap that creature and it doesn't untap during its controller's next untap step.
diff --git a/Mage.Sets/src/mage/cards/m/MawOfKozilek.java b/Mage.Sets/src/mage/cards/m/MawOfKozilek.java
index a7abe78f231..b303f760faf 100644
--- a/Mage.Sets/src/mage/cards/m/MawOfKozilek.java
+++ b/Mage.Sets/src/mage/cards/m/MawOfKozilek.java
@@ -31,7 +31,7 @@ public final class MawOfKozilek extends CardImpl {
this.addAbility(new DevoidAbility(this.color));
// {C}: Maw of Kozilek gets +2/-2 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, -2, Duration.EndOfTurn), new ManaCostsImpl("{C}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{C}")));
}
private MawOfKozilek(final MawOfKozilek card) {
diff --git a/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java b/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java
index 65806b51bb1..048e4533e79 100644
--- a/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java
+++ b/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java
@@ -43,7 +43,7 @@ public final class MayaelTheAnima extends CardImpl {
// Put the rest on the bottom of your library in any order.
SimpleActivatedAbility ability = new SimpleActivatedAbility(
new LookLibraryAndPickControllerEffect(5, 1, filter, PutCards.BATTLEFIELD, PutCards.BOTTOM_ANY),
- new ManaCostsImpl("{3}{R}{G}{W}"));
+ new ManaCostsImpl<>("{3}{R}{G}{W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MedicineBag.java b/Mage.Sets/src/mage/cards/m/MedicineBag.java
index e926be17671..c5a4edde6e3 100644
--- a/Mage.Sets/src/mage/cards/m/MedicineBag.java
+++ b/Mage.Sets/src/mage/cards/m/MedicineBag.java
@@ -24,7 +24,7 @@ public final class MedicineBag extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// {1}, {tap}, Discard a card: Regenerate target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/m/Melancholy.java b/Mage.Sets/src/mage/cards/m/Melancholy.java
index e9cef9ae83d..47207107a7f 100644
--- a/Mage.Sets/src/mage/cards/m/Melancholy.java
+++ b/Mage.Sets/src/mage/cards/m/Melancholy.java
@@ -40,7 +40,7 @@ public final class Melancholy extends CardImpl {
// Enchanted creature doesn't untap during its controller's untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect()));
// At the beginning of your upkeep, sacrifice Melancholy unless you pay {B}.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{B}")),
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}")),
TargetController.YOU, false));
}
diff --git a/Mage.Sets/src/mage/cards/m/MeletisCharlatan.java b/Mage.Sets/src/mage/cards/m/MeletisCharlatan.java
index 087a58de3bc..c6e9e75efce 100644
--- a/Mage.Sets/src/mage/cards/m/MeletisCharlatan.java
+++ b/Mage.Sets/src/mage/cards/m/MeletisCharlatan.java
@@ -35,7 +35,7 @@ public final class MeletisCharlatan extends CardImpl {
this.toughness = new MageInt(3);
// {2}{U}, {T}: The controller of target instant or sorcery spell copies it. That player may choose new targets for the copy.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MeletisCharlatanCopyTargetSpellEffect(), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MeletisCharlatanCopyTargetSpellEffect(), new ManaCostsImpl<>("{2}{U}"));
ability.addCost(new TapSourceCost());
Target target = new TargetSpell(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY);
ability.addTarget(target);
diff --git a/Mage.Sets/src/mage/cards/m/Memnarch.java b/Mage.Sets/src/mage/cards/m/Memnarch.java
index 5f960db1c82..40b3c371d00 100644
--- a/Mage.Sets/src/mage/cards/m/Memnarch.java
+++ b/Mage.Sets/src/mage/cards/m/Memnarch.java
@@ -35,12 +35,12 @@ public final class Memnarch extends CardImpl {
// {1}{U}{U}: Target permanent becomes an artifact in addition to its other types.
Effect effect = new AddCardTypeTargetEffect(Duration.Custom, CardType.ARTIFACT);
effect.setText("Target permanent becomes an artifact in addition to its other types");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{U}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{U}{U}"));
ability.addTarget(new TargetPermanent());
this.addAbility(ability);
// {3}{U}: Gain control of target artifact.
- Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainControlTargetEffect(Duration.WhileOnBattlefield), new ManaCostsImpl("{3}{U}"));
+ Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainControlTargetEffect(Duration.WhileOnBattlefield), new ManaCostsImpl<>("{3}{U}"));
ability2.addTarget(new TargetArtifactPermanent());
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/m/MemorialToFolly.java b/Mage.Sets/src/mage/cards/m/MemorialToFolly.java
index 137e3a6b971..0daf62f10fb 100644
--- a/Mage.Sets/src/mage/cards/m/MemorialToFolly.java
+++ b/Mage.Sets/src/mage/cards/m/MemorialToFolly.java
@@ -33,7 +33,7 @@ public final class MemorialToFolly extends CardImpl {
// {2}{B}, {T}, Sacrifice Memorial to Folly: Return target creature card from your graveyard to your hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect()
.setText("Return target creature card from your graveyard to your hand"),
- new ManaCostsImpl("{2}{B}"));
+ new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card from your graveyard")));
diff --git a/Mage.Sets/src/mage/cards/m/MemorialToGenius.java b/Mage.Sets/src/mage/cards/m/MemorialToGenius.java
index 4872d6691bc..b47c23538bc 100644
--- a/Mage.Sets/src/mage/cards/m/MemorialToGenius.java
+++ b/Mage.Sets/src/mage/cards/m/MemorialToGenius.java
@@ -30,7 +30,7 @@ public final class MemorialToGenius extends CardImpl {
this.addAbility(new BlueManaAbility());
// {4}{U}, {T}, Sacrifice Memorial to Genius: Draw two cards.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl("{4}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl<>("{4}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MemorialToGlory.java b/Mage.Sets/src/mage/cards/m/MemorialToGlory.java
index 5b17fef0fdb..3cbdc35c922 100644
--- a/Mage.Sets/src/mage/cards/m/MemorialToGlory.java
+++ b/Mage.Sets/src/mage/cards/m/MemorialToGlory.java
@@ -31,7 +31,7 @@ public final class MemorialToGlory extends CardImpl {
this.addAbility(new WhiteManaAbility());
// {3}{W}, {T}, Sacrifice Memorial to Glory: Creature two 1/1 white Soldier creature tokens.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SoldierToken(), 2), new ManaCostsImpl("{3}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SoldierToken(), 2), new ManaCostsImpl<>("{3}{W}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MemorialToUnity.java b/Mage.Sets/src/mage/cards/m/MemorialToUnity.java
index 40ee1b646e0..3303eb95e1e 100644
--- a/Mage.Sets/src/mage/cards/m/MemorialToUnity.java
+++ b/Mage.Sets/src/mage/cards/m/MemorialToUnity.java
@@ -34,7 +34,7 @@ public final class MemorialToUnity extends CardImpl {
// Then put the rest on the bottom of your library in a random order.
Ability ability = new SimpleActivatedAbility(
new LookLibraryAndPickControllerEffect(5, 1, StaticFilters.FILTER_CARD_CREATURE_A, PutCards.HAND, PutCards.BOTTOM_RANDOM),
- new ManaCostsImpl("{2}{G}"));
+ new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MemorialToWar.java b/Mage.Sets/src/mage/cards/m/MemorialToWar.java
index 951bbaf54c1..c24fc1a1fcb 100644
--- a/Mage.Sets/src/mage/cards/m/MemorialToWar.java
+++ b/Mage.Sets/src/mage/cards/m/MemorialToWar.java
@@ -31,7 +31,7 @@ public final class MemorialToWar extends CardImpl {
this.addAbility(new RedManaAbility());
// {4}{R}, {T}, Sacrifice Memorial to War: Destroy target land.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{4}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{4}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetLandPermanent());
diff --git a/Mage.Sets/src/mage/cards/m/MemoryLeak.java b/Mage.Sets/src/mage/cards/m/MemoryLeak.java
index 39e326ead0e..f8bc683397e 100644
--- a/Mage.Sets/src/mage/cards/m/MemoryLeak.java
+++ b/Mage.Sets/src/mage/cards/m/MemoryLeak.java
@@ -33,7 +33,7 @@ public final class MemoryLeak extends CardImpl {
this.getSpellAbility().addTarget(new TargetOpponent());
// Cycling {1}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{1}")));
}
private MemoryLeak(final MemoryLeak card) {
diff --git a/Mage.Sets/src/mage/cards/m/MemorysJourney.java b/Mage.Sets/src/mage/cards/m/MemorysJourney.java
index 9ed78043b07..b7b0c7d3207 100644
--- a/Mage.Sets/src/mage/cards/m/MemorysJourney.java
+++ b/Mage.Sets/src/mage/cards/m/MemorysJourney.java
@@ -26,7 +26,7 @@ public final class MemorysJourney extends CardImpl {
this.getSpellAbility().addTarget(new TargetCardInTargetPlayersGraveyard(3));
// Flashback {G}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{G}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{G}")));
}
private MemorysJourney(final MemorysJourney card) {
diff --git a/Mage.Sets/src/mage/cards/m/MentalDiscipline.java b/Mage.Sets/src/mage/cards/m/MentalDiscipline.java
index a183fd621d4..eaaf6126def 100644
--- a/Mage.Sets/src/mage/cards/m/MentalDiscipline.java
+++ b/Mage.Sets/src/mage/cards/m/MentalDiscipline.java
@@ -22,7 +22,7 @@ public final class MentalDiscipline extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}");
// {1}{U}, Discard a card: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MentorOfTheMeek.java b/Mage.Sets/src/mage/cards/m/MentorOfTheMeek.java
index 9eedbac13a1..5fd60fa469e 100644
--- a/Mage.Sets/src/mage/cards/m/MentorOfTheMeek.java
+++ b/Mage.Sets/src/mage/cards/m/MentorOfTheMeek.java
@@ -41,7 +41,7 @@ public final class MentorOfTheMeek extends CardImpl {
this.toughness = new MageInt(2);
//Whenever another creature with power 2 or less enters the battlefield under your control, you may pay 1. If you do, draw a card.
- Effect effect = new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}"));
+ Effect effect = new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{1}"));
Ability ability = new EntersBattlefieldControlledTriggeredAbility(
Zone.BATTLEFIELD, effect, filter, false);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MercadianLift.java b/Mage.Sets/src/mage/cards/m/MercadianLift.java
index 2820d04314b..9db546bd2c3 100644
--- a/Mage.Sets/src/mage/cards/m/MercadianLift.java
+++ b/Mage.Sets/src/mage/cards/m/MercadianLift.java
@@ -33,7 +33,7 @@ public final class MercadianLift extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {1}, {tap}: Put a winch counter on Mercadian Lift.
- Ability ability = new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.WINCH.createInstance()), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.WINCH.createInstance()), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MercenaryInformer.java b/Mage.Sets/src/mage/cards/m/MercenaryInformer.java
index eac785c0a9e..bcdc06f5530 100644
--- a/Mage.Sets/src/mage/cards/m/MercenaryInformer.java
+++ b/Mage.Sets/src/mage/cards/m/MercenaryInformer.java
@@ -50,7 +50,7 @@ public final class MercenaryInformer extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeTargetedSourceEffect(filterBlack, Duration.WhileOnBattlefield)));
// {2}{W}: Put target nontoken Mercenary on the bottom of its owner's library.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(false), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(false), new ManaCostsImpl<>("{2}{W}"));
ability.addTarget(new TargetPermanent(filterMercenary));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MerchantOfTheVale.java b/Mage.Sets/src/mage/cards/m/MerchantOfTheVale.java
index be27716805d..0a82b50f9ca 100644
--- a/Mage.Sets/src/mage/cards/m/MerchantOfTheVale.java
+++ b/Mage.Sets/src/mage/cards/m/MerchantOfTheVale.java
@@ -29,7 +29,7 @@ public final class MerchantOfTheVale extends AdventureCard {
// {2}{R}, Discard a card: Draw a card.
Ability ability = new SimpleActivatedAbility(
- new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{R}")
+ new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}{R}")
);
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MercilessEternal.java b/Mage.Sets/src/mage/cards/m/MercilessEternal.java
index 04a972a3825..fef37e1bf34 100644
--- a/Mage.Sets/src/mage/cards/m/MercilessEternal.java
+++ b/Mage.Sets/src/mage/cards/m/MercilessEternal.java
@@ -34,7 +34,7 @@ public final class MercilessEternal extends CardImpl {
this.addAbility(new AfflictAbility(2));
// {2}{B}, Discard a card: Merciless Eternal gets +2/+2 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{2}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new DiscardCardCost(false));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java b/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java
index ec098724a6c..454554d5d87 100644
--- a/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java
+++ b/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java
@@ -42,7 +42,7 @@ public final class MercilessJavelineer extends CardImpl {
CounterType.M1M1.createInstance(),
StaticValue.get(1),
Outcome.Removal),
- new ManaCostsImpl("{2}"));
+ new ManaCostsImpl<>("{2}"));
ability.addEffect(
new CantBlockTargetEffect(Duration.EndOfTurn)
.setText("That creature can't block this turn."));
diff --git a/Mage.Sets/src/mage/cards/m/MercurialChemister.java b/Mage.Sets/src/mage/cards/m/MercurialChemister.java
index 22ad034d014..6c9e04300d9 100644
--- a/Mage.Sets/src/mage/cards/m/MercurialChemister.java
+++ b/Mage.Sets/src/mage/cards/m/MercurialChemister.java
@@ -34,12 +34,12 @@ public final class MercurialChemister extends CardImpl {
this.toughness = new MageInt(3);
// {U}, {T}: Draw two cards.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
// {R}, {T}, Discard a card: Mercurial Chemister deals damage to target creature equal to the discarded card's converted mana cost.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(DiscardCostCardManaValue.instance), new ManaCostsImpl("{R}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(DiscardCostCardManaValue.instance), new ManaCostsImpl<>("{R}"));
ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
diff --git a/Mage.Sets/src/mage/cards/m/MercurialPretender.java b/Mage.Sets/src/mage/cards/m/MercurialPretender.java
index dbe837064e1..561928355c2 100644
--- a/Mage.Sets/src/mage/cards/m/MercurialPretender.java
+++ b/Mage.Sets/src/mage/cards/m/MercurialPretender.java
@@ -35,7 +35,7 @@ public final class MercurialPretender extends CardImpl {
// You may have Mercurial Pretender enter the battlefield as a copy of any creature you control,
// except it has "{2}{U}{U}: Return this creature to its owner's hand."
Effect effect = new CopyPermanentEffect(new FilterControlledCreaturePermanent(),
- new AbilityCopyApplier(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{2}{U}{U}"))));
+ new AbilityCopyApplier(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}{U}"))));
effect.setText(effectText);
this.addAbility(new EntersBattlefieldAbility(effect, true));
}
diff --git a/Mage.Sets/src/mage/cards/m/MerfolkSeastalkers.java b/Mage.Sets/src/mage/cards/m/MerfolkSeastalkers.java
index 8f10a397ca6..e7da36c8a0e 100644
--- a/Mage.Sets/src/mage/cards/m/MerfolkSeastalkers.java
+++ b/Mage.Sets/src/mage/cards/m/MerfolkSeastalkers.java
@@ -39,7 +39,7 @@ public final class MerfolkSeastalkers extends CardImpl {
this.toughness = new MageInt(3);
this.addAbility(new IslandwalkAbility());
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{2}{U}"));
+ SimpleActivatedAbility 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/m/MerfolkSeer.java b/Mage.Sets/src/mage/cards/m/MerfolkSeer.java
index 9babd9e7161..e8676f02063 100644
--- a/Mage.Sets/src/mage/cards/m/MerfolkSeer.java
+++ b/Mage.Sets/src/mage/cards/m/MerfolkSeer.java
@@ -26,7 +26,7 @@ public final class MerfolkSeer extends CardImpl {
this.toughness = new MageInt(2);
// When Merfolk Seer dies, you may pay {1}{U}. If you do, draw a card.
- this.addAbility(new DiesSourceTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{U}"))));
+ this.addAbility(new DiesSourceTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{1}{U}"))));
}
private MerfolkSeer(final MerfolkSeer card) {
diff --git a/Mage.Sets/src/mage/cards/m/MerfolkSkydiver.java b/Mage.Sets/src/mage/cards/m/MerfolkSkydiver.java
index cd2952e5a43..5427f6a40a2 100644
--- a/Mage.Sets/src/mage/cards/m/MerfolkSkydiver.java
+++ b/Mage.Sets/src/mage/cards/m/MerfolkSkydiver.java
@@ -41,7 +41,7 @@ public final class MerfolkSkydiver extends CardImpl {
this.addAbility(ability);
// {3}{G}{U}: Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
- this.addAbility(new SimpleActivatedAbility(new ProliferateEffect(), new ManaCostsImpl("{3}{G}{U}")));
+ this.addAbility(new SimpleActivatedAbility(new ProliferateEffect(), new ManaCostsImpl<>("{3}{G}{U}")));
}
private MerfolkSkydiver(final MerfolkSkydiver card) {
diff --git a/Mage.Sets/src/mage/cards/m/MerrowGrimeblotter.java b/Mage.Sets/src/mage/cards/m/MerrowGrimeblotter.java
index 338255e6889..77129af7cee 100644
--- a/Mage.Sets/src/mage/cards/m/MerrowGrimeblotter.java
+++ b/Mage.Sets/src/mage/cards/m/MerrowGrimeblotter.java
@@ -31,7 +31,7 @@ public final class MerrowGrimeblotter extends CardImpl {
this.toughness = new MageInt(2);
// {1}{UB}, {untap}: Target creature gets -2/-0 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{U/B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U/B}"));
ability.addCost(new UntapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MerrowWavebreakers.java b/Mage.Sets/src/mage/cards/m/MerrowWavebreakers.java
index a91436e3d50..d0e033f7a56 100644
--- a/Mage.Sets/src/mage/cards/m/MerrowWavebreakers.java
+++ b/Mage.Sets/src/mage/cards/m/MerrowWavebreakers.java
@@ -32,7 +32,7 @@ public final class MerrowWavebreakers extends CardImpl {
this.toughness = new MageInt(3);
// {1}{U}, {untap}: Merrow Wavebreakers gains flying until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new UntapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MesaFalcon.java b/Mage.Sets/src/mage/cards/m/MesaFalcon.java
index 00b6be5debe..abfdd1bb3ed 100644
--- a/Mage.Sets/src/mage/cards/m/MesaFalcon.java
+++ b/Mage.Sets/src/mage/cards/m/MesaFalcon.java
@@ -30,7 +30,7 @@ public final class MesaFalcon extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {1}{W}: Mesa Falcon gets +0/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{1}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}")));
}
private MesaFalcon(final MesaFalcon card) {
diff --git a/Mage.Sets/src/mage/cards/m/MesmericTrance.java b/Mage.Sets/src/mage/cards/m/MesmericTrance.java
index 2ce12de0396..271ac4e6551 100644
--- a/Mage.Sets/src/mage/cards/m/MesmericTrance.java
+++ b/Mage.Sets/src/mage/cards/m/MesmericTrance.java
@@ -23,9 +23,9 @@ public final class MesmericTrance extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}");
// Cumulative upkeep {1}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
// {U}, Discard a card: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{U}"));
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/Metallurgeon.java b/Mage.Sets/src/mage/cards/m/Metallurgeon.java
index 955f1c613c0..6030423462f 100644
--- a/Mage.Sets/src/mage/cards/m/Metallurgeon.java
+++ b/Mage.Sets/src/mage/cards/m/Metallurgeon.java
@@ -28,7 +28,7 @@ public final class Metallurgeon extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(2);
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{W}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java b/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java
index cc1da00503e..1c460b8baa0 100644
--- a/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java
+++ b/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java
@@ -47,7 +47,7 @@ public final class MetallurgicSummonings extends CardImpl {
// {3}{U}{U}, Exile Metallurgic Summons: Return all instant and sorcery cards from your graveyard to your hand. Activate this ability only if you control six or more artifacts.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
- new MetallurgicSummoningsReturnEffect(), new ManaCostsImpl("{3}{U}{U}"),
+ new MetallurgicSummoningsReturnEffect(), new ManaCostsImpl<>("{3}{U}{U}"),
new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent(), ComparisonType.MORE_THAN, 5),
"{3}{U}{U}, Exile {this}: Return all instant and sorcery cards from your graveyard to your hand."
+ " Activate only if you control six or more artifacts.");
diff --git a/Mage.Sets/src/mage/cards/m/MetathranAerostat.java b/Mage.Sets/src/mage/cards/m/MetathranAerostat.java
index 8ad43b8513e..cf809ac0c0b 100644
--- a/Mage.Sets/src/mage/cards/m/MetathranAerostat.java
+++ b/Mage.Sets/src/mage/cards/m/MetathranAerostat.java
@@ -37,7 +37,7 @@ public final class MetathranAerostat extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {X}{U}: You may put a creature card with converted mana cost X from your hand onto the battlefield. If you do, return Metathran Aerostat to its owner's hand.
- this.addAbility(new SimpleActivatedAbility(new MetathranAerostatEffect(), new ManaCostsImpl("{X}{U}")));
+ this.addAbility(new SimpleActivatedAbility(new MetathranAerostatEffect(), new ManaCostsImpl<>("{X}{U}")));
}
private MetathranAerostat(final MetathranAerostat card) {
diff --git a/Mage.Sets/src/mage/cards/m/MetathranTransport.java b/Mage.Sets/src/mage/cards/m/MetathranTransport.java
index 565d3d35ed7..41f91e5440a 100644
--- a/Mage.Sets/src/mage/cards/m/MetathranTransport.java
+++ b/Mage.Sets/src/mage/cards/m/MetathranTransport.java
@@ -45,7 +45,7 @@ public final class MetathranTransport extends CardImpl {
this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield)));
// {U}: Target creature becomes blue until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorTargetEffect(ObjectColor.BLUE,
- Duration.EndOfTurn), new ManaCostsImpl("{U}"));
+ Duration.EndOfTurn), new ManaCostsImpl<>("{U}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MetathranZombie.java b/Mage.Sets/src/mage/cards/m/MetathranZombie.java
index 4dffa2fbb6b..35300f37bcc 100644
--- a/Mage.Sets/src/mage/cards/m/MetathranZombie.java
+++ b/Mage.Sets/src/mage/cards/m/MetathranZombie.java
@@ -27,7 +27,7 @@ public final class MetathranZombie extends CardImpl {
this.toughness = new MageInt(1);
// {B}: Regenerate Metathran Zombie.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
}
private MetathranZombie(final MetathranZombie card) {
diff --git a/Mage.Sets/src/mage/cards/m/MeteorStorm.java b/Mage.Sets/src/mage/cards/m/MeteorStorm.java
index 55cbb4909a5..dc15608af7a 100644
--- a/Mage.Sets/src/mage/cards/m/MeteorStorm.java
+++ b/Mage.Sets/src/mage/cards/m/MeteorStorm.java
@@ -26,7 +26,7 @@ public final class MeteorStorm extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}{G}");
// {2}{R}{G}, Discard two cards at random: Meteor Storm deals 4 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl("{2}{R}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl<>("{2}{R}{G}"));
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, new FilterCard("two cards at random")), true));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/Metrognome.java b/Mage.Sets/src/mage/cards/m/Metrognome.java
index 90415360310..39eec3d66b9 100644
--- a/Mage.Sets/src/mage/cards/m/Metrognome.java
+++ b/Mage.Sets/src/mage/cards/m/Metrognome.java
@@ -27,7 +27,7 @@ public final class Metrognome extends CardImpl {
this.addAbility(new DiscardedByOpponentTriggeredAbility(new CreateTokenEffect(new GnomeToken(), 4)));
// {4}, {tap}: Create a 1/1 colorless Gnome artifact creature token.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GnomeToken()), new ManaCostsImpl("{4}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GnomeToken()), new ManaCostsImpl<>("{4}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MetropolisSprite.java b/Mage.Sets/src/mage/cards/m/MetropolisSprite.java
index 9735846db84..c8fc2adce2f 100644
--- a/Mage.Sets/src/mage/cards/m/MetropolisSprite.java
+++ b/Mage.Sets/src/mage/cards/m/MetropolisSprite.java
@@ -31,7 +31,7 @@ public final class MetropolisSprite extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {U}: Metropolis Sprite gets +1/-1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
}
private MetropolisSprite(final MetropolisSprite card) {
diff --git a/Mage.Sets/src/mage/cards/m/MetzaliTowerOfTriumph.java b/Mage.Sets/src/mage/cards/m/MetzaliTowerOfTriumph.java
index 82690f44220..c5cb8feb9e5 100644
--- a/Mage.Sets/src/mage/cards/m/MetzaliTowerOfTriumph.java
+++ b/Mage.Sets/src/mage/cards/m/MetzaliTowerOfTriumph.java
@@ -49,12 +49,12 @@ public final class MetzaliTowerOfTriumph extends CardImpl {
this.addAbility(new AnyColorManaAbility());
// {1}{R}, {T}: Metzali, Tower of Triumph deals 2 damage to each opponent.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(2, TargetController.OPPONENT), new ManaCostsImpl("{1}{R}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(2, TargetController.OPPONENT), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
// {2}{W}, {T}: Choose a creature at random that attacked this turn. Destroy that creature.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MetzaliTowerOfTriumphEffect(), new ManaCostsImpl("{2}{W}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MetzaliTowerOfTriumphEffect(), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost());
ability.addWatcher(new AttackedThisTurnWatcher());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MidnightClock.java b/Mage.Sets/src/mage/cards/m/MidnightClock.java
index 46201106b12..58cc720d890 100644
--- a/Mage.Sets/src/mage/cards/m/MidnightClock.java
+++ b/Mage.Sets/src/mage/cards/m/MidnightClock.java
@@ -39,7 +39,7 @@ public final class MidnightClock extends CardImpl {
// {2}{U}: Put an hour counter on Midnight Clock.
this.addAbility(new SimpleActivatedAbility(
- new AddCountersSourceEffect(CounterType.HOUR.createInstance()), new ManaCostsImpl("{2}{U}")
+ new AddCountersSourceEffect(CounterType.HOUR.createInstance()), new ManaCostsImpl<>("{2}{U}")
));
// At the beginning of each upkeep, put an hour counter on Midnight Clock.
diff --git a/Mage.Sets/src/mage/cards/m/MidsummerRevel.java b/Mage.Sets/src/mage/cards/m/MidsummerRevel.java
index 1a84511f8a0..3a4bd3b54e5 100644
--- a/Mage.Sets/src/mage/cards/m/MidsummerRevel.java
+++ b/Mage.Sets/src/mage/cards/m/MidsummerRevel.java
@@ -32,7 +32,7 @@ public final class MidsummerRevel extends CardImpl {
new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true));
// {G}, Sacrifice Midsummer Revel: create X 3/3 green Beast creature tokens, where X is the number of verse counters on Midsummer Revel.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BeastToken(),
- new CountersSourceCount(CounterType.VERSE)), new ManaCostsImpl("{G}"));
+ new CountersSourceCount(CounterType.VERSE)), new ManaCostsImpl<>("{G}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MigrationPath.java b/Mage.Sets/src/mage/cards/m/MigrationPath.java
index 65ab7d7b205..88c4442a249 100644
--- a/Mage.Sets/src/mage/cards/m/MigrationPath.java
+++ b/Mage.Sets/src/mage/cards/m/MigrationPath.java
@@ -28,7 +28,7 @@ public final class MigrationPath extends CardImpl {
));
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private MigrationPath(final MigrationPath card) {
diff --git a/Mage.Sets/src/mage/cards/m/MigratoryRoute.java b/Mage.Sets/src/mage/cards/m/MigratoryRoute.java
index df4b8ca15f8..79fe408afcd 100644
--- a/Mage.Sets/src/mage/cards/m/MigratoryRoute.java
+++ b/Mage.Sets/src/mage/cards/m/MigratoryRoute.java
@@ -24,7 +24,7 @@ public final class MigratoryRoute extends CardImpl {
getSpellAbility().addEffect(new CreateTokenEffect(new BirdToken(), 4));
// Basic landcycling {2}
- this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl<>("{2}")));
}
private MigratoryRoute(final MigratoryRoute card) {
diff --git a/Mage.Sets/src/mage/cards/m/MilitiasPride.java b/Mage.Sets/src/mage/cards/m/MilitiasPride.java
index 0fddaca3ee7..facd5fa2886 100644
--- a/Mage.Sets/src/mage/cards/m/MilitiasPride.java
+++ b/Mage.Sets/src/mage/cards/m/MilitiasPride.java
@@ -45,7 +45,7 @@ public final class MilitiasPride extends CardImpl {
class MilitiasPrideTriggerAbility extends TriggeredAbilityImpl {
public MilitiasPrideTriggerAbility() {
- super(Zone.BATTLEFIELD, new DoIfCostPaid(new CreateTokenEffect(new KithkinSoldierToken(), 1, true, true), new ManaCostsImpl("{W}")));
+ super(Zone.BATTLEFIELD, new DoIfCostPaid(new CreateTokenEffect(new KithkinSoldierToken(), 1, true, true), new ManaCostsImpl<>("{W}")));
}
public MilitiasPrideTriggerAbility(final MilitiasPrideTriggerAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/m/MinaAndDennWildborn.java b/Mage.Sets/src/mage/cards/m/MinaAndDennWildborn.java
index e14fbf44232..eb0f6fd37e7 100644
--- a/Mage.Sets/src/mage/cards/m/MinaAndDennWildborn.java
+++ b/Mage.Sets/src/mage/cards/m/MinaAndDennWildborn.java
@@ -42,7 +42,7 @@ public final class MinaAndDennWildborn extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield)));
// {R}{G}, Return a land you control to its owner's hand: Target creature gains trample until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}{G}"));
ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MinamoSightbender.java b/Mage.Sets/src/mage/cards/m/MinamoSightbender.java
index 39fd2599345..5c4a8ecb380 100644
--- a/Mage.Sets/src/mage/cards/m/MinamoSightbender.java
+++ b/Mage.Sets/src/mage/cards/m/MinamoSightbender.java
@@ -42,7 +42,7 @@ public final class MinamoSightbender extends CardImpl {
this.toughness = new MageInt(2);
// {X}, {T}: Target creature with power X or less can't be blocked this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new ManaCostsImpl("{X}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new ManaCostsImpl<>("{X}"));
Target target = new TargetPermanent(filter);
ability.setTargetAdjuster(MinamoSightbenderAdjuster.instance);
ability.addTarget(target);
diff --git a/Mage.Sets/src/mage/cards/m/MindHarness.java b/Mage.Sets/src/mage/cards/m/MindHarness.java
index 6fa8aa6bceb..44346bbd588 100644
--- a/Mage.Sets/src/mage/cards/m/MindHarness.java
+++ b/Mage.Sets/src/mage/cards/m/MindHarness.java
@@ -46,7 +46,7 @@ public final class MindHarness extends CardImpl {
this.addAbility(ability);
// Cumulative upkeep {1}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
// You control enchanted creature.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect()));
diff --git a/Mage.Sets/src/mage/cards/m/MindRake.java b/Mage.Sets/src/mage/cards/m/MindRake.java
index e6cebfe0c64..c5b8c518e3d 100644
--- a/Mage.Sets/src/mage/cards/m/MindRake.java
+++ b/Mage.Sets/src/mage/cards/m/MindRake.java
@@ -26,7 +26,7 @@ public final class MindRake extends CardImpl {
// Overload {1}{B}
this.addAbility(new OverloadAbility(this, new DiscardEachPlayerEffect(
2, false
- ), new ManaCostsImpl("{1}{B}")));
+ ), new ManaCostsImpl<>("{1}{B}")));
}
private MindRake(final MindRake card) {
diff --git a/Mage.Sets/src/mage/cards/m/MindSlash.java b/Mage.Sets/src/mage/cards/m/MindSlash.java
index 769d491fb93..59f7de3963e 100644
--- a/Mage.Sets/src/mage/cards/m/MindSlash.java
+++ b/Mage.Sets/src/mage/cards/m/MindSlash.java
@@ -26,7 +26,7 @@ public final class MindSlash extends CardImpl {
// {B}, Sacrifice a creature: Target opponent reveals their hand. You choose a card from it.
// That player discards that card. Activate this ability only any time you could cast a sorcery.
- Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardCardYouChooseTargetEffect(), new ManaCostsImpl("{B}"));
+ Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardCardYouChooseTargetEffect(), new ManaCostsImpl<>("{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetOpponent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MindWhip.java b/Mage.Sets/src/mage/cards/m/MindWhip.java
index 12a21330dcd..efc986d4779 100644
--- a/Mage.Sets/src/mage/cards/m/MindWhip.java
+++ b/Mage.Sets/src/mage/cards/m/MindWhip.java
@@ -43,7 +43,7 @@ public final class MindWhip extends CardImpl {
// At the beginning of the upkeep of enchanted creature's controller, that player may pay {3}. If they don't, Mind Whip deals 2 damage to that player and you tap that creature.
Effect effect = new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new MindWhipEffect(),
- new ManaCostsImpl("{3}"),
+ new ManaCostsImpl<>("{3}"),
"");
effect.setText("that player may pay {3}. If they don't, {this} deals 2 damage to that player and you tap that creature.");
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
diff --git a/Mage.Sets/src/mage/cards/m/Mindmelter.java b/Mage.Sets/src/mage/cards/m/Mindmelter.java
index a964a6d7715..b03d1c8f4db 100644
--- a/Mage.Sets/src/mage/cards/m/Mindmelter.java
+++ b/Mage.Sets/src/mage/cards/m/Mindmelter.java
@@ -36,7 +36,7 @@ public final class Mindmelter extends CardImpl {
// {3}{C}: Target opponent exiles a card from their hand. Activate this ability only any time you could cast a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(
- Zone.BATTLEFIELD, new ExileFromZoneTargetEffect(Zone.HAND, false), new ManaCostsImpl("{3}{C}")
+ Zone.BATTLEFIELD, new ExileFromZoneTargetEffect(Zone.HAND, false), new ManaCostsImpl<>("{3}{C}")
);
ability.addTarget(new TargetOpponent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/Mindreaver.java b/Mage.Sets/src/mage/cards/m/Mindreaver.java
index ad7febd5e55..9342a379387 100644
--- a/Mage.Sets/src/mage/cards/m/Mindreaver.java
+++ b/Mage.Sets/src/mage/cards/m/Mindreaver.java
@@ -46,7 +46,7 @@ public final class Mindreaver extends CardImpl {
this.addAbility(ability);
// {U}{U}, Sacrifice Mindreaver: Counter target spell with the same name as a card exiled with Mindreaver.
- ability = new SimpleActivatedAbility(new CounterTargetEffect(), new ManaCostsImpl("{U}{U}"));
+ ability = new SimpleActivatedAbility(new CounterTargetEffect(), new ManaCostsImpl<>("{U}{U}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new MindreaverTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/Mindstab.java b/Mage.Sets/src/mage/cards/m/Mindstab.java
index fff8f7088cd..da42223097c 100644
--- a/Mage.Sets/src/mage/cards/m/Mindstab.java
+++ b/Mage.Sets/src/mage/cards/m/Mindstab.java
@@ -25,7 +25,7 @@ public final class Mindstab extends CardImpl {
this.getSpellAbility().addTarget(new TargetPlayer());
// Suspend 4—{B} (Rather than cast this card from your hand, you may pay {B} and exile it with four time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.)
- this.addAbility(new SuspendAbility(4, new ManaCostsImpl("{B}"), this));
+ this.addAbility(new SuspendAbility(4, new ManaCostsImpl<>("{B}"), this));
}
private Mindstab(final Mindstab card) {
diff --git a/Mage.Sets/src/mage/cards/m/Mindwarper.java b/Mage.Sets/src/mage/cards/m/Mindwarper.java
index 0d05037d5ce..ad8ebb73b75 100644
--- a/Mage.Sets/src/mage/cards/m/Mindwarper.java
+++ b/Mage.Sets/src/mage/cards/m/Mindwarper.java
@@ -33,7 +33,7 @@ public final class Mindwarper extends CardImpl {
// Mindwarper enters the battlefield with three +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), "with three +1/+1 counters on it"));
// {2}{B}, Remove a +1/+1 counter from Mindwarper: Target player discards a card. Activate this ability only any time you could cast a sorcery.
- Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{2}{B}"));
+ Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance()));
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MindwrackLiege.java b/Mage.Sets/src/mage/cards/m/MindwrackLiege.java
index e564db981e2..3dcdb086a48 100644
--- a/Mage.Sets/src/mage/cards/m/MindwrackLiege.java
+++ b/Mage.Sets/src/mage/cards/m/MindwrackLiege.java
@@ -54,7 +54,7 @@ public final class MindwrackLiege extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter2, true)));
// {UR}{UR}{UR}{UR}: You may put a blue or red creature card from your hand onto the battlefield.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(filter3), new ManaCostsImpl("{U/R}{U/R}{U/R}{U/R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(filter3), new ManaCostsImpl<>("{U/R}{U/R}{U/R}{U/R}")));
}
private MindwrackLiege(final MindwrackLiege card) {
diff --git a/Mage.Sets/src/mage/cards/m/MineLayer.java b/Mage.Sets/src/mage/cards/m/MineLayer.java
index 29241524a1a..e66e526bca3 100644
--- a/Mage.Sets/src/mage/cards/m/MineLayer.java
+++ b/Mage.Sets/src/mage/cards/m/MineLayer.java
@@ -44,7 +44,7 @@ public final class MineLayer extends CardImpl {
// {1}{R}, {tap}: Put a mine counter on target land.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.MINE.createInstance()), new TapSourceCost());
- ability.addCost(new ManaCostsImpl("{1}{R}"));
+ ability.addCost(new ManaCostsImpl<>("{1}{R}"));
ability.addTarget(new TargetLandPermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MinersBane.java b/Mage.Sets/src/mage/cards/m/MinersBane.java
index 76661d2fcd5..fb8d1524639 100644
--- a/Mage.Sets/src/mage/cards/m/MinersBane.java
+++ b/Mage.Sets/src/mage/cards/m/MinersBane.java
@@ -33,7 +33,7 @@ public final class MinersBane extends CardImpl {
// {2}{R}: Miner's Bane gets +1/+0 and gains trample until end of turn.
Effect effect = new BoostSourceEffect(1, 0, Duration.EndOfTurn);
effect.setText("{this} gets +1/+0");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{R}"));
effect = new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn);
effect.setText("and gains trample until end of turn");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/m/MinionOfTeveshSzat.java b/Mage.Sets/src/mage/cards/m/MinionOfTeveshSzat.java
index 35afb89ca44..956c023c8a3 100644
--- a/Mage.Sets/src/mage/cards/m/MinionOfTeveshSzat.java
+++ b/Mage.Sets/src/mage/cards/m/MinionOfTeveshSzat.java
@@ -37,7 +37,7 @@ public final class MinionOfTeveshSzat extends CardImpl {
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
new DoUnlessControllerPaysEffect(
new DamageControllerEffect(2),
- new ManaCostsImpl("{B}{B}")
+ new ManaCostsImpl<>("{B}{B}")
),
TargetController.YOU, false
));
diff --git a/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java b/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java
index d182162f90f..dc65f3d3ba7 100644
--- a/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java
+++ b/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java
@@ -36,11 +36,11 @@ public final class MinotaurIllusionist extends CardImpl {
// {1}{U}: Minotaur Illusionist gains shroud until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(),
- Duration.EndOfTurn), new ManaCostsImpl("{1}{U}")));
+ Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}")));
// {R}, Sacrifice Minotaur Illusionist: Minotaur Illusionist deals damage equal to its power to target creature.
Effect effect = new DamageTargetEffect(new SourcePermanentPowerCount());
effect.setText("{this} deals damage equal to its power to target creature.");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{R}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MinotaurSureshot.java b/Mage.Sets/src/mage/cards/m/MinotaurSureshot.java
index 316e62b93b1..e8b6d274df3 100644
--- a/Mage.Sets/src/mage/cards/m/MinotaurSureshot.java
+++ b/Mage.Sets/src/mage/cards/m/MinotaurSureshot.java
@@ -32,7 +32,7 @@ public final class MinotaurSureshot extends CardImpl {
this.addAbility(ReachAbility.getInstance());
// {1}{R}: Minotaur Sureshot gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
}
private MinotaurSureshot(final MinotaurSureshot card) {
diff --git a/Mage.Sets/src/mage/cards/m/MirageMirror.java b/Mage.Sets/src/mage/cards/m/MirageMirror.java
index c673823a6a0..a5d3bf92ba1 100644
--- a/Mage.Sets/src/mage/cards/m/MirageMirror.java
+++ b/Mage.Sets/src/mage/cards/m/MirageMirror.java
@@ -30,7 +30,7 @@ public final class MirageMirror extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
// {2}: Mirage Mirror becomes a copy of target artifact, creature, enchantment, or land until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MirageMirrorCopyEffect(), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MirageMirrorCopyEffect(), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE_ENCHANTMENT_OR_LAND));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MireBoa.java b/Mage.Sets/src/mage/cards/m/MireBoa.java
index 3e0be68a017..35e279a7946 100644
--- a/Mage.Sets/src/mage/cards/m/MireBoa.java
+++ b/Mage.Sets/src/mage/cards/m/MireBoa.java
@@ -29,7 +29,7 @@ public final class MireBoa extends CardImpl {
this.addAbility(new SwampwalkAbility());
// {G}: Regenerate Mire Boa.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{G}")));
}
private MireBoa(final MireBoa card) {
diff --git a/Mage.Sets/src/mage/cards/m/MireShade.java b/Mage.Sets/src/mage/cards/m/MireShade.java
index a5261c2b233..139429636e6 100644
--- a/Mage.Sets/src/mage/cards/m/MireShade.java
+++ b/Mage.Sets/src/mage/cards/m/MireShade.java
@@ -37,7 +37,7 @@ public final class MireShade extends CardImpl {
this.toughness = new MageInt(1);
// {B}, Sacrifice a Swamp: Put a +1/+1 counter on Mire Shade. Activate this ability only any time you could cast a sorcery.
- Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{B}"));
+ Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MirrorMadPhantasm.java b/Mage.Sets/src/mage/cards/m/MirrorMadPhantasm.java
index 9d1ca6e6f31..76fb147a41b 100644
--- a/Mage.Sets/src/mage/cards/m/MirrorMadPhantasm.java
+++ b/Mage.Sets/src/mage/cards/m/MirrorMadPhantasm.java
@@ -36,7 +36,7 @@ public final class MirrorMadPhantasm extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}{U}: Mirror-Mad Phantasm's owner shuffles it into their library. If that player does, they reveal cards from the top of that library until a card named Mirror-Mad Phantasm is revealed. That player puts that card onto the battlefield and all other cards revealed this way into their graveyard.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MirrorMadPhantasmEffect(), new ManaCostsImpl("{1}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MirrorMadPhantasmEffect(), new ManaCostsImpl<>("{1}{U}")));
}
diff --git a/Mage.Sets/src/mage/cards/m/MirrorSheen.java b/Mage.Sets/src/mage/cards/m/MirrorSheen.java
index c77f0049e60..9e8fe6f725a 100644
--- a/Mage.Sets/src/mage/cards/m/MirrorSheen.java
+++ b/Mage.Sets/src/mage/cards/m/MirrorSheen.java
@@ -37,7 +37,7 @@ public final class MirrorSheen extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U/R}{U/R}");
// {1}{UR}{UR}: Copy target instant or sorcery spell that targets you. You may choose new targets for the copy.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetSpellEffect(), new ManaCostsImpl("{1}{U/R}{U/R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetSpellEffect(), new ManaCostsImpl<>("{1}{U/R}{U/R}"));
ability.addTarget(new TargetSpell(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MirrorWall.java b/Mage.Sets/src/mage/cards/m/MirrorWall.java
index b62f3519ef8..80d634852bc 100644
--- a/Mage.Sets/src/mage/cards/m/MirrorWall.java
+++ b/Mage.Sets/src/mage/cards/m/MirrorWall.java
@@ -32,7 +32,7 @@ public final class MirrorWall extends CardImpl {
// {W}: Mirror Wall can attack this turn as though it didn't have defender.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.EndOfTurn),
- new ManaCostsImpl("{W}")));
+ new ManaCostsImpl<>("{W}")));
}
private MirrorWall(final MirrorWall card) {
diff --git a/Mage.Sets/src/mage/cards/m/Mirrorpool.java b/Mage.Sets/src/mage/cards/m/Mirrorpool.java
index d162796dcb6..9336d55b429 100644
--- a/Mage.Sets/src/mage/cards/m/Mirrorpool.java
+++ b/Mage.Sets/src/mage/cards/m/Mirrorpool.java
@@ -47,14 +47,14 @@ public final class Mirrorpool extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {2}{C}, {T}, Sacrifice Mirrorpool: Copy target instant or sorcery spell you control. You may choose new targets for the copy.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetSpellEffect(), new ManaCostsImpl("{2}{C}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetSpellEffect(), new ManaCostsImpl<>("{2}{C}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetSpell(filter));
this.addAbility(ability);
// {4}{C}, {T}, Sacrifice Mirrorpool: Create a token that's a copy of target creature you control.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenCopyTargetEffect(), new ManaCostsImpl("{4}{C}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenCopyTargetEffect(), new ManaCostsImpl<>("{4}{C}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/m/MirrorwoodTreefolk.java b/Mage.Sets/src/mage/cards/m/MirrorwoodTreefolk.java
index 906b070e4c5..c7fee304599 100644
--- a/Mage.Sets/src/mage/cards/m/MirrorwoodTreefolk.java
+++ b/Mage.Sets/src/mage/cards/m/MirrorwoodTreefolk.java
@@ -31,7 +31,7 @@ public final class MirrorwoodTreefolk extends CardImpl {
this.toughness = new MageInt(4);
// {2}{R}{W}: The next time damage would be dealt to Mirrorwood Treefolk this turn, that damage is dealt to any target instead.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MirrorwoodTreefolkEffect(), new ManaCostsImpl("{2}{R}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MirrorwoodTreefolkEffect(), new ManaCostsImpl<>("{2}{R}{W}"));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/Mirrorworks.java b/Mage.Sets/src/mage/cards/m/Mirrorworks.java
index 5744bc09073..c24e7df320b 100644
--- a/Mage.Sets/src/mage/cards/m/Mirrorworks.java
+++ b/Mage.Sets/src/mage/cards/m/Mirrorworks.java
@@ -35,7 +35,7 @@ public final class Mirrorworks extends CardImpl {
// Whenever another nontoken artifact enters the battlefield under your control, you may pay {2}.
// If you do, create a token that's a copy of that artifact.
Effect effect = new DoIfCostPaid(new CreateTokenCopyTargetEffect(true),
- new ManaCostsImpl("{2}"), "Create a token that's a copy of that artifact?");
+ new ManaCostsImpl<>("{2}"), "Create a token that's a copy of that artifact?");
effect.setText("you may pay {2}. If you do, create a token that's a copy of that artifact");
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, effect, filter, false, SetTargetPointer.PERMANENT, null));
}
diff --git a/Mage.Sets/src/mage/cards/m/Miscalculation.java b/Mage.Sets/src/mage/cards/m/Miscalculation.java
index 40b7abb4593..949823d78f4 100644
--- a/Mage.Sets/src/mage/cards/m/Miscalculation.java
+++ b/Mage.Sets/src/mage/cards/m/Miscalculation.java
@@ -25,7 +25,7 @@ public final class Miscalculation extends CardImpl {
this.getSpellAbility().addTarget(new TargetSpell());
this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(2)));
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private Miscalculation(final Miscalculation card) {
diff --git a/Mage.Sets/src/mage/cards/m/MischievousQuanar.java b/Mage.Sets/src/mage/cards/m/MischievousQuanar.java
index 25d1c410901..1d8ffccb779 100644
--- a/Mage.Sets/src/mage/cards/m/MischievousQuanar.java
+++ b/Mage.Sets/src/mage/cards/m/MischievousQuanar.java
@@ -35,10 +35,10 @@ public final class MischievousQuanar extends CardImpl {
// {3}{U}{U}: Turn Mischievous Quanar face down.
Effect effect = new BecomesFaceDownCreatureEffect(Duration.Custom, BecomesFaceDownCreatureEffect.FaceDownType.MANUAL);
effect.setText("Turn {this} face down. (It becomes a 2/2 creature.)");
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{3}{U}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{3}{U}{U}")));
// Morph {1}{U}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{U}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{U}{U}")));
// When Mischievous Quanar is turned face up, copy target instant or sorcery spell. You may choose new targets for that copy.
Effect effect2 = new CopyTargetSpellEffect();
diff --git a/Mage.Sets/src/mage/cards/m/MishrasHelix.java b/Mage.Sets/src/mage/cards/m/MishrasHelix.java
index 6628f583276..b90bbac7c0f 100644
--- a/Mage.Sets/src/mage/cards/m/MishrasHelix.java
+++ b/Mage.Sets/src/mage/cards/m/MishrasHelix.java
@@ -26,7 +26,7 @@ public final class MishrasHelix extends CardImpl {
// {X}, {tap}: Tap X target lands.
Effect effect = new TapTargetEffect("tap X target lands");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{X}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_LANDS));
ability.setTargetAdjuster(XTargetsAdjuster.instance);
diff --git a/Mage.Sets/src/mage/cards/m/MishrasSelfReplicator.java b/Mage.Sets/src/mage/cards/m/MishrasSelfReplicator.java
index a7c7bcca33d..bd672bdcb92 100644
--- a/Mage.Sets/src/mage/cards/m/MishrasSelfReplicator.java
+++ b/Mage.Sets/src/mage/cards/m/MishrasSelfReplicator.java
@@ -37,7 +37,7 @@ public final class MishrasSelfReplicator extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(
new CreateTokenCopySourceEffect()
.setText("create a token that's a copy of {this}. (Artifacts, legendaries, and Sagas are historic.)"),
- new ManaCostsImpl("{1}")), filter, false));
+ new ManaCostsImpl<>("{1}")), filter, false));
}
diff --git a/Mage.Sets/src/mage/cards/m/MistDragon.java b/Mage.Sets/src/mage/cards/m/MistDragon.java
index fbea53b47db..c57cf4abf42 100644
--- a/Mage.Sets/src/mage/cards/m/MistDragon.java
+++ b/Mage.Sets/src/mage/cards/m/MistDragon.java
@@ -39,7 +39,7 @@ public final class MistDragon extends CardImpl {
// {3}{U}{U}: Mist Dragon phases out.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new PhaseOutSourceEffect(), new ManaCostsImpl("{3}{U}{U}")));
+ new PhaseOutSourceEffect(), new ManaCostsImpl<>("{3}{U}{U}")));
}
private MistDragon(final MistDragon card) {
diff --git a/Mage.Sets/src/mage/cards/m/MistfireWeaver.java b/Mage.Sets/src/mage/cards/m/MistfireWeaver.java
index 9357ac73cd8..fc32d61d874 100644
--- a/Mage.Sets/src/mage/cards/m/MistfireWeaver.java
+++ b/Mage.Sets/src/mage/cards/m/MistfireWeaver.java
@@ -35,7 +35,7 @@ public final class MistfireWeaver extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Morph {2}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{U}")));
// When Misfire Weaver is turned face up, target creature you control gains hexproof until end of turn
Effect effect = new GainAbilityTargetEffect(HexproofAbility.getInstance(), Duration.EndOfTurn);
Ability ability = new TurnedFaceUpSourceTriggeredAbility(effect);
diff --git a/Mage.Sets/src/mage/cards/m/Mistfolk.java b/Mage.Sets/src/mage/cards/m/Mistfolk.java
index 9d7ad8921d0..60ba8fc1622 100644
--- a/Mage.Sets/src/mage/cards/m/Mistfolk.java
+++ b/Mage.Sets/src/mage/cards/m/Mistfolk.java
@@ -44,7 +44,7 @@ public final class Mistfolk extends CardImpl {
Ability ability = new SimpleActivatedAbility(
new CounterTargetEffect()
.setText("counter target spell that targets {this}"),
- new ManaCostsImpl("{U}")
+ new ManaCostsImpl<>("{U}")
);
ability.addTarget(new TargetSpell(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MistformSeaswift.java b/Mage.Sets/src/mage/cards/m/MistformSeaswift.java
index 1715a6dc129..59f183f4eb0 100644
--- a/Mage.Sets/src/mage/cards/m/MistformSeaswift.java
+++ b/Mage.Sets/src/mage/cards/m/MistformSeaswift.java
@@ -34,7 +34,7 @@ public final class MistformSeaswift extends CardImpl {
this.addAbility(new SimpleActivatedAbility(new BecomesChosenCreatureTypeSourceEffect(), new GenericManaCost(1)));
// Morph {1}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{U}")));
}
diff --git a/Mage.Sets/src/mage/cards/m/MistformShrieker.java b/Mage.Sets/src/mage/cards/m/MistformShrieker.java
index cbcb87b5429..aa259907fbb 100644
--- a/Mage.Sets/src/mage/cards/m/MistformShrieker.java
+++ b/Mage.Sets/src/mage/cards/m/MistformShrieker.java
@@ -35,7 +35,7 @@ public final class MistformShrieker extends CardImpl {
this.addAbility(new SimpleActivatedAbility(new BecomesChosenCreatureTypeSourceEffect(), new GenericManaCost(1)));
// Morph {3}{U}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{U}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{U}{U}")));
}
diff --git a/Mage.Sets/src/mage/cards/m/MistformStalker.java b/Mage.Sets/src/mage/cards/m/MistformStalker.java
index 0069d21df96..9737dbdac09 100644
--- a/Mage.Sets/src/mage/cards/m/MistformStalker.java
+++ b/Mage.Sets/src/mage/cards/m/MistformStalker.java
@@ -38,7 +38,7 @@ public final class MistformStalker extends CardImpl {
// {2}{U}{U}: Mistform Stalker gets +2/+2 and gains flying until end of turn.
Effect effect = new BoostSourceEffect(2, 2, Duration.EndOfTurn);
effect.setText("{this} gets +2/+2");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{U}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{U}{U}"));
effect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn);
effect.setText("and gains flying until end of turn");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/m/MistformWakecaster.java b/Mage.Sets/src/mage/cards/m/MistformWakecaster.java
index 63a2bacf211..1f9a5b309f5 100644
--- a/Mage.Sets/src/mage/cards/m/MistformWakecaster.java
+++ b/Mage.Sets/src/mage/cards/m/MistformWakecaster.java
@@ -44,10 +44,10 @@ public final class MistformWakecaster extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}: Mistform Wakecaster becomes the creature type of your choice until end of turn.
- this.addAbility(new SimpleActivatedAbility(new BecomesChosenCreatureTypeSourceEffect(), new ManaCostsImpl("{1}")));
+ this.addAbility(new SimpleActivatedAbility(new BecomesChosenCreatureTypeSourceEffect(), new ManaCostsImpl<>("{1}")));
// {2}{U}{U}, {T}: Choose a creature type. Each creature you control becomes that type until end of turn.
- Ability ability = new SimpleActivatedAbility(new BecomesChosenCreatureTypeControlledEffect(), new ManaCostsImpl("{2}{U}{U}"));
+ Ability ability = new SimpleActivatedAbility(new BecomesChosenCreatureTypeControlledEffect(), new ManaCostsImpl<>("{2}{U}{U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MisthoofKirin.java b/Mage.Sets/src/mage/cards/m/MisthoofKirin.java
index ab3f2edec86..ca20a2e8a34 100644
--- a/Mage.Sets/src/mage/cards/m/MisthoofKirin.java
+++ b/Mage.Sets/src/mage/cards/m/MisthoofKirin.java
@@ -31,7 +31,7 @@ public final class MisthoofKirin extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// Megamorph {1}{W} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)
- this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{W}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{W}"), true));
}
private MisthoofKirin(final MisthoofKirin card) {
diff --git a/Mage.Sets/src/mage/cards/m/MistmeadowWitch.java b/Mage.Sets/src/mage/cards/m/MistmeadowWitch.java
index c462a3ab2c2..33c2a0c3a29 100644
--- a/Mage.Sets/src/mage/cards/m/MistmeadowWitch.java
+++ b/Mage.Sets/src/mage/cards/m/MistmeadowWitch.java
@@ -29,7 +29,7 @@ public final class MistmeadowWitch extends CardImpl {
this.toughness = new MageInt(1);
// {2}{W}{U}: Exile target creature. Return that card to the battlefield under its owner's control at the beginning of the next end step.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MistmeadowWitchEffect(), new ManaCostsImpl("{2}{W}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MistmeadowWitchEffect(), new ManaCostsImpl<>("{2}{W}{U}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MistveilPlains.java b/Mage.Sets/src/mage/cards/m/MistveilPlains.java
index 1bf754c5597..941cc31a78b 100644
--- a/Mage.Sets/src/mage/cards/m/MistveilPlains.java
+++ b/Mage.Sets/src/mage/cards/m/MistveilPlains.java
@@ -45,7 +45,7 @@ public final class MistveilPlains extends CardImpl {
Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD,
new MistveilPlainsGraveyardToLibraryEffect(),
- new ManaCostsImpl("{W}"),
+ new ManaCostsImpl<>("{W}"),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1)
);
ability.addTarget(new TargetCardInYourGraveyard());
diff --git a/Mage.Sets/src/mage/cards/m/Mistwalker.java b/Mage.Sets/src/mage/cards/m/Mistwalker.java
index ec12dc22510..a20f1365f63 100644
--- a/Mage.Sets/src/mage/cards/m/Mistwalker.java
+++ b/Mage.Sets/src/mage/cards/m/Mistwalker.java
@@ -34,7 +34,7 @@ public final class Mistwalker extends CardImpl {
// {1}{U}: Mistwalker gets +1/-1 until end of turn.
this.addAbility(new SimpleActivatedAbility(
- new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl("{1}{U}")
+ new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}")
));
}
diff --git a/Mage.Sets/src/mage/cards/m/MizziumMortars.java b/Mage.Sets/src/mage/cards/m/MizziumMortars.java
index de61755de34..af8e09f6bfc 100644
--- a/Mage.Sets/src/mage/cards/m/MizziumMortars.java
+++ b/Mage.Sets/src/mage/cards/m/MizziumMortars.java
@@ -25,7 +25,7 @@ public final class MizziumMortars extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(4));
// Overload {3}{R}{R}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
- this.addAbility(new OverloadAbility(this, new DamageAllEffect(4, StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL), new ManaCostsImpl("{3}{R}{R}{R}")));
+ this.addAbility(new OverloadAbility(this, new DamageAllEffect(4, StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL), new ManaCostsImpl<>("{3}{R}{R}{R}")));
}
private MizziumMortars(final MizziumMortars card) {
diff --git a/Mage.Sets/src/mage/cards/m/MizziumSkin.java b/Mage.Sets/src/mage/cards/m/MizziumSkin.java
index f466540e613..0820739d3b1 100644
--- a/Mage.Sets/src/mage/cards/m/MizziumSkin.java
+++ b/Mage.Sets/src/mage/cards/m/MizziumSkin.java
@@ -35,7 +35,7 @@ public final class MizziumSkin extends CardImpl {
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HexproofAbility.getInstance(), Duration.EndOfTurn));
// Overload {1}{U} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
- OverloadAbility ability = new OverloadAbility(this, new BoostAllEffect(0,1, Duration.EndOfTurn,StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED,false), new ManaCostsImpl("{1}{U}"));
+ OverloadAbility ability = new OverloadAbility(this, new BoostAllEffect(0,1, Duration.EndOfTurn,StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED,false), new ManaCostsImpl<>("{1}{U}"));
ability.addEffect(new GainAbilityAllEffect(HexproofAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MizziumTransreliquat.java b/Mage.Sets/src/mage/cards/m/MizziumTransreliquat.java
index 62843afff8a..036e3252ede 100644
--- a/Mage.Sets/src/mage/cards/m/MizziumTransreliquat.java
+++ b/Mage.Sets/src/mage/cards/m/MizziumTransreliquat.java
@@ -27,12 +27,12 @@ public final class MizziumTransreliquat extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// {3}: Mizzium Transreliquat becomes a copy of target artifact until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MizziumTransreliquatCopyEffect(), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MizziumTransreliquatCopyEffect(), new ManaCostsImpl<>("{3}"));
ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability);
// {1}{U}{R}: Mizzium Transreliquat becomes a copy of target artifact, except it has this ability.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MizziumTransreliquatCopyAndGainAbilityEffect(), new ManaCostsImpl("{1}{U}{R}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MizziumTransreliquatCopyAndGainAbilityEffect(), new ManaCostsImpl<>("{1}{U}{R}"));
ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability);
}
@@ -97,7 +97,7 @@ class MizziumTransreliquatCopyAndGainAbilityEffect extends OneShotEffect {
Permanent copyFromPermanent = game.getPermanent(getTargetPointer().getFirst(game, source));
if (sourcePermanent != null && copyFromPermanent != null) {
Permanent newPermanent = game.copyPermanent(copyFromPermanent, sourcePermanent.getId(), source, new EmptyCopyApplier());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MizziumTransreliquatCopyAndGainAbilityEffect(), new ManaCostsImpl("{1}{U}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MizziumTransreliquatCopyAndGainAbilityEffect(), new ManaCostsImpl<>("{1}{U}{R}"));
ability.addTarget(new TargetArtifactPermanent());
newPermanent.addAbility(ability, source.getSourceId(), game);
return true;
diff --git a/Mage.Sets/src/mage/cards/m/MizzixsMastery.java b/Mage.Sets/src/mage/cards/m/MizzixsMastery.java
index 91855af4a0d..89ec5c8073c 100644
--- a/Mage.Sets/src/mage/cards/m/MizzixsMastery.java
+++ b/Mage.Sets/src/mage/cards/m/MizzixsMastery.java
@@ -38,7 +38,7 @@ public final class MizzixsMastery extends CardImpl {
// Overload {5}{R}{R}{R}
Ability ability = new OverloadAbility(this, new MizzixsMasteryOverloadEffect(),
- new ManaCostsImpl("{5}{R}{R}{R}"));
+ new ManaCostsImpl<>("{5}{R}{R}{R}"));
ability.addEffect(new ExileSpellEffect());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MoanOfTheUnhallowed.java b/Mage.Sets/src/mage/cards/m/MoanOfTheUnhallowed.java
index 4b3ccb090c7..7999822b6dc 100644
--- a/Mage.Sets/src/mage/cards/m/MoanOfTheUnhallowed.java
+++ b/Mage.Sets/src/mage/cards/m/MoanOfTheUnhallowed.java
@@ -24,7 +24,7 @@ public final class MoanOfTheUnhallowed extends CardImpl {
this.getSpellAbility().addEffect(new CreateTokenEffect(new ZombieToken(), 2));
// Flashback {5}{B}{B}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{5}{B}{B}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{5}{B}{B}")));
}
private MoanOfTheUnhallowed(final MoanOfTheUnhallowed card) {
diff --git a/Mage.Sets/src/mage/cards/m/Mobilization.java b/Mage.Sets/src/mage/cards/m/Mobilization.java
index f6d758f84e8..65774b02edf 100644
--- a/Mage.Sets/src/mage/cards/m/Mobilization.java
+++ b/Mage.Sets/src/mage/cards/m/Mobilization.java
@@ -33,7 +33,7 @@ public final class Mobilization extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)));
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SoldierToken(), 1), new ManaCostsImpl("{2}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SoldierToken(), 1), new ManaCostsImpl<>("{2}{W}")));
}
private Mobilization(final Mobilization card) {
diff --git a/Mage.Sets/src/mage/cards/m/MoltenFirebird.java b/Mage.Sets/src/mage/cards/m/MoltenFirebird.java
index 9b4934198ab..9fcf380de7b 100644
--- a/Mage.Sets/src/mage/cards/m/MoltenFirebird.java
+++ b/Mage.Sets/src/mage/cards/m/MoltenFirebird.java
@@ -37,7 +37,7 @@ public final class MoltenFirebird extends CardImpl {
this.addAbility(ability);
// {4}{R}: Exile Molten Firebird.
- this.addAbility(new SimpleActivatedAbility(new ExileSourceEffect(), new ManaCostsImpl("{4}{R}")));
+ this.addAbility(new SimpleActivatedAbility(new ExileSourceEffect(), new ManaCostsImpl<>("{4}{R}")));
}
private MoltenFirebird(final MoltenFirebird card) {
diff --git a/Mage.Sets/src/mage/cards/m/MoltenFrame.java b/Mage.Sets/src/mage/cards/m/MoltenFrame.java
index a88fb4e0ca8..90e7ed2ef48 100644
--- a/Mage.Sets/src/mage/cards/m/MoltenFrame.java
+++ b/Mage.Sets/src/mage/cards/m/MoltenFrame.java
@@ -29,7 +29,7 @@ public final class MoltenFrame extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
public MoltenFrame (final MoltenFrame card) {
diff --git a/Mage.Sets/src/mage/cards/m/MoltenRavager.java b/Mage.Sets/src/mage/cards/m/MoltenRavager.java
index 61d685d67bb..8a7ba5d2bb9 100644
--- a/Mage.Sets/src/mage/cards/m/MoltenRavager.java
+++ b/Mage.Sets/src/mage/cards/m/MoltenRavager.java
@@ -26,7 +26,7 @@ public final class MoltenRavager extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(4);
- 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 MoltenRavager(final MoltenRavager card) {
diff --git a/Mage.Sets/src/mage/cards/m/MoltenVortex.java b/Mage.Sets/src/mage/cards/m/MoltenVortex.java
index 59641521c05..c6565c12308 100644
--- a/Mage.Sets/src/mage/cards/m/MoltenVortex.java
+++ b/Mage.Sets/src/mage/cards/m/MoltenVortex.java
@@ -25,7 +25,7 @@ public final class MoltenVortex extends CardImpl {
// {R}, Discard a land card: Molten Vortex deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(
- new DamageTargetEffect(2), new ManaCostsImpl("{R}")
+ new DamageTargetEffect(2), new ManaCostsImpl<>("{R}")
);
ability.addCost(new DiscardTargetCost(new TargetCardInHand(StaticFilters.FILTER_CARD_LAND_A)));
ability.addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/m/MoltingHarpy.java b/Mage.Sets/src/mage/cards/m/MoltingHarpy.java
index eb6a24787ee..3f167bfbdae 100644
--- a/Mage.Sets/src/mage/cards/m/MoltingHarpy.java
+++ b/Mage.Sets/src/mage/cards/m/MoltingHarpy.java
@@ -32,7 +32,7 @@ public final class MoltingHarpy extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// At the beginning of your upkeep, sacrifice Molting Harpy unless you pay {2}.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{2}")), TargetController.YOU, false));
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{2}")), TargetController.YOU, false));
}
private MoltingHarpy(final MoltingHarpy card) {
diff --git a/Mage.Sets/src/mage/cards/m/MomentaryBlink.java b/Mage.Sets/src/mage/cards/m/MomentaryBlink.java
index 16da3515398..e8def286cd2 100644
--- a/Mage.Sets/src/mage/cards/m/MomentaryBlink.java
+++ b/Mage.Sets/src/mage/cards/m/MomentaryBlink.java
@@ -26,7 +26,7 @@ public final class MomentaryBlink extends CardImpl {
this.getSpellAbility().addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
// Flashback {3}{U}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{3}{U}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{3}{U}")));
}
private MomentaryBlink(final MomentaryBlink card) {
diff --git a/Mage.Sets/src/mage/cards/m/MomentsPeace.java b/Mage.Sets/src/mage/cards/m/MomentsPeace.java
index 6fa6f598d54..e96da7b452b 100644
--- a/Mage.Sets/src/mage/cards/m/MomentsPeace.java
+++ b/Mage.Sets/src/mage/cards/m/MomentsPeace.java
@@ -24,7 +24,7 @@ public final class MomentsPeace extends CardImpl {
this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true));
// Flashback {2}{G}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{2}{G}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{2}{G}")));
}
private MomentsPeace(final MomentsPeace card) {
diff --git a/Mage.Sets/src/mage/cards/m/MonCalamariInitiate.java b/Mage.Sets/src/mage/cards/m/MonCalamariInitiate.java
index 82c0a14e61f..d12b7c21096 100644
--- a/Mage.Sets/src/mage/cards/m/MonCalamariInitiate.java
+++ b/Mage.Sets/src/mage/cards/m/MonCalamariInitiate.java
@@ -29,7 +29,7 @@ public final class MonCalamariInitiate extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
// Meditate {1}{U}
- this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{U}")));
+ this.addAbility(new MeditateAbility(new ManaCostsImpl<>("{1}{U}")));
}
private MonCalamariInitiate(final MonCalamariInitiate card) {
diff --git a/Mage.Sets/src/mage/cards/m/MonasteryFlock.java b/Mage.Sets/src/mage/cards/m/MonasteryFlock.java
index cea30ee5b47..a69d5848801 100644
--- a/Mage.Sets/src/mage/cards/m/MonasteryFlock.java
+++ b/Mage.Sets/src/mage/cards/m/MonasteryFlock.java
@@ -30,7 +30,7 @@ public final class MonasteryFlock extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Morph {U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{U}")));
}
private MonasteryFlock(final MonasteryFlock card) {
diff --git a/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java b/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java
index d5a352d2ef9..ddcc26bab0d 100644
--- a/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java
+++ b/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java
@@ -37,7 +37,7 @@ public final class MonasteryLoremaster extends CardImpl {
this.toughness = new MageInt(2);
// Megamorph {5}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{5}{U}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{5}{U}"), true));
// When Monastery Loremaster is turned face up, return target noncreature, nonland card from your graveyard to your hand.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect());
diff --git a/Mage.Sets/src/mage/cards/m/MonstrousCarabid.java b/Mage.Sets/src/mage/cards/m/MonstrousCarabid.java
index 66df095ccf6..9d49c04c122 100644
--- a/Mage.Sets/src/mage/cards/m/MonstrousCarabid.java
+++ b/Mage.Sets/src/mage/cards/m/MonstrousCarabid.java
@@ -29,7 +29,7 @@ public final class MonstrousCarabid extends CardImpl {
// Monstrous Carabid attacks each turn if able.
this.addAbility(new AttacksEachCombatStaticAbility());
// Cycling {BR}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{B/R}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{B/R}")));
}
private MonstrousCarabid(final MonstrousCarabid card) {
diff --git a/Mage.Sets/src/mage/cards/m/MonstrousStep.java b/Mage.Sets/src/mage/cards/m/MonstrousStep.java
index e873e8e3f9d..dde0308f408 100644
--- a/Mage.Sets/src/mage/cards/m/MonstrousStep.java
+++ b/Mage.Sets/src/mage/cards/m/MonstrousStep.java
@@ -48,7 +48,7 @@ public final class MonstrousStep extends CardImpl {
this.getSpellAbility().addTarget(target);
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private MonstrousStep(final MonstrousStep card) {
diff --git a/Mage.Sets/src/mage/cards/m/MoonlightGeist.java b/Mage.Sets/src/mage/cards/m/MoonlightGeist.java
index b8a71f30c90..e49deb6dcc3 100644
--- a/Mage.Sets/src/mage/cards/m/MoonlightGeist.java
+++ b/Mage.Sets/src/mage/cards/m/MoonlightGeist.java
@@ -33,7 +33,7 @@ public final class MoonlightGeist extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {3}{W}: Prevent all combat damage that would be dealt to and dealt by Moonlight Geist this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventCombatDamageToSourceEffect(Duration.EndOfTurn), new ManaCostsImpl("{3}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventCombatDamageToSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{3}{W}"));
ability.addEffect(new PreventCombatDamageBySourceEffect(Duration.EndOfTurn));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MoonringIsland.java b/Mage.Sets/src/mage/cards/m/MoonringIsland.java
index 60d7fd02e0d..2af09f8d935 100644
--- a/Mage.Sets/src/mage/cards/m/MoonringIsland.java
+++ b/Mage.Sets/src/mage/cards/m/MoonringIsland.java
@@ -46,7 +46,7 @@ public final class MoonringIsland extends CardImpl {
// {U}, {tap}: Look at the top card of target player's library. Activate this ability only if you control two or more blue permanents.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new LookLibraryTopCardTargetPlayerEffect(),
- new ManaCostsImpl("{U}"),
+ new ManaCostsImpl<>("{U}"),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer());
diff --git a/Mage.Sets/src/mage/cards/m/MoorlandHaunt.java b/Mage.Sets/src/mage/cards/m/MoorlandHaunt.java
index 44a8d8e8d8d..f6fcff3f60b 100644
--- a/Mage.Sets/src/mage/cards/m/MoorlandHaunt.java
+++ b/Mage.Sets/src/mage/cards/m/MoorlandHaunt.java
@@ -32,7 +32,7 @@ public final class MoorlandHaunt extends CardImpl {
// {W}{U}, {tap}, Exile a creature card from your graveyard: Create a 1/1 white Spirit creature token with flying.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new SpiritWhiteToken()),
- new ManaCostsImpl("{W}{U}"));
+ new ManaCostsImpl<>("{W}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MoorlandInquisitor.java b/Mage.Sets/src/mage/cards/m/MoorlandInquisitor.java
index ec2070eb0ff..109aba04646 100644
--- a/Mage.Sets/src/mage/cards/m/MoorlandInquisitor.java
+++ b/Mage.Sets/src/mage/cards/m/MoorlandInquisitor.java
@@ -30,7 +30,7 @@ public final class MoorlandInquisitor extends CardImpl {
// {2}{W}: Moorland Inquisitor gains first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{2}{W}")));
+ new ManaCostsImpl<>("{2}{W}")));
}
private MoorlandInquisitor(final MoorlandInquisitor card) {
diff --git a/Mage.Sets/src/mage/cards/m/MoratoriumStone.java b/Mage.Sets/src/mage/cards/m/MoratoriumStone.java
index 9bd2aed6096..860ac6bd8c7 100644
--- a/Mage.Sets/src/mage/cards/m/MoratoriumStone.java
+++ b/Mage.Sets/src/mage/cards/m/MoratoriumStone.java
@@ -46,7 +46,7 @@ public final class MoratoriumStone extends CardImpl {
this.addAbility(ability);
// {2}{W}{B}, {tap}, Sacrifice Moratorium Stone: Exile target nonland card from a graveyard, all other cards from graveyards with the same name as that card, and all permanents with that name.
- ability = new SimpleActivatedAbility(new MoratoriumStoneEffect(), new ManaCostsImpl("{2}{W}{B}"));
+ ability = new SimpleActivatedAbility(new MoratoriumStoneEffect(), new ManaCostsImpl<>("{2}{W}{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInGraveyard(filter));
diff --git a/Mage.Sets/src/mage/cards/m/MorbidHunger.java b/Mage.Sets/src/mage/cards/m/MorbidHunger.java
index 60453a85eee..ec8049b31a4 100644
--- a/Mage.Sets/src/mage/cards/m/MorbidHunger.java
+++ b/Mage.Sets/src/mage/cards/m/MorbidHunger.java
@@ -27,7 +27,7 @@ public final class MorbidHunger extends CardImpl {
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new GainLifeEffect(3));
// Flashback {7}{B}{B}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{7}{B}{B}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{7}{B}{B}")));
}
diff --git a/Mage.Sets/src/mage/cards/m/MordantDragon.java b/Mage.Sets/src/mage/cards/m/MordantDragon.java
index e1cee271064..7b76d722d74 100644
--- a/Mage.Sets/src/mage/cards/m/MordantDragon.java
+++ b/Mage.Sets/src/mage/cards/m/MordantDragon.java
@@ -40,7 +40,7 @@ public final class MordantDragon extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}{R}: Mordant Dragon gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
// Whenever Mordant Dragon deals combat damage to a player, you may have it deal that much damage to target creature that player controls.
this.addAbility(new MordantDragonTriggeredAbility());
diff --git a/Mage.Sets/src/mage/cards/m/MorgueTheft.java b/Mage.Sets/src/mage/cards/m/MorgueTheft.java
index c2046bc60ca..a18c2936026 100644
--- a/Mage.Sets/src/mage/cards/m/MorgueTheft.java
+++ b/Mage.Sets/src/mage/cards/m/MorgueTheft.java
@@ -24,7 +24,7 @@ public final class MorgueTheft extends CardImpl {
this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE));
// Flashback {4}{B}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{4}{B}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{4}{B}")));
}
diff --git a/Mage.Sets/src/mage/cards/m/MoriokReplica.java b/Mage.Sets/src/mage/cards/m/MoriokReplica.java
index e389ff186e1..b229a670c2b 100644
--- a/Mage.Sets/src/mage/cards/m/MoriokReplica.java
+++ b/Mage.Sets/src/mage/cards/m/MoriokReplica.java
@@ -32,7 +32,7 @@ public final class MoriokReplica extends CardImpl {
// {1}{B}, Sacrifice Moriok Replica: You draw two cards and you lose 2 life.
Effect effect = new DrawCardSourceControllerEffect(2);
effect.setText("You draw two cards");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}"));
effect = new LoseLifeSourceControllerEffect(2);
effect.setText("and you lose 2 life");
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/m/MorophonTheBoundless.java b/Mage.Sets/src/mage/cards/m/MorophonTheBoundless.java
index fd2be913ab0..e33112ea6a3 100644
--- a/Mage.Sets/src/mage/cards/m/MorophonTheBoundless.java
+++ b/Mage.Sets/src/mage/cards/m/MorophonTheBoundless.java
@@ -47,7 +47,7 @@ public final class MorophonTheBoundless extends CardImpl {
// Spells of the chosen type you cast cost {W}{U}{B}{R}{G} less to cast. This effect reduces only the amount of colored mana you pay.
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(
- filter, new ManaCostsImpl("{W}{U}{B}{R}{G}")
+ filter, new ManaCostsImpl<>("{W}{U}{B}{R}{G}")
)));
// Other creatures you control of the chosen type get +1/+1.
diff --git a/Mage.Sets/src/mage/cards/m/Mortipede.java b/Mage.Sets/src/mage/cards/m/Mortipede.java
index 35c1ddfa125..19f498659ba 100644
--- a/Mage.Sets/src/mage/cards/m/Mortipede.java
+++ b/Mage.Sets/src/mage/cards/m/Mortipede.java
@@ -26,7 +26,7 @@ public final class Mortipede extends CardImpl {
this.toughness = new MageInt(1);
// {2}{G}: All creatures able to block Mortipede this turn do so.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByAllSourceEffect(Duration.EndOfTurn), new ManaCostsImpl("{2}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByAllSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}")));
}
private Mortipede(final Mortipede card) {
diff --git a/Mage.Sets/src/mage/cards/m/Mortiphobia.java b/Mage.Sets/src/mage/cards/m/Mortiphobia.java
index f2b62bfb7de..aafcd5aab80 100644
--- a/Mage.Sets/src/mage/cards/m/Mortiphobia.java
+++ b/Mage.Sets/src/mage/cards/m/Mortiphobia.java
@@ -24,12 +24,12 @@ public final class Mortiphobia extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}{B}");
// {1}{B}, Discard a card: Exile target card from a graveyard.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCardInGraveyard());
this.addAbility(ability);
// {1}{B}, Sacrifice Mortiphobia: Exile target card from a graveyard.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}{B}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInGraveyard());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MosquitoGuard.java b/Mage.Sets/src/mage/cards/m/MosquitoGuard.java
index 71951ec5ede..0f906140253 100644
--- a/Mage.Sets/src/mage/cards/m/MosquitoGuard.java
+++ b/Mage.Sets/src/mage/cards/m/MosquitoGuard.java
@@ -26,7 +26,7 @@ public final class MosquitoGuard extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(FirstStrikeAbility.getInstance());
- this.addAbility(new ReinforceAbility(1, new ManaCostsImpl("{1}{W}")));
+ this.addAbility(new ReinforceAbility(1, new ManaCostsImpl<>("{1}{W}")));
}
public MosquitoGuard (final MosquitoGuard card) {
diff --git a/Mage.Sets/src/mage/cards/m/MossfireEgg.java b/Mage.Sets/src/mage/cards/m/MossfireEgg.java
index 5714eb2ef1c..25ab3d1b63c 100644
--- a/Mage.Sets/src/mage/cards/m/MossfireEgg.java
+++ b/Mage.Sets/src/mage/cards/m/MossfireEgg.java
@@ -24,7 +24,7 @@ public final class MossfireEgg extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {2}, {tap}, Sacrifice Mossfire Egg: Add {R}{G}. Draw a card.
- ActivatedManaAbilityImpl ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 0, 1, 1, 0, 0, 0), new ManaCostsImpl("{2}"));
+ ActivatedManaAbilityImpl ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 0, 1, 1, 0, 0, 0), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardSourceControllerEffect(1));
diff --git a/Mage.Sets/src/mage/cards/m/MossfireValley.java b/Mage.Sets/src/mage/cards/m/MossfireValley.java
index 651f77047b3..b759ee1510e 100644
--- a/Mage.Sets/src/mage/cards/m/MossfireValley.java
+++ b/Mage.Sets/src/mage/cards/m/MossfireValley.java
@@ -22,7 +22,7 @@ public final class MossfireValley extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
// {1}, {tap}: Add {R}{G}.
- Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 0, 1, 1, 0, 0, 0), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 0, 1, 1, 0, 0, 0), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/Mosstodon.java b/Mage.Sets/src/mage/cards/m/Mosstodon.java
index 11a9d6f2ff0..d4f27ba0b30 100644
--- a/Mage.Sets/src/mage/cards/m/Mosstodon.java
+++ b/Mage.Sets/src/mage/cards/m/Mosstodon.java
@@ -40,7 +40,7 @@ public final class Mosstodon extends CardImpl {
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{1}"));
+ new ManaCostsImpl<>("{1}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MosswortBridge.java b/Mage.Sets/src/mage/cards/m/MosswortBridge.java
index 1e1344c9c86..1a24640b7f1 100644
--- a/Mage.Sets/src/mage/cards/m/MosswortBridge.java
+++ b/Mage.Sets/src/mage/cards/m/MosswortBridge.java
@@ -39,7 +39,7 @@ public final class MosswortBridge extends CardImpl {
new HideawayPlayEffect(), MosswortBridgeTotalPowerCondition.instance,
"you may play the exiled card without paying its mana cost " +
"if creatures you control have total power 10 or greater"
- ), new ManaCostsImpl("{G}"));
+ ), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MotherBear.java b/Mage.Sets/src/mage/cards/m/MotherBear.java
index 80f6ce6dc3f..09774e5c790 100644
--- a/Mage.Sets/src/mage/cards/m/MotherBear.java
+++ b/Mage.Sets/src/mage/cards/m/MotherBear.java
@@ -29,7 +29,7 @@ public final class MotherBear extends CardImpl {
// {3}{G}{G}, Exile Mother Bear from your graveyard: Create two 2/2 green Bear creature tokens. Activate this ability only any time you could cast a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(
- Zone.GRAVEYARD, new CreateTokenEffect(new BearToken(), 2), new ManaCostsImpl("{3}{G}{G}")
+ Zone.GRAVEYARD, new CreateTokenEffect(new BearToken(), 2), new ManaCostsImpl<>("{3}{G}{G}")
);
ability.addCost(new ExileSourceFromGraveCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MountainTitan.java b/Mage.Sets/src/mage/cards/m/MountainTitan.java
index d736f9c460b..5882adbc8ba 100644
--- a/Mage.Sets/src/mage/cards/m/MountainTitan.java
+++ b/Mage.Sets/src/mage/cards/m/MountainTitan.java
@@ -35,7 +35,7 @@ public final class MountainTitan extends CardImpl {
this.addAbility(new SimpleActivatedAbility(
new CreateDelayedTriggeredAbilityEffect(new MountainTitanDelayedTriggeredAbility())
.setText("until end of turn, whenever you cast a black spell, put a +1/+1 counter on {this}"),
- new ManaCostsImpl("{1}{R}{R}")
+ new ManaCostsImpl<>("{1}{R}{R}")
));
}
diff --git a/Mage.Sets/src/mage/cards/m/MountedArchers.java b/Mage.Sets/src/mage/cards/m/MountedArchers.java
index 26a5b9a63b9..7acd69ab75a 100644
--- a/Mage.Sets/src/mage/cards/m/MountedArchers.java
+++ b/Mage.Sets/src/mage/cards/m/MountedArchers.java
@@ -32,7 +32,7 @@ public final class MountedArchers extends CardImpl {
this.addAbility(ReachAbility.getInstance());
// {W}: Mounted Archers can block an additional creature this turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(Duration.EndOfTurn, 1), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(Duration.EndOfTurn, 1), new ManaCostsImpl<>("{W}")));
}
private MountedArchers(final MountedArchers card) {
diff --git a/Mage.Sets/src/mage/cards/m/Mourning.java b/Mage.Sets/src/mage/cards/m/Mourning.java
index b90b27eeff4..e7746b19a43 100644
--- a/Mage.Sets/src/mage/cards/m/Mourning.java
+++ b/Mage.Sets/src/mage/cards/m/Mourning.java
@@ -37,7 +37,7 @@ public final class Mourning extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(-2, 0)));
// {B}: Return Mourning to its owner's hand.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{B}")));
}
private Mourning(final Mourning card) {
diff --git a/Mage.Sets/src/mage/cards/m/MouthOfRonom.java b/Mage.Sets/src/mage/cards/m/MouthOfRonom.java
index 5c103cb6659..b2f4fa79925 100644
--- a/Mage.Sets/src/mage/cards/m/MouthOfRonom.java
+++ b/Mage.Sets/src/mage/cards/m/MouthOfRonom.java
@@ -29,7 +29,7 @@ public final class MouthOfRonom extends CardImpl {
// {T}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {4}{S}, {T}, Sacrifice Mouth of Ronom: Mouth of Ronom deals 4 damage to target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl("{4}{S}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl<>("{4}{S}"));
ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/m/MoxLotus.java b/Mage.Sets/src/mage/cards/m/MoxLotus.java
index 910b50181d9..e148efcc869 100644
--- a/Mage.Sets/src/mage/cards/m/MoxLotus.java
+++ b/Mage.Sets/src/mage/cards/m/MoxLotus.java
@@ -26,7 +26,7 @@ public final class MoxLotus extends CardImpl {
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(1000000000), new TapSourceCost()));
// {100}: Add one mana of any color.
- Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(1), new ManaCostsImpl("{100}"));
+ Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(1), new ManaCostsImpl<>("{100}"));
this.addAbility(ability);
// You don't lose life due to mana burn.
diff --git a/Mage.Sets/src/mage/cards/m/MtendaGriffin.java b/Mage.Sets/src/mage/cards/m/MtendaGriffin.java
index c1b44753488..d79901ea18b 100644
--- a/Mage.Sets/src/mage/cards/m/MtendaGriffin.java
+++ b/Mage.Sets/src/mage/cards/m/MtendaGriffin.java
@@ -47,7 +47,7 @@ public final class MtendaGriffin extends CardImpl {
Effect effect = new ReturnToHandSourceEffect(true);
effect.setText("Return Mtenda Griffin to its owner's hand");
Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD,
- effect, new ManaCostsImpl("{W}"), new IsStepCondition(PhaseStep.UPKEEP));
+ effect, new ManaCostsImpl<>("{W}"), new IsStepCondition(PhaseStep.UPKEEP));
effect = new ReturnToHandTargetEffect();
ability.addCost(new TapSourceCost());
effect.setText("and return target Griffin card from your graveyard to your hand");
diff --git a/Mage.Sets/src/mage/cards/m/MtendaLion.java b/Mage.Sets/src/mage/cards/m/MtendaLion.java
index 0135a207696..641406e9d5a 100644
--- a/Mage.Sets/src/mage/cards/m/MtendaLion.java
+++ b/Mage.Sets/src/mage/cards/m/MtendaLion.java
@@ -67,7 +67,7 @@ class MtendaLionEffect extends OneShotEffect {
if (player == null) {
return false;
}
- Cost cost = new ManaCostsImpl("{U}");
+ Cost cost = new ManaCostsImpl<>("{U}");
if (!player.chooseUse(outcome, "Pay {U} to prevent damage?", source, game)
|| !cost.pay(source, game, source, player.getId(), false)) {
return false;
diff --git a/Mage.Sets/src/mage/cards/m/MuckDrubb.java b/Mage.Sets/src/mage/cards/m/MuckDrubb.java
index 462f2c62c02..4cddfdb676c 100644
--- a/Mage.Sets/src/mage/cards/m/MuckDrubb.java
+++ b/Mage.Sets/src/mage/cards/m/MuckDrubb.java
@@ -56,7 +56,7 @@ public final class MuckDrubb extends CardImpl {
this.addAbility(ability);
// Madness {2}{B}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{2}{B}")));
}
private MuckDrubb(final MuckDrubb card) {
diff --git a/Mage.Sets/src/mage/cards/m/MurasaRanger.java b/Mage.Sets/src/mage/cards/m/MurasaRanger.java
index 48b359232f4..09e446ebb8d 100644
--- a/Mage.Sets/src/mage/cards/m/MurasaRanger.java
+++ b/Mage.Sets/src/mage/cards/m/MurasaRanger.java
@@ -28,7 +28,7 @@ public final class MurasaRanger extends CardImpl {
this.toughness = new MageInt(3);
// Landfall — Whenever a land enters the battlefield under your control, you may pay {3}{G}. IF you do, put two +1/+1 counters on Murasa Ranger.
- this.addAbility(new LandfallAbility(new DoIfCostPaid(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new ManaCostsImpl("{3}{G}")), false));
+ this.addAbility(new LandfallAbility(new DoIfCostPaid(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new ManaCostsImpl<>("{3}{G}")), false));
}
private MurasaRanger(final MurasaRanger card) {
diff --git a/Mage.Sets/src/mage/cards/m/MurderousBetrayal.java b/Mage.Sets/src/mage/cards/m/MurderousBetrayal.java
index 8f599922719..3792e03e7f6 100644
--- a/Mage.Sets/src/mage/cards/m/MurderousBetrayal.java
+++ b/Mage.Sets/src/mage/cards/m/MurderousBetrayal.java
@@ -30,7 +30,7 @@ public final class MurderousBetrayal extends CardImpl {
// {B}{B}, Pay half your life, rounded up: Destroy target nonblack creature. It can't be regenerated.
Effect effect = new DestroyTargetEffect(true);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new MurderousBetrayalCost());
- ability.addCost(new ManaCostsImpl("{B}{B}"));
+ ability.addCost(new ManaCostsImpl<>("{B}{B}"));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MurderousCompulsion.java b/Mage.Sets/src/mage/cards/m/MurderousCompulsion.java
index f261e7951bb..0ceae7d2435 100644
--- a/Mage.Sets/src/mage/cards/m/MurderousCompulsion.java
+++ b/Mage.Sets/src/mage/cards/m/MurderousCompulsion.java
@@ -32,7 +32,7 @@ public final class MurderousCompulsion extends CardImpl {
getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
// Madness {1}{B} (If you discard card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.)
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{1}{B}")));
}
private MurderousCompulsion(final MurderousCompulsion card) {
diff --git a/Mage.Sets/src/mage/cards/m/MuseVessel.java b/Mage.Sets/src/mage/cards/m/MuseVessel.java
index ce7cbfb70ff..f4249278bcb 100644
--- a/Mage.Sets/src/mage/cards/m/MuseVessel.java
+++ b/Mage.Sets/src/mage/cards/m/MuseVessel.java
@@ -38,12 +38,12 @@ public final class MuseVessel extends CardImpl {
// {3}, {tap}: Target player exiles a card from their hand. Activate this ability only any time you could cast a sorcery.
ActivateAsSorceryActivatedAbility tapAbility = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new MuseVesselExileEffect(), new TapSourceCost());
- tapAbility.addCost(new ManaCostsImpl("{3}"));
+ tapAbility.addCost(new ManaCostsImpl<>("{3}"));
tapAbility.addTarget(new TargetPlayer());
this.addAbility(tapAbility);
// {1}: Choose a card exiled with Muse Vessel. You may play that card this turn.
- SimpleActivatedAbility playAbility = new SimpleActivatedAbility(new MuseVesselMayPlayExiledEffect(), new ManaCostsImpl("{1}"));
+ SimpleActivatedAbility playAbility = new SimpleActivatedAbility(new MuseVesselMayPlayExiledEffect(), new ManaCostsImpl<>("{1}"));
playAbility.addTarget(new TargetCardInMuseVesselExile());
this.addAbility(playAbility);
}
diff --git a/Mage.Sets/src/mage/cards/m/Musician.java b/Mage.Sets/src/mage/cards/m/Musician.java
index b937ba9ff41..0da0ef2a418 100644
--- a/Mage.Sets/src/mage/cards/m/Musician.java
+++ b/Mage.Sets/src/mage/cards/m/Musician.java
@@ -36,7 +36,7 @@ public final class Musician extends CardImpl {
this.toughness = new MageInt(3);
// Cumulative upkeep {1}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
// {tap}: Put a music counter on target creature. If it doesn't have "At the beginning of your upkeep, destroy this creature unless you pay {1} for each music counter on it," it gains that ability.
Effect effect = new DoUnlessControllerPaysEffect(
diff --git a/Mage.Sets/src/mage/cards/m/Mutavault.java b/Mage.Sets/src/mage/cards/m/Mutavault.java
index 5e5ca80dd89..63d33b7c7a4 100644
--- a/Mage.Sets/src/mage/cards/m/Mutavault.java
+++ b/Mage.Sets/src/mage/cards/m/Mutavault.java
@@ -28,7 +28,7 @@ public final class Mutavault extends CardImpl {
// {1}: Mutavault becomes a 2/2 creature with all creature types until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BecomesCreatureSourceEffect(new MutavaultToken(), "land", Duration.EndOfTurn),
- new ManaCostsImpl("{1}")));
+ new ManaCostsImpl<>("{1}")));
}
private Mutavault(final Mutavault card) {
diff --git a/Mage.Sets/src/mage/cards/m/MuzzioVisionaryArchitect.java b/Mage.Sets/src/mage/cards/m/MuzzioVisionaryArchitect.java
index 9f89f265a20..ca8fe547ce0 100644
--- a/Mage.Sets/src/mage/cards/m/MuzzioVisionaryArchitect.java
+++ b/Mage.Sets/src/mage/cards/m/MuzzioVisionaryArchitect.java
@@ -37,7 +37,7 @@ public final class MuzzioVisionaryArchitect extends CardImpl {
this.toughness = new MageInt(3);
// {3}{U}, {tap}: Look at the top X cards of your library, where X is the highest converted mana cost among artifacts you control. You may reveal an artifact card from among them and put it onto the battlefield. Put the rest on the bottom of your library in any order.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MuzzioVisionaryArchitectEffect(), new ManaCostsImpl("{3}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MuzzioVisionaryArchitectEffect(), new ManaCostsImpl<>("{3}{U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MwonvuliOoze.java b/Mage.Sets/src/mage/cards/m/MwonvuliOoze.java
index 9b3408de9ba..959c124baeb 100644
--- a/Mage.Sets/src/mage/cards/m/MwonvuliOoze.java
+++ b/Mage.Sets/src/mage/cards/m/MwonvuliOoze.java
@@ -32,7 +32,7 @@ public final class MwonvuliOoze extends CardImpl {
this.toughness = new MageInt(1);
// Cumulative upkeep {2}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{2}")));
// Mwonvuli Ooze's power and toughness are each equal to 1 plus twice the number of age counters on it.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(new MwonvuliOozePTValue(), Duration.EndOfGame)));
}
diff --git a/Mage.Sets/src/mage/cards/m/MyrIncubator.java b/Mage.Sets/src/mage/cards/m/MyrIncubator.java
index 1e6f2b81ef4..a06f69a3fbb 100644
--- a/Mage.Sets/src/mage/cards/m/MyrIncubator.java
+++ b/Mage.Sets/src/mage/cards/m/MyrIncubator.java
@@ -31,7 +31,7 @@ public final class MyrIncubator extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}");
// {6}, {tap}, Sacrifice Myr Incubator: Search your library for any number of artifact cards, exile them, then put that many 1/1 colorless Myr artifact creature tokens onto the battlefield. Then shuffle your library.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MyrIncubatorEffect(), new ManaCostsImpl("{6}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MyrIncubatorEffect(), new ManaCostsImpl<>("{6}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MyrMindservant.java b/Mage.Sets/src/mage/cards/m/MyrMindservant.java
index f1c1a250301..c91a7b67c86 100644
--- a/Mage.Sets/src/mage/cards/m/MyrMindservant.java
+++ b/Mage.Sets/src/mage/cards/m/MyrMindservant.java
@@ -27,7 +27,7 @@ public final class MyrMindservant extends CardImpl {
this.toughness = new MageInt(1);
// {2}, {tap}: Shuffle your library.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShuffleLibrarySourceEffect(), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShuffleLibrarySourceEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MyrPrototype.java b/Mage.Sets/src/mage/cards/m/MyrPrototype.java
index ad872874273..d22b3f40411 100644
--- a/Mage.Sets/src/mage/cards/m/MyrPrototype.java
+++ b/Mage.Sets/src/mage/cards/m/MyrPrototype.java
@@ -53,7 +53,7 @@ public final class MyrPrototype extends CardImpl {
class MyrPrototypeCantAttackUnlessYouPayEffect extends CantAttackBlockUnlessPaysSourceEffect {
MyrPrototypeCantAttackUnlessYouPayEffect() {
- super(new ManaCostsImpl("{0}"), RestrictType.ATTACK_AND_BLOCK);
+ super(new ManaCostsImpl<>("{0}"), RestrictType.ATTACK_AND_BLOCK);
staticText = "{this} can't attack or block unless you pay {1} for each +1/+1 counter on it";
}
diff --git a/Mage.Sets/src/mage/cards/m/MyrQuadropod.java b/Mage.Sets/src/mage/cards/m/MyrQuadropod.java
index fcd2d7dd3bd..37039100667 100644
--- a/Mage.Sets/src/mage/cards/m/MyrQuadropod.java
+++ b/Mage.Sets/src/mage/cards/m/MyrQuadropod.java
@@ -27,7 +27,7 @@ public final class MyrQuadropod extends CardImpl {
this.toughness = new MageInt(4);
// {3}: Switch Myr Quadropod's power and toughness until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SwitchPowerToughnessSourceEffect(Duration.EndOfTurn), new ManaCostsImpl("{3}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SwitchPowerToughnessSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{3}")));
}
private MyrQuadropod(final MyrQuadropod card) {
diff --git a/Mage.Sets/src/mage/cards/m/MysticArchaeologist.java b/Mage.Sets/src/mage/cards/m/MysticArchaeologist.java
index 2eb564debe3..b55c7a00869 100644
--- a/Mage.Sets/src/mage/cards/m/MysticArchaeologist.java
+++ b/Mage.Sets/src/mage/cards/m/MysticArchaeologist.java
@@ -29,7 +29,7 @@ public final class MysticArchaeologist extends CardImpl {
this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new DrawCardSourceControllerEffect(2),
- new ManaCostsImpl("{3}{U}{U}")
+ new ManaCostsImpl<>("{3}{U}{U}")
));
}
diff --git a/Mage.Sets/src/mage/cards/m/MysticCompass.java b/Mage.Sets/src/mage/cards/m/MysticCompass.java
index 9191e9a0ef4..06b4331da87 100644
--- a/Mage.Sets/src/mage/cards/m/MysticCompass.java
+++ b/Mage.Sets/src/mage/cards/m/MysticCompass.java
@@ -25,7 +25,7 @@ public final class MysticCompass extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
// {1}, {tap}: Target land becomes the basic land type of your choice until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
Target target = new TargetLandPermanent();
ability.addTarget(target);
diff --git a/Mage.Sets/src/mage/cards/m/MysticGate.java b/Mage.Sets/src/mage/cards/m/MysticGate.java
index c4e6068b65e..4aa0c03d57b 100644
--- a/Mage.Sets/src/mage/cards/m/MysticGate.java
+++ b/Mage.Sets/src/mage/cards/m/MysticGate.java
@@ -24,15 +24,15 @@ public final class MysticGate extends CardImpl {
// {tap}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {WU}, {tap}: Add {W}{W}, {W}{U}, or {U}{U}.
- SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new ManaCostsImpl("{W/U}"));
+ SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new ManaCostsImpl<>("{W/U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
- ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new ManaCostsImpl("{W/U}"));
+ ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new ManaCostsImpl<>("{W/U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
- ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl("{W/U}"));
+ ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl<>("{W/U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MysticMight.java b/Mage.Sets/src/mage/cards/m/MysticMight.java
index a481811f373..0860d2446b3 100644
--- a/Mage.Sets/src/mage/cards/m/MysticMight.java
+++ b/Mage.Sets/src/mage/cards/m/MysticMight.java
@@ -41,7 +41,7 @@ public final class MysticMight extends CardImpl {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// Cumulative upkeep {1}{U}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}{U}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}{U}")));
// Enchanted land has "{tap}: Target creature gets +2/+2 until end of turn."
Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 2, Duration.EndOfTurn), new TapSourceCost());
gainAbility.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/m/MysticOfTheHiddenWay.java b/Mage.Sets/src/mage/cards/m/MysticOfTheHiddenWay.java
index 02054232f23..8f3ef96ffd8 100644
--- a/Mage.Sets/src/mage/cards/m/MysticOfTheHiddenWay.java
+++ b/Mage.Sets/src/mage/cards/m/MysticOfTheHiddenWay.java
@@ -28,7 +28,7 @@ public final class MysticOfTheHiddenWay extends CardImpl {
// Mystic of the Hidden Way can't be blocked.
this.addAbility(new CantBeBlockedSourceAbility());
// Morph {2}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{U}")));
}
private MysticOfTheHiddenWay(final MysticOfTheHiddenWay card) {
diff --git a/Mage.Sets/src/mage/cards/m/MysticRemora.java b/Mage.Sets/src/mage/cards/m/MysticRemora.java
index 235e9cf1bb3..67c73e07325 100644
--- a/Mage.Sets/src/mage/cards/m/MysticRemora.java
+++ b/Mage.Sets/src/mage/cards/m/MysticRemora.java
@@ -32,7 +32,7 @@ public final class MysticRemora extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}");
// Cumulative upkeep {1}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
// Whenever an opponent casts a noncreature spell, you may draw a card unless that player pays {4}.
this.addAbility(new MysticRemoraTriggeredAbility());
diff --git a/Mage.Sets/src/mage/cards/m/MysticalTeachings.java b/Mage.Sets/src/mage/cards/m/MysticalTeachings.java
index 3678e99a796..12519821cb4 100644
--- a/Mage.Sets/src/mage/cards/m/MysticalTeachings.java
+++ b/Mage.Sets/src/mage/cards/m/MysticalTeachings.java
@@ -37,7 +37,7 @@ public final class MysticalTeachings extends CardImpl {
// Search your library for an instant card or a card with flash, reveal it, and put it into your hand. Then shuffle your library.
this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true));
// Flashback {5}{B}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{5}{B}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{5}{B}")));
}
private MysticalTeachings(final MysticalTeachings card) {
diff --git a/Mage.Sets/src/mage/cards/m/MystifyingMaze.java b/Mage.Sets/src/mage/cards/m/MystifyingMaze.java
index 73acad77339..574f0bff4c0 100644
--- a/Mage.Sets/src/mage/cards/m/MystifyingMaze.java
+++ b/Mage.Sets/src/mage/cards/m/MystifyingMaze.java
@@ -42,7 +42,7 @@ public final class MystifyingMaze extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {4}, {T}: Exile target attacking creature an opponent controls. At the beginning of the next end step, return it to the battlefield tapped under its owner's control.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MystifyingMazeEffect(), new ManaCostsImpl("{4}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MystifyingMazeEffect(), new ManaCostsImpl<>("{4}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MythRealized.java b/Mage.Sets/src/mage/cards/m/MythRealized.java
index 263ae1c3b1a..9450d013f00 100644
--- a/Mage.Sets/src/mage/cards/m/MythRealized.java
+++ b/Mage.Sets/src/mage/cards/m/MythRealized.java
@@ -48,12 +48,12 @@ public final class MythRealized extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.LORE.createInstance()), filterNonCreature, false));
// {2}{W}: Put a lore counter on Myth Realized.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.LORE.createInstance()), new ManaCostsImpl("{2}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.LORE.createInstance()), new ManaCostsImpl<>("{2}{W}")));
// {W}: Until end of turn, Myth Realized becomes a Monk Avatar creature in addition to its other types and gains "This creature's power and toughness are each equal to the number of lore counters on it."
Effect effect = new BecomesCreatureSourceEffect(new MythRealizedToken(), null, Duration.EndOfTurn);
effect.setText("Until end of turn, {this} becomes a Monk Avatar creature in addition to its other types");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{W}"));
ability.addEffect(new MythRealizedSetPTEffect(Duration.EndOfTurn));
this.addAbility(ability);