* Fixed not working casting cost reduction of 17 creatures.

This commit is contained in:
LevelX2 2020-06-10 12:19:10 +02:00
parent 5c65ee31d9
commit 0a6b693691
17 changed files with 24 additions and 20 deletions

View file

@ -38,7 +38,7 @@ public final class AcademyJourneymage extends CardImpl {
this.toughness = new MageInt(2);
// This spell costs {1} less to cast if you control a Wizard.
Ability ability = new SimpleStaticAbility(Zone.STACK, new SpellCostReductionSourceEffect(1, new PermanentsOnTheBattlefieldCondition(filter)));
Ability ability = new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(1, new PermanentsOnTheBattlefieldCondition(filter)));
ability.setRuleAtTheTop(true);
this.addAbility(ability);

View file

@ -29,7 +29,7 @@ public final class AvatarOfMight extends CardImpl {
this.toughness = new MageInt(8);
// If an opponent controls at least four more creatures than you, Avatar of Might costs {6} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new AvatarOfMightCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new AvatarOfMightCostReductionEffect()));
// Trample
this.addAbility(TrampleAbility.getInstance());

View file

@ -28,7 +28,7 @@ public final class AvatarOfWill extends CardImpl {
this.toughness = new MageInt(6);
// If an opponent has no cards in hand, Avatar of Will costs {6} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new AvatarOfWillCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new AvatarOfWillCostReductionEffect()));
// Flying
this.addAbility(FlyingAbility.getInstance());

View file

@ -32,7 +32,7 @@ public final class AvatarOfWoe extends CardImpl {
this.toughness = new MageInt(5);
// If there are ten or more creature cards total in all graveyards, Avatar of Woe costs {6} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new AvatarOfWoeCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new AvatarOfWoeCostReductionEffect()));
// Fear
this.addAbility(FearAbility.getInstance());

View file

@ -35,7 +35,7 @@ public final class Draco extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Domain - Draco costs {2} less to cast for each basic land type among lands you control.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new DracoCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new DracoCostReductionEffect()));
// Domain - At the beginning of your upkeep, sacrifice Draco unless you pay {10}. This cost is reduced by {2} for each basic land type among lands you control.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DracoSacrificeUnlessPaysEffect(), TargetController.YOU, false));

View file

@ -29,8 +29,8 @@ public final class DuskFeaster extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(5);
// <i>Delirium</i> &mdash; Dusk Feaster costs {2} less to cast if there are four or more card types among cards in your graveyard.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new DuskFeasterCostReductionEffect()));
// Delirium - Dusk Feaster costs {2} less to cast if there are four or more card types among cards in your graveyard.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new DuskFeasterCostReductionEffect()));
// Flying
this.addAbility(FlyingAbility.getInstance());

View file

@ -35,7 +35,7 @@ public final class EmryLurkerOfTheLoch extends CardImpl {
this.toughness = new MageInt(2);
// This spell costs {1} less to cast for each artifact you control.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new EmryLurkerOfTheLochCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new EmryLurkerOfTheLochCostReductionEffect()));
// When Emry, Lurker of the Loch enters the battlefield, put the top four cards of your library into your graveyard.
this.addAbility(new EntersBattlefieldTriggeredAbility(

View file

@ -39,7 +39,7 @@ public final class GateColossus extends CardImpl {
this.toughness = new MageInt(8);
// This spell costs {1} less to cast for each Gate you control.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new GateColossusCostReductionEffect())
this.addAbility(new SimpleStaticAbility(Zone.ALL, new GateColossusCostReductionEffect())
.addHint(GateYouControlHint.instance));
// Gate Colossus can't be blocked by creatures with power 2 or less.

View file

@ -29,7 +29,7 @@ public final class GearseekerSerpent extends CardImpl {
this.toughness = new MageInt(6);
// Gearseeker Serpent costs {1} less to cast for each artifact you control
this.addAbility(new SimpleStaticAbility(Zone.STACK, new GearseekerSerpentCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new GearseekerSerpentCostReductionEffect()));
// 5U: Gearseeker Serpent can't be blocked this turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,

View file

@ -40,7 +40,7 @@ public final class GhaltaPrimalHunger extends CardImpl {
this.toughness = new MageInt(12);
// Ghalta, Primal Hunger costs {X} less to cast, where X is the total power of creatures you control.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new GhaltaPrimalHungerCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new GhaltaPrimalHungerCostReductionEffect()));
// Trample
this.addAbility(TrampleAbility.getInstance());

View file

@ -38,7 +38,7 @@ public final class KaradorGhostChieftain extends CardImpl {
this.toughness = new MageInt(4);
// Karador, Ghost Chieftain costs {1} less to cast for each creature card in your graveyard.
this.addAbility(new SimpleStaticAbility(Zone.STACK,
this.addAbility(new SimpleStaticAbility(Zone.ALL,
new KaradorGhostChieftainCostReductionEffect()));
// During each of your turns, you may cast one creature card from your graveyard.

View file

@ -39,7 +39,11 @@ public final class KhalniHydra extends CardImpl {
this.power = new MageInt(8);
this.toughness = new MageInt(8);
this.addAbility(new SimpleStaticAbility(Zone.STACK, new KhalniHydraCostReductionEffect()));
// This spell costs {G} less to cast for each green creature you control.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new KhalniHydraCostReductionEffect()));
// Trample
this.addAbility(TrampleAbility.getInstance());
}
@ -54,8 +58,8 @@ public final class KhalniHydra extends CardImpl {
Iterator<ManaCost> iter = ability.getManaCostsToPay().iterator();
while ( reductionAmount > 0 && iter.hasNext() ) {
ManaCost manaCost = iter.next();
if (manaCost.getMana().getGreen() > 0) { // in case another effect adds additional mana cost
ManaCost manaCostEntry = iter.next();
if (manaCostEntry.getMana().getGreen() > 0) { // in case another effect adds additional mana cost
iter.remove();
reductionAmount--;
}

View file

@ -40,7 +40,7 @@ public final class LiciaSanguineTribune extends CardImpl {
this.toughness = new MageInt(4);
// Licia, Sanguine Tribune costs 1 less to cast for each 1 life you gained this turn.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new LiciaSanguineTribuneCostReductionEffect()), new PlayerGainedLifeWatcher());
this.addAbility(new SimpleStaticAbility(Zone.ALL, new LiciaSanguineTribuneCostReductionEffect()), new PlayerGainedLifeWatcher());
// First strike
this.addAbility(FirstStrikeAbility.getInstance());

View file

@ -27,7 +27,7 @@ public final class MarshmistTitan extends CardImpl {
this.toughness = new MageInt(5);
// Marshmist Titan costs {X} less to cast, where X is your devotion to black.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new MarshmistTitanCostReductionEffect())
this.addAbility(new SimpleStaticAbility(Zone.ALL, new MarshmistTitanCostReductionEffect())
.addHint(DevotionCount.B.getHint()));
}

View file

@ -39,7 +39,7 @@ public final class MetalworkColossus extends CardImpl {
this.toughness = new MageInt(10);
// Metalwork Colossus costs {X} less to cast, where X is the total converted mana cost of noncreature artifacts you control.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new MetalworkColossusCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new MetalworkColossusCostReductionEffect()));
// Sacrifice two artifacts: Return Metalwork Colossus from your graveyard to your hand.
this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new SacrificeTargetCost(new TargetControlledPermanent(2, 2, new FilterControlledArtifactPermanent("two artifacts"), true))));

View file

@ -32,7 +32,7 @@ public final class Stratadon extends CardImpl {
this.toughness = new MageInt(5);
// Domain - Stratadon costs {1} less to cast for each basic land type among lands you control.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new StratadonCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new StratadonCostReductionEffect()));
// Trample
this.addAbility(TrampleAbility.getInstance());
}

View file

@ -45,7 +45,7 @@ public final class TorgaarFamineIncarnate extends CardImpl {
cost.setText("As an additional cost to cast this spell, you may sacrifice any number of creatures");
this.getSpellAbility().addCost(cost);
// This spell costs {2} less to cast for each creature sacrificed this way.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new TorgaarFamineIncarnateEffectCostReductionEffect()));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new TorgaarFamineIncarnateEffectCostReductionEffect()));
// When Torgaar, Famine Incarnate enters the battlefield, up to one target player's life total becomes half their starting life total, rounded down.
Ability ability = new EntersBattlefieldTriggeredAbility(new TorgaarFamineIncarnateEffect(), false);