mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
* Fixed not working casting cost reduction of 17 creatures.
This commit is contained in:
parent
5c65ee31d9
commit
0a6b693691
17 changed files with 24 additions and 20 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -29,8 +29,8 @@ public final class DuskFeaster extends CardImpl {
|
|||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(5);
|
||||
|
||||
// <i>Delirium</i> — 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());
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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());
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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--;
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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()));
|
||||
}
|
||||
|
||||
|
|
|
@ -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))));
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue