Fix raw use of parameterized class 'ManaCostsImpl' - 'h' cards (#9057)

This commit is contained in:
DeepCrimson 2022-06-06 05:39:37 -07:00 committed by GitHub
parent fd11013d0e
commit 60ce3ecd52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
126 changed files with 135 additions and 135 deletions

View file

@ -30,10 +30,10 @@ public final class HaazdaShieldMate extends CardImpl {
this.toughness = new MageInt(1);
// At the beginning of your upkeep, sacrifice Haazda Shield Mate unless you pay {W}{W}.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{W}{W}")), TargetController.YOU, false));
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")), TargetController.YOU, false));
// {W}: The next time a source of your choice would deal damage to you this turn, prevent that damage.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn), new ManaCostsImpl("{W}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
}
private HaazdaShieldMate(final HaazdaShieldMate card) {

View file

@ -35,7 +35,7 @@ public final class HaazdaSnareSquad extends CardImpl {
this.toughness = new MageInt(4);
// Whenever Haazda Snare Squad attacks you may pay {W}. If you do, tap target creature an opponent controls.
Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(new TapTargetEffect(), new ManaCostsImpl("{W}")),false,
Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(new TapTargetEffect(), new ManaCostsImpl<>("{W}")),false,
"Whenever {this} attacks, you may pay {W}. If you do, tap target creature an opponent controls.");
Target target = new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE);
ability.addTarget(target);

View file

@ -28,7 +28,7 @@ public final class Hackrobat extends CardImpl {
this.toughness = new MageInt(3);
// Spectacle {B}{R}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{B}{R}")));
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl<>("{B}{R}")));
// {B}: Hackrobat gains deathtouch until end of turn.
this.addAbility(new SimpleActivatedAbility(

View file

@ -32,7 +32,7 @@ public final class HadaSpyPatrol extends LevelerCard {
this.toughness = new MageInt(1);
// Level up 2Blue ({U}{U}: Put a level counter on this. Level up only as a sorcery.)
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{U}")));
this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{2}{U}")));
// LEVEL 1-2
// 2/2

View file

@ -30,7 +30,7 @@ public final class HagraSharpshooter extends CardImpl {
this.toughness = new MageInt(2);
// {4}{B}: Target creature gets -1/-1 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ManaCostsImpl("{4}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{B}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ public final class HalimarWavewatch extends LevelerCard {
this.power = new MageInt(0);
this.toughness = new MageInt(3);
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}")));
this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{2}")));
Abilities<Ability> levelAbilities = new AbilitiesImpl<>();
levelAbilities.add(new IslandwalkAbility());

View file

@ -34,7 +34,7 @@ public final class HallMonitor extends CardImpl {
// {1}{R}, {T}: Target creature can't block this turn.
Ability ability = new SimpleActivatedAbility(
new CantBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")
new CantBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());

View file

@ -33,7 +33,7 @@ public final class HallOfHeliodsGenerosity extends CardImpl {
// {1}{W}, {T}: Put target enchantment card from your graveyard on top of your library.
Ability ability = new SimpleActivatedAbility(
new PutOnLibraryTargetEffect(true), new ManaCostsImpl("{1}{W}")
new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{1}{W}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(filter));

View file

@ -55,7 +55,7 @@ public final class HallOfStormGiants extends CardImpl {
"It's still a land. " +
"<i>(Whenever it becomes the target of a spell or ability an opponent controls, " +
"counter it unless that player pays {3}.)</i>"),
new ManaCostsImpl("{5}{U}")));
new ManaCostsImpl<>("{5}{U}")));
}
private HallOfStormGiants(final HallOfStormGiants card) {

View file

@ -32,7 +32,7 @@ public final class HallowedGround extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}");
// {W}{W}: Return target nonsnow land you control to its owner's hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{W}{W}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{W}{W}"));
ability.addTarget(new TargetControlledPermanent(filter));
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ public final class HammerMage extends CardImpl {
this.toughness = new MageInt(1);
// {X}{R}, {tap}, Discard a card: Destroy all artifacts with converted mana cost X or less.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HammerMageEffect(), new ManaCostsImpl("{X}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HammerMageEffect(), new ManaCostsImpl<>("{X}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class HammerOfBogardan extends CardImpl {
// {2}{R}{R}{R}: Return Hammer of Bogardan from your graveyard to your hand. Activate this ability only during your upkeep.
this.addAbility(new ConditionalActivatedAbility(Zone.GRAVEYARD,
new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl("{2}{R}{R}{R}"), new IsStepCondition(PhaseStep.UPKEEP), null));
new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{2}{R}{R}{R}"), new IsStepCondition(PhaseStep.UPKEEP), null));
}
private HammerOfBogardan(final HammerOfBogardan card) {

View file

@ -37,7 +37,7 @@ public final class HammerOfPurphoros extends CardImpl {
new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
// {2}{R}, {tap}, Sacrifice a land: Create a 3/3 colorless Golem enchantment artifact creature token.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HammerOfPurphorosGolemToken()), new ManaCostsImpl("{2}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HammerOfPurphorosGolemToken()), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("land"))));
this.addAbility(ability);

View file

@ -22,7 +22,7 @@ public final class HamperingSnare extends CardImpl {
this.getSpellAbility().addEffect(new BoostOpponentsEffect(-2, 0, Duration.EndOfTurn));
// Cycling {2}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private HamperingSnare(final HamperingSnare card) {

View file

@ -45,7 +45,7 @@ public final class HanSoloScrumrat extends CardImpl {
this.addAbility(new PartnerWithAbility("Chewbacca, the Beast"));
// R: Han Solo, Scrumrat gains first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
// Whenever Han Solo, Scrumrat deals damage during your turn, put a +1/+1 counter on another target creature you control.
Ability ability = new HanSoloScrumratTriggeredAbility();

View file

@ -32,7 +32,7 @@ public final class HanaKami extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{1}{G}"));
Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability);

View file

@ -37,7 +37,7 @@ public final class HangedExecutioner extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SpiritWhiteToken())));
// {3}{W}, Exile Hanged Executioner: Exile target creature.
Ability ability = new SimpleActivatedAbility(new ExileTargetEffect(), new ManaCostsImpl("{3}{W}"));
Ability ability = new SimpleActivatedAbility(new ExileTargetEffect(), new ManaCostsImpl<>("{3}{W}"));
ability.addCost(new ExileSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);

View file

@ -42,7 +42,7 @@ public final class HannaShipsNavigator extends CardImpl {
this.toughness = new MageInt(2);
// {1}{W}{U}, {tap}: Return target artifact or enchantment card from your graveyard to your hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{1}{W}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{1}{W}{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class HanweirBattlements extends CardImpl {
// {T}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {R},{T}: Target creature gains haste until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
@ -41,7 +41,7 @@ public final class HanweirBattlements extends CardImpl {
ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new MeldEffect("Hanweir Garrison",
new HanweirTheWrithingTownship(ownerId, new CardSetInfo("Hanweir, the Writhing Township", "EMN", "130", Rarity.RARE))),
new ManaCostsImpl("{3}{R}{R}"), new MeldCondition("Hanweir Garrison"),
new ManaCostsImpl<>("{3}{R}{R}"), new MeldCondition("Hanweir Garrison"),
"{3}{R}{R}, {T}: If you both own and control {this} and a creature named Hanweir Garrison, exile them, then meld them into Hanweir, the Writhing Township.");
ability.addCost(new TapSourceCost());
this.addAbility(ability);

View file

@ -42,10 +42,10 @@ public final class HarbingerOfTheHunt extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {2}{R}: Harbinger of the Hunt deals 1 damage to each creature without flying.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter), new ManaCostsImpl("{2}{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter), new ManaCostsImpl<>("{2}{R}")));
// {2}{G}: Harbinger of the Hunt deals 1 damage to each other creature with flying.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter2), new ManaCostsImpl("{2}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter2), new ManaCostsImpl<>("{2}{G}")));
}
private HarbingerOfTheHunt(final HarbingerOfTheHunt card) {

View file

@ -47,7 +47,7 @@ public final class HarborBandit extends CardImpl {
// {1}{U}: Harbor Bandit can't be blocked this turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CantBeBlockedSourceEffect(Duration.EndOfTurn),
new ManaCostsImpl("{1}{U}")));
new ManaCostsImpl<>("{1}{U}")));
}
private HarborBandit(final HarborBandit card) {

View file

@ -32,7 +32,7 @@ public final class HarmattanEfreet extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
//
// {1}{U}{U}: Target creature gains flying until end of turn.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{U}{U}"));
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}{U}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}

View file

@ -43,7 +43,7 @@ public final class HarshDeceiver extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookLibraryControllerEffect(), new GenericManaCost(1)));
// {2}: Reveal the top card of your library. If it's a land card, untap {this} and it gets +1/+1 until end of turn.
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new HarshDeceiverEffect(), new ManaCostsImpl("{2}")));
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new HarshDeceiverEffect(), new ManaCostsImpl<>("{2}")));
}
private HarshDeceiver(final HarshDeceiver card) {

View file

@ -36,7 +36,7 @@ public final class HarvestMage extends CardImpl {
this.toughness = new MageInt(1);
// {G}, {T}, Discard a card: Until end of turn, if you tap a land for mana, it produces one mana of a color of your choice instead of any other type and amount.
SimpleActivatedAbility ability = new SimpleActivatedAbility(new HarvestMageReplacementEffect(), new ManaCostsImpl("{G}"));
SimpleActivatedAbility ability = new SimpleActivatedAbility(new HarvestMageReplacementEffect(), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
this.addAbility(ability);

View file

@ -46,7 +46,7 @@ public final class HashepOasis extends CardImpl {
addAbility(ability);
// {1}{G}{G}, {t}, Sacrifice a Desert: Target creature gets +3/+3 until end of turn. Activate this ability only any time you could cast a sorcery.
ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3,3,Duration.EndOfTurn), new ManaCostsImpl("{1}{G}{G}"));
ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3,3,Duration.EndOfTurn), new ManaCostsImpl<>("{1}{G}{G}"));
ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));

View file

@ -61,7 +61,7 @@ class HasranOgressEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
Cost cost = new ManaCostsImpl("{2}");
Cost cost = new ManaCostsImpl<>("{2}");
if (!(controller.chooseUse(Outcome.Benefit, "Pay {2}?", source, game)
&& cost.pay(source, game, source, controller.getId(), false, null))) {
controller.damage(3, source.getSourceId(), source, game);

View file

@ -38,7 +38,7 @@ public final class HatchetBully extends CardImpl {
this.toughness = new MageInt(3);
// {2}{R}, {tap}, Put a -1/-1 counter on a creature you control: Hatchet Bully deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HatchetBullyEffect(), new ManaCostsImpl("{2}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HatchetBullyEffect(), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new HatchetBullyCost());
ability.addTarget(new TargetAnyTarget());

View file

@ -34,7 +34,7 @@ public final class Hateflayer extends CardImpl {
this.addAbility(WitherAbility.getInstance());
// {2}{R}, {untap}: Hateflayer deals damage equal to its power to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new SourcePermanentPowerCount()), new ManaCostsImpl("{2}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new SourcePermanentPowerCount()), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new UntapSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class HauntedCadaver extends CardImpl {
ability.addEffect( new DiscardTargetEffect(3));
this.addAbility(ability);
// Morph {1}{B}
this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{B}")));
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{B}")));
}
private HauntedCadaver(final HauntedCadaver card) {

View file

@ -23,7 +23,7 @@ public final class HauntedCrossroads extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}");
// {B}: Put target creature card from your graveyard on top of your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl("{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{B}"));
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ public final class HauntedDead extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SpiritWhiteToken())));
// {1}{B}, Discard two cards: Return Haunted Dead from your graveyard to the battlefield tapped.
Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true, false), new ManaCostsImpl("{1}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true, false), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, new FilterCard("two cards"))));
this.addAbility(ability);
}

View file

@ -38,12 +38,12 @@ public final class HauntedPlateMail extends CardImpl {
Ability ability = new ConditionalActivatedAbility(
Zone.BATTLEFIELD,
new BecomesCreatureSourceEffect(new HauntedPlateMailToken(), "", Duration.EndOfTurn),
new ManaCostsImpl("{0}"),
new ManaCostsImpl<>("{0}"),
new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_PERMANENT_CREATURE, ComparisonType.EQUAL_TO, 0),
"{0}: Until end of turn, Haunted Plate Mail becomes a 4/4 Spirit artifact creature that's no longer an Equipment. Activate only if you control no creatures.");
this.addAbility(ability);
// Equip {4}
this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl("{4}")));
this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl<>("{4}")));
}
private HauntedPlateMail(final HauntedPlateMail card) {

View file

@ -50,7 +50,7 @@ public final class HavenOfTheSpiritDragon extends CardImpl {
this.addAbility(new ConditionalAnyColorManaAbility(new TapSourceCost(), 1, new HavenOfTheSpiritManaBuilder(), true));
// {2}, {T}, Sacrifice Haven of the Spirit Dragon: Return target Dragon creature card or Ugin planeswalker card from your graveyard to your hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{2}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(filter));

View file

@ -46,7 +46,7 @@ public final class HavengulLich extends CardImpl {
this.toughness = new MageInt(4);
// {1}: You may cast target creature card in a graveyard this turn. When you cast that card this turn, Havengul Lich gains all activated abilities of that card until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HavengulLichPlayEffect(), new ManaCostsImpl("{1}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HavengulLichPlayEffect(), new ManaCostsImpl<>("{1}"));
ability.addEffect(new HavengulLichPlayedEffect());
ability.addTarget(new TargetCardInGraveyard(filter));
this.addAbility(ability);

View file

@ -45,7 +45,7 @@ public final class HavengulRunebinder extends CardImpl {
// then put a +1/+1 counter on each Zombie creature you control.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new ZombieToken()),
new ManaCostsImpl("{2}{U}"));
new ManaCostsImpl<>("{2}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter)));
ability.addEffect(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filterPermanent).concatBy(", then"));

View file

@ -30,7 +30,7 @@ public final class HavocSower extends CardImpl {
// Devoid
this.addAbility(new DevoidAbility(this.color));
// {1}{C}: Havoc Sower gets +2/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 1, Duration.EndOfTurn), new ManaCostsImpl("{1}{C}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{C}")));
}
private HavocSower(final HavocSower card) {

View file

@ -45,7 +45,7 @@ public final class HazduhrTheAbbot extends CardImpl {
this.toughness = new MageInt(5);
// {X}, {T}: The next X damage that would be dealt this turn to target white creature you control is dealt to Hazduhr the Abbot instead.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HazduhrTheAbbotRedirectDamageEffect(Duration.EndOfTurn), new ManaCostsImpl("{X}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HazduhrTheAbbotRedirectDamageEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent(filter));
this.addAbility(ability);

View file

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

View file

@ -48,7 +48,7 @@ public final class HazoretTheFervent extends CardImpl {
.setText("{this} can't attack or block unless you have one or fewer cards in hand")));
// {2}{R}, Discard a card: Hazoret deals 2 damage to each opponent.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(2, TargetController.OPPONENT), new ManaCostsImpl("{2}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(2, TargetController.OPPONENT), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
}

View file

@ -50,7 +50,7 @@ public final class HeWhoHungers extends CardImpl {
/* {1}, Sacrifice a Spirit: 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("{1}"));
Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardCardYouChooseTargetEffect(), new ManaCostsImpl<>("{1}"));
ability.addTarget(new TargetOpponent());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class Headhunter extends CardImpl {
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1), false, true));
// Morph {B} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)
this.addAbility(new MorphAbility(new ManaCostsImpl("{B}")));
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{B}")));
}

View file

@ -46,7 +46,7 @@ public final class HealersHeaddress extends CardImpl {
ability.addEffect(effect);
this.addAbility(ability);
// {W}{W}: Attach Healer's Headdress to target creature you control.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl("{W}{W}"));
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl<>("{W}{W}"));
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
// Equip {1}

View file

@ -30,7 +30,7 @@ public final class HeartOfBogardan extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}{R}");
// Cumulative upkeep-Pay {2}.
this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{2}")));
this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{2}")));
// When a player doesn't pay Heart of Bogardan's cumulative upkeep, Heart of Bogardan deals X damage to target player and each creature they control, where X is twice the number of age counters on Heart of Bogardan minus 2.
this.addAbility(new HeartOfBogardanTriggeredAbility());

View file

@ -39,7 +39,7 @@ public final class HeartPiercerManticore extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new HeartPiercerManticoreSacrificeEffect(), true));
// Embalm {5}{R}
this.addAbility(new EmbalmAbility(new ManaCostsImpl("{5}{R}"), this));
this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{5}{R}"), this));
}
private HeartPiercerManticore(final HeartPiercerManticore card) {

View file

@ -32,7 +32,7 @@ public final class HeartWarden extends CardImpl {
// {tap}: Add {G}.
this.addAbility(new GreenManaAbility());
// {2}, Sacrifice Heart Warden: Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}

View file

@ -39,7 +39,7 @@ public final class HeartfireImmolator extends CardImpl {
Ability ability = new SimpleActivatedAbility(
new DamageTargetEffect(xValue)
.setText("it deals damage equal to its power to target creature or planeswalker"),
new ManaCostsImpl("{R}")
new ManaCostsImpl<>("{R}")
);
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreatureOrPlaneswalker());

View file

@ -35,7 +35,7 @@ public final class HearthKami extends CardImpl {
this.toughness = new MageInt(1);
// {X}, Sacrifice Hearth Kami: Destroy target artifact with converted mana cost X.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{X}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{X}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(XCMCPermanentAdjuster.instance);

View file

@ -30,7 +30,7 @@ public final class HecklingFiends extends CardImpl {
// {2}{R}: Target creature attacks this turn if able.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AttacksIfAbleTargetEffect(Duration.EndOfTurn),
new ManaCostsImpl("{2}{R}"));
new ManaCostsImpl<>("{2}{R}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}

View file

@ -38,7 +38,7 @@ public final class HedgeTroll extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(filter, 1, 1)));
// {W}: Regenerate Hedge Troll.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{W}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{W}")));
}
private HedgeTroll(final HedgeTroll card) {

View file

@ -37,7 +37,7 @@ public final class HedronAlignment extends CardImpl {
// At the beginning of your upkeep, you may reveal your hand. If you do, you win the game if you own a card named Hedron Alignment in exile, in your hand, in your graveyard, and on the battlefield.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HedronAlignmentEffect(), TargetController.YOU, true));
// {1}{U}: Scry 1.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new ManaCostsImpl("{1}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new ManaCostsImpl<>("{1}{U}")));
}
private HedronAlignment(final HedronAlignment card) {

View file

@ -37,7 +37,7 @@ public final class HedronFieldPurists extends LevelerCard {
this.toughness = new MageInt(3);
// Level up {2}{W}
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{W}")));
this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{2}{W}")));
// LEVEL 1-4
// 1/4
// If a source would deal damage to you or a creature you control, prevent 1 of that damage.

View file

@ -49,7 +49,7 @@ public final class HeliodGodOfTheSun extends CardImpl {
// {2}{W}{W}: Create a 2/1 white Cleric enchantment creature token.
this.addAbility(new SimpleActivatedAbility(
new CreateTokenEffect(new HeliodGodOfTheSunToken()), new ManaCostsImpl("{2}{W}{W}")
new CreateTokenEffect(new HeliodGodOfTheSunToken()), new ManaCostsImpl<>("{2}{W}{W}")
));
}

View file

@ -69,7 +69,7 @@ public final class HeliodSunCrowned extends CardImpl {
// {1}{W}: Another target creature gains lifelink until end of turn.
ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(
LifelinkAbility.getInstance(), Duration.EndOfTurn
), new ManaCostsImpl("{1}{W}"));
), new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetPermanent(filter2));
this.addAbility(ability);
}

View file

@ -31,7 +31,7 @@ public final class Heliophial extends CardImpl {
// {2}, Sacrifice Heliophial: Heliophial deals damage equal to the number of charge counters on it to any target.
Effect effect = new DamageTargetEffect(new CountersSourceCount(CounterType.CHARGE));
effect.setText("{this} deals damage equal to the number of charge counters on it to any target");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);

View file

@ -35,7 +35,7 @@ public final class HelixPinnacle extends CardImpl {
// {X}: Put X tower counters on Helix Pinnacle.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AddCountersSourceEffect(CounterType.TOWER.createInstance(), ManacostVariableValue.REGULAR, true),
new ManaCostsImpl("{X}")));
new ManaCostsImpl<>("{X}")));
// At the beginning of your upkeep, if there are 100 or more tower counters on Helix Pinnacle, you win the game.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(

View file

@ -35,7 +35,7 @@ public final class Helldozer extends CardImpl {
Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new HelldozerEffect(),
new ManaCostsImpl("{B}{B}{B}"));
new ManaCostsImpl<>("{B}{B}{B}"));
ability.addTarget(new TargetLandPermanent());
ability.addCost(new TapSourceCost());
this.addAbility(ability);

View file

@ -35,7 +35,7 @@ public final class HellholeFlailer extends CardImpl {
this.addAbility(new UnleashAbility());
// {2}{B}{R}, Sacrifice Hellhole Flailer: Hellhole Flailer deals damage equal to its power to target player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new SourcePermanentPowerCount()), new ManaCostsImpl("{2}{B}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new SourcePermanentPowerCount()), new ManaCostsImpl<>("{2}{B}{R}"));
ability.addTarget(new TargetPlayerOrPlaneswalker());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);

View file

@ -31,12 +31,12 @@ public final class HellionCrucible extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {1}{R}, {tap}: Put a pressure counter on Hellion Crucible.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.PRESSURE.createInstance()), new ManaCostsImpl("{1}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.PRESSURE.createInstance()), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
// {1}{R}, {tap}, Remove two pressure counters from Hellion Crucible and sacrifice it: Create a 4/4 red Hellion creature token with haste.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HellionHasteToken(), 1), new ManaCostsImpl("{1}{R}"));
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HellionHasteToken(), 1), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new RemoveCountersSourceCost(CounterType.PRESSURE.createInstance(2)));
ability.addCost(new SacrificeSourceCost());

View file

@ -69,7 +69,7 @@ class HellkiteChargerEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
if (player != null) {
ManaCosts cost = new ManaCostsImpl("{5}{R}{R}");
ManaCosts cost = new ManaCostsImpl<>("{5}{R}{R}");
if (player.chooseUse(Outcome.Damage, "Pay " + cost.getText() + '?', source, game)) {
cost.clearPaid();
if (cost.pay(source, game, source, source.getControllerId(), false, null)) {

View file

@ -48,7 +48,7 @@ public final class HellkiteIgniter extends CardImpl {
StaticValue.get(0),
Duration.EndOfTurn,
true),
new ManaCostsImpl("{1}{R}")));
new ManaCostsImpl<>("{1}{R}")));
}
private HellkiteIgniter(final HellkiteIgniter card) {

View file

@ -34,8 +34,8 @@ public final class HellkiteOverlord extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
this.addAbility(TrampleAbility.getInstance());
this.addAbility(HasteAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}{G}")));
}
public HellkiteOverlord (final HellkiteOverlord card) {

View file

@ -30,7 +30,7 @@ public final class HellkitePunisher extends CardImpl {
// {R}: Hellkite Punisher gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(
new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")
new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")
));
}

View file

@ -32,7 +32,7 @@ public final class HellsThunder extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
this.addAbility(HasteAbility.getInstance());
this.addAbility(new OnEventTriggeredAbility(EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect()));
this.addAbility(new UnearthAbility(new ManaCostsImpl("{4}{R}")));
this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{4}{R}")));
}

View file

@ -37,7 +37,7 @@ public final class HellsparkElemental extends CardImpl {
this.addAbility(new OnEventTriggeredAbility(EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect()));
// Unearth {1}{R}: Return this card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step or if it would leave the battlefield. Unearth only as a sorcery.)
this.addAbility(new UnearthAbility(new ManaCostsImpl("{1}{R}")));
this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{1}{R}")));
}
private HellsparkElemental(final HellsparkElemental card) {

View file

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

View file

@ -26,7 +26,7 @@ public final class HematiteGolem extends CardImpl {
this.toughness = new MageInt(4);
// {1}{R}: Hematite Golem gets +2/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
}
private HematiteGolem(final HematiteGolem card) {

View file

@ -30,7 +30,7 @@ public final class HematiteTalisman extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// Whenever a player casts a red 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);
}

View file

@ -34,7 +34,7 @@ public final class HenchfiendOfUkor extends CardImpl {
this.addAbility(new EchoAbility("{1}{B}"));
// {BR}: Henchfiend of Ukor gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{B/R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{B/R}")));
}
private HenchfiendOfUkor(final HenchfiendOfUkor card) {

View file

@ -29,7 +29,7 @@ public final class HengeGuardian extends CardImpl {
this.toughness = new MageInt(4);
// {2}: Henge Guardian gains trample until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{2}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}")));
}
private HengeGuardian(final HengeGuardian card) {

View file

@ -32,7 +32,7 @@ public final class HeraldOfAnafenza extends CardImpl {
this.toughness = new MageInt(2);
// Outlast {2}{W} <em>({2}{W} {T}: Put a +1/+1 counter on this creature. Outlast only as a sorcery.)</em>
this.addAbility(new OutlastAbility(new ManaCostsImpl("{2}{W}")));
this.addAbility(new OutlastAbility(new ManaCostsImpl<>("{2}{W}")));
// Whenever you activate Herald of Anafenza's outlast ability, create a 1/1 white Warrior creature token.
this.addAbility(new HeraldOfAnafenzaTriggeredAbility());

View file

@ -41,7 +41,7 @@ public final class HeraldOfAnguish extends CardImpl {
this.addAbility(new BeginningOfYourEndStepTriggeredAbility(new DiscardEachPlayerEffect(TargetController.OPPONENT), false));
// {1}{B}, Sacrifice an artifact: Target creature gets -2/-2 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl("{1}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT_AN)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);

View file

@ -44,7 +44,7 @@ public final class HeraldOfTheSun extends CardImpl {
// {3}{W}: Put a +1/+1 counter on another target creature with flying.
Ability ability = new SimpleActivatedAbility(
new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{3}{W}")
new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{3}{W}")
);
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);

View file

@ -43,7 +43,7 @@ public final class HerdchaserDragon extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Megamorph {5}{G}{G}
this.addAbility(new MorphAbility(new ManaCostsImpl("{5}{G}{G}"), true));
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{5}{G}{G}"), true));
// When Herdchaser Dragon is turned face up, put a +1/+1 counter on each other Dragon creature you control.
this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), false, false));

View file

@ -26,7 +26,7 @@ public final class HereticsPunishment extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}");
// {3}{R}: Choose any target, then put the top three cards of your library into your graveyard. Heretic's Punishment deals damage to that creature or player equal to the highest converted mana cost among those cards.
Ability ability = new SimpleActivatedAbility(new HereticsPunishmentEffect(), new ManaCostsImpl("{3}{R}"));
Ability ability = new SimpleActivatedAbility(new HereticsPunishmentEffect(), new ManaCostsImpl<>("{3}{R}"));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -31,7 +31,7 @@ public final class HermitDruid extends CardImpl {
this.toughness = new MageInt(1);
// {G}, {tap}: Reveal cards from the top of your library until you reveal a basic land card. Put that card into your hand and all other cards revealed this way into your graveyard.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RevealCardsFromLibraryUntilEffect(StaticFilters.FILTER_CARD_BASIC_LAND, Zone.HAND, Zone.GRAVEYARD), new ManaCostsImpl("{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RevealCardsFromLibraryUntilEffect(StaticFilters.FILTER_CARD_BASIC_LAND, Zone.HAND, Zone.GRAVEYARD), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

View file

@ -68,7 +68,7 @@ class HeroOfLeinaTowerEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Player you = game.getPlayer(source.getControllerId());
ManaCosts cost = new ManaCostsImpl("{X}");
ManaCosts cost = new ManaCostsImpl<>("{X}");
if (you != null && you.chooseUse(Outcome.BoostCreature, "Do you want to to pay {X}?", source, game)) {
int costX = you.announceXMana(0, Integer.MAX_VALUE, "Announce the value for {X}", game, source);
cost.add(new GenericManaCost(costX));

View file

@ -35,7 +35,7 @@ public final class HeroesBane extends CardImpl {
// {2}{G}{G}: Put X +1/+1 counters on Heroe's Bane, where X is its power.
Effect effect = new AddCountersSourceEffect(CounterType.P1P1.createInstance(0), new SourcePermanentPowerCount(), true);
effect.setText("Put X +1/+1 counters on {this}, where X is its power");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{G}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{G}{G}")));
}
private HeroesBane(final HeroesBane card) {

View file

@ -48,7 +48,7 @@ public final class HeroesPodium extends CardImpl {
// Put the rest on the bottom of your library in a random order.
Ability ability = new SimpleActivatedAbility(
new LookLibraryAndPickControllerEffect(ManacostVariableValue.REGULAR, 1, filter2, PutCards.HAND, PutCards.BOTTOM_RANDOM),
new ManaCostsImpl("{X}"));
new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

View file

@ -17,7 +17,7 @@ public final class HeroesRemembered extends CardImpl {
//You gain 20 life.
this.getSpellAbility().addEffect(new GainLifeEffect(20));
//Suspend 10-{W}
this.addAbility(new SuspendAbility(10, new ManaCostsImpl("{W}"), this));
this.addAbility(new SuspendAbility(10, new ManaCostsImpl<>("{W}"), this));
}
private HeroesRemembered(final HeroesRemembered card) {

View file

@ -84,7 +84,7 @@ class HeroismEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
Player player = game.getPlayer(game.getActivePlayerId());
Cost cost = new ManaCostsImpl("{2}{R}");
Cost cost = new ManaCostsImpl<>("{2}{R}");
List<Permanent> permanentsToPrevent = new ArrayList<>();
for (Permanent permanent : game.getState().getBattlefield().getAllActivePermanents(filter, game.getActivePlayerId(), game)) {
cost.clearPaid();

View file

@ -30,7 +30,7 @@ public final class HexParasite extends CardImpl {
this.toughness = new MageInt(1);
// {X}{B/P}: Remove up to X counters from target permanent. For each counter removed this way, Hex Parasite gets +1/+0 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HexParasiteEffect(), new ManaCostsImpl("{X}{B/P}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HexParasiteEffect(), new ManaCostsImpl<>("{X}{B/P}"));
ability.addTarget(new TargetPermanent());
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ public final class Hexdrinker extends LevelerCard {
this.toughness = new MageInt(1);
// Level up {1}
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}")));
this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{1}")));
// LEVEL 3-7
// 4/4

View file

@ -32,7 +32,7 @@ public final class HibernationsEnd extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}");
// Cumulative upkeep {1}
this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
// Whenever you pay Hibernation's End's cumulative upkeep, you may search your library for a creature card with converted mana cost equal to the number of age counters on Hibernation's End and put it onto the battlefield. If you do, shuffle your library.
this.addAbility(new HibernationsEndAbility());
}

View file

@ -43,7 +43,7 @@ public final class HiddenDragonslayer extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// Megamorph {2}{W}
this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{W}"), true));
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{W}"), true));
// When Hidden Dragonslayer is turned face up, destroy target creature with power 4 or greater an opponent controls.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new DestroyTargetEffect(), false, false);

View file

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

View file

@ -44,7 +44,7 @@ public final class HighAlert extends CardImpl {
));
// {2}{W}{U}: Untap target creature.
Ability ability = new SimpleActivatedAbility(new UntapTargetEffect(), new ManaCostsImpl("{2}{W}{U}"));
Ability ability = new SimpleActivatedAbility(new UntapTargetEffect(), new ManaCostsImpl<>("{2}{W}{U}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}

View file

@ -43,7 +43,7 @@ public final class HiredTorturer extends CardImpl {
this.addAbility(DefenderAbility.getInstance());
// {3}{B}, {T}: Target opponent loses 2 life and reveals a card at random from their hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(2),new ManaCostsImpl("{3}{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(2),new ManaCostsImpl<>("{3}{B}"));
ability.addCost(new TapSourceCost());
ability.addEffect(new HiredTorturerEffect());
ability.addTarget(new TargetOpponent());

View file

@ -40,7 +40,7 @@ public final class HisokaMinamoSensei extends CardImpl {
this.toughness = new MageInt(3);
// {2}{U}, Discard a card: Counter target spell if it has the same converted mana cost as the discarded card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HisokaMinamoSenseiCounterEffect(), new ManaCostsImpl("{2}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HisokaMinamoSenseiCounterEffect(), new ManaCostsImpl<>("{2}{U}"));
ability.addTarget(new TargetSpell());
TargetCardInHand targetCard = new TargetCardInHand(new FilterCard("a card"));
ability.addCost(new HisokaMinamoSenseiDiscardTargetCost(targetCard));

View file

@ -46,7 +46,7 @@ public final class HisokasGuard extends CardImpl {
// {1}{U}, {T}: Target creature you control other than Hisoka's Guard has shroud for as long as Hisoka's Guard remains tapped. (It can't be the target of spells or abilities.)
FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent();
filter.add(AnotherPredicate.instance);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HisokasGuardGainAbilityTargetEffect(), new ManaCostsImpl("{1}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HisokasGuardGainAbilityTargetEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new TapSourceCost());
Target target = new TargetControlledCreaturePermanent(1, 1, filter, true);
ability.addTarget(target);

View file

@ -38,7 +38,7 @@ public final class HissingQuagmire extends CardImpl {
// {1}{B}{G}: Hissing Quagmire becomes a 2/2 black and green Elemental creature with deathtouch until end of turn. It's still a land.
Effect effect = new BecomesCreatureSourceEffect(new HissingQuagmireToken(), "land", Duration.EndOfTurn);
effect.setText("{this} becomes a 2/2 black and green Elemental creature with deathtouch until end of turn. It's still a land");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{B}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}{G}")));
}
private HissingQuagmire(final HissingQuagmire card) {

View file

@ -37,7 +37,7 @@ public final class HoardSmelterDragon extends CardImpl {
this.power = new MageInt(5);
this.toughness = new MageInt(5);
this.addAbility(FlyingAbility.getInstance());
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{3}{R}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{3}{R}"));
ability.addTarget(new TargetPermanent(filter));
ability.addEffect(new HoardSmelterEffect());
this.addAbility(ability);

View file

@ -48,7 +48,7 @@ public final class HobgoblinBanditLord extends CardImpl {
Ability ability = new SimpleActivatedAbility(
new DamageTargetEffect(GoblinsEnteredThisTurnDynamicValue.instance)
.setText("{this} deals damage equal to the number of Goblins that entered the battlefield under your control this turn to any target"),
new ManaCostsImpl("{R}")
new ManaCostsImpl<>("{R}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAnyTarget());

View file

@ -34,7 +34,7 @@ public final class HolisticWisdom extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{G}");
// {2}, Exile a card from your hand: Return target card from your graveyard to your hand if it shares a card type with the card exiled this way.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HolisticWisdomEffect(), new ManaCostsImpl("{2}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HolisticWisdomEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new ExileFromHandCost(new TargetCardInHand(new FilterCard("a card from your hand"))));
ability.addTarget(new TargetCardInYourGraveyard());
this.addAbility(ability);

View file

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

View file

@ -33,7 +33,7 @@ public final class HolyJusticiar extends CardImpl {
this.toughness = new MageInt(1);
// {2}{W}, {tap}: Tap target creature. If that creature is a Zombie, exile it.
Ability ability = new SimpleActivatedAbility(new HolyJusticiarEffect(), new ManaCostsImpl("{2}{W}"));
Ability ability = new SimpleActivatedAbility(new HolyJusticiarEffect(), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);

View file

@ -37,7 +37,7 @@ public final class HomaridShaman extends CardImpl {
this.toughness = new MageInt(1);
// {U}: Tap target green creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{U}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ public final class HomaridSpawningBed extends CardImpl {
// {1}{U}{U}, Sacrifice a blue creature: create X 1/1 blue Camarid creature tokens, where X is the sacrificed creature's converted mana cost.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new CamaridToken(), new SacrificeCostConvertedMana("creature")),
new ManaCostsImpl("{1}{U}{U}"));
new ManaCostsImpl<>("{1}{U}{U}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(filter)));
this.addAbility(ability);
}

View file

@ -33,7 +33,7 @@ public final class HomaridWarrior extends CardImpl {
// {U}: Homarid Warrior gains shroud until end of turn and doesn't untap during your next untap step. Tap Homarid Warrior.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(
ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{U}"));
ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}"));
Effect effect = new DontUntapInControllersNextUntapStepSourceEffect();
effect.setText("and doesn't untap during your next untap step");
ability.addEffect(effect);

View file

@ -40,7 +40,7 @@ public final class HomingSliver extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new HomingSliverEffect()));
// Slivercycling {3}
this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}"), filter, "Slivercycling"));
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}"), filter, "Slivercycling"));
}
private HomingSliver(final HomingSliver card) {

View file

@ -115,7 +115,7 @@ class HomurasEssence2 extends TokenImpl {
Effect effect = new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter);
effect.setText("and have flying");
ability.addEffect(effect);
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}"));
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
effect = new GainAbilityControlledEffect(gainedAbility, Duration.WhileOnBattlefield, filter);
effect.setText("and \"{R}: This creature gets +1/+0 until end of turn.\"");
ability.addEffect(effect);

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