removed empty mode constructor

This commit is contained in:
Evan Kranzler 2022-03-10 16:15:08 -05:00
parent ccecda52fd
commit 3535d023b7
214 changed files with 326 additions and 654 deletions

View file

@ -25,8 +25,7 @@ public final class Abrade extends CardImpl {
getSpellAbility().addTarget(new TargetCreaturePermanent()); getSpellAbility().addTarget(new TargetCreaturePermanent());
// Destroy target artifact. // Destroy target artifact.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetArtifactPermanent()); mode.addTarget(new TargetArtifactPermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -28,8 +28,7 @@ public final class AbunasChant extends CardImpl {
//You gain 5 life; //You gain 5 life;
this.getSpellAbility().addEffect(new GainLifeEffect(5)); this.getSpellAbility().addEffect(new GainLifeEffect(5));
//or prevent the next 5 damage that would be dealt to target creature this turn. //or prevent the next 5 damage that would be dealt to target creature this turn.
Mode mode = new Mode(); Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 5));
mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 5));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// Entwine {2} // Entwine {2}

View file

@ -38,14 +38,12 @@ public final class AbzanCharm extends CardImpl {
this.getSpellAbility().addEffect(new ExileTargetEffect()); this.getSpellAbility().addEffect(new ExileTargetEffect());
// *You draw two cards and you lose 2 life // *You draw two cards and you lose 2 life
Mode mode = new Mode(); Mode mode = new Mode(new DrawCardSourceControllerEffect(2));
mode.addEffect(new DrawCardSourceControllerEffect(2));
mode.addEffect(new LoseLifeSourceControllerEffect(2)); mode.addEffect(new LoseLifeSourceControllerEffect(2));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// *Distribute two +1/+1 counters among one or two target creatures. // *Distribute two +1/+1 counters among one or two target creatures.
mode = new Mode(); mode = new Mode(new DistributeCountersEffect(CounterType.P1P1, 2, false, "one or two target creatures"));
mode.addEffect(new DistributeCountersEffect(CounterType.P1P1, 2, false, "one or two target creatures"));
mode.addTarget(new TargetCreaturePermanentAmount(2)); mode.addTarget(new TargetCreaturePermanentAmount(2));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);

View file

@ -37,8 +37,7 @@ public final class AcademicProbation extends CardImpl {
this.getSpellAbility().addEffect(new OpponentsCantCastChosenUntilNextTurnEffect().setText("opponents can't cast spells with the chosen name until your next turn")); this.getSpellAbility().addEffect(new OpponentsCantCastChosenUntilNextTurnEffect().setText("opponents can't cast spells with the chosen name until your next turn"));
// Choose target nonland permanent. Until your next turn, it can't attack or block, and its activated abilities can't be activated. // Choose target nonland permanent. Until your next turn, it can't attack or block, and its activated abilities can't be activated.
Mode restrictMode = new Mode(); Mode restrictMode = new Mode(new AcademicProbationRestrictionEffect());
restrictMode.addEffect(new AcademicProbationRestrictionEffect());
restrictMode.addTarget(new TargetNonlandPermanent()); restrictMode.addTarget(new TargetNonlandPermanent());
this.getSpellAbility().addMode(restrictMode); this.getSpellAbility().addMode(restrictMode);
} }

View file

@ -36,8 +36,7 @@ public final class ActiveVolcano extends CardImpl {
this.getSpellAbility().addTarget(new TargetPermanent(filterBlue)); this.getSpellAbility().addTarget(new TargetPermanent(filterBlue));
// or return target Island to its owner's hand. // or return target Island to its owner's hand.
Mode mode = new Mode(); Mode mode = new Mode(new ReturnToHandTargetEffect());
mode.addEffect(new ReturnToHandTargetEffect());
mode.addTarget(new TargetPermanent(filterIsland)); mode.addTarget(new TargetPermanent(filterIsland));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -31,8 +31,7 @@ public final class AetherShockwave extends CardImpl {
// Choose one - Tap all Spirits; or tap all non-Spirit creatures. // Choose one - Tap all Spirits; or tap all non-Spirit creatures.
this.getSpellAbility().addEffect(new TapAllEffect(filterSpirit)); this.getSpellAbility().addEffect(new TapAllEffect(filterSpirit));
Mode mode = new Mode(); Mode mode = new Mode(new TapAllEffect(filterNonSpirit));
mode.addEffect(new TapAllEffect(filterNonSpirit));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -30,8 +30,7 @@ public final class Afterburn extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Remove target creature from combat. // Remove target creature from combat.
Mode mode = new Mode(); Mode mode = new Mode(new RemoveFromCombatTargetEffect());
mode.addEffect(new RemoveFromCombatTargetEffect());
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -35,8 +35,7 @@ public final class AinokGuide extends CardImpl {
Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
// * Search your library for a basic land card, reveal it, then shuffle your library and put that card on top of it. // * Search your library for a basic land card, reveal it, then shuffle your library and put that card on top of it.
Mode mode = new Mode(); Mode mode = new Mode(new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true));
mode.addEffect(new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true));
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -25,8 +25,7 @@ public final class AlabasterPotion extends CardImpl {
// Choose one - Target player gains X life; or prevent the next X damage that would be dealt to any target this turn. // Choose one - Target player gains X life; or prevent the next X damage that would be dealt to any target this turn.
this.getSpellAbility().addEffect(new GainLifeTargetEffect(ManacostVariableValue.REGULAR)); this.getSpellAbility().addEffect(new GainLifeTargetEffect(ManacostVariableValue.REGULAR));
this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addTarget(new TargetPlayer());
Mode mode = new Mode(); Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, false, true, ManacostVariableValue.REGULAR));
mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, false, true, ManacostVariableValue.REGULAR));
mode.addTarget(new TargetAnyTarget()); mode.addTarget(new TargetAnyTarget());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -26,8 +26,7 @@ public final class AlleyEvasion extends CardImpl {
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
// Return target creature you control to its owner's hand. // Return target creature you control to its owner's hand.
Mode mode = new Mode(); Mode mode = new Mode(new ReturnToHandTargetEffect());
mode.addEffect(new ReturnToHandTargetEffect());
mode.addTarget(new TargetControlledCreaturePermanent()); mode.addTarget(new TargetControlledCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -54,8 +54,7 @@ public final class AtalyaSamiteMaster extends CardImpl {
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
// or you gain X life // or you gain X life
Mode mode = new Mode(); Mode mode = new Mode(new GainLifeEffect(ManacostVariableValue.REGULAR).setText("You gain X life. Spend only white mana on X."));
mode.addEffect(new GainLifeEffect(ManacostVariableValue.REGULAR).setText("You gain X life. Spend only white mana on X."));
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -34,20 +34,17 @@ public final class AtarkasCommand extends CardImpl {
this.getSpellAbility().addEffect(new CantGainLifeAllEffect(Duration.EndOfTurn, TargetController.OPPONENT)); this.getSpellAbility().addEffect(new CantGainLifeAllEffect(Duration.EndOfTurn, TargetController.OPPONENT));
// or Atarka's Command deals 3 damage to each opponent; // or Atarka's Command deals 3 damage to each opponent;
Mode mode = new Mode(); Mode mode = new Mode(new DamagePlayersEffect(3, TargetController.OPPONENT));
mode.addEffect(new DamagePlayersEffect(3, TargetController.OPPONENT));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or You may put a land card from your hand onto the battlefield; // or You may put a land card from your hand onto the battlefield;
mode = new Mode(); mode = new Mode(new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A));
mode.addEffect(new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or Creatures you control get +1/+1 and gain reach until the end of turn. // or Creatures you control get +1/+1 and gain reach until the end of turn.
mode = new Mode();
Effect effect = new BoostControlledEffect(1, 1, Duration.EndOfTurn); Effect effect = new BoostControlledEffect(1, 1, Duration.EndOfTurn);
effect.setText("Creatures you control get +1/+1"); effect.setText("Creatures you control get +1/+1");
mode.addEffect(effect); mode = new Mode(effect);
effect = new GainAbilityControlledEffect(ReachAbility.getInstance(), Duration.EndOfTurn); effect = new GainAbilityControlledEffect(ReachAbility.getInstance(), Duration.EndOfTurn);
effect.setText("and gain reach until the end of turn"); effect.setText("and gain reach until the end of turn");
mode.addEffect(effect); mode.addEffect(effect);

View file

@ -36,16 +36,13 @@ public final class AustereCommand extends CardImpl {
// Destroy all artifacts; // Destroy all artifacts;
this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterArtifactPermanent("artifacts"))); this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterArtifactPermanent("artifacts")));
// or destroy all enchantments; // or destroy all enchantments;
Mode mode = new Mode(); Mode mode = new Mode(new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments")));
mode.addEffect(new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments")));
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// or destroy all creatures with converted mana cost 3 or less; // or destroy all creatures with converted mana cost 3 or less;
mode = new Mode(); mode = new Mode(new DestroyAllEffect(filter3orLess));
mode.addEffect(new DestroyAllEffect(filter3orLess));
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// or destroy all creatures with converted mana cost 4 or greater. // or destroy all creatures with converted mana cost 4 or greater.
mode = new Mode(); mode = new Mode(new DestroyAllEffect(filter4orMore));
mode.addEffect(new DestroyAllEffect(filter4orMore));
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
} }

View file

@ -37,8 +37,7 @@ public final class AvenSurveyor extends CardImpl {
Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
// * Return target creature to its owner's hand // * Return target creature to its owner's hand
Mode mode = new Mode(); Mode mode = new Mode(new ReturnToHandTargetEffect());
mode.addEffect(new ReturnToHandTargetEffect());
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,14 +28,12 @@ public final class AzoriusCharm extends CardImpl {
this.getSpellAbility().addEffect(new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent("Creatures"))); this.getSpellAbility().addEffect(new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent("Creatures")));
// or draw a card; // or draw a card;
Mode mode = new Mode(); Mode mode = new Mode(new DrawCardSourceControllerEffect(1));
mode.addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or put target attacking or blocking creature on top of its owner's library. // or put target attacking or blocking creature on top of its owner's library.
mode = new Mode(); mode = new Mode(new PutOnLibraryTargetEffect(true));
mode.addTarget(new TargetAttackingOrBlockingCreature()); mode.addTarget(new TargetAttackingOrBlockingCreature());
mode.addEffect(new PutOnLibraryTargetEffect(true));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -32,8 +32,7 @@ public final class BalmOfRestoration extends CardImpl {
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
// or prevent the next 2 damage that would be dealt to any target this turn. // or prevent the next 2 damage that would be dealt to any target this turn.
Mode mode = new Mode(); Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 2));
mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 2));
mode.addTarget(new TargetAnyTarget()); mode.addTarget(new TargetAnyTarget());
ability.addMode(mode); ability.addMode(mode);

View file

@ -34,13 +34,11 @@ public final class BantCharm extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetArtifactPermanent()); this.getSpellAbility().addTarget(new TargetArtifactPermanent());
// or put target creature on the bottom of its owner's library; // or put target creature on the bottom of its owner's library;
Mode mode = new Mode(); Mode mode = new Mode(new PutOnLibraryTargetEffect(false));
mode.addEffect(new PutOnLibraryTargetEffect(false));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or counter target instant spell. // or counter target instant spell.
mode = new Mode(); mode = new Mode(new CounterTargetEffect());
mode.addEffect(new CounterTargetEffect());
mode.addTarget(new TargetSpell(filter)); mode.addTarget(new TargetSpell(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -25,8 +25,7 @@ public final class BarbedLightning extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// or Barbed Lightning deals 3 damage to target player. // or Barbed Lightning deals 3 damage to target player.
Mode mode = new Mode(); Mode mode = new Mode(new DamageTargetEffect(3));
mode.addEffect(new DamageTargetEffect(3));
mode.addTarget(new TargetPlayerOrPlaneswalker()); mode.addTarget(new TargetPlayerOrPlaneswalker());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);

View file

@ -33,8 +33,7 @@ public final class BetrayalOfFlesh extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// or return target creature card from your graveyard to the battlefield. // or return target creature card from your graveyard to the battlefield.
Mode mode = new Mode(); Mode mode = new Mode(new ReturnFromGraveyardToBattlefieldTargetEffect());
mode.addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect());
mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// Entwine-Sacrifice three lands. // Entwine-Sacrifice three lands.

View file

@ -49,16 +49,14 @@ public final class BlessedAlliance extends CardImpl {
this.getSpellAbility().addTarget(new TargetPlayer(1, 1, false, filterGainLife).withChooseHint("player gains 4 life")); this.getSpellAbility().addTarget(new TargetPlayer(1, 1, false, filterGainLife).withChooseHint("player gains 4 life"));
// Untap up to two target creatures. // Untap up to two target creatures.
Mode mode = new Mode();
effect = new UntapTargetEffect(); effect = new UntapTargetEffect();
effect.setText("Untap up to two target creatures"); effect.setText("Untap up to two target creatures");
mode.addEffect(effect); Mode mode = new Mode(effect);
mode.addTarget(new TargetCreaturePermanent(0, 2, filterCreature, false).withChooseHint("untap")); mode.addTarget(new TargetCreaturePermanent(0, 2, filterCreature, false).withChooseHint("untap"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// Target opponent sacrifices an attacking creature. // Target opponent sacrifices an attacking creature.
mode = new Mode(); mode = new Mode(new SacrificeEffect(new FilterAttackingCreature(), 1, "Target opponent"));
mode.addEffect(new SacrificeEffect(new FilterAttackingCreature(), 1, "Target opponent"));
mode.addTarget(new TargetPlayer(1, 1, false, filterSacrifice).withChooseHint("sacrifices an attacking creature")); mode.addTarget(new TargetPlayer(1, 1, false, filterSacrifice).withChooseHint("sacrifices an attacking creature"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -41,8 +41,7 @@ public final class BlindingBeam extends CardImpl {
this.getSpellAbility().addEffect(new TapTargetEffect()); this.getSpellAbility().addEffect(new TapTargetEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent(2,2)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(2,2));
// or creatures don't untap during target player's next untap step. // or creatures don't untap during target player's next untap step.
Mode mode = new Mode(); Mode mode = new Mode(new BlindingBeamEffect());
mode.addEffect(new BlindingBeamEffect());
mode.addTarget(new TargetPlayer()); mode.addTarget(new TargetPlayer());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);

View file

@ -40,8 +40,7 @@ public final class BlizzardSpecter extends CardImpl {
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnToHandEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnToHandEffect(), false, true);
// or that player discards a card. // or that player discards a card.
Mode mode = new Mode(); Mode mode = new Mode(new DiscardTargetEffect(1, false));
mode.addEffect(new DiscardTargetEffect(1, false));
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -37,8 +37,7 @@ public final class BlueElementalBlast extends CardImpl {
this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addEffect(new CounterTargetEffect());
this.getSpellAbility().addTarget(new TargetSpell(filterSpell)); this.getSpellAbility().addTarget(new TargetSpell(filterSpell));
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetPermanent(filterPermanent)); mode.addTarget(new TargetPermanent(filterPermanent));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);

View file

@ -32,8 +32,7 @@ public final class BorosCharm extends CardImpl {
IndestructibleAbility.getInstance(), Duration.EndOfTurn IndestructibleAbility.getInstance(), Duration.EndOfTurn
))); )));
//or target creature gains double strike until end of turn. //or target creature gains double strike until end of turn.
Mode mode2 = new Mode(); Mode mode2 = new Mode(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn));
mode2.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn));
mode2.addTarget(new TargetCreaturePermanent()); mode2.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode2); this.getSpellAbility().addMode(mode2);
} }

View file

@ -31,8 +31,7 @@ public final class BorrowedGrace extends CardImpl {
this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn));
// Creatures you control get +0/+2 until end of turn. // Creatures you control get +0/+2 until end of turn.
Mode mode = new Mode(); Mode mode = new Mode(new BoostControlledEffect(0, 2, Duration.EndOfTurn));
mode.addEffect(new BoostControlledEffect(0, 2, Duration.EndOfTurn));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -41,10 +41,9 @@ public final class BorrowedHostility extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterBoost).withChooseHint("gets +3/+0 until end of turn")); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterBoost).withChooseHint("gets +3/+0 until end of turn"));
// Target creature gains first strike until end of turn. // Target creature gains first strike until end of turn.
Mode mode = new Mode();
effect = new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn); effect = new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn);
effect.setText("Target creature gains first strike until end of turn"); effect.setText("Target creature gains first strike until end of turn");
mode.addEffect(effect); Mode mode = new Mode(effect);
mode.addTarget(new TargetCreaturePermanent(filterFirstStrike).withChooseHint("gains first strike until end of turn")); mode.addTarget(new TargetCreaturePermanent(filterFirstStrike).withChooseHint("gains first strike until end of turn"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -39,10 +39,9 @@ public final class BorrowedMalevolence extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterCreaturePlus).withChooseHint("gets +1/+1 until end of turn")); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterCreaturePlus).withChooseHint("gets +1/+1 until end of turn"));
// Target creature gets -1/-1 until end of turn. // Target creature gets -1/-1 until end of turn.
Mode mode = new Mode();
effect = new BoostTargetEffect(-1, -1, Duration.EndOfTurn); effect = new BoostTargetEffect(-1, -1, Duration.EndOfTurn);
effect.setText("Target creature gets -1/-1 until end of turn"); effect.setText("Target creature gets -1/-1 until end of turn");
mode.addEffect(effect); Mode mode = new Mode(effect);
mode.addTarget(new TargetCreaturePermanent(filterCreatureMinus).withChooseHint("gets -1/-1 until end of turn")); mode.addTarget(new TargetCreaturePermanent(filterCreatureMinus).withChooseHint("gets -1/-1 until end of turn"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -48,17 +48,14 @@ public final class BowOfNylea extends CardImpl {
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
// or Bow of Nylea deals 2 damage to target creature with flying; // or Bow of Nylea deals 2 damage to target creature with flying;
Mode mode = new Mode(); Mode mode = new Mode(new DamageTargetEffect(2));
mode.addEffect(new DamageTargetEffect(2));
mode.addTarget(new TargetCreaturePermanent(filterFlying)); mode.addTarget(new TargetCreaturePermanent(filterFlying));
ability.addMode(mode); ability.addMode(mode);
// or you gain 3 life; // or you gain 3 life;
mode = new Mode(); mode = new Mode(new GainLifeEffect(3));
mode.addEffect(new GainLifeEffect(3));
ability.addMode(mode); ability.addMode(mode);
// or put up to four target cards from your graveyard on the bottom of your library in any order. // or put up to four target cards from your graveyard on the bottom of your library in any order.
mode = new Mode(); mode = new Mode(new PutOnLibraryTargetEffect(false, "put up to four target cards from your graveyard on the bottom of your library in any order"));
mode.addEffect(new PutOnLibraryTargetEffect(false, "put up to four target cards from your graveyard on the bottom of your library in any order"));
mode.addTarget(new TargetCardInYourGraveyard(0, 4, StaticFilters.FILTER_CARDS_FROM_YOUR_GRAVEYARD)); mode.addTarget(new TargetCardInYourGraveyard(0, 4, StaticFilters.FILTER_CARDS_FROM_YOUR_GRAVEYARD));
ability.addMode(mode); ability.addMode(mode);

View file

@ -41,8 +41,7 @@ public final class BranchingBolt extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(3)); this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterFlying).withChooseHint("deals 3 damage, without flying")); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterFlying).withChooseHint("deals 3 damage, without flying"));
// or Branching Bolt deals 3 damage to target creature without flying. // or Branching Bolt deals 3 damage to target creature without flying.
Mode mode = new Mode(); Mode mode = new Mode(new DamageTargetEffect(3));
mode.addEffect(new DamageTargetEffect(3));
mode.addTarget(new TargetCreaturePermanent(filterNotFlying).withChooseHint("deals 3 damage, without flying")); mode.addTarget(new TargetCreaturePermanent(filterNotFlying).withChooseHint("deals 3 damage, without flying"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -49,14 +49,12 @@ public final class BreyaEtheriumShaper extends CardImpl {
ability.addTarget(new TargetPlayerOrPlaneswalker()); ability.addTarget(new TargetPlayerOrPlaneswalker());
// Target creature gets -4/-4 until end of turn. // Target creature gets -4/-4 until end of turn.
Mode mode = new Mode(); Mode mode = new Mode(new BoostTargetEffect(-4, -4, Duration.EndOfTurn));
mode.addEffect(new BoostTargetEffect(-4, -4, Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
ability.addMode(mode); ability.addMode(mode);
// or You gain 5 life. // or You gain 5 life.
mode = new Mode(); mode = new Mode(new GainLifeEffect(5));
mode.addEffect(new GainLifeEffect(5));
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -42,8 +42,7 @@ public final class BrutalExpulsion extends CardImpl {
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetSpellOrPermanent(1, 1, filter, false).withChooseHint("return to its owner's hand")); this.getSpellAbility().addTarget(new TargetSpellOrPermanent(1, 1, filter, false).withChooseHint("return to its owner's hand"));
// or Brutal Expulsion deals 2 damage to target creature or planeswalker. If that permanent would be put into a graveyard this turn, exile it instead. // or Brutal Expulsion deals 2 damage to target creature or planeswalker. If that permanent would be put into a graveyard this turn, exile it instead.
Mode mode = new Mode(); Mode mode = new Mode(new DamageTargetEffect(2));
mode.addEffect(new DamageTargetEffect(2));
Effect effect = new DealtDamageToCreatureBySourceDies(this, Duration.EndOfTurn); Effect effect = new DealtDamageToCreatureBySourceDies(this, Duration.EndOfTurn);
effect.setText("If that creature or planeswalker would die this turn, exile it instead"); effect.setText("If that creature or planeswalker would die this turn, exile it instead");
mode.addEffect(effect); mode.addEffect(effect);

View file

@ -47,8 +47,7 @@ public final class BrutalizerExarch extends CardImpl {
TargetCardInLibrary target = new TargetCardInLibrary(new FilterCreatureCard("a creature card")); TargetCardInLibrary target = new TargetCardInLibrary(new FilterCreatureCard("a creature card"));
Ability ability = new EntersBattlefieldTriggeredAbility(new SearchLibraryPutOnLibraryEffect(target, true, true), false); Ability ability = new EntersBattlefieldTriggeredAbility(new SearchLibraryPutOnLibraryEffect(target, true, true), false);
// or put target noncreature permanent on the bottom of its owner's library. // or put target noncreature permanent on the bottom of its owner's library.
Mode mode = new Mode(); Mode mode = new Mode(new BrutalizerExarchEffect2());
mode.addEffect(new BrutalizerExarchEffect2());
mode.addTarget(new TargetPermanent(filter)); mode.addTarget(new TargetPermanent(filter));
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -37,10 +37,9 @@ public final class BuccaneersBravado extends CardImpl {
this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("Target creature gets +1/+1")); this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("Target creature gets +1/+1"));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn).setText("and gains first strike until end of turn")); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn).setText("and gains first strike until end of turn"));
// Target Pirate gets +1/+1 and gains double strike until end of turn. // Target Pirate gets +1/+1 and gains double strike until end of turn.
Mode mode = new Mode(); Mode mode = new Mode(new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("Target Pirate gets +1/+1"));
mode.addTarget(new TargetPermanent(filter));
mode.addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("Target Pirate gets +1/+1"));
mode.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn).setText("and gains double strike until end of turn")); mode.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn).setText("and gains double strike until end of turn"));
mode.addTarget(new TargetPermanent(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -35,13 +35,11 @@ public final class ChaosCharm extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent(filter)); this.getSpellAbility().addTarget(new TargetPermanent(filter));
// or Chaos Charm deals 1 damage to target creature // or Chaos Charm deals 1 damage to target creature
Mode mode = new Mode(); Mode mode = new Mode(new DamageTargetEffect(1));
mode.addEffect(new DamageTargetEffect(1));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or target creature gains haste until end of turn. // or target creature gains haste until end of turn.
mode = new Mode(); mode = new Mode(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
mode.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -38,13 +38,11 @@ public final class ClanDefiance extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR)); this.getSpellAbility().addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterFlying).withChooseHint("deals X damage, with flying")); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterFlying).withChooseHint("deals X damage, with flying"));
// Clan Defiance deals X damage to target creature without flying; // Clan Defiance deals X damage to target creature without flying;
Mode mode1 = new Mode(); Mode mode1 = new Mode(new DamageTargetEffect(ManacostVariableValue.REGULAR));
mode1.addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR));
mode1.addTarget(new TargetCreaturePermanent(filterWithoutFlying).withChooseHint("deals X damage, without flying")); mode1.addTarget(new TargetCreaturePermanent(filterWithoutFlying).withChooseHint("deals X damage, without flying"));
this.getSpellAbility().addMode(mode1); this.getSpellAbility().addMode(mode1);
// and/or Clan Defiance deals X damage to target player. // and/or Clan Defiance deals X damage to target player.
Mode mode2 = new Mode(); Mode mode2 = new Mode(new DamageTargetEffect(ManacostVariableValue.REGULAR));
mode2.addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR));
mode2.addTarget(new TargetPlayerOrPlaneswalker().withChooseHint("deals X damage")); mode2.addTarget(new TargetPlayerOrPlaneswalker().withChooseHint("deals X damage"));
this.getSpellAbility().addMode(mode2); this.getSpellAbility().addMode(mode2);

View file

@ -26,8 +26,7 @@ public final class CleansingNova extends CardImpl {
this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES));
// Destroy all artifacts and enchantments. // Destroy all artifacts and enchantments.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyAllEffect(filter));
mode.addEffect(new DestroyAllEffect(filter));
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
} }

View file

@ -29,8 +29,7 @@ public final class CleansingRay extends CardImpl {
getSpellAbility().addTarget(new TargetPermanent(filter)); getSpellAbility().addTarget(new TargetPermanent(filter));
// - Destroy target enchantment. // - Destroy target enchantment.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetEnchantmentPermanent()); mode.addTarget(new TargetEnchantmentPermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);

View file

@ -49,14 +49,12 @@ public final class CollectiveBrutality extends CardImpl {
this.getSpellAbility().addTarget(new TargetOpponent().withChooseHint("reveals hand, you choose to discard")); this.getSpellAbility().addTarget(new TargetOpponent().withChooseHint("reveals hand, you choose to discard"));
// Target creature gets -2/-2 until end of turn. // Target creature gets -2/-2 until end of turn.
Mode mode = new Mode(); Mode mode = new Mode(new BoostTargetEffect(-2, -2, Duration.EndOfTurn));
mode.addEffect(new BoostTargetEffect(-2, -2, Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent().withChooseHint("gets -2/-2 until end of turn")); mode.addTarget(new TargetCreaturePermanent().withChooseHint("gets -2/-2 until end of turn"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// Target opponent loses 2 life and you gain 2 life. // Target opponent loses 2 life and you gain 2 life.
mode = new Mode(); mode = new Mode(new LoseLifeTargetEffect(2));
mode.addEffect(new LoseLifeTargetEffect(2));
mode.addEffect(new GainLifeEffect(2).concatBy("and")); mode.addEffect(new GainLifeEffect(2).concatBy("and"));
mode.addTarget(new TargetOpponent().withChooseHint("loses 2 life")); mode.addTarget(new TargetOpponent().withChooseHint("loses 2 life"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);

View file

@ -44,18 +44,16 @@ public final class CollectiveDefiance extends CardImpl {
this.getSpellAbility().addTarget(new TargetPlayer(1, 1, false, filterDiscard).withChooseHint("discards all cards and draws")); this.getSpellAbility().addTarget(new TargetPlayer(1, 1, false, filterDiscard).withChooseHint("discards all cards and draws"));
// Collective Defiance deals 4 damage to target creature.; // Collective Defiance deals 4 damage to target creature.;
Mode mode = new Mode();
Effect effect = new DamageTargetEffect(4); Effect effect = new DamageTargetEffect(4);
effect.setText("{this} deals 4 damage to target creature"); effect.setText("{this} deals 4 damage to target creature");
mode.addEffect(effect); Mode mode = new Mode(effect);
mode.addTarget(new TargetCreaturePermanent(filterCreature).withChooseHint("deals 4 damage to")); mode.addTarget(new TargetCreaturePermanent(filterCreature).withChooseHint("deals 4 damage to"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// Collective Defiance deals 3 damage to target opponent or planeswalker. // Collective Defiance deals 3 damage to target opponent or planeswalker.
mode = new Mode();
effect = new DamageTargetEffect(3); effect = new DamageTargetEffect(3);
effect.setText("{this} deals 3 damage to target opponent or planeswalker"); effect.setText("{this} deals 3 damage to target opponent or planeswalker");
mode.addEffect(effect); mode = new Mode(effect);
mode.addTarget(new TargetOpponentOrPlaneswalker().withChooseHint("deals 3 damage to")); mode.addTarget(new TargetOpponentOrPlaneswalker().withChooseHint("deals 3 damage to"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -63,18 +63,16 @@ public final class CollectiveEffort extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterDestroyCreature).withChooseHint("destroy")); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterDestroyCreature).withChooseHint("destroy"));
// Destroy target enchantment.; // Destroy target enchantment.;
Mode mode = new Mode();
Effect effect = new DestroyTargetEffect(); Effect effect = new DestroyTargetEffect();
effect.setText("Destroy target enchantment"); effect.setText("Destroy target enchantment");
mode.addEffect(effect); Mode mode = new Mode(effect);
mode.addTarget(new TargetEnchantmentPermanent(filterDestroyEnchantment).withChooseHint("destroy")); mode.addTarget(new TargetEnchantmentPermanent(filterDestroyEnchantment).withChooseHint("destroy"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// Put a +1/+1 counter on each creature target player controls. // Put a +1/+1 counter on each creature target player controls.
mode = new Mode();
effect = new CollectiveEffortEffect(); effect = new CollectiveEffortEffect();
effect.setText("Put a +1/+1 counter on each creature target player controls"); effect.setText("Put a +1/+1 counter on each creature target player controls");
mode.addEffect(effect); mode = new Mode(effect);
mode.addTarget(new TargetPlayer(1, 1, false, filterPlayer).withChooseHint("put +1/+1 counter on each creature")); mode.addTarget(new TargetPlayer(1, 1, false, filterPlayer).withChooseHint("put +1/+1 counter on each creature"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -43,8 +43,7 @@ public final class ConfrontThePast extends CardImpl {
this.getSpellAbility().setTargetAdjuster(ConfrontThePastAdjuster.instance); this.getSpellAbility().setTargetAdjuster(ConfrontThePastAdjuster.instance);
// Remove twice X loyalty counters from target planeswalker an opponent controls. // Remove twice X loyalty counters from target planeswalker an opponent controls.
Mode mode = new Mode(); Mode mode = new Mode(new ConfrontThePastLoyaltyEffect());
mode.addEffect(new ConfrontThePastLoyaltyEffect());
mode.addTarget(new TargetPlaneswalkerPermanent(filter)); mode.addTarget(new TargetPlaneswalkerPermanent(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -23,9 +23,8 @@ public final class ConsultTheNecrosages extends CardImpl {
// Choose one - Target player draws two cards; or target player discards two cards. // Choose one - Target player draws two cards; or target player discards two cards.
this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addTarget(new TargetPlayer());
this.getSpellAbility().addEffect(new DrawCardTargetEffect(2)); this.getSpellAbility().addEffect(new DrawCardTargetEffect(2));
Mode mode = new Mode(); Mode mode = new Mode(new DiscardTargetEffect(2));
mode.addTarget(new TargetPlayer()); mode.addTarget(new TargetPlayer());
mode.addEffect(new DiscardTargetEffect(2));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -38,8 +38,7 @@ public final class ConsumingBonfire extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(4)); this.getSpellAbility().addEffect(new DamageTargetEffect(4));
//or Consuming Bonfire deals 7 damage to target Treefolk creature. //or Consuming Bonfire deals 7 damage to target Treefolk creature.
Mode mode = new Mode(); Mode mode = new Mode(new DamageTargetEffect(7));
mode.addEffect(new DamageTargetEffect(7));
mode.addTarget(new TargetPermanent(filter2)); mode.addTarget(new TargetPermanent(filter2));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -39,8 +39,7 @@ public final class ConsumingSinkhole extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
// Consuming Sinkhole deals 4 damage to target player. // Consuming Sinkhole deals 4 damage to target player.
Mode mode = new Mode(); Mode mode = new Mode(new DamageTargetEffect(4));
mode.addEffect(new DamageTargetEffect(4));
mode.addTarget(new TargetPlayerOrPlaneswalker()); mode.addTarget(new TargetPlayerOrPlaneswalker());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -26,13 +26,11 @@ public final class CrosissCharm extends CardImpl {
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent()); this.getSpellAbility().addTarget(new TargetPermanent());
// or destroy target nonblack creature, and it can't be regenerated; // or destroy target nonblack creature, and it can't be regenerated;
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect(true));
mode.addEffect(new DestroyTargetEffect(true));
mode.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK)); mode.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or destroy target artifact. // or destroy target artifact.
mode = new Mode(); mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
Target target = new TargetArtifactPermanent(); Target target = new TargetArtifactPermanent();
mode.addTarget(target); mode.addTarget(target);
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);

View file

@ -28,14 +28,12 @@ public final class CrueltyOfTheSith extends CardImpl {
this.getSpellAbility().addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE)); this.getSpellAbility().addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE));
// Target player sacrifices a creture. // Target player sacrifices a creture.
Mode mode = new Mode(); Mode mode = new Mode(new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "Target player"));
mode.addEffect(new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "Target player"));
mode.addTarget(new TargetPlayer()); mode.addTarget(new TargetPlayer());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// Cruelty of the Sith deals 3 damage to target player. That player discards a card. // Cruelty of the Sith deals 3 damage to target player. That player discards a card.
mode = new Mode(); mode = new Mode(new DamageTargetEffect(3));
mode.addEffect(new DamageTargetEffect(3));
mode.addEffect(new DiscardTargetEffect(1)); mode.addEffect(new DiscardTargetEffect(1));
mode.addTarget(new TargetPlayer()); mode.addTarget(new TargetPlayer());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);

View file

@ -26,8 +26,7 @@ public final class CrushContraband extends CardImpl {
this.getSpellAbility().addEffect(new ExileTargetEffect()); this.getSpellAbility().addEffect(new ExileTargetEffect());
this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy"));
Mode mode1 = new Mode(); Mode mode1 = new Mode(new ExileTargetEffect());
mode1.addEffect(new ExileTargetEffect());
mode1.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy")); mode1.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy"));
this.getSpellAbility().addMode(mode1); this.getSpellAbility().addMode(mode1);
} }

View file

@ -33,9 +33,8 @@ public final class CrushingCanopy extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
// * Destroy target enchantment. // * Destroy target enchantment.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addTarget(new TargetEnchantmentPermanent()); mode.addTarget(new TargetEnchantmentPermanent());
mode.addEffect(new DestroyTargetEffect());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -32,9 +32,8 @@ public final class CrushingVines extends CardImpl {
// Choose one - Destroy target creature with flying; or destroy target artifact. // Choose one - Destroy target creature with flying; or destroy target artifact.
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addTarget(new TargetArtifactPermanent()); mode.addTarget(new TargetArtifactPermanent());
mode.addEffect(new DestroyTargetEffect());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -30,8 +30,7 @@ public final class CruxOfFate extends CardImpl {
// * Destroy all Dragon creatures. // * Destroy all Dragon creatures.
this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterCreaturePermanent(SubType.DRAGON, "Dragon creatures"))); this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterCreaturePermanent(SubType.DRAGON, "Dragon creatures")));
// * Destroy all non-Dragon creatures. // * Destroy all non-Dragon creatures.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyAllEffect(new FilterCreaturePermanent(filterNonDragon)));
mode.addEffect(new DestroyAllEffect(new FilterCreaturePermanent(filterNonDragon)));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -37,21 +37,18 @@ public final class CrypticCommand extends CardImpl {
this.getSpellAbility().addEffect(effect1); this.getSpellAbility().addEffect(effect1);
this.getSpellAbility().addTarget(new TargetSpell()); this.getSpellAbility().addTarget(new TargetSpell());
// or return target permanent to its owner's hand; // or return target permanent to its owner's hand;
Mode mode = new Mode();
Effect effect2 = new ReturnToHandTargetEffect(); Effect effect2 = new ReturnToHandTargetEffect();
effect2.setText("Return target permanent to its owner's hand."); effect2.setText("Return target permanent to its owner's hand.");
mode.addEffect(effect2); Mode mode = new Mode(effect2);
mode.addTarget(new TargetPermanent()); mode.addTarget(new TargetPermanent());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// or tap all creatures your opponents control; // or tap all creatures your opponents control;
mode = new Mode(); mode = new Mode(new CrypticCommandEffect());
mode.addEffect(new CrypticCommandEffect());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// or draw a card. // or draw a card.
mode = new Mode();
Effect effect3 = new DrawCardSourceControllerEffect(1); Effect effect3 = new DrawCardSourceControllerEffect(1);
mode.addEffect(effect3);
effect3.setText("Draw a card."); effect3.setText("Draw a card.");
mode = new Mode(effect3);
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
} }

View file

@ -31,14 +31,12 @@ public final class DarigaazsCharm extends CardImpl {
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE)); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE));
// or Darigaaz's Charm deals 3 damage to any target; // or Darigaaz's Charm deals 3 damage to any target;
Mode mode = new Mode(); Mode mode = new Mode(new DamageTargetEffect(3));
mode.addEffect(new DamageTargetEffect(3));
mode.addTarget(new TargetAnyTarget()); mode.addTarget(new TargetAnyTarget());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or target creature gets +3/+3 until end of turn. // or target creature gets +3/+3 until end of turn.
mode = new Mode(); mode = new Mode(new BoostTargetEffect(3, 3, Duration.EndOfTurn));
mode.addEffect(new BoostTargetEffect(3, 3, Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -38,13 +38,11 @@ public final class DawnCharm extends CardImpl {
// Choose one - Prevent all combat damage that would be dealt this turn // Choose one - Prevent all combat damage that would be dealt this turn
this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true)); this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true));
// or regenerate target creature; // or regenerate target creature;
Mode mode = new Mode(); Mode mode = new Mode(new RegenerateTargetEffect());
mode.addEffect(new RegenerateTargetEffect());
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or counter target spell that targets you. // or counter target spell that targets you.
mode = new Mode(); mode = new Mode(new CounterTargetEffect());
mode.addEffect(new CounterTargetEffect());
mode.addTarget(new TargetSpell(filter)); mode.addTarget(new TargetSpell(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -34,8 +34,7 @@ public final class DawnToDusk extends CardImpl {
this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(filterCard).withChooseHint("return from graveyard to hand")); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(filterCard).withChooseHint("return from graveyard to hand"));
// and/or destroy target enchantment. // and/or destroy target enchantment.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy")); mode.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -30,8 +30,7 @@ public final class DeafeningClarion extends CardImpl {
)); ));
// Creatures you control gain lifelink until end of turn. // Creatures you control gain lifelink until end of turn.
Mode mode = new Mode(); Mode mode = new Mode(new GainAbilityControlledEffect(
mode.addEffect(new GainAbilityControlledEffect(
LifelinkAbility.getInstance(), LifelinkAbility.getInstance(),
Duration.EndOfTurn, Duration.EndOfTurn,
StaticFilters.FILTER_PERMANENT_CREATURES StaticFilters.FILTER_PERMANENT_CREATURES

View file

@ -42,8 +42,7 @@ public final class DeceiverExarch extends CardImpl {
// When Deceiver Exarch enters the battlefield, choose one - Untap target permanent you control; or tap target permanent an opponent controls. // When Deceiver Exarch enters the battlefield, choose one - Untap target permanent you control; or tap target permanent an opponent controls.
Ability ability = new EntersBattlefieldTriggeredAbility(new UntapTargetEffect()); Ability ability = new EntersBattlefieldTriggeredAbility(new UntapTargetEffect());
ability.addTarget(new TargetControlledPermanent()); ability.addTarget(new TargetControlledPermanent());
Mode mode = new Mode(); Mode mode = new Mode(new TapTargetEffect());
mode.addEffect(new TapTargetEffect());
mode.addTarget(new TargetPermanent(filter)); mode.addTarget(new TargetPermanent(filter));
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -32,8 +32,7 @@ public final class DefiantOgre extends CardImpl {
// * Put a +1/+1 counter on Defiant Ogre. // * Put a +1/+1 counter on Defiant Ogre.
Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false); Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false);
// * Destroy target artifact. // * Destroy target artifact.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetArtifactPermanent()); mode.addTarget(new TargetArtifactPermanent());
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -38,8 +38,7 @@ public final class DelayTactic extends CardImpl {
.setText("Creatures you control gain hexproof until end of turn")); .setText("Creatures you control gain hexproof until end of turn"));
// Creatures target opponent controls don't untap during their next untap step. // Creatures target opponent controls don't untap during their next untap step.
Mode mode = new Mode(); Mode mode = new Mode(new DelayTacticEffect());
mode.addEffect(new DelayTacticEffect());
mode.addTarget(new TargetOpponent()); mode.addTarget(new TargetOpponent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -37,19 +37,16 @@ public final class DemonicPact extends CardImpl {
ability.addEffect(effect); ability.addEffect(effect);
// - Target opponent discards two cards // - Target opponent discards two cards
Mode mode = new Mode(); Mode mode = new Mode(new DiscardTargetEffect(2));
mode.addTarget(new TargetOpponent()); mode.addTarget(new TargetOpponent());
mode.addEffect(new DiscardTargetEffect(2));
ability.addMode(mode); ability.addMode(mode);
// - Draw two cards // - Draw two cards
mode = new Mode(); mode = new Mode(new DrawCardSourceControllerEffect(2));
mode.addEffect(new DrawCardSourceControllerEffect(2));
ability.addMode(mode); ability.addMode(mode);
// - You lose the game. // - You lose the game.
mode = new Mode(); mode = new Mode(new LoseGameSourceControllerEffect());
mode.addEffect(new LoseGameSourceControllerEffect());
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -36,8 +36,7 @@ public final class DestructiveTampering extends CardImpl {
this.getSpellAbility().addTarget(new TargetArtifactPermanent()); this.getSpellAbility().addTarget(new TargetArtifactPermanent());
// * Creatures without flying can't block this turn. // * Creatures without flying can't block this turn.
Mode mode = new Mode(); Mode mode = new Mode(new CantBlockAllEffect(filter, Duration.EndOfTurn));
mode.addEffect(new CantBlockAllEffect(filter, Duration.EndOfTurn));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -45,14 +45,12 @@ public final class DimirCharm extends CardImpl {
this.getSpellAbility().addTarget(new TargetSpell(filterSorcery)); this.getSpellAbility().addTarget(new TargetSpell(filterSorcery));
//or destroy target creature with power 2 or less //or destroy target creature with power 2 or less
Mode mode1 = new Mode(); Mode mode1 = new Mode(new DestroyTargetEffect());
mode1.addEffect(new DestroyTargetEffect());
mode1.addTarget(new TargetCreaturePermanent(filterCreature)); mode1.addTarget(new TargetCreaturePermanent(filterCreature));
this.getSpellAbility().addMode(mode1); this.getSpellAbility().addMode(mode1);
//or look at the top three cards of target player's library, then put one back and the rest into that player's graveyard //or look at the top three cards of target player's library, then put one back and the rest into that player's graveyard
Mode mode2 = new Mode(); Mode mode2 = new Mode(new DimirCharmEffect());
mode2.addEffect(new DimirCharmEffect());
mode2.addTarget(new TargetPlayer()); mode2.addTarget(new TargetPlayer());
this.getSpellAbility().addMode(mode2); this.getSpellAbility().addMode(mode2);
} }

View file

@ -44,19 +44,16 @@ public final class DiscipleOfTheRing extends CardImpl {
ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE)); ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE));
// or Disciple of the Ring gets +1/+1 until end of turn; // or Disciple of the Ring gets +1/+1 until end of turn;
Mode mode = new Mode(); Mode mode = new Mode(new BoostSourceEffect(1, 1, Duration.EndOfTurn));
mode.addEffect(new BoostSourceEffect(1, 1, Duration.EndOfTurn));
ability.addMode(mode); ability.addMode(mode);
// or Tap target creature; // or Tap target creature;
mode = new Mode(); mode = new Mode(new TapTargetEffect());
mode.addEffect(new TapTargetEffect());
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
ability.addMode(mode); ability.addMode(mode);
// or Untap target creature. // or Untap target creature.
mode = new Mode(); mode = new Mode(new UntapTargetEffect());
mode.addEffect(new UntapTargetEffect());
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
ability.addMode(mode); ability.addMode(mode);

View file

@ -50,8 +50,7 @@ public final class DisplayOfDominance extends CardImpl {
this.getSpellAbility().addTarget(new TargetPermanent(filter)); this.getSpellAbility().addTarget(new TargetPermanent(filter));
// or Permanents you control can't be the targets of blue or black spells your opponents control this turn // or Permanents you control can't be the targets of blue or black spells your opponents control this turn
Mode mode = new Mode(); Mode mode = new Mode(new DisplayOfDominanceEffect());
mode.addEffect(new DisplayOfDominanceEffect());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
} }

View file

@ -36,8 +36,7 @@ public final class Doomfall extends CardImpl {
this.getSpellAbility().addTarget(new TargetOpponent()); this.getSpellAbility().addTarget(new TargetOpponent());
// Target opponent reveals their hand. You choose a nonland card from it. Exile that card. // Target opponent reveals their hand. You choose a nonland card from it. Exile that card.
Mode mode = new Mode(); Mode mode = new Mode(new ExileCardYouChooseTargetOpponentEffect(StaticFilters.FILTER_CARD_A_NON_LAND)
mode.addEffect(new ExileCardYouChooseTargetOpponentEffect(StaticFilters.FILTER_CARD_A_NON_LAND)
.setText("Target opponent reveals their hand. You choose a nonland card from it. Exile that card")); .setText("Target opponent reveals their hand. You choose a nonland card from it. Exile that card"));
mode.addTarget(new TargetOpponent()); mode.addTarget(new TargetOpponent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);

View file

@ -31,11 +31,9 @@ public final class DreamsGrip extends CardImpl {
this.getSpellAbility().addTarget(target1); this.getSpellAbility().addTarget(target1);
this.getSpellAbility().addEffect(tapEffect); this.getSpellAbility().addEffect(tapEffect);
//or untap target permanent. //or untap target permanent.
Mode mode = new Mode(); Mode mode = new Mode(new UntapTargetEffect());
TargetPermanent target2 = new TargetPermanent(new FilterPermanent("Permanent to untap")); TargetPermanent target2 = new TargetPermanent(new FilterPermanent("Permanent to untap"));
mode.addTarget(target2); mode.addTarget(target2);
Effect untapEffect = new UntapTargetEffect();
mode.addEffect(untapEffect);
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// Entwine {1} // Entwine {1}

View file

@ -25,12 +25,10 @@ public final class DromarsCharm extends CardImpl {
// Choose one - You gain 5 life; or counter target spell; or target creature gets -2/-2 until end of turn. // Choose one - You gain 5 life; or counter target spell; or target creature gets -2/-2 until end of turn.
this.getSpellAbility().addEffect(new GainLifeEffect(5)); this.getSpellAbility().addEffect(new GainLifeEffect(5));
Mode mode = new Mode(); Mode mode = new Mode(new CounterTargetEffect());
mode.addEffect(new CounterTargetEffect());
mode.addTarget(new TargetSpell()); mode.addTarget(new TargetSpell());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
mode = new Mode(); mode = new Mode(new BoostTargetEffect(-2, -2, Duration.EndOfTurn));
mode.addEffect(new BoostTargetEffect(-2, -2, Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -42,26 +42,23 @@ public final class DromokasCommand extends CardImpl {
this.getSpellAbility().getTargets().add(new TargetSpell(new FilterInstantOrSorcerySpell())); this.getSpellAbility().getTargets().add(new TargetSpell(new FilterInstantOrSorcerySpell()));
// or Target player sacrifices an enchantment; // or Target player sacrifices an enchantment;
Mode mode = new Mode();
Effect effect = new SacrificeEffect(filterEnchantment, 1, "target player"); Effect effect = new SacrificeEffect(filterEnchantment, 1, "target player");
effect.setText("Target player sacrifices an enchantment"); effect.setText("Target player sacrifices an enchantment");
mode.addEffect(effect); Mode mode = new Mode(effect);
mode.addTarget(new TargetPlayer()); mode.addTarget(new TargetPlayer());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// Put a +1/+1 counter on target creature; // Put a +1/+1 counter on target creature;
mode = new Mode();
effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance());
effect.setText("Put a +1/+1 counter on target creature"); effect.setText("Put a +1/+1 counter on target creature");
mode.addEffect(effect); mode = new Mode(effect);
mode.addTarget(new TargetCreaturePermanent(filterCreature)); mode.addTarget(new TargetCreaturePermanent(filterCreature));
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// or Target creature you control fights target creature you don't control. // or Target creature you control fights target creature you don't control.
mode = new Mode();
effect = new FightTargetsEffect(); effect = new FightTargetsEffect();
effect.setText("Target creature you control fights target creature you don't control"); effect.setText("Target creature you control fights target creature you don't control");
mode.addEffect(effect); mode = new Mode(effect);
mode.addTarget(new TargetControlledCreaturePermanent()); mode.addTarget(new TargetControlledCreaturePermanent());
mode.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL)); mode.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL));
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);

View file

@ -37,8 +37,7 @@ public final class DustOfMoments extends CardImpl {
this.getSpellAbility().addEffect(new RemoveCountersEffect()); this.getSpellAbility().addEffect(new RemoveCountersEffect());
// Or put two time counters on each permanent with a time counter on it and each suspended card // Or put two time counters on each permanent with a time counter on it and each suspended card
Mode mode = new Mode(); Mode mode = new Mode(new AddCountersEffect());
mode.addEffect(new AddCountersEffect());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -31,15 +31,13 @@ public final class EbonyCharm extends CardImpl {
this.getSpellAbility().addTarget(new TargetOpponent()); this.getSpellAbility().addTarget(new TargetOpponent());
// or exile up to three target cards from a single graveyard; // or exile up to three target cards from a single graveyard;
Mode mode = new Mode(); Mode mode = new Mode(new ExileTargetEffect());
mode.addEffect(new ExileTargetEffect());
mode.addTarget((new TargetCardInASingleGraveyard(0, 3, StaticFilters.FILTER_CARD_CARDS))); mode.addTarget((new TargetCardInASingleGraveyard(0, 3, StaticFilters.FILTER_CARD_CARDS)));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or target creature gains fear until end of turn. // or target creature gains fear until end of turn.
mode = new Mode(); mode = new Mode(new GainAbilityTargetEffect(FearAbility.getInstance(), Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
mode.addEffect(new GainAbilityTargetEffect(FearAbility.getInstance(), Duration.EndOfTurn));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -38,14 +38,12 @@ public final class EmeraldCharm extends CardImpl {
this.getSpellAbility().addTarget(new TargetPermanent()); this.getSpellAbility().addTarget(new TargetPermanent());
// or destroy target non-Aura enchantment; // or destroy target non-Aura enchantment;
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetEnchantmentPermanent(filter)); mode.addTarget(new TargetEnchantmentPermanent(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or target creature loses flying until end of turn. // or target creature loses flying until end of turn.
mode = new Mode(); mode = new Mode(new LoseAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
mode.addEffect(new LoseAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -24,8 +24,7 @@ public final class EnergyBolt extends CardImpl {
// Choose one - Energy Bolt deals X damage to target player; or target player gains X life. // Choose one - Energy Bolt deals X damage to target player; or target player gains X life.
this.getSpellAbility().addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR)); this.getSpellAbility().addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR));
this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker());
Mode mode = new Mode(); Mode mode = new Mode(new GainLifeTargetEffect(ManacostVariableValue.REGULAR));
mode.addEffect(new GainLifeTargetEffect(ManacostVariableValue.REGULAR));
mode.addTarget(new TargetPlayer()); mode.addTarget(new TargetPlayer());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -42,8 +42,7 @@ public final class EnergyChamber extends CardImpl {
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
// or put a charge counter on target noncreature artifact. // or put a charge counter on target noncreature artifact.
Mode mode = new Mode(); Mode mode = new Mode(new AddCountersTargetEffect(CounterType.CHARGE.createInstance(), Outcome.BoostCreature));
mode.addEffect(new AddCountersTargetEffect(CounterType.CHARGE.createInstance(), Outcome.BoostCreature));
mode.addTarget(new TargetPermanent(filter2)); mode.addTarget(new TargetPermanent(filter2));
ability.addMode(mode); ability.addMode(mode);

View file

@ -38,10 +38,9 @@ public final class EngineeredMight extends CardImpl {
Target target = new TargetCreaturePermanent(); Target target = new TargetCreaturePermanent();
this.getSpellAbility().addTarget(target); this.getSpellAbility().addTarget(target);
// Creatures you control get +2/+2 and gain vigilance until end of turn. // Creatures you control get +2/+2 and gain vigilance until end of turn.
Mode mode = new Mode();
effect = new BoostControlledEffect(2, 2, Duration.EndOfTurn); effect = new BoostControlledEffect(2, 2, Duration.EndOfTurn);
effect.setText("Creatures you control get +2/+2"); effect.setText("Creatures you control get +2/+2");
mode.addEffect(effect); Mode mode = new Mode(effect);
effect = new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent()); effect = new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent());
effect.setText("and gain vigilance until end of turn"); effect.setText("and gain vigilance until end of turn");
mode.addEffect(effect); mode.addEffect(effect);

View file

@ -35,8 +35,7 @@ public final class EntomberExarch extends CardImpl {
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
// Target opponent reveals their hand. You choose a noncreature card from it. That player discards that card. // Target opponent reveals their hand. You choose a noncreature card from it. That player discards that card.
Mode mode = new Mode(); Mode mode = new Mode(new DiscardCardYouChooseTargetEffect(StaticFilters.FILTER_CARD_NON_CREATURE));
mode.addEffect(new DiscardCardYouChooseTargetEffect(StaticFilters.FILTER_CARD_NON_CREATURE));
mode.addTarget(new TargetOpponent()); mode.addTarget(new TargetOpponent());
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

View file

@ -26,12 +26,10 @@ public final class EsperCharm extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetEnchantmentPermanent()); this.getSpellAbility().addTarget(new TargetEnchantmentPermanent());
// or draw two cards; // or draw two cards;
Mode mode = new Mode(); Mode mode = new Mode(new DrawCardSourceControllerEffect(2));
mode.addEffect(new DrawCardSourceControllerEffect(2));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or target player discards two cards. // or target player discards two cards.
mode = new Mode(); mode = new Mode(new DiscardTargetEffect(2));
mode.addEffect(new DiscardTargetEffect(2));
mode.addTarget(new TargetPlayer()); mode.addTarget(new TargetPlayer());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -32,13 +32,11 @@ public final class EtherwroughtPage extends CardImpl {
Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), TargetController.YOU, false); Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), TargetController.YOU, false);
// or look at the top card of your library, then you may put that card into your graveyard; // or look at the top card of your library, then you may put that card into your graveyard;
Mode mode = new Mode(); Mode mode = new Mode(new EtherwroughtPageEffect());
mode.addEffect(new EtherwroughtPageEffect());
ability.addMode(mode); ability.addMode(mode);
// or each opponent loses 1 life // or each opponent loses 1 life
Mode mode1 = new Mode(); Mode mode1 = new Mode(new LoseLifeOpponentsEffect(1));
mode1.addEffect(new LoseLifeOpponentsEffect(1));
ability.addMode(mode1); ability.addMode(mode1);
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,14 +28,12 @@ public final class EvolutionCharm extends CardImpl {
this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true, true).setText("Search your library for a basic land card, reveal it, put it into your hand, then shuffle")); this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true, true).setText("Search your library for a basic land card, reveal it, put it into your hand, then shuffle"));
// or return target creature card from your graveyard to your hand; // or return target creature card from your graveyard to your hand;
Mode mode = new Mode(); Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect());
mode.addEffect(new ReturnFromGraveyardToHandTargetEffect());
mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or target creature gains flying until end of turn. // or target creature gains flying until end of turn.
mode = new Mode(); mode = new Mode(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
mode.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -25,8 +25,7 @@ public final class Fascination extends CardImpl {
this.getSpellAbility().addEffect(new DrawCardAllEffect(ManacostVariableValue.REGULAR)); this.getSpellAbility().addEffect(new DrawCardAllEffect(ManacostVariableValue.REGULAR));
// * Each player puts the top X cards of their library into their graveyard. // * Each player puts the top X cards of their library into their graveyard.
Mode mode = new Mode(); Mode mode = new Mode(new MillCardsEachPlayerEffect(ManacostVariableValue.REGULAR, TargetController.ANY));
mode.addEffect(new MillCardsEachPlayerEffect(ManacostVariableValue.REGULAR, TargetController.ANY));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -35,8 +35,7 @@ public final class FeastOrFamine extends CardImpl {
this.getSpellAbility().addEffect(new CreateTokenEffect(new ZombieToken())); this.getSpellAbility().addEffect(new CreateTokenEffect(new ZombieToken()));
// or destroy target nonartifact, nonblack creature and it can't be regenerated. // or destroy target nonartifact, nonblack creature and it can't be regenerated.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect(true));
mode.addEffect(new DestroyTargetEffect(true));
mode.addTarget(new TargetCreaturePermanent(filter)); mode.addTarget(new TargetCreaturePermanent(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -37,14 +37,12 @@ public final class FerocityOfTheUnderworld extends CardImpl {
this.getSpellAbility().addTarget(new TargetNonlandPermanent(filterMode1)); this.getSpellAbility().addTarget(new TargetNonlandPermanent(filterMode1));
// Copy target instant or sorcery spell. You may choose new targets for the copy. // Copy target instant or sorcery spell. You may choose new targets for the copy.
Mode mode = new Mode(); Mode mode = new Mode(new CopyTargetSpellEffect());
mode.addEffect(new CopyTargetSpellEffect());
mode.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY)); mode.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// Return target card from your graveyard to your hand. // Return target card from your graveyard to your hand.
mode = new Mode(); mode = new Mode(new ReturnFromGraveyardToHandTargetEffect());
mode.addEffect(new ReturnFromGraveyardToHandTargetEffect());
mode.addTarget(new TargetCardInYourGraveyard()); mode.addTarget(new TargetCardInYourGraveyard());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -34,13 +34,11 @@ public final class FeverCharm extends CardImpl {
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// or target creature gets +2/+0 until end of turn // or target creature gets +2/+0 until end of turn
Mode mode = new Mode(); Mode mode = new Mode(new BoostTargetEffect(2, 0, Duration.EndOfTurn));
mode.addEffect(new BoostTargetEffect(2, 0, Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or Fever Charm deals 3 damage to target Wizard creature. // or Fever Charm deals 3 damage to target Wizard creature.
mode = new Mode(); mode = new Mode(new DamageTargetEffect(3));
mode.addEffect(new DamageTargetEffect(3));
mode.addTarget(new TargetCreaturePermanent(filter)); mode.addTarget(new TargetCreaturePermanent(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -31,13 +31,11 @@ public final class FieryConfluence extends CardImpl {
this.getSpellAbility().addEffect(new DamageAllEffect(1, new FilterCreaturePermanent())); this.getSpellAbility().addEffect(new DamageAllEffect(1, new FilterCreaturePermanent()));
// Fiery Confluence deals 2 damage to each opponent; // Fiery Confluence deals 2 damage to each opponent;
Mode mode = new Mode(); Mode mode = new Mode(new DamagePlayersEffect(2, TargetController.OPPONENT));
mode.addEffect(new DamagePlayersEffect(2, TargetController.OPPONENT));
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// Destroy target artifact. // Destroy target artifact.
mode = new Mode(); mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetArtifactPermanent()); mode.addTarget(new TargetArtifactPermanent());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
} }

View file

@ -26,8 +26,7 @@ public final class FieryIntervention extends CardImpl {
getSpellAbility().addTarget(new TargetCreaturePermanent()); getSpellAbility().addTarget(new TargetCreaturePermanent());
// -Destroy target artifact. // -Destroy target artifact.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetArtifactPermanent()); mode.addTarget(new TargetArtifactPermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -25,8 +25,7 @@ public final class FissureVent extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy"));
Mode mode1 = new Mode(); Mode mode1 = new Mode(new DestroyTargetEffect());
mode1.addEffect(new DestroyTargetEffect());
mode1.addTarget(new TargetNonBasicLandPermanent().withChooseHint("destroy")); mode1.addTarget(new TargetNonBasicLandPermanent().withChooseHint("destroy"));
this.getSpellAbility().addMode(mode1); this.getSpellAbility().addMode(mode1);
} }

View file

@ -35,8 +35,7 @@ public final class FlashFlood extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent(filter1)); this.getSpellAbility().addTarget(new TargetPermanent(filter1));
// or return target Mountain to its owner's hand. // or return target Mountain to its owner's hand.
Mode mode = new Mode(); Mode mode = new Mode(new ReturnToHandTargetEffect());
mode.addEffect(new ReturnToHandTargetEffect());
mode.addTarget(new TargetPermanent(filter2)); mode.addTarget(new TargetPermanent(filter2));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -40,8 +40,7 @@ public final class ForceStasis extends CardImpl {
getSpellAbility().addTarget(new TargetCreaturePermanent()); getSpellAbility().addTarget(new TargetCreaturePermanent());
// Return target instant or sorcery spell you don't control to its owner's hand. // Return target instant or sorcery spell you don't control to its owner's hand.
Mode mode = new Mode(); Mode mode = new Mode(new ReturnToHandTargetEffect());
mode.addEffect(new ReturnToHandTargetEffect());
mode.addTarget(new TargetSpell(filter)); mode.addTarget(new TargetSpell(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -21,8 +21,7 @@ public final class Fortify extends CardImpl {
// Choose one - Creatures you control get +2/+0 until end of turn; or creatures you control get +0/+2 until end of turn. // Choose one - Creatures you control get +2/+0 until end of turn; or creatures you control get +0/+2 until end of turn.
this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn));
Mode mode = new Mode(); Mode mode = new Mode(new BoostControlledEffect(0, 2, Duration.EndOfTurn));
mode.addEffect(new BoostControlledEffect(0, 2, Duration.EndOfTurn));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -27,8 +27,7 @@ public final class FortuitousFind extends CardImpl {
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD).withChooseHint("return to hand")); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD).withChooseHint("return to hand"));
// or Return target creature card from your graveyard to your hand. // or Return target creature card from your graveyard to your hand.
Mode mode = new Mode(); Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect());
mode.addEffect(new ReturnFromGraveyardToHandTargetEffect());
mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand")); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand"));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -27,12 +27,10 @@ public final class FuneralCharm extends CardImpl {
// Choose one - Target player discards a card; or target creature gets +2/-1 until end of turn; or target creature gains swampwalk until end of turn. // Choose one - Target player discards a card; or target creature gets +2/-1 until end of turn; or target creature gains swampwalk until end of turn.
this.getSpellAbility().addEffect(new DiscardTargetEffect(1)); this.getSpellAbility().addEffect(new DiscardTargetEffect(1));
this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addTarget(new TargetPlayer());
Mode mode = new Mode(); Mode mode = new Mode(new BoostTargetEffect(2, -1, Duration.EndOfTurn));
mode.addEffect(new BoostTargetEffect(2, -1, Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
mode = new Mode(); mode = new Mode(new GainAbilityTargetEffect(new SwampwalkAbility(), Duration.EndOfTurn));
mode.addEffect(new GainAbilityTargetEffect(new SwampwalkAbility(), Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -48,19 +48,17 @@ public final class FuryCharm extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetArtifactPermanent()); this.getSpellAbility().addTarget(new TargetArtifactPermanent());
// or target creature gets +1/+1 and gains trample until end of turn; // or target creature gets +1/+1 and gains trample until end of turn;
Mode mode = new Mode();
Effect effect = new BoostTargetEffect(1,1, Duration.EndOfTurn); Effect effect = new BoostTargetEffect(1,1, Duration.EndOfTurn);
effect.setText("target creature gets +1/+1"); effect.setText("target creature gets +1/+1");
mode.addEffect(effect); Mode mode = new Mode(effect);
effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(),Duration.EndOfTurn); effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(),Duration.EndOfTurn);
effect.setText("and gains trample until end of turn"); effect.setText("and gains trample until end of turn");
mode.addEffect(effect); mode.addEffect(effect);
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
// or remove two time counters from target permanent or suspended card. // or remove two time counters from target permanent or suspended card.
mode = new Mode(); mode = new Mode(new FuryCharmRemoveCounterEffect());
mode.addTarget(new TargetPermanentOrSuspendedCard()); mode.addTarget(new TargetPermanentOrSuspendedCard());
mode.addEffect(new FuryCharmRemoveCounterEffect());
this.getSpellAbility().getModes().addMode(mode); this.getSpellAbility().getModes().addMode(mode);
} }

View file

@ -49,8 +49,7 @@ public final class GoblinCratermaker extends CardImpl {
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
// Destroy target colorless nonland permanent. // Destroy target colorless nonland permanent.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetPermanent(filter)); mode.addTarget(new TargetPermanent(filter));
ability.addMode(mode); ability.addMode(mode);

View file

@ -26,14 +26,12 @@ public final class GolgariCharm extends CardImpl {
this.getSpellAbility().addEffect(new BoostAllEffect(-1, -1, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new BoostAllEffect(-1, -1, Duration.EndOfTurn));
// or destroy target enchantment; // or destroy target enchantment;
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetEnchantmentPermanent()); mode.addTarget(new TargetEnchantmentPermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or regenerate each creature you control. // or regenerate each creature you control.
mode = new Mode(); mode = new Mode(new RegenerateAllEffect(new FilterControlledCreaturePermanent()));
mode.addEffect(new RegenerateAllEffect(new FilterControlledCreaturePermanent()));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -45,8 +45,7 @@ public final class GrabTheReins extends CardImpl {
target.setTargetName("a creature to take control of"); target.setTargetName("a creature to take control of");
this.getSpellAbility().addTarget(target); this.getSpellAbility().addTarget(target);
// or sacrifice a creature, then Grab the Reins deals damage equal to that creature's power to any target. // or sacrifice a creature, then Grab the Reins deals damage equal to that creature's power to any target.
Mode mode = new Mode(); Mode mode = new Mode(new GrabTheReinsEffect());
mode.addEffect(new GrabTheReinsEffect());
TargetAnyTarget target2 = new TargetAnyTarget(); TargetAnyTarget target2 = new TargetAnyTarget();
target2.setTargetName("a creature or player to damage"); target2.setTargetName("a creature or player to damage");
mode.addTarget(target2); mode.addTarget(target2);

View file

@ -47,8 +47,7 @@ public final class GrenzoHavocRaiser extends CardImpl {
effect.setText(goadEffectName); effect.setText(goadEffectName);
Ability ability = new GrenzoHavocRaiserTriggeredAbility(effect); Ability ability = new GrenzoHavocRaiserTriggeredAbility(effect);
//or Exile the top card of that player's library. Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it. //or Exile the top card of that player's library. Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it.
Mode mode = new Mode(); Mode mode = new Mode(new GrenzoHavocRaiserEffect());
mode.addEffect(new GrenzoHavocRaiserEffect());
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -27,13 +27,11 @@ public final class GrixisCharm extends CardImpl {
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent()); this.getSpellAbility().addTarget(new TargetPermanent());
// or target creature gets -4/-4 until end of turn; // or target creature gets -4/-4 until end of turn;
Mode mode = new Mode(); Mode mode = new Mode(new BoostTargetEffect(-4, -4, Duration.EndOfTurn));
mode.addEffect(new BoostTargetEffect(-4, -4, Duration.EndOfTurn));
mode.addTarget(new TargetCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or creatures you control get +2/+0 until end of turn. // or creatures you control get +2/+0 until end of turn.
mode = new Mode(); mode = new Mode(new BoostControlledEffect(2, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES, false));
mode.addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES, false));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -41,14 +41,10 @@ public final class GruulCharm extends CardImpl {
this.getSpellAbility().addEffect(new CantBlockAllEffect(filter, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new CantBlockAllEffect(filter, Duration.EndOfTurn));
// or gain control of all permanents you own; // or gain control of all permanents you own;
Mode mode = new Mode(); this.getSpellAbility().addMode(new Mode(new GainControlAllEffect(Duration.EndOfGame, filter2)));
mode.addEffect(new GainControlAllEffect(Duration.EndOfGame, filter2));
this.getSpellAbility().addMode(mode);
// or Gruul Charm deals 3 damage to each creature with flying. // or Gruul Charm deals 3 damage to each creature with flying.
Mode mode2 = new Mode(); this.getSpellAbility().addMode(new Mode(new DamageAllEffect(3, filter3)));
mode2.addEffect(new DamageAllEffect(3, filter3));
this.getSpellAbility().addMode(mode2);
} }
private GruulCharm(final GruulCharm card) { private GruulCharm(final GruulCharm card) {

View file

@ -24,8 +24,7 @@ public final class HealingLeaves extends CardImpl {
// Choose one - Target player gains 3 life; or prevent the next 3 damage that would be dealt to any target this turn. // Choose one - Target player gains 3 life; or prevent the next 3 damage that would be dealt to any target this turn.
this.getSpellAbility().addEffect(new GainLifeTargetEffect(3)); this.getSpellAbility().addEffect(new GainLifeTargetEffect(3));
this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addTarget(new TargetPlayer());
Mode mode = new Mode(); Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3));
mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3));
mode.addTarget(new TargetAnyTarget()); mode.addTarget(new TargetAnyTarget());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -26,8 +26,7 @@ public final class HealingSalve extends CardImpl {
this.getSpellAbility().addEffect(new GainLifeTargetEffect(3)); this.getSpellAbility().addEffect(new GainLifeTargetEffect(3));
this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addTarget(new TargetPlayer());
Mode mode = new Mode(); Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3));
mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3));
mode.addTarget(new TargetAnyTarget()); mode.addTarget(new TargetAnyTarget());
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);

View file

@ -34,12 +34,10 @@ public final class HearthCharm extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE));
// or attacking creatures get +1/+0 until end of turn // or attacking creatures get +1/+0 until end of turn
Mode mode = new Mode(); Mode mode = new Mode(new BoostAllEffect(1, 0, Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false));
mode.addEffect(new BoostAllEffect(1, 0, Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
// or target creature with power 2 or less is unblockable this turn. // or target creature with power 2 or less is unblockable this turn.
mode = new Mode(); mode = new Mode(new CantBeBlockedTargetEffect());
mode.addEffect(new CantBeBlockedTargetEffect());
mode.addTarget(new TargetCreaturePermanent(filter)); mode.addTarget(new TargetCreaturePermanent(filter));
this.getSpellAbility().addMode(mode); this.getSpellAbility().addMode(mode);
} }

View file

@ -40,8 +40,7 @@ public final class HoodedAssassin extends CardImpl {
// * Put a +1/+1 counter on Hooded Assassin. // * Put a +1/+1 counter on Hooded Assassin.
Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false); Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false);
// * Destroy target creature that was dealt damage this turn. // * Destroy target creature that was dealt damage this turn.
Mode mode = new Mode(); Mode mode = new Mode(new DestroyTargetEffect());
mode.addEffect(new DestroyTargetEffect());
mode.addTarget(new TargetCreaturePermanent(filter)); mode.addTarget(new TargetCreaturePermanent(filter));
ability.addMode(mode); ability.addMode(mode);
this.addAbility(ability); this.addAbility(ability);

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