forked from External/mage
merge with remote #1
5668 changed files with 6821 additions and 6730 deletions
|
|
@ -2458,9 +2458,38 @@ public class ScryfallImageSupportTokens {
|
|||
put("BLC/Raccoon", "https://api.scryfall.com/cards/tblc/29/en?format=image");
|
||||
|
||||
// FDN
|
||||
put("FDN/Beast/1", "https://api.scryfall.com/cards/tfdn/32/en?format=image");
|
||||
put("FDN/Beast/2", "https://api.scryfall.com/cards/tfdn/33/en?format=image");
|
||||
put("FDN/Cat/1", "https://api.scryfall.com/cards/tfdn/1/en?format=image");
|
||||
put("FDN/Cat/2", "https://api.scryfall.com/cards/tfdn/27/en?format=image");
|
||||
put("FDN/Cat/3", "https://api.scryfall.com/cards/tfdn/2/en?format=image");
|
||||
put("FDN/Cat Beast", "https://api.scryfall.com/cards/tfdn/28/en?format=image");
|
||||
put("FDN/Dog", "https://api.scryfall.com/cards/tfdn/29/en?format=image");
|
||||
put("FDN/Dragon/1", "https://api.scryfall.com/cards/tfdn/16/en?format=image");
|
||||
put("FDN/Dragon/2", "https://api.scryfall.com/cards/tfdn/17/en?format=image");
|
||||
put("FDN/Drake", "https://api.scryfall.com/cards/tfdn/8/en?format=image");
|
||||
put("FDN/Elf Warrior", "https://api.scryfall.com/cards/tfdn/19/en?format=image");
|
||||
put("FDN/Faerie", "https://api.scryfall.com/cards/tfdn/9/en?format=image");
|
||||
put("FDN/Fish", "https://api.scryfall.com/cards/tfdn/10/en?format=image");
|
||||
put("FDN/Food", "https://api.scryfall.com/cards/tfdn/22/en?format=image");
|
||||
put("FDN/Goblin", "https://api.scryfall.com/cards/tfdn/18/en?format=image");
|
||||
put("FDN/Human", "https://api.scryfall.com/cards/tfdn/3/en?format=image");
|
||||
put("FDN/Insect", "https://api.scryfall.com/cards/tfdn/21/en?format=image");
|
||||
put("FDN/Emblem Kaito", "https://api.scryfall.com/cards/tfdn/24/en?format=image");
|
||||
put("FDN/Knight", "https://api.scryfall.com/cards/tfdn/4/en?format=image");
|
||||
put("FDN/Koma's Coil", "https://api.scryfall.com/cards/tfdn/11/en?format=image");
|
||||
put("FDN/Ninja", "https://api.scryfall.com/cards/tfdn/12/en?format=image");
|
||||
put("FDN/Phyrexian Goblin", "https://api.scryfall.com/cards/tfdn/31/en?format=image");
|
||||
put("FDN/Rabbit", "https://api.scryfall.com/cards/tfdn/5/en?format=image");
|
||||
put("FDN/Raccoon", "https://api.scryfall.com/cards/tfdn/20/en?format=image");
|
||||
put("FDN/Rat/1", "https://api.scryfall.com/cards/tfdn/14/en?format=image");
|
||||
put("FDN/Rat/2", "https://api.scryfall.com/cards/tfdn/30/en?format=image");
|
||||
put("FDN/Scion of the Deep", "https://api.scryfall.com/cards/tfdn/13/en?format=image");
|
||||
put("FDN/Soldier", "https://api.scryfall.com/cards/tfdn/6/en?format=image");
|
||||
put("FDN/Spirit", "https://api.scryfall.com/cards/tfdn/7/en?format=image");
|
||||
put("FDN/Treasure", "https://api.scryfall.com/cards/tfdn/23/en?format=image");
|
||||
put("FDN/Emblem Vivien", "https://api.scryfall.com/cards/tfdn/25/en?format=image");
|
||||
put("FDN/Zombie", "https://api.scryfall.com/cards/tfdn/15/en?format=image");
|
||||
|
||||
// generate supported sets
|
||||
supportedSets.clear();
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class ATST extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Trooper creatures you control get +3/+3.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(3, 3, Duration.WhileOnBattlefield, filter, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(3, 3, Duration.WhileOnBattlefield, filter, false)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class AWing extends CardImpl {
|
|||
this.addAbility(SpaceflightAbility.getInstance());
|
||||
|
||||
// {1}:Remove A-wing from combat. It must attack on your next combat if able.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RemoveFromCombatSourceEffect(), new GenericManaCost(1));
|
||||
Ability ability = new SimpleActivatedAbility(new RemoveFromCombatSourceEffect(), new GenericManaCost(1));
|
||||
ability.addEffect(new AWingAttacksNextCombatIfAbleSourceEffect());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class AbandonedSarcophagus extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new PlayFromGraveyardControllerEffect(filter)));
|
||||
|
||||
// If a card with cycling would be put into your graveyard from anywhere and it wasn't cycled, exile it instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbandonedSarcophagusReplacementEffect()), new AbandonedSarcophagusWatcher());
|
||||
this.addAbility(new SimpleStaticAbility(new AbandonedSarcophagusReplacementEffect()), new AbandonedSarcophagusWatcher());
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AbbeyMatron extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {W}, {tap}: Abbey Matron gets +0/+3 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0,3,Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostSourceEffect(0,3,Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class Abduction extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new UntapAttachedEffect()));
|
||||
|
||||
// You control enchanted creature.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect()));
|
||||
|
||||
// When enchanted creature dies, return that card to the battlefield under its owner's control.
|
||||
this.addAbility(new DiesAttachedTriggeredAbility(new ReturnToBattlefieldUnderOwnerControlAttachedEffect(), "enchanted creature", false));
|
||||
|
|
|
|||
|
|
@ -45,12 +45,12 @@ public final class AboshanCephalidEmperor extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Tap an untapped Octopus you control: Tap target permanent.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new TapTargetCost(new TargetControlledPermanent(1, filter1)));
|
||||
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new TapTargetCost(new TargetControlledPermanent(1, filter1)));
|
||||
ability.addTarget(new TargetPermanent());
|
||||
this.addAbility(ability);
|
||||
|
||||
// {U}{U}{U}: Tap all creatures without flying.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapAllEffect(filter2), new ManaCostsImpl<>("{U}{U}{U}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new TapAllEffect(filter2), new ManaCostsImpl<>("{U}{U}{U}")));
|
||||
}
|
||||
|
||||
private AboshanCephalidEmperor(final AboshanCephalidEmperor card) {
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@ public final class AbunaAcolyte extends CardImpl {
|
|||
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
|
||||
Ability ability1 = new SimpleActivatedAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
|
||||
ability1.addTarget(new TargetAnyTarget());
|
||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 2), new TapSourceCost());
|
||||
Ability ability2 = new SimpleActivatedAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 2), new TapSourceCost());
|
||||
ability2.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability1);
|
||||
this.addAbility(ability2);
|
||||
|
|
@ -53,4 +53,4 @@ public final class AbunaAcolyte extends CardImpl {
|
|||
return new AbunaAcolyte(this);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class Abundance extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{G}");
|
||||
|
||||
// If you would draw a card, you may instead choose land or nonland and reveal cards from the top of your library until you reveal a card of the chosen kind. Put that card into your hand and put all other cards revealed this way on the bottom of your library in any order.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbundanceReplacementEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new AbundanceReplacementEffect()));
|
||||
}
|
||||
|
||||
private Abundance(final Abundance card) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class AbundantGrowth extends CardImpl {
|
|||
Ability gainedAbility = new AnyColorManaAbility(new TapSourceCost());
|
||||
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA);
|
||||
effect.setText("Enchanted land has \"{T}: Add one mana of any color.\"");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
}
|
||||
|
||||
private AbundantGrowth(final AbundantGrowth card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class AbyssalHunter extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {B}, {tap}: Tap target creature. Abyssal Hunter deals damage equal to Abyssal Hunter's power to that creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{B}"));
|
||||
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{B}"));
|
||||
Effect effect = new DamageTargetEffect(SourcePermanentPowerValue.NOT_NEGATIVE);
|
||||
effect.setText("{this} deals damage equal to {this}'s power to that creature.");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class AbyssalPersecutor extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// You can't win the game and your opponents can't lose the game.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbyssalPersecutorCannotWinEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new AbyssalPersecutorCannotWinEffect()));
|
||||
}
|
||||
|
||||
private AbyssalPersecutor(final AbyssalPersecutor card) {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AbzanBanner extends CardImpl {
|
|||
this.addAbility(new GreenManaAbility());
|
||||
|
||||
// {W}{B}{G}, {T}, Sacrifice Abzan Banner: Draw a card.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{W}{B}{G}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{W}{B}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ public final class AbzanBattlePriest extends CardImpl {
|
|||
|
||||
// Each creature you control with a +1/+1 counter on it has lifelink.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new GainAbilityAllEffect(
|
||||
LifelinkAbility.getInstance(), Duration.WhileOnBattlefield,
|
||||
StaticFilters.FILTER_EACH_CONTROLLED_CREATURE_P1P1,
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AbzanFalconer extends CardImpl {
|
|||
this.addAbility(new OutlastAbility(new ColoredManaCost(ColoredManaSymbol.W)));
|
||||
|
||||
// Each creature you control with a +1/+1 counter on it has flying.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
|
||||
FlyingAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield,
|
||||
StaticFilters.FILTER_EACH_CONTROLLED_CREATURE_P1P1)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class AbzanKinGuard extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Abzan Kin-Guard has lifelink as long as you control a white or black permanent.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new ConditionalContinuousEffect(new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield),
|
||||
new PermanentsOnTheBattlefieldCondition(filter), "{this} has lifelink as long as you control a white or black permanent")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,9 +44,9 @@ public final class AbzanRunemark extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// Enchanted creature gets +2/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
|
||||
// Enchanted creature has vigilance as long as you control a black or green permanent.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new ConditionalContinuousEffect(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA),
|
||||
new PermanentsOnTheBattlefieldCondition(filter), "Enchanted creature has vigilance as long as you control a black or green permanent")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class AcademyElite extends CardImpl {
|
|||
"with X +1/+1 counters on it, where X is the number of instant and sorcery cards in all graveyards"));
|
||||
|
||||
// {2}{U}, Remove a +1/+1 counter from Academy Elite: Draw a card, then discard a card.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(1, 1, false), new ManaCostsImpl<>("{2}{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DrawDiscardControllerEffect(1, 1, false), new ManaCostsImpl<>("{2}{U}"));
|
||||
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class AcademyRuins extends CardImpl {
|
|||
// {T}: Add {C}.
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
// {1}{U}, {T}: Put target artifact card from your graveyard on top of your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{1}{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{1}{U}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class AccursedHorde extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {1}{B}: Target attacking Zombie gains indestructible until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class AccursedWitch extends CardImpl {
|
|||
this.secondSideCardClazz = mage.cards.i.InfectiousCurse.class;
|
||||
|
||||
// Spells your opponents cast that target Accursed Witch cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new SpellsCostModificationThatTargetSourceEffect(-1, new FilterCard("Spells"), TargetController.OPPONENT))
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class AcesBaseballBat extends CardImpl {
|
|||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
// Equipped creature gets +3/+0
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 0)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(3, 0)));
|
||||
|
||||
// As long as equipped creature is attacking, it has first strike and must be blocked by a Dalek if able.
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
|
|
|
|||
|
|
@ -33,10 +33,10 @@ public final class AcidicSliver extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// All Slivers have "{2}, Sacrifice this permanent: This permanent deals 2 damage to any target."
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new SacrificeSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new SacrificeSourceCost());
|
||||
ability.addCost(new GenericManaCost(2));
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new GainAbilityAllEffect(ability,
|
||||
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_SLIVERS,
|
||||
"All Slivers have \"{2}, Sacrifice this permanent: This permanent deals 2 damage to any target.\"")));
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AcolyteOfXathrid extends CardImpl {
|
|||
|
||||
this.power = new MageInt(0);
|
||||
this.toughness = new MageInt(1);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{1}{B}"));
|
||||
Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{1}{B}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class AcornCatapult extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||
|
||||
// {1}, {T}: Acorn Catapult deals 1 damage to any target. That creature's controller or that player creates a 1/1 green Squirrel creature token.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{1}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new ManaCostsImpl<>("{1}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addEffect(new AcornCatapultEffect());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class AdantoTheFirstFort extends CardImpl {
|
|||
this.addAbility(new WhiteManaAbility());
|
||||
|
||||
// 2W, T: Create a 1/1 white Vampire creature token with lifelink.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new IxalanVampireToken()), new ManaCostsImpl<>("{2}{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new IxalanVampireToken()), new ManaCostsImpl<>("{2}{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class AdantoVanguard extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// As long as Adanto Vanguard is attacking, it gets +2/+0.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2, 0, Duration.WhileOnBattlefield),
|
||||
SourceAttackingCondition.instance,
|
||||
"As long as {this} is attacking, it gets +2/+0"
|
||||
|
|
@ -41,7 +41,6 @@ public final class AdantoVanguard extends CardImpl {
|
|||
|
||||
// Pay 4 life: Adanto Vanguard gains indestructible until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn),
|
||||
new PayLifeCost(4)
|
||||
));
|
||||
|
|
|
|||
|
|
@ -38,9 +38,9 @@ public final class AdaptiveAutomaton extends CardImpl {
|
|||
ability.addEffect(new EnterAttributeAddChosenSubtypeEffect());
|
||||
this.addAbility(ability);
|
||||
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AddChosenSubtypeEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new AddChosenSubtypeEffect()));
|
||||
// Other creatures you control of the chosen type get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllOfChosenSubtypeEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostAllOfChosenSubtypeEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
}
|
||||
|
||||
private AdaptiveAutomaton(final AdaptiveAutomaton card) {
|
||||
|
|
@ -52,4 +52,3 @@ public final class AdaptiveAutomaton extends CardImpl {
|
|||
return new AdaptiveAutomaton(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class AdarkarSentinel extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {1}: Adarkar Sentinel gets +0/+1 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0,1,Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostSourceEffect(0,1,Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AdarkarWindform extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {1}{S}: Target creature loses flying until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilityTargetEffect(
|
||||
Ability ability = new SimpleActivatedAbility(new LoseAbilityTargetEffect(
|
||||
FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{S}"));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class AdmiralBeckettBrass extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Other Pirates you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
|
||||
// At the beginning of your end step, gain control of target nonland permanent controlled by a player who was dealt combat damage by three or more Pirates this turn.
|
||||
Ability ability = new BeginningOfEndStepTriggeredAbility(new GainControlTargetEffect(Duration.Custom, true));
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AdrianaCaptainOfTheGuard extends CardImpl {
|
|||
this.addAbility(new MeleeAbility());
|
||||
|
||||
// Other creatures you control have melee.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(new MeleeAbility(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("creatures"), true)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(new MeleeAbility(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("creatures"), true)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class AdvanceScout extends CardImpl {
|
|||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.W));
|
||||
Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.W));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AdvancedHoverguard extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {U}: Advanced Hoverguard gains shroud until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
|
||||
}
|
||||
|
||||
private AdvancedHoverguard(final AdvancedHoverguard card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class AdventurersGuildhouse extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
|
||||
|
||||
// Green legendary creatures you control have "bands with other legendary creatures."
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(new BandsWithOtherAbility(SuperType.LEGENDARY), Duration.WhileOnBattlefield, filter).withForceQuotes()));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(new BandsWithOtherAbility(SuperType.LEGENDARY), Duration.WhileOnBattlefield, filter).withForceQuotes()));
|
||||
}
|
||||
|
||||
private AdventurersGuildhouse(final AdventurersGuildhouse card) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class AegisAutomaton extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {4}{W}: Return another target creature you control to its owner's hand.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{4}{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{4}{W}"));
|
||||
ability.addTarget(new TargetControlledCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AegisOfHonor extends CardImpl {
|
|||
|
||||
// {1}: The next time an instant or sorcery spell would deal damage to you this
|
||||
//turn, that spell deals that damage to its controller instead.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AegisOfHonorEffect(), new ManaCostsImpl<>("{1}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new AegisOfHonorEffect(), new ManaCostsImpl<>("{1}")));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class AegisOfTheGods extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// You have hexproof.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControllerEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControllerEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private AegisOfTheGods(final AegisOfTheGods card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class AegisOfTheMeek extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
|
||||
|
||||
// {1}, {T}: Target 1/1 creature gets +1/+2 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class Aeolipile extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
||||
|
||||
// {1}, {tap}, Sacrifice Aeolipile: Aeolipile deals 2 damage to any target.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2, "it"), new ManaCostsImpl<>("{1}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2, "it"), new ManaCostsImpl<>("{1}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class AeonEngine extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||
|
||||
// {T}, Exile Aeon Engine: Reverse the gameâs turn order. (For example, if play had proceeded clockwise around the table, it now goes counterclockwise.)
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AeonEngineEffect(), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new AeonEngineEffect(), new TapSourceCost());
|
||||
ability.addCost(new ExileSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ public final class AerialEngineer extends CardImpl {
|
|||
|
||||
// As long as you control an artifact, Aerial Engineer gets +2/+0 and has flying.
|
||||
Ability ability = new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2, 0, Duration.WhileOnBattlefield),
|
||||
new PermanentsOnTheBattlefieldCondition(
|
||||
|
|
|
|||
|
|
@ -44,12 +44,12 @@ public final class AerialModification extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// As long as enchanted permanent is a Vehicle, it's a creature in addition to its other types.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureIfVehicleEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new BecomesCreatureIfVehicleEffect()));
|
||||
|
||||
// Enchanted creature gets +2/+2 and has flying.
|
||||
Effect effect = new BoostEnchantedEffect(2, 2);
|
||||
effect.setText("Enchanted creature gets +2/+2");
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
ability = new SimpleStaticAbility(effect);
|
||||
effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText(" and has flying");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -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}")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class AerieOuphes extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Sacrifice Aerie Ouphes: Aerie Ouphes deals damage equal to its power to target creature with flying.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(SourcePermanentPowerValue.NOT_NEGATIVE)
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(SourcePermanentPowerValue.NOT_NEGATIVE)
|
||||
.setText("it deals damage equal to its power to target creature with flying"), new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class AeronautAdmiral extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Vehicles you control have flying.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class AeronautTinkerer extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Aeronaut Tinkerer has flying as long as you control an artifact.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield), new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()), rule)));
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield), new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()), rule)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class AetherMeltdown extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(2)));
|
||||
// Enchanted permanent gets -4/-0.
|
||||
Effect effect = new BoostEnchantedEffect(-4, 0, Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
}
|
||||
|
||||
private AetherMeltdown(final AetherMeltdown card) {
|
||||
|
|
|
|||
|
|
@ -24,13 +24,13 @@ public final class AetherSpellbomb extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
|
||||
|
||||
//{U}, Sacrifice Aether Spellbomb: Return target creature to its owner's hand.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{U}"));
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{U}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
||||
//{1}, Sacrifice Aether Spellbomb: Draw a card.
|
||||
SimpleActivatedAbility drawCardAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
|
||||
SimpleActivatedAbility drawCardAbility = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
|
||||
drawCardAbility.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(drawCardAbility);
|
||||
|
||||
|
|
@ -44,4 +44,4 @@ public final class AetherSpellbomb extends CardImpl {
|
|||
public AetherSpellbomb copy() {
|
||||
return new AetherSpellbomb(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,10 +27,10 @@ public final class AetherStorm extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}");
|
||||
|
||||
// Creature spells can't be cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AetherStormReplacementEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new AetherStormReplacementEffect()));
|
||||
|
||||
// Pay 4 life: Destroy Aether Storm. It can't be regenerated. Any player may activate this ability.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroySourceEffect(true), new PayLifeCost(4));
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(new DestroySourceEffect(true), new PayLifeCost(4));
|
||||
ability.setMayActivate(TargetController.ANY);
|
||||
ability.addEffect(new InfoEffect("Any player may activate this ability"));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class AetherTheorist extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(3)));
|
||||
|
||||
// Tap, Pay {E}: Scry 1.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new ScryEffect(1), new TapSourceCost());
|
||||
ability.addCost(new PayEnergyCost(1));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class AetherTunnel extends CardImpl {
|
|||
|
||||
// Enchanted creature gets +1/+0 and can't be blocked.
|
||||
ability = new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 0, Duration.WhileOnBattlefield)
|
||||
new BoostEnchantedEffect(1, 0, Duration.WhileOnBattlefield)
|
||||
);
|
||||
ability.addEffect(
|
||||
new CantBeBlockedAttachedEffect(AttachmentType.AURA)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class AetherVial extends CardImpl {
|
|||
// At the beginning of your upkeep, you may put a charge counter on Aether Vial.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true), true));
|
||||
// {tap}: You may put a creature card with converted mana cost equal to the number of charge counters on Aether Vial from your hand onto the battlefield.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AetherVialEffect(), new TapSourceCost()));
|
||||
this.addAbility(new SimpleActivatedAbility(new AetherVialEffect(), new TapSourceCost()));
|
||||
}
|
||||
|
||||
private AetherVial(final AetherVial card) {
|
||||
|
|
|
|||
|
|
@ -29,13 +29,13 @@ public final class Aetherling extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// {U}: Exile Aetherling. Return it to the battlefield under its owner's control at the beginning of the next end step.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(), new ManaCostsImpl<>("{U}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(), new ManaCostsImpl<>("{U}")));
|
||||
// {U}: Aetherling can't be blocked this turn
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
|
||||
// {1}: Aetherling gets +1/-1 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
|
||||
// {1}: Aetherling gets -1/+1 until end of turn
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(-1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
|
||||
}
|
||||
|
||||
private Aetherling(final Aetherling card) {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class AethersphereHarvester extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(2)));
|
||||
|
||||
// Pay {E}: Aethersphere Harvester gains lifelink until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new PayEnergyCost(1)));
|
||||
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new PayEnergyCost(1)));
|
||||
|
||||
// Crew 1 <i>(Tap any number of creature you control with power 1 or more: This Vehicle becomes an artifact creature until end of turn.)
|
||||
this.addAbility(new CrewAbility(1));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class AethertideWhale extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(6)));
|
||||
|
||||
// Pay {E}{E}{E}{E}: Return Aethertide Whale to its owner's hand.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new PayEnergyCost(4)));
|
||||
this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new PayEnergyCost(4)));
|
||||
}
|
||||
|
||||
private AethertideWhale(final AethertideWhale card) {
|
||||
|
|
|
|||
|
|
@ -35,12 +35,12 @@ public final class AethertorchRenegade extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(4)));
|
||||
|
||||
// {t}, Pay {E}{E} Aethertorch Renegade deals 1 damage to target creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
ability.addCost(new PayEnergyCost(2));
|
||||
this.addAbility(ability);
|
||||
// {t}, Pay {E}{E}{E}{E}{E}{E}{E}{E}: Aethertorch Renegade deals 6 damage to target player.
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(6), new TapSourceCost());
|
||||
ability = new SimpleActivatedAbility(new DamageTargetEffect(6), new TapSourceCost());
|
||||
ability.addTarget(new TargetPlayerOrPlaneswalker());
|
||||
ability.addCost(new PayEnergyCost(8));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class AetherwindBasker extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(new GetEnergyCountersControllerEffect(new PermanentsOnBattlefieldCount(StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED))));
|
||||
|
||||
// Pay {E}: Aetherwind Basker gets +1/+1 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new PayEnergyCost(1)));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new PayEnergyCost(1)));
|
||||
}
|
||||
|
||||
private AetherwindBasker(final AetherwindBasker card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class AgadeemOccultist extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {tap}: Put target creature card from an opponent's graveyard onto the battlefield under your control if its converted mana cost is less than or equal to the number of Allies you control.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AgadeemOccultistEffect(), new TapSourceCost()));
|
||||
this.addAbility(new SimpleActivatedAbility(new AgadeemOccultistEffect(), new TapSourceCost()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class AgentOfHorizons extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {2}{U}: Agent of Horizons can't be blocked this turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{2}{U}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new CantBeBlockedSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{2}{U}")));
|
||||
}
|
||||
|
||||
private AgentOfHorizons(final AgentOfHorizons card) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class AgentOfShauku extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {1}{B}, Sacrifice a land: Target creature gets +2/+0 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
|
||||
ability.addCost(new SacrificeTargetCost(filter));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ public final class AggressiveMammoth extends CardImpl {
|
|||
|
||||
// Other creatures you control have trample.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new GainAbilityControlledEffect(
|
||||
TrampleAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield,
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class AggressiveMining extends CardImpl {
|
|||
|
||||
|
||||
// You can't play lands.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AggressiveMiningEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new AggressiveMiningEffect()));
|
||||
|
||||
// Sacrifice a land: Draw two cards. Activate this ability only once each turn.
|
||||
Cost cost = new SacrificeTargetCost(StaticFilters.FILTER_LAND);
|
||||
|
|
|
|||
|
|
@ -38,10 +38,10 @@ public final class Agoraphobia extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets -5/-0.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(-5, 0)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(-5, 0)));
|
||||
|
||||
// {2}{U}: Return Agoraphobia to its owner's hand.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}")));
|
||||
}
|
||||
|
||||
private Agoraphobia(final Agoraphobia card) {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ public final class AhnCropInvader extends CardImpl {
|
|||
|
||||
// As long as it's your turn, Ahn-Crop Invader has first strike.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(
|
||||
FirstStrikeAbility.getInstance(),
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AinokArtillerist extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Ainok Artillerist has reach as long as it has a +1/+1 counter on it.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new ConditionalContinuousEffect(new GainAbilitySourceEffect(ReachAbility.getInstance()),
|
||||
new SourceHasCounterCondition(CounterType.P1P1),"{this} has reach as long as it has a +1/+1 counter on it")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AinokBondKin extends CardImpl {
|
|||
this.addAbility(new OutlastAbility(new ManaCostsImpl<>("{1}{W}")));
|
||||
|
||||
// Each creature you control with a +1/+1 counter on it has first strike.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
|
||||
FirstStrikeAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield,
|
||||
StaticFilters.FILTER_EACH_CONTROLLED_CREATURE_P1P1)));
|
||||
|
|
@ -46,4 +46,3 @@ public final class AinokBondKin extends CardImpl {
|
|||
return new AinokBondKin(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,10 +35,10 @@ public final class AirBladder extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature has flying.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
|
||||
|
||||
// Enchanted creature can block only creatures with flying.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockOnlyFlyingAttachedEffect(AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new CanBlockOnlyFlyingAttachedEffect(AttachmentType.AURA)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class AirServant extends CardImpl {
|
|||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(3);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{2}{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{2}{U}"));
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class AirdropCondor extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// {1}{R}, Sacrifice a Goblin creature: Airdrop Condor deals damage equal to the sacrificed creature's power to any target.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(SacrificeCostCreaturesPower.instance)
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(SacrificeCostCreaturesPower.instance)
|
||||
.setText("{this} deals damage equal to the sacrificed creature's power to any target"), new ManaCostsImpl<>("{1}{R}"));
|
||||
ability.addCost(new SacrificeTargetCost(filter));
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class AjanisAid extends CardImpl {
|
|||
// Sacrifice Ajani's Aid: Prevent all combat damage a creature of your choice would deal this turn.
|
||||
Effect effect = new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn, new FilterCreaturePermanent("creature of your choice"), true);
|
||||
effect.setText("Prevent all combat damage a creature of your choice would deal this turn");
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new SacrificeSourceCost()));
|
||||
this.addAbility(new SimpleActivatedAbility(effect, new SacrificeSourceCost()));
|
||||
}
|
||||
|
||||
private AjanisAid(final AjanisAid card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class AkiriLineSlinger extends CardImpl {
|
|||
// Akiri, Line-Slinger gets +1/+0 for each artifact you control.
|
||||
Effect effect = new BoostSourceEffect(ArtifactYouControlCount.instance, StaticValue.get(0), Duration.WhileOnBattlefield);
|
||||
effect.setText("{this} gets +1/+0 for each artifact you control");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)
|
||||
this.addAbility(new SimpleStaticAbility(effect)
|
||||
.addHint(ArtifactYouControlHint.instance));
|
||||
|
||||
// Partner
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class AkkiDrillmaster extends CardImpl {
|
|||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
// {tap}: Target creature gains haste until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ class TokTokVolcanoBorn extends TokenImpl {
|
|||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
this.addAbility(ProtectionAbility.from(ObjectColor.RED));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TokTokVolcanoBornEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new TokTokVolcanoBornEffect()));
|
||||
}
|
||||
private TokTokVolcanoBorn(final TokTokVolcanoBorn token) {
|
||||
super(token);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AkkiUnderling extends CardImpl {
|
|||
|
||||
// As long as you have seven or more cards in hand, Akki Underling gets +2/+1 and has first strike.
|
||||
Condition condition = new CardsInHandCondition(ComparisonType.MORE_THAN,6);
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2,1, Duration.WhileOnBattlefield), condition, "As long as you have seven or more cards in hand, {this} gets +2/+1"));
|
||||
ability.addEffect(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield), condition, "and has first strike"));
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AkroanJailer extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {2}{W}, {T}: Tap target creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{2}{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{2}{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AkroanMastiff extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {W},{T}: Tap target creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AkroanPhalanx extends CardImpl {
|
|||
// Vigilance
|
||||
this.addAbility(VigilanceAbility.getInstance());
|
||||
// {2}{R}: Creatures you control get +1/+0 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{R}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostControlledEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{R}")));
|
||||
}
|
||||
|
||||
private AkroanPhalanx(final AkroanPhalanx card) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class AkromaAngelOfFury extends CardImpl {
|
|||
// protection from white and from blue
|
||||
this.addAbility(ProtectionAbility.from(ObjectColor.WHITE, ObjectColor.BLUE));
|
||||
// {R}: Akroma, Angel of Fury gets +1/+0 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
|
||||
// Morph {3}{R}{R}{R}
|
||||
this.addAbility(new MorphAbility(this, new ManaCostsImpl<>("{3}{R}{R}{R}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class AkromasDevoted extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Cleric creatures have vigilance.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(VigilanceAbility.getInstance(),
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(VigilanceAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield, new FilterCreaturePermanent(SubType.CLERIC, "Cleric creatures"))));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class AkromasMemorial extends CardImpl {
|
|||
// Creatures you control have flying, first strike, vigilance, trample, haste, and protection from black and from red.
|
||||
CompoundAbility compoundAbilities = new CompoundAbility(FlyingAbility.getInstance(), FirstStrikeAbility.getInstance(), VigilanceAbility.getInstance(),
|
||||
TrampleAbility.getInstance(), HasteAbility.getInstance(), ProtectionAbility.from(ObjectColor.BLACK, ObjectColor.RED));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(compoundAbilities, Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Creatures"))));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(compoundAbilities, Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Creatures"))));
|
||||
}
|
||||
|
||||
private AkromasMemorial(final AkromasMemorial card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class AkronLegionnaire extends CardImpl {
|
|||
// Except for creatures named Akron Legionnaire and artifact creatures, creatures you control can't attack.
|
||||
Effect effect = new CantAttackAllEffect(Duration.WhileOnBattlefield, filter);
|
||||
effect.setText("Except for creatures named Akron Legionnaire and artifact creatures, creatures you control can't attack");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AlAbarasCarpet extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}");
|
||||
|
||||
// {5}, {T}: Prevent all damage that would be dealt to you this turn by attacking creatures without flying.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AlAbarasCarpetEffect(), new GenericManaCost(5));
|
||||
Ability ability = new SimpleActivatedAbility(new AlAbarasCarpetEffect(), new GenericManaCost(5));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class AlabasterLeech extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// White spells you cast cost {W} more to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{W}"), filter, TargetController.YOU)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AlabasterMage extends CardImpl {
|
|||
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(1);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"));
|
||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AlabasterWall extends CardImpl {
|
|||
// Defender
|
||||
this.addAbility(DefenderAbility.getInstance());
|
||||
// {tap}: Prevent the next 1 damage that would be dealt to any target this turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class AladdinsLamp extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{10}");
|
||||
|
||||
// {X}, {T}: The next time you would draw a card this turn, instead look at the top X cards of your library, put all but one of them on the bottom of your library in a random order, then draw a card. X can't be 0.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AladdinsLampEffect(), new ManaCostsImpl<>("{X}"));
|
||||
Ability ability = new SimpleActivatedAbility(new AladdinsLampEffect(), new ManaCostsImpl<>("{X}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
for (Object cost : ability.getManaCosts()) {
|
||||
if (cost instanceof VariableManaCost) {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class AladdinsRing extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{8}");
|
||||
|
||||
// {8}, {tap}: Aladdin's Ring deals 4 damage to any target.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl<>("{8}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(4), new ManaCostsImpl<>("{8}"));
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class AlbinoTroll extends CardImpl {
|
|||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
this.addAbility(new EchoAbility("{1}{G}"));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}")));
|
||||
}
|
||||
|
||||
private AlbinoTroll(final AlbinoTroll card) {
|
||||
|
|
@ -39,4 +39,4 @@ public final class AlbinoTroll extends CardImpl {
|
|||
return new AlbinoTroll(this);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class AlchemistsApprentice extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Sacrifice Alchemist's Apprentice: Draw a card.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1),
|
||||
this.addAbility(new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1),
|
||||
new SacrificeSourceCost()));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class AlchemistsVial extends CardImpl {
|
|||
// When Alchemist's Vial enters the battlefield, draw a card.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
|
||||
// {1}, {T}, Sacrifice Alchemist's Vial: Target creature can't attack or block this turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
|
||||
Ability ability = new SimpleActivatedAbility(new CantAttackBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class AlchorsTomb extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
|
||||
|
||||
// {2}, {tap}: Target permanent you control becomes the color of your choice.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorTargetEffect(Duration.WhileOnBattlefield), new GenericManaCost(2));
|
||||
Ability ability = new SimpleActivatedAbility(new BecomesColorTargetEffect(Duration.WhileOnBattlefield), new GenericManaCost(2));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetControlledPermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class AlexiZephyrMage extends CardImpl {
|
|||
// {X}{U}, {tap}, Discard two cards: Return X target creatures to their owners' hands.
|
||||
Effect effect = new ReturnToHandTargetEffect();
|
||||
effect.setText("Return X target creatures to their owner's hands");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{X}{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{X}{U}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, StaticFilters.FILTER_CARD_CARDS)));
|
||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_CREATURES));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class AlexisCloak extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// Enchanted creature has shroud.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
private AlexisCloak(final AlexisCloak card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class AlhammarretHighArbiter extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
// As Alhammarret, High Arbiter enters the battlefield, each opponent reveals their hand. You choose the name of a nonland card revealed this way.
|
||||
// Your opponents can't cast spells with the chosen name.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new EntersBattlefieldEffect(new AlhammarretHighArbiterEffect(), "")));
|
||||
this.addAbility(new SimpleStaticAbility(new EntersBattlefieldEffect(new AlhammarretHighArbiterEffect(), "")));
|
||||
}
|
||||
|
||||
private AlhammarretHighArbiter(final AlhammarretHighArbiter card) {
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ public final class AlhammarretsArchive extends CardImpl {
|
|||
this.supertype.add(SuperType.LEGENDARY);
|
||||
|
||||
// If you would gain life, you gain twice that much life instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AlhammarretsArchiveEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new AlhammarretsArchiveEffect()));
|
||||
|
||||
// If you draw a card except the first one you draw in each of your draw steps, draw two cards instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AlhammarretsArchiveReplacementEffect()), new CardsDrawnDuringDrawStepWatcher());
|
||||
this.addAbility(new SimpleStaticAbility(new AlhammarretsArchiveReplacementEffect()), new CardsDrawnDuringDrawStepWatcher());
|
||||
}
|
||||
|
||||
private AlhammarretsArchive(final AlhammarretsArchive card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class AliBaba extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {R}: Tap target Wall.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{R}"));
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class AliFromCairo extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Damage that would reduce your life total to less than 1 reduces it to 1 instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AliFromCairoReplacementEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new AliFromCairoReplacementEffect()));
|
||||
}
|
||||
|
||||
private AliFromCairo(final AliFromCairo card) {
|
||||
|
|
|
|||
|
|
@ -42,12 +42,12 @@ public class AllosaurusShepherd extends CardImpl {
|
|||
this.addAbility(new CantBeCounteredSourceAbility());
|
||||
|
||||
//Green spells you control can't be countered.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new CantBeCounteredControlledEffect(greenSpellsFilter, null, Duration.WhileOnBattlefield)));
|
||||
|
||||
//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}"));
|
||||
|
|
|
|||
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