mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
refactor: SimpleActivatedAbility default zone (before newline)
This commit is contained in:
parent
0e1fa94a11
commit
762edb2048
252 changed files with 280 additions and 280 deletions
|
|
@ -30,7 +30,7 @@ public final class AerieMystics extends CardImpl {
|
|||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), new ManaCostsImpl<>("{1}{G}{U}")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class AlchemistsRefuge extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {G}{U}, {tap}: You may cast spells this turn as though they had flash.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new AddContinuousEffectToGame(new CastAsThoughItHadFlashAllEffect(Duration.EndOfTurn, filter)),
|
||||
new CompositeCost(new ManaCostsImpl<>("{G}{U}"), new TapSourceCost(), "{G}{U}, {T}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public class AllosaurusShepherd extends CardImpl {
|
|||
|
||||
//4GG: Until end of turn, each Elf creature you control has base power and toughness 5/5
|
||||
// and becomes a Dinosaur in addition to its other creature types.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new SetBasePowerToughnessAllEffect(5, 5, Duration.EndOfTurn, elvesFilter)
|
||||
.setText("Until end of turn, each Elf creature you control has base power and toughness 5/5"),
|
||||
new ManaCostsImpl<>("{4}{G}{G}"));
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class AmrouScout extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {4}, {tap}: Search your library for a Rebel permanent card with converted mana cost 3 or less and put it onto the battlefield. Then shuffle your library.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false),
|
||||
new ManaCostsImpl<>("{4}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class AncestorsProphet extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Tap five untapped Clerics you control: You gain 10 life.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new GainLifeEffect(10),
|
||||
new TapTargetCost(new TargetControlledPermanent(5, 5, filter, true)));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class AndraditeLeech extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(
|
||||
new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{B}"), filter, TargetController.YOU)));
|
||||
// {B}: Andradite Leech gets +1/+1 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AnuridBrushhopper extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Discard two cards: Exile Anurid Brushhopper. Return it to the battlefield under its owner's control at the beginning of the next end step.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(),
|
||||
new DiscardTargetCost(new TargetCardInHand(2, StaticFilters.FILTER_CARD_CARDS))));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class AquastrandSpider extends CardImpl {
|
|||
this.addAbility(new GraftAbility(this, 2));
|
||||
|
||||
// {G}: Target creature with a +1/+1 counter on it gains reach until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new GainAbilityTargetEffect(ReachAbility.getInstance(),
|
||||
Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
|
||||
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_P1P1));
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class ArachnusSpinner extends CardImpl {
|
|||
// Reach (This creature can block creatures with flying.)
|
||||
this.addAbility(ReachAbility.getInstance());
|
||||
// Tap an untapped Spider you control: Search your graveyard and/or library for a card named Arachnus Web and put it onto the battlefield attached to target creature. If you search your library this way, shuffle it.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new ArachnusSpinnerEffect(),
|
||||
new TapTargetCost(new TargetControlledPermanent(1, 1, filter, false)));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class ArcticAven extends CardImpl {
|
|||
// Arctic Aven gets +1/+1 as long as you control a Plains.
|
||||
this.addAbility(new SimpleStaticAbility(new BoostSourceWhileControlsEffect(filter, 1, 1)));
|
||||
// {W}: Arctic Aven gains lifelink until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{W}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class ArmillarySphere extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
||||
|
||||
// {2}, {tap}, Sacrifice Armillary Sphere: Search your library for up to two basic land cards, reveal them, and put them into your hand. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true),
|
||||
new GenericManaCost(2));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class ArmsDealer extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {1}{R}, Sacrifice a Goblin: Arms Dealer deals 4 damage to target creature.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new DamageTargetEffect(4),
|
||||
new ManaCostsImpl<>("{1}{R}"));
|
||||
ability.addCost(new SacrificeTargetCost(filter));
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class ArmyAnts extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {tap}, Sacrifice a land: Destroy target land.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new DestroyTargetEffect(),
|
||||
new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_LAND));
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class AstromechDroid extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {T}: Target starship creature you control gets +1/+1 and gains vigilance until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new BoostTargetEffect(1, 1, Duration.EndOfTurn)
|
||||
.setText("Target starship creature you control gets +1/+1"),
|
||||
new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class Atogatog extends CardImpl {
|
|||
|
||||
DynamicValue xValue = SacrificeCostCreaturesPower.instance;
|
||||
// Sacrifice an Atog creature: Atogatog gets +X/+X until end of turn, where X is the sacrificed creature's power.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(xValue, xValue, Duration.EndOfTurn),
|
||||
new SacrificeTargetCost(filter)));
|
||||
|
||||
|
|
|
|||
|
|
@ -41,14 +41,14 @@ public final class AvacynGuardianAngel extends CardImpl {
|
|||
// Vigilance
|
||||
this.addAbility(VigilanceAbility.getInstance());
|
||||
// {1}{W}: Prevent all damage that would be dealt to another target creature this turn by sources of the color of your choice.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new AvacynGuardianAngelPreventToCreatureEffect(),
|
||||
new ManaCostsImpl<>("{1}{W}"));
|
||||
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
|
||||
this.addAbility(ability);
|
||||
|
||||
// {5}{W}{W}: Prevent all damage that would be dealt to target player this turn by sources of the color of your choice.
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
ability = new SimpleActivatedAbility(
|
||||
new AvacynGuardianAngelPreventToPlayerEffect(),
|
||||
new ManaCostsImpl<>("{5}{W}{W}"));
|
||||
ability.addTarget(new TargetPlayerOrPlaneswalker());
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class BattleRampart extends CardImpl {
|
|||
this.addAbility(DefenderAbility.getInstance());
|
||||
|
||||
// {T}: Target creature gains haste until end of turn.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn),
|
||||
new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class BeguilerOfWills extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {tap}: Gain control of target creature with power less than or equal to the number of creatures you control.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new GainControlTargetEffect(Duration.Custom),
|
||||
new TapSourceCost());
|
||||
ability.addTarget(new BeguilerOfWillsTarget());
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class BehindTheScenes extends CardImpl {
|
|||
new GainAbilityControlledEffect(new SkulkAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
|
||||
|
||||
// {4}{W}: Creatures you control get +1/+1 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostControlledEffect(1, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES),
|
||||
new ManaCostsImpl<>("{4}{W}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class BelbesPortal extends CardImpl {
|
|||
// {3}, {tap}: You may put a creature card of the chosen type from your hand onto the battlefield.
|
||||
FilterCreatureCard filter = new FilterCreatureCard("a creature card of the chosen type");
|
||||
filter.add(ChosenSubtypePredicate.TRUE);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new PutCardFromHandOntoBattlefieldEffect(filter),
|
||||
new ManaCostsImpl<>("{3}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class BighornerRancher extends CardImpl {
|
|||
));
|
||||
|
||||
// Sacrifice Bighorner Rancher: You gain life equal to the greatest toughness among other creatures you control.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new GainLifeEffect(GreatestToughnessAmongControlledCreaturesValue.instance).setText("You gain life equal to the greatest toughness among other creatures you control."),
|
||||
new SacrificeSourceCost()));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class BlackManaBattery extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||
|
||||
// {2}, {T}: Put a charge counter on Black Mana Battery.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)),
|
||||
new GenericManaCost(2));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class Blessing extends CardImpl {
|
|||
// {W}: Enchanted creature gets +1/+1 until end of turn.
|
||||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostEnchantedEffect(1, 1, Duration.EndOfTurn),
|
||||
new ColoredManaCost(ColoredManaSymbol.W)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class BlightedFen extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {4}{B}, {T}, Sacrifice Blighted Fen: Target opponent sacrifices a creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "Target opponent"),
|
||||
new ManaCostsImpl<>("{4}{B}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class BlightedGorge extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {4}{R}, {T}, Sacrifice Blighted Gorge: Blighted Gorge deals 2 damage to any target.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new DamageTargetEffect(2, "it"),
|
||||
new ManaCostsImpl<>("{4}{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class BlightedSteppe extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {3}{W}, {T}, Sacrifice Blighted Steppe: You gain 2 life for each creature you control.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new GainLifeEffect(new PermanentsOnBattlefieldCount(StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED, 2)),
|
||||
new ManaCostsImpl<>("{3}{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class BlightedWoodland extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {3}{G}, {T}, Sacrifice Blighted Woodland: Search your library for up to two basic land cards and put them onto the battlefield tapped. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true),
|
||||
new ManaCostsImpl<>("{3}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class Blightspeaker extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {4}, {tap}: Search your library for a Rebel permanent card with converted mana cost 3 or less and put it onto the battlefield. Then shuffle your library.
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false),
|
||||
new ManaCostsImpl<>("{4}"));
|
||||
ability2.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class BlockadeRunner extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {U}: Blockade Runner is unblockable this turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new CantBeBlockedSourceEffect(Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{U}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class BloodletterQuill extends CardImpl {
|
|||
ability.addCost(new PutCountersSourceCost(CounterType.BLOOD.createInstance()));
|
||||
this.addAbility(ability);
|
||||
// {U}{B}: Remove a blood counter from Bloodletter Quill.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new RemoveCounterSourceEffect(CounterType.BLOOD.createInstance()), new ManaCostsImpl<>("{U}{B}")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class BloodshotCyclops extends CardImpl {
|
|||
|
||||
// {T}, Sacrifice a creature: Bloodshot Cyclops deals damage equal to the sacrificed
|
||||
// creature's power to any target.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new DamageTargetEffect(SacrificeCostCreaturesPower.instance).setText("{this} deals damage equal to the sacrificed creature's power to any target"),
|
||||
new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class BloodthornTaunter extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn),
|
||||
new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class BlueManaBattery extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||
|
||||
// {2}, {T}: Put a charge counter on Blue Mana Battery.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new GenericManaCost(2));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class BogbrewWitch extends CardImpl {
|
|||
|
||||
// {2}, {T}: Search your library for a card named Festering Newt or Bubbling Cauldron, put it onto the battlefield tapped, then shuffle your library.
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(1, 1, filter);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(target, true),
|
||||
new ManaCostsImpl<>("{2}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public final class Boompile extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||
|
||||
// {T}: Flip a coin. If you win the flip, destroy all nonland permanents.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new FlipCoinEffect(new DestroyAllEffect(new FilterNonlandPermanent("nonland permanents"))), new TapSourceCost()));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class Bramblesnap extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, 1, Duration.EndOfTurn),
|
||||
new TapTargetCost(new TargetControlledPermanent(filter))));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class CacklingWitch extends CardImpl {
|
|||
|
||||
// {X}{B}, {tap}, Discard a card: Target creature gets +X/+0 until end of turn.
|
||||
GetXValue manaX = GetXValue.instance;
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new BoostTargetEffect(manaX, StaticValue.get(0), Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{X}{B}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class CarrionFeeder extends CardImpl {
|
|||
// Carrion Feeder can't block.
|
||||
this.addAbility(new CantBlockAbility());
|
||||
// Sacrifice a creature: Put a +1/+1 counter on Carrion Feeder.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
|
||||
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class CatharticAdept extends CardImpl {
|
|||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new MillCardsTargetEffect(1),
|
||||
new TapSourceCost());
|
||||
ability.addTarget(new TargetPlayer());
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ public final class CattiBrieOfMithralHall extends CardImpl {
|
|||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(), amount, false).setText("put a +1/+1 counter on it for each Equipment attached to it")));
|
||||
|
||||
// {1}, Remove all +1/+1 counters from Catti-brie: It deals X damage to target attacking or blocking creature an opponent controls, where X is the number of counters removed this way.
|
||||
Ability damageAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability damageAbility = new SimpleActivatedAbility(
|
||||
new DamageTargetEffect(CattiBrieRemovedCounterValue.instance).setText("it deals X damage to target attacking or blocking creature an opponent controls, where X is the number of counters removed this way"), new ManaCostsImpl<>("{1}"));
|
||||
damageAbility.addTarget(new TargetCreaturePermanent(filter));
|
||||
damageAbility.addCost(new RemoveAllCountersSourceCost(CounterType.P1P1));
|
||||
|
|
@ -98,4 +98,4 @@ enum CattiBrieRemovedCounterValue implements DynamicValue {
|
|||
public String getMessage() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class ClockOfOmens extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
|
||||
|
||||
// Tap two untapped artifacts you control: Untap target artifact.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new UntapTargetEffect(),
|
||||
new TapTargetCost(new TargetControlledPermanent(2, 2, filter, true)));
|
||||
ability.addTarget(new TargetArtifactPermanent());
|
||||
|
|
|
|||
|
|
@ -30,21 +30,21 @@ public final class ConquerorsFoothold extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {2}, {T}: Draw a card, then discard a card.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new DrawDiscardControllerEffect(),
|
||||
new ManaCostsImpl<>("{2}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
||||
// {4}, {T}: Draw a card.
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(
|
||||
new DrawCardSourceControllerEffect(1),
|
||||
new ManaCostsImpl<>("{4}"));
|
||||
ability2.addCost(new TapSourceCost());
|
||||
this.addAbility(ability2);
|
||||
|
||||
// {6}, {T}: Return target card from your graveyard to your hand.
|
||||
SimpleActivatedAbility ability3 = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability3 = new SimpleActivatedAbility(
|
||||
new ReturnFromGraveyardToHandTargetEffect(),
|
||||
new ManaCostsImpl<>("{6}"));
|
||||
ability3.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class ConsulateSurveillance extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(4)));
|
||||
|
||||
// Pay {E}{E}: Prevent all damage that would be dealt to you this turn by a source of your choice.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new PreventAllDamageFromChosenSourceToYouEffect(Duration.EndOfTurn, new FilterObject("source"), false),
|
||||
new PayEnergyCost(2)));
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class Cursecatcher extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Sacrifice Cursecatcher: Counter target instant or sorcery spell unless its controller pays {1}.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new CounterUnlessPaysEffect(new GenericManaCost(1)),
|
||||
new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY));
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class DarkApostle extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Gift of Chaos -- {3}, {T}: The next noncreature spell you cast this turn has cascade.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new NextSpellCastHasAbilityEffect(new CascadeAbility(), StaticFilters.FILTER_CARD_NON_CREATURE),
|
||||
new GenericManaCost(3));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class DarkMaze extends CardImpl {
|
|||
this.addAbility(DefenderAbility.getInstance());
|
||||
|
||||
// {0}: Dark Maze can attack this turn as though it didn't have defender. Exile it at the beginning of the next end step.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.EndOfTurn),
|
||||
new GenericManaCost(0));
|
||||
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class DaruEncampment extends CardImpl {
|
|||
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
// {W}, {tap}: Target Soldier creature gets +1/+1 until end of turn.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new BoostTargetEffect(1, 1, Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class DawnglareInvoker extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new TapAllTargetPlayerControlsEffect(StaticFilters.FILTER_PERMANENT_CREATURES),
|
||||
new ManaCostsImpl<>("{8}"));
|
||||
ability.addTarget(new TargetPlayer());
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class DawntreaderElk extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {G}, Sacrifice Dawntreader Elk: Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new ColoredManaCost(ColoredManaSymbol.G));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class DeathCultist extends CardImpl {
|
|||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new LoseLifeTargetEffect(1),
|
||||
new SacrificeSourceCost());
|
||||
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||
|
|
@ -44,4 +44,4 @@ public final class DeathCultist extends CardImpl {
|
|||
public DeathCultist copy() {
|
||||
return new DeathCultist(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class DeathlessAngel extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {W}{W}: Target creature is indestructible this turn.
|
||||
Effect effect = new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
effect, new ManaCostsImpl<>("{W}{W}"));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class DeathsporeThallid extends CardImpl {
|
|||
// At the beginning of your upkeep, put a spore counter on Deathspore Thallid.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance())));
|
||||
// Remove three spore counters from Deathspore Thallid: Create a 1/1 green Saproling creature token.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new CreateTokenEffect(new SaprolingToken()),
|
||||
new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3))));
|
||||
// Sacrifice a Saproling: Target creature gets -1/-1 until end of turn.
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class DefiantFalcon extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// {4}, {tap}: Search your library for a Rebel permanent card with converted mana cost 3 or less and put it onto the battlefield. Then shuffle your library.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false),
|
||||
new ManaCostsImpl<>("{4}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ public final class DefiantVanguard extends CardImpl {
|
|||
this.addAbility(new DefiantVanguardTriggeredAbility(effect));
|
||||
|
||||
// {5}, {tap}: Search your library for a Rebel permanent card with converted mana cost 4 or less and put it onto the battlefield. Then shuffle your library.
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false),
|
||||
new ManaCostsImpl<>("{5}"));
|
||||
ability2.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class DenethorStoneSeer extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(2)));
|
||||
|
||||
// {3}{R}, {T}, Sacrifice Denethor: Target player becomes the monarch. Denethor deals 3 damage to any target.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new DenethorStoneSeerEffect(),
|
||||
new ManaCostsImpl<>("{3}{R}")
|
||||
);
|
||||
|
|
@ -89,4 +89,4 @@ class DenethorStoneSeerEffect extends OneShotEffect {
|
|||
);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class DescendantOfSoramaro extends CardImpl {
|
|||
// {1}{U}: Look at the top X cards of your library, where X is the number of cards in your hand, then put them back in any order.
|
||||
Effect effect = new LookLibraryControllerEffect(CardsInControllerHandCount.instance);
|
||||
effect.setText("Look at the top X cards of your library, where X is the number of cards in your hand, then put them back in any order");
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
effect, new ManaCostsImpl<>("{1}{U}")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class DesolateLighthouse extends CardImpl {
|
|||
// {tap}: Add {C}.
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
// {1}{U}{R}, {tap}: Draw a card, then discard a card.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new DrawDiscardControllerEffect(),
|
||||
new ManaCostsImpl<>("{1}{U}{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class DiscordantDirge extends CardImpl {
|
|||
new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true));
|
||||
|
||||
// {B}, Sacrifice Discordant Dirge: Look at target opponent's hand and choose up to X cards from it, where X is the number of verse counters on Discordant Dirge. That player discards those cards.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new DiscordantDirgeEffect(),
|
||||
new ManaCostsImpl<>("{B}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class DragonHatchling extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {R}: Dragon Hatchling gets +1/+0 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, 0, Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{R}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class DragonWhelp extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// {R}: Dragon Whelp gets +1/+0 until end of turn. If this ability has been activated four or more times this turn, sacrifice Dragon Whelp at the beginning of the next end step.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, 0, Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{R}"));
|
||||
ability.addEffect(new DragonWhelpEffect());
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class DragonWhisperer extends CardImpl {
|
|||
Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
|
||||
|
||||
// {1}{R}: Dragon Whisperer get +1/+0 until end of turn
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, 0, Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{1}{R}")));
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class DreamstoneHedron extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{6}");
|
||||
|
||||
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(3), new TapSourceCost()));
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new DrawCardSourceControllerEffect(3),
|
||||
new GenericManaCost(3));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class DrossHopper extends CardImpl {
|
|||
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(1);
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn),
|
||||
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class ElvishPiper extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {G}, {tap}: You may put a creature card from your hand onto the battlefield.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_CREATURE_A),
|
||||
new ManaCostsImpl<>("{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class EmbodimentOfSpring extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {1}{G}, {T}, Sacrifice Embodiment of Spring: Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new ManaCostsImpl<>("{1}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class EnslavedScout extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {2}: Enslaved Scout gains mountainwalk until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new GainAbilitySourceEffect(new MountainwalkAbility(false), Duration.EndOfTurn),
|
||||
new GenericManaCost(2)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,13 +31,13 @@ public final class EsperBattlemage extends CardImpl {
|
|||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
// {W}, {tap}: Prevent the next 2 damage that would be dealt to you this turn.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new PreventDamageToControllerEffect(Duration.EndOfTurn, 2),
|
||||
new ColoredManaCost(ColoredManaSymbol.W));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
// {B}, {tap}: Target creature gets -1/-1 until end of turn.
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
ability = new SimpleActivatedAbility(
|
||||
new BoostTargetEffect(-1, -1, Duration.EndOfTurn),
|
||||
new ColoredManaCost(ColoredManaSymbol.B));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class EtherealUsher extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {U}, {tap}: Target creature can't be blocked this turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new CantBeBlockedTargetEffect(),
|
||||
new ManaCostsImpl<>("{U}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public final class ExpeditionMap extends CardImpl {
|
|||
|
||||
// {2}, {tap}, Sacrifice Expedition Map: Search your library for a land card, reveal it, and put it into your hand. Then shuffle your library.
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(new FilterLandCard());
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInHandEffect(target, true),
|
||||
new GenericManaCost(2));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class EyeOfUgin extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filterSpells, 2)));
|
||||
|
||||
// {7}, {tap}: Search your library for a colorless creature card, reveal it, and put it into your hand. Then shuffle your library.
|
||||
Ability searchAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability searchAbility = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true),
|
||||
new TapSourceCost());
|
||||
searchAbility.addCost(new ManaCostsImpl<>("{7}"));
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class EzuriRenegadeLeader extends CardImpl {
|
|||
this.addAbility(ezuriRegen);
|
||||
|
||||
// {2}{G}{G}{G}: Elf creatures you control get +3/+3 and gain trample until end of turn.
|
||||
Ability ezuriBoost = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ezuriBoost = new SimpleActivatedAbility(
|
||||
new BoostControlledEffect(3, 3, Duration.EndOfTurn, elfFilter, false)
|
||||
.setText("Elf creatures you control get +3/+3"),
|
||||
new ManaCostsImpl<>("{2}{G}{G}{G}"));
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class FalkenrathAristocrat extends CardImpl {
|
|||
this.addAbility(HasteAbility.getInstance());
|
||||
// Sacrifice a creature: Falkenrath Aristocrat is indestructible this turn.
|
||||
// If the sacrificed creature was a Human, put a +1/+1 counter on Falkenrath Aristocrat.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn),
|
||||
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
|
||||
ability.addEffect(new FalkenrathAristocratEffect());
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class FalkenrathTorturer extends CardImpl {
|
|||
|
||||
// Sacrifice a creature: Falkenrath Torturer gains flying until end of turn.
|
||||
// If the sacrificed creature was a Human, put a +1/+1 counter on Falkenrath Torturer.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn),
|
||||
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
|
||||
ability.addEffect(new FalkenrathAristocratEffect());
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class FanaticalDevotion extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
|
||||
|
||||
// Sacrifice a creature: Regenerate target creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new RegenerateTargetEffect(),
|
||||
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class FaunaShaman extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {G}, {tap}, Discard a creature card: Search your library for a creature card, reveal it, and put it into your hand. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE_A), true),
|
||||
new ColoredManaCost(ColoredManaSymbol.G));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class FeralAnimist extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {3}: Feral Animist gets +X/+0 until end of turn, where X is its power.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(SourcePermanentPowerValue.NOT_NEGATIVE, StaticValue.get(0), Duration.EndOfTurn),
|
||||
new GenericManaCost(3)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class FireShrineKeeper extends CardImpl {
|
|||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// {7}{R}, {T}, Sacrifice Fire Shrine Keeper: It deals 3 damage to each of up to two target creatures.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new DamageTargetEffect(3).setText("It deals 3 damage to each of up to two target creatures"), new ManaCostsImpl<>("{7}{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class FirebrandRanger extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {G}, {T}: You may put a basic land card from your hand onto the battlefield.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_BASIC_LAND_A), new ManaCostsImpl<>("{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class FlamekinVillage extends CardImpl {
|
|||
this.addAbility(new RedManaAbility());
|
||||
|
||||
// {R}, {tap}: Target creature gains haste until end of turn.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class FlinthoofBoar extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new BoostSourceWhileControlsEffect(filter, 1, 1)));
|
||||
|
||||
// {R}: Flinthoof Boar gains haste until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{R}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class FlowstoneMauler extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// {R}: Flowstone Mauler gets +1/-1 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, -1, Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{R}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class FreewindEquenaut extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new DamageTargetEffect(2),
|
||||
new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(new FilterAttackingOrBlockingCreature()));
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class FromBeyond extends CardImpl {
|
|||
new EldraziScionToken()).withTextOptions(true)));
|
||||
|
||||
// {1}{G}, Sacrifice From Beyond: Search your library for an Eldrazi card, reveal it, put it into your hand, then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true),
|
||||
new ManaCostsImpl<>("{1}{G}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class FrontierGuide extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
//{3}{G}, {T}: Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new ManaCostsImpl<>("{3}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class FungalBloom extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}{G}");
|
||||
|
||||
// {G}{G}: Put a spore counter on target Fungus.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new AddCountersTargetEffect(CounterType.SPORE.createInstance()),
|
||||
new ManaCostsImpl<>("{G}{G}"));
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class FungalPlots extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}");
|
||||
|
||||
// {1}{G}, Exile a creature card from your graveyard: Create a 1/1 green Saproling creature token.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new CreateTokenEffect(new SaprolingToken()),
|
||||
new ManaCostsImpl<>("{1}{G}"));
|
||||
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter)));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GearseekerSerpent extends CardImpl {
|
|||
).addHint(ArtifactYouControlHint.instance));
|
||||
|
||||
// 5U: Gearseeker Serpent can't be blocked this turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new CantBeBlockedSourceEffect(Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{5}{U}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class GeneralHux extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Whenever General Hux or another nontoken creature you control enters, until end of turn, target creature gains "{B}: This creature gets +1/+1 until end of turn."
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, 1, Duration.EndOfTurn)
|
||||
.setText("This creature gets +1/+1 until end of turn"),
|
||||
new ManaCostsImpl<>("{B}"));
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public final class GerrardsBattleCry extends CardImpl {
|
|||
public GerrardsBattleCry(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}");
|
||||
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostControlledEffect(1, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES, false),
|
||||
new ManaCostsImpl<>("{2}{W}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GhirapurAetherGrid extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}");
|
||||
|
||||
// Tap two untaped artifacts you control: Ghirapur Aether Grid deals 1 damage to any target
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new DamageTargetEffect(1),
|
||||
new TapTargetCost(new TargetControlledPermanent(2, 2, filter, true)));
|
||||
ability.addTarget(new TargetAnyTarget().withChooseHint("deals 1 damage to"));
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GhituEncampment extends CardImpl {
|
|||
|
||||
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||
this.addAbility(new RedManaAbility());
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BecomesCreatureSourceEffect(new GhituEncampmentToken(), CardType.LAND, Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{1}{R}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class GnarledEffigy extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
|
||||
|
||||
// {4}, {tap}: Put a -1/-1 counter on target creature.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new AddCountersTargetEffect(CounterType.M1M1.createInstance()),
|
||||
new ManaCostsImpl<>("{4}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GoblinChirurgeon extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Sacrifice a Goblin: Regenerate target creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new RegenerateTargetEffect(),
|
||||
new SacrificeTargetCost(filter));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GoblinDiplomats extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {T}: Each creature attacks this turn if able.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new AttacksIfAbleAllEffect(StaticFilters.FILTER_PERMANENT_ALL_CREATURES, Duration.EndOfTurn)
|
||||
.setText("Each creature attacks this turn if able"),
|
||||
new TapSourceCost()));
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GoblinKites extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}");
|
||||
|
||||
// {R}: Target creature you control with toughness 2 or less gains flying until end of turn. Flip a coin at the beginning of the next end step. If you lose the flip, sacrifice that creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{R}"));
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
|
|
|
|||
|
|
@ -42,12 +42,12 @@ public final class GoblinWizard extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {tap}: You may put a Goblin permanent card from your hand onto the battlefield.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new PutCardFromHandOntoBattlefieldEffect(filterCard),
|
||||
new TapSourceCost()));
|
||||
|
||||
// {R}: Target Goblin gains protection from white until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new GainAbilityTargetEffect(ProtectionAbility.from(ObjectColor.WHITE), Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
|
||||
Target target = new TargetPermanent(filter2);
|
||||
ability.addTarget(target);
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GoreVassal extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Sacrifice Gore Vassal: Put a -1/-1 counter on target creature. Then if that creature's toughness is 1 or greater, regenerate it.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(
|
||||
new AddCountersTargetEffect(CounterType.M1M1.createInstance()),
|
||||
new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class GreaterStoneSpirit extends CardImpl {
|
|||
this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield)));
|
||||
|
||||
// {2}{R}: Until end of turn, target creature gets +0/+2 and gains "{R}: This creature gets +1/+0 until end of turn."
|
||||
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability gainedAbility = new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, 0, Duration.EndOfTurn),
|
||||
new ManaCostsImpl<>("{R}")
|
||||
);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GreenManaBattery extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||
|
||||
// {2}, {T}: Put a charge counter on Green Mana Battery.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new GenericManaCost(2));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class Greenseeker extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {G}, {tap}, Discard a card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(1, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new ManaCostsImpl<>("{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue