mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
refactor: SimpleStaticAbility default zone (cards I J K)
This commit is contained in:
parent
ae7b88dc3b
commit
e26fa56d69
137 changed files with 151 additions and 151 deletions
|
|
@ -33,7 +33,7 @@ public final class IceCage extends CardImpl {
|
|||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
|
||||
// Enchanted creature can't attack or block, and its activated abilities can't be activated.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttackActivateAttachedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBlockAttackActivateAttachedEffect()));
|
||||
|
||||
// When enchanted creature becomes the target of a spell or ability, destroy Ice Cage.
|
||||
this.addAbility(new BecomesTargetAttachedTriggeredAbility(new DestroySourceEffect()));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class IceOver extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted permanent doesn't untap during its controller's untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect("permanent")));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepEnchantedEffect("permanent")));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class IchorplateGolem extends CardImpl {
|
|||
this.addAbility(new IchorplateGolemTriggeredAbility());
|
||||
|
||||
// Creatures you control with oil counters on them get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false)
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false)
|
||||
.setText("Creatures you control with oil counters on them get +1/+1")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class IllnessInTheRanks extends CardImpl {
|
|||
|
||||
|
||||
// Creature tokens get -1/-1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(-1,-1, Duration.WhileOnBattlefield, filter, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(-1,-1, Duration.WhileOnBattlefield, filter, false)));
|
||||
}
|
||||
|
||||
private IllnessInTheRanks(final IllnessInTheRanks card) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class IlluminatedWings extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
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)));
|
||||
// {2}, Sacrifice Illuminated Wings: Draw a card.
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class IllusionaryArmor extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
|
||||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
// Enchanted creature gets +4/+4.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(4, 4, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(4, 4, Duration.WhileOnBattlefield)));
|
||||
// When enchanted creature becomes the target of a spell or ability, sacrifice Illusionary Armor.
|
||||
this.addAbility(new BecomesTargetAttachedTriggeredAbility(new SacrificeSourceEffect()));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class IllusionaryTerrain extends CardImpl {
|
|||
this.addAbility(new AsEntersBattlefieldAbility(new ChooseTwoBasicLandTypesEffect(Outcome.Neutral)));
|
||||
|
||||
// Basic lands of the first chosen type are the second chosen type.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IllusionaryTerrainEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new IllusionaryTerrainEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class IllusoryGains extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// You control enchanted creature.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect()));
|
||||
|
||||
// Whenever a creature enters the battlefield under an opponent's control, attach Illusory Gains to that creature.
|
||||
this.addAbility(new EntersBattlefieldOpponentTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class IllusoryWrappings extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature has base power and toughness 0/2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetBasePowerToughnessEnchantedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new SetBasePowerToughnessEnchantedEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public final class ImiStatue extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
|
||||
|
||||
// Players can't untap more than one artifact during their untap steps.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ImiStatueEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new ImiStatueEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,15 +43,15 @@ public final class ImmobilizingInk extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature doesn't untap during its controller's untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
new GainAbilityAttachedEffect(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()),
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new GainAbilityAttachedEffect(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()),
|
||||
AttachmentType.AURA,
|
||||
Duration.WhileOnBattlefield,"Enchanted creature doesn't untap during its controller's untap step.")));
|
||||
|
||||
// Enchanted creature has "{1}, Discard a card: Untap this creature."
|
||||
Ability untapAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{1}"));
|
||||
untapAbility.addCost(new DiscardTargetCost(new TargetCardInHand()));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new GainAbilityAttachedEffect(untapAbility,
|
||||
AttachmentType.AURA,
|
||||
Duration.WhileOnBattlefield, "Enchanted creature has \"{1}, Discard a card: Untap this creature.\"")));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class Immolation extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/-2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, -2)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, -2)));
|
||||
}
|
||||
|
||||
private Immolation(final Immolation card) {
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class ImpendingDoom extends CardImpl {
|
|||
// Enchanted creature gets +3/+3 and attacks each combat if able.
|
||||
Effect effect = new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield);
|
||||
effect.setText("Enchanted creature gets +3/+3");
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
ability = new SimpleStaticAbility(effect);
|
||||
effect = new AttacksIfAbleAttachedEffect(Duration.WhileOnBattlefield, AttachmentType.AURA);
|
||||
effect.setText("and attacks each combat if able");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class ImperialMask extends CardImpl {
|
|||
));
|
||||
|
||||
// You have hexproof.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControllerEffect(HexproofAbility.getInstance())));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControllerEffect(HexproofAbility.getInstance())));
|
||||
}
|
||||
|
||||
private ImperialMask(final ImperialMask card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class ImperiousPerfect extends CardImpl {
|
|||
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ElfWarriorToken(), 1), new ColoredManaCost(ColoredManaSymbol.G));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class ImprovisedArmor extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// Enchanted creature gets +2/+5.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 5, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 5, Duration.WhileOnBattlefield)));
|
||||
// Cycling {3}
|
||||
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class InBolassClutches extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// You control enchanted permanent.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("permanent")));
|
||||
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect("permanent")));
|
||||
|
||||
// Enchanted permanent is legendary.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class IndenturedOaf extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Prevent all damage that Indentured Oaf would deal to red creatures.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IndenturedOafPreventEffectEffect(Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new IndenturedOafPreventEffectEffect(Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private IndenturedOaf(final IndenturedOaf card) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class IndomitableArchangel extends CardImpl {
|
|||
// Metalcraft — Artifacts you control have shroud as long as you control three or more artifacts. (An artifact with shroud can’t be the target of spells or abilities.)
|
||||
ContinuousEffect gainAbilityEffect = new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.WhileOnBattlefield, filter);
|
||||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(gainAbilityEffect, MetalcraftCondition.instance, rule);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)
|
||||
this.addAbility(new SimpleStaticAbility(effect)
|
||||
.setAbilityWord(AbilityWord.METALCRAFT)
|
||||
.addHint(MetalcraftHint.instance)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class IndomitableWill extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
|
||||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 2, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1, 2, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private IndomitableWill(final IndomitableWill card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class IndrikUmbra extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +4/+4 and has first strike, and all creatures able to block it do so.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(4, 4, Duration.WhileOnBattlefield));
|
||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(4, 4, Duration.WhileOnBattlefield));
|
||||
ability.addEffect(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)
|
||||
.setText("and has first strike"));
|
||||
ability.addEffect(new MustBeBlockedByAllAttachedEffect(AttachmentType.AURA)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class InertiaBubble extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment));
|
||||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
// Enchanted artifact doesn't untap during its controller's untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect("artifact")));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepEnchantedEffect("artifact")));
|
||||
}
|
||||
|
||||
private InertiaBubble(final InertiaBubble card) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class InescapableBrute extends CardImpl {
|
|||
this.addAbility(WitherAbility.getInstance());
|
||||
|
||||
// Inescapable Brute must be blocked if able.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class InfectiousCurse extends CardImpl {
|
|||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
|
||||
// Spells you cast that target enchanted player cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new InfectiousCurseCostReductionEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new InfectiousCurseCostReductionEffect()));
|
||||
|
||||
// At the beginning of enchanted player's upkeep, that player loses 1 life and you gain 1 life.
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class InfectiousRage extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/-1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, -1)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, -1)));
|
||||
|
||||
// When enchanted creature dies, choose a creature at random Infectious Rage can enchant.
|
||||
// Return Infectious Rage to the battlefield attached to that creature.
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class InfernalScarring extends CardImpl {
|
|||
// Enchanted creature gets +2/+0 and has "When this creature dies, draw a card."
|
||||
Effect effect = new BoostEnchantedEffect(2, 0, Duration.WhileOnBattlefield);
|
||||
effect.setText("Enchanted creature gets +2/+0");
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
ability = new SimpleStaticAbility(effect);
|
||||
effect = new GainAbilityAttachedEffect(new DiesSourceTriggeredAbility(new DrawCardSourceControllerEffect(1)), AttachmentType.AURA, Duration.WhileOnBattlefield);
|
||||
effect.setText("and has \"When this creature dies, draw a card.\"");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class InfernalSovereign extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Skip your draw step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipDrawStepEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new SkipDrawStepEffect()));
|
||||
|
||||
// Whenever you play a land or cast a spell, you draw a card and you lose 1 life.
|
||||
this.addAbility(new InfernalSovereignTriggeredAbility());
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class InfernoFist extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/+0.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 0)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 0)));
|
||||
|
||||
// {R}, Sacrifice Inferno Fist: Inferno Fist deals 2 damage to any target.
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}"));
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class InfiltratorsMagemark extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// Creatures you control that are enchanted get +1/+1 and can't be blocked except by creatures with defender.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false));
|
||||
ability = new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false));
|
||||
Effect effect = new InfiltratorsMagemarkCantBeBlockedAllEffect(filter, Duration.WhileOnBattlefield);
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public final class InfiniteReflection extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new InfiniteReflectionTriggeredEffect()));
|
||||
|
||||
// Nontoken creatures you control enter the battlefield as a copy of enchanted creature.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new InfiniteReflectionEntersBattlefieldEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new InfiniteReflectionEntersBattlefieldEffect()));
|
||||
}
|
||||
|
||||
private InfiniteReflection(final InfiniteReflection card) {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public final class InnerDemon extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/+2, has flying, and is a Demon in addition to its other types.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
|
||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
|
||||
Effect effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText(", has flying");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class InquisitorEisenhorn extends CardImpl {
|
|||
|
||||
// You may reveal the first card you draw each turn as you draw it. Whenever you reveal an instant or
|
||||
// sorcery card this way, create Cherubael, a legendary 4/4 black Demon creature token with flying.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new InquisitorEisenhornReplacementEffect()), new CardsAmountDrawnThisTurnWatcher());
|
||||
this.addAbility(new SimpleStaticAbility(new InquisitorEisenhornReplacementEffect()), new CardsAmountDrawnThisTurnWatcher());
|
||||
|
||||
// Whenever Inquisitor Eisenhorn deals combat damage to a player, investigate that many times.
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class InquisitorsFlail extends CardImpl {
|
|||
|
||||
// If equipped creature would deal combat damage, it deals double that damage instead.
|
||||
// If another creature would deal combat damage to equipped creature, it deals double that damage to equipped creature instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new InquisitorsFlailEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new InquisitorsFlailEffect()));
|
||||
|
||||
// Equip {2}
|
||||
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false));
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class InquisitorsOx extends CardImpl {
|
|||
|
||||
// <i>Delirium</i> — Inquisitor's Ox gets +1/+0 and has vigilance as long as there are four or more card types among cards in your graveyard.
|
||||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostSourceEffect(1, 0, Duration.WhileOnBattlefield), DeliriumCondition.instance, "<i>Delirium</i> — {this} gets +1/+0");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(VigilanceAbility.getInstance()), DeliriumCondition.instance, "and has vigilance as long as there are four or more card types among cards in your graveyard."));
|
||||
ability.addHint(CardTypesInGraveyardHint.YOU);
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class InsidiousMist extends CardImpl {
|
|||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
||||
// Insideous Mist can't block and can't be blocked.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockSourceEffect(Duration.WhileOnBattlefield));
|
||||
Ability ability = new SimpleStaticAbility(new CantBlockSourceEffect(Duration.WhileOnBattlefield));
|
||||
Effect effect = new CantBeBlockedSourceEffect();
|
||||
effect.setText("and can't be blocked");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class InspiringStatuary extends CardImpl {
|
|||
// Non-artifact spells you cast have improvise.
|
||||
ImproviseAbility improviseAbility = new ImproviseAbility();
|
||||
improviseAbility.setRuleAtTheTop(false);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledSpellsEffect(improviseAbility, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledSpellsEffect(improviseAbility, filter)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class InstillEnergy extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature can attack as though it had haste.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanAttackAsThoughItHadHasteEnchantedEffect(Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new CanAttackAsThoughItHadHasteEnchantedEffect(Duration.WhileOnBattlefield)));
|
||||
|
||||
// {0}: Untap enchanted creature. Activate this ability only during your turn and only once each turn.
|
||||
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD,
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public final class InstillFuror extends CardImpl {
|
|||
"sacrifice this creature unless it attacked this turn"));
|
||||
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield);
|
||||
effect.setText("Enchanted creature has \"At the beginning of your end step, sacrifice this creature unless it attacked this turn.\"");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public final class Intimidation extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}{B}");
|
||||
|
||||
// Creatures you control have fear.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FearAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(FearAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
|
||||
}
|
||||
|
||||
private Intimidation(final Intimidation card) {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public final class IntrepidPaleontologist extends CardImpl {
|
|||
this.addAbility(exileAbility);
|
||||
|
||||
// You may cast Dinosaur creature spells from among cards you own exiled with Intrepid Paleontologist. If you cast a spell this way, that creature enters the battlefield with a finality counter on it.
|
||||
Ability castAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new IntrepidPaleontologistPlayEffect());
|
||||
Ability castAbility = new SimpleStaticAbility(new IntrepidPaleontologistPlayEffect());
|
||||
castAbility.setIdentifier(MageIdentifier.IntrepidPaleontologistWatcher);
|
||||
castAbility.addWatcher(new IntrepidPaleontologistWatcher());
|
||||
this.addAbility(castAbility);
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@ public final class InvasionPlans extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}");
|
||||
|
||||
// All creatures block each turn if able.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlocksIfAbleAllEffect(StaticFilters.FILTER_PERMANENT_ALL_CREATURES)));
|
||||
this.addAbility(new SimpleStaticAbility(new BlocksIfAbleAllEffect(StaticFilters.FILTER_PERMANENT_ALL_CREATURES)));
|
||||
// The attacking player chooses how each creature blocks each turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new InvasionPlansEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new InvasionPlansEffect()));
|
||||
}
|
||||
|
||||
private InvasionPlans(final InvasionPlans card) {
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class InvocationOfSaintTraft extends CardImpl {
|
|||
// Enchanted creature has "Whenever this creature attacks, create a 4/4 white Angel creature token with flying tapped
|
||||
// and attacking. Exile that token at end of combat."
|
||||
Ability gainedAbility = new AttacksTriggeredAbility(new InvocationOfSaintTraftEffect(), false);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
private InvocationOfSaintTraft(final InvocationOfSaintTraft card) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class IonaShieldOfEmeria extends CardImpl {
|
|||
this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Benefit)));
|
||||
|
||||
// Your opponents can't cast spells of the chosen color.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IonaShieldOfEmeriaReplacementEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new IonaShieldOfEmeriaReplacementEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class IonasBlessing extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/+2, has vigilance, and can block an additional creature.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
|
||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
|
||||
Effect effect = new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText(", has vigilance");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class IronclawBuzzardiers extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Ironclaw Buzzardiers can't block creatures with power 2 or greater.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockCreaturesSourceEffect(filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBlockCreaturesSourceEffect(filter)));
|
||||
// {R}: Ironclaw Buzzardiers gains flying until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,10 +33,10 @@ public final class IronclawCurse extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets 0/-1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(0, -1, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(0, -1, Duration.WhileOnBattlefield)));
|
||||
|
||||
// Enchanted creature can't block creatures with power equal to or greater than the enchanted creature's toughness.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IronclawCurseEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new IronclawCurseEffect()));
|
||||
}
|
||||
|
||||
private IronclawCurse(final IronclawCurse card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class IronclawOrcs extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Ironclaw Orcs can't block creatures with power 2 or greater.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockCreaturesSourceEffect(filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBlockCreaturesSourceEffect(filter)));
|
||||
}
|
||||
|
||||
private IronclawOrcs(final IronclawOrcs card) {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class IronfistCrusher extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Ironfist Crusher can block any number of creatures.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(0)));
|
||||
this.addAbility(new SimpleStaticAbility(new CanBlockAdditionalCreatureEffect(0)));
|
||||
|
||||
// Morph {3}{W}
|
||||
this.addAbility(new MorphAbility(this, new ManaCostsImpl<>("{3}{W}")));
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class IronhoofOx extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Ironhoof Ox can't be blocked by more than one creature.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByMoreThanOneSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBeBlockedByMoreThanOneSourceEffect()));
|
||||
}
|
||||
|
||||
private IronhoofOx(final IronhoofOx card) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class IslandFishJasconius extends CardImpl {
|
|||
this.toughness = new MageInt(8);
|
||||
|
||||
// Island Fish Jasconius doesn't untap during your untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
|
||||
|
||||
// At the beginning of your upkeep, you may pay {U}{U}{U}. If you do, untap Island Fish Jasconius.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
|
||||
|
|
@ -38,7 +38,7 @@ public final class IslandFishJasconius extends CardImpl {
|
|||
));
|
||||
|
||||
// Island Fish Jasconius can't attack unless defending player controls an Island.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island"))));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island"))));
|
||||
|
||||
// When you control no Islands, sacrifice Island Fish Jasconius.
|
||||
this.addAbility(new ControlsPermanentsControllerTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class IslandSanctuary extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}");
|
||||
|
||||
// If you would draw a card during your draw step, instead you may skip that draw. If you do, until your next turn, you can't be attacked except by creatures with flying and/or islandwalk.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IslandSanctuaryEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new IslandSanctuaryEffect()));
|
||||
}
|
||||
|
||||
private IslandSanctuary(final IslandSanctuary card) {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class IvoryGuardians extends CardImpl {
|
|||
// Protection from red
|
||||
this.addAbility(ProtectionAbility.from(ObjectColor.RED));
|
||||
// Creatures named Ivory Guardians get +1/+1 as long as an opponent controls a nontoken red permanent.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, boostFilter, false),
|
||||
new OpponentControlsPermanentCondition(controlFilter),
|
||||
"Creatures named Ivory Guardians get +1/+1 as long as an opponent controls a nontoken red permanent")));
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public final class IvoryMask extends CardImpl {
|
|||
|
||||
|
||||
// You have shroud.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControllerEffect(ShroudAbility.getInstance())));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControllerEffect(ShroudAbility.getInstance())));
|
||||
}
|
||||
|
||||
private IvoryMask(final IvoryMask card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class IxalansBinding extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Your opponents can't cast spells with the same name as the exiled card.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IxalansBindingReplacementEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new IxalansBindingReplacementEffect()));
|
||||
}
|
||||
|
||||
private IxalansBinding(final IxalansBinding card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class IxidorRealitySculptor extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Face-down creatures get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
|
||||
|
||||
// {2}{U}: Turn target face-down creature face up.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TurnFaceUpTargetEffect(), new ManaCostsImpl<>("{2}{U}"));
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class JacesSanctum extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}");
|
||||
|
||||
// Instant and sorcery spells you cast cost {1} less.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
|
||||
// Whenever you cast an instant or sorcery spell, scry 1.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new ScryEffect(1, false), filter2, false));
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class JacesSentinel extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// As long as you control a Jace planeswalker, Jace's Sentinel gets +1/+0 and can't be blocked.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(1, 0, Duration.WhileOnBattlefield),
|
||||
new PermanentsOnTheBattlefieldCondition(filter),
|
||||
"As long as you control a Jace planeswalker, {this} gets +1/+0"));
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class Jackhammer extends CardImpl {
|
|||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(2, 0)));
|
||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class JacquesLeVert extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Green creatures you control get +0/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0,2, Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(0,2, Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private JacquesLeVert(final JacquesLeVert card) {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class JaradGolgariLichLord extends CardImpl {
|
|||
|
||||
// Jarad, Golgari Lich Lord gets +1/+1 for each creature card in your graveyard.
|
||||
DynamicValue amount = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE);
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(amount, amount, Duration.WhileOnBattlefield));
|
||||
Ability ability = new SimpleStaticAbility(new BoostSourceEffect(amount, amount, Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
|
||||
// {1}{B}{G}, Sacrifice another creature: Each opponent loses life equal to the sacrificed creature's power.
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class JediTraining extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}");
|
||||
|
||||
// Meditate abilities you activate costs {1} less to activate.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbilitiesCostReductionControllerEffect(MeditateAbility.class, "Meditate")));
|
||||
this.addAbility(new SimpleStaticAbility(new AbilitiesCostReductionControllerEffect(MeditateAbility.class, "Meditate")));
|
||||
|
||||
// Whenever a Jedi creature you control meditates, scry 1.
|
||||
this.addAbility(new JediTrainingTriggeredAbility());
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class JeskaiInfiltrator extends CardImpl {
|
|||
// Jeskai Infiltrator can't be blocked as long as you control no other creatures.
|
||||
Effect effect = new ConditionalRestrictionEffect(new CantBeBlockedSourceEffect(), new CreatureCountCondition(1, TargetController.YOU));
|
||||
effect.setText("{this} can't be blocked as long as you control no other creatures");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
// Whenever Jeskai Infiltrator deals combat damage to a player, exile it and the top card of your library in a face-down pile, shuffle that pile, then manifest those cards.
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new JeskaiInfiltratorEffect(), false));
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public final class JeskaiRunemark 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 flying as long as you control a red or white permanent.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA),
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class JetMedallion extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
||||
|
||||
// Black spells you cast cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
}
|
||||
|
||||
private JetMedallion(final JetMedallion card) {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class Jihad extends CardImpl {
|
|||
this.addAbility(new AsEntersBattlefieldAbility(new ChooseOpponentEffect(Outcome.Detriment)));
|
||||
|
||||
// White creatures get +2/+1 as long as the chosen player controls a nontoken permanent of the chosen color.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostAllEffect(2, 1, Duration.WhileOnBattlefield, filter, false), new JihadOpponentCondition(), "White creatures get +2/+1 as long as the chosen player controls a nontoken permanent of the chosen color.")));
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(new BoostAllEffect(2, 1, Duration.WhileOnBattlefield, filter, false), new JihadOpponentCondition(), "White creatures get +2/+1 as long as the chosen player controls a nontoken permanent of the chosen color.")));
|
||||
|
||||
// When the chosen player controls no nontoken permanents of the chosen color, sacrifice Jihad.
|
||||
this.addAbility(new JihadTriggeredAbility(new SacrificeSourceEffect()));
|
||||
|
|
@ -99,4 +99,4 @@ class JihadOpponentCondition implements Condition {
|
|||
filter.add(TokenPredicate.FALSE);
|
||||
return game.getBattlefield().countAll(filter, chosenOpponent, game) > 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class JodahArchmageEternal extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// You may pay WUBRG rather than pay the mana cost for spells that you cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new WUBRGInsteadEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new WUBRGInsteadEffect()));
|
||||
}
|
||||
|
||||
private JodahArchmageEternal(final JodahArchmageEternal card) {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class JoinerAdept extends CardImpl {
|
|||
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(1);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(new AnyColorManaAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_LANDS, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(new AnyColorManaAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_LANDS, false)));
|
||||
}
|
||||
|
||||
private JoinerAdept(final JoinerAdept card) {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public final class Jokulmorder extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
|
||||
|
||||
// Jokulmorder doesn't untap during your untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
|
||||
|
||||
// Whenever you play an Island, you may untap Jokulmorder.
|
||||
this.addAbility(new JokulmorderTriggeredAbility());
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class JorKadeenThePrevailer extends CardImpl {
|
|||
// <i>Metalcraft</i> — Creatures you control get +3/+0 as long as you control three or more artifacts.
|
||||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostControlledEffect(3, 0, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, false),
|
||||
MetalcraftCondition.instance, effectText);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)
|
||||
this.addAbility(new SimpleStaticAbility(effect)
|
||||
.setAbilityWord(AbilityWord.METALCRAFT)
|
||||
.addHint(MetalcraftHint.instance));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public final class JoragaWarcaller extends CardImpl {
|
|||
|
||||
|
||||
// Other Elf creatures you control get +1/+1 for each +1/+1 counter on Joraga Warcaller.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new BoostAllEffect( new CountersSourceCount(CounterType.P1P1), new CountersSourceCount(CounterType.P1P1), Duration.WhileOnBattlefield, filter, true, rule)));
|
||||
|
||||
}
|
||||
|
|
@ -64,4 +64,4 @@ public final class JoragaWarcaller extends CardImpl {
|
|||
public JoragaWarcaller copy() {
|
||||
return new JoragaWarcaller(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,10 +26,10 @@ public final class JoustingLance extends CardImpl {
|
|||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
// Equipped creature gets +2/+0.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(2, 0)));
|
||||
|
||||
// As long as it's your turn, equipped creature has first strike.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT, Duration.WhileOnBattlefield),
|
||||
MyTurnCondition.instance,
|
||||
"During your turn, equipped creature has first strike."))
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class JundHackblade extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// As long as you control another multicolored permanent, Jund Hackblade gets +1/+1 and has haste.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(1,1, Duration.WhileOnBattlefield),
|
||||
new PermanentsOnTheBattlefieldCondition(filter),
|
||||
"As long as you control another multicolored permanent, {this} gets +1/+1"));
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class JuniperOrderAdvocate extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// As long as Juniper Order Advocate is untapped, green creatures you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false),
|
||||
SourceTappedCondition.UNTAPPED,
|
||||
"As long as {this} is untapped, green creatures you control get +1/+1.")));
|
||||
|
|
|
|||
|
|
@ -37,10 +37,10 @@ public final class KabiraVindicator extends LevelerCard {
|
|||
this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{2}{W}")));
|
||||
|
||||
Abilities<Ability> abilities1 = new AbilitiesImpl<>();
|
||||
abilities1.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true)));
|
||||
abilities1.add(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true)));
|
||||
|
||||
Abilities<Ability> abilities2 = new AbilitiesImpl<>();
|
||||
abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true)));
|
||||
abilities2.add(new SimpleStaticAbility(new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true)));
|
||||
|
||||
this.addAbilities(LevelerCardBuilder.construct(
|
||||
new LevelerCardBuilder.LevelAbility(2, 4, abilities1, 3, 6),
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class KagemarosClutch extends CardImpl {
|
|||
DynamicValue xMinusValue = new SignInversionDynamicValue(CardsInControllerHandCount.instance);
|
||||
Effect effect = new BoostEnchantedEffect(xMinusValue, xMinusValue, Duration.WhileOnBattlefield);
|
||||
effect.setText("Enchanted creature gets -X/-X, where X is the number of cards in your hand");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public final class KaghaShadowArchdruid extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Once during each of your turns, you may play a land or cast a permanent spell from among cards in your graveyard that were put there from your library this turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KaghaShadowArchdruidEffect())
|
||||
this.addAbility(new SimpleStaticAbility(new KaghaShadowArchdruidEffect())
|
||||
.setIdentifier(MageIdentifier.KaghaShadowArchdruidWatcher),
|
||||
new KaghaShadowArchdruidWatcher());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public final class KalitasTraitorOfGhet extends CardImpl {
|
|||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
||||
// If a nontoken creature an opponent controls would die, instead exile that card and create a 2/2 black Zombie creature token.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KalitasTraitorOfGhetEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new KalitasTraitorOfGhetEffect()));
|
||||
|
||||
// {2}{B}, Sacrifice another Vampire or Zombie: Put two +1/+1 counters on Kalitas, Traitor of Ghet.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new ManaCostsImpl<>("{2}{B}"));
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public final class KangeeAerieKeeper extends CardImpl {
|
|||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters, if it was kicked, put X feather counters on it."));
|
||||
|
||||
// Other Bird creatures get +1/+1 for each feather counter on Kangee, Aerie Keeper.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new CountersSourceCount(CounterType.FEATHER), new CountersSourceCount(CounterType.FEATHER), Duration.WhileOnBattlefield, filter, true, "Other Bird creatures get +1/+1 for each feather counter on {this}.")));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(new CountersSourceCount(CounterType.FEATHER), new CountersSourceCount(CounterType.FEATHER), Duration.WhileOnBattlefield, filter, true, "Other Bird creatures get +1/+1 for each feather counter on {this}.")));
|
||||
}
|
||||
|
||||
private KangeeAerieKeeper(final KangeeAerieKeeper card) {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class KarametrasFavor extends CardImpl {
|
|||
// Enchanted creature has "{T}: Add one mana of any color."
|
||||
Effect effect = new GainAbilityAttachedEffect(new AnyColorManaAbility(), AttachmentType.AURA, Duration.WhileOnBattlefield);
|
||||
effect.setText("Enchanted creature has \"{T}: Add one mana of any color.\"");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class KarlovWatchdog extends CardImpl {
|
|||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
// Permanents your opponents control can't be turned face up during your turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KarlovWatchdogEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new KarlovWatchdogEffect()));
|
||||
|
||||
// Whenever you attack with three or more creatures, creatures you control get +1/+1 until end of turn.
|
||||
this.addAbility(new AttacksWithCreaturesTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class KarplusanStrider extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Karplusan Strider can't be the target of blue or black spells.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KarplusanStriderEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new KarplusanStriderEffect()));
|
||||
}
|
||||
|
||||
private KarplusanStrider(final KarplusanStrider card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class KashiTribeElite extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Legendary Snakes you control have shroud. (They can't be the targets of spells or abilities.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)));
|
||||
|
||||
// Whenever Kashi-Tribe Elite deals combat damage to a creature, tap that creature and it doesn't untap during its controller's next untap step.
|
||||
Ability ability;
|
||||
|
|
@ -55,4 +55,4 @@ public final class KashiTribeElite extends CardImpl {
|
|||
public KashiTribeElite copy() {
|
||||
return new KashiTribeElite(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class KatabaticWinds extends CardImpl {
|
|||
this.addAbility(PhasingAbility.getInstance());
|
||||
|
||||
// Creatures with flying can't attack or block, and their activated abilities with {tap} in their costs can't be activated.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new KatabaticWindsRestrictionEffect());
|
||||
Ability ability = new SimpleStaticAbility(new KatabaticWindsRestrictionEffect());
|
||||
ability.addEffect(new KatabaticWindsRuleModifyingEffect());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class KatakiWarsWage extends CardImpl {
|
|||
Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1)));
|
||||
Effect effect = new GainAbilityAllEffect(gainedAbility, Duration.WhileOnBattlefield, filter, false);
|
||||
effect.setText("All artifacts have \"At the beginning of your upkeep, sacrifice this artifact unless you pay {1}.\"");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
}
|
||||
|
||||
private KatakiWarsWage(final KatakiWarsWage card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class KavuMonarch extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Kavu creatures have trample.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(TrampleAbility.getInstance(),
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(TrampleAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield, filter1)));
|
||||
|
||||
// Whenever another Kavu enters the battlefield, put a +1/+1 counter on Kavu Monarch.
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class KavuScout extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Domain - Kavu Scout gets +1/+0 for each basic land type among lands you control.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(DomainValue.REGULAR, StaticValue.get(0), Duration.WhileOnBattlefield));
|
||||
Ability ability = new SimpleStaticAbility(new BoostSourceEffect(DomainValue.REGULAR, StaticValue.get(0), Duration.WhileOnBattlefield));
|
||||
ability.setAbilityWord(AbilityWord.DOMAIN);
|
||||
this.addAbility(ability.addHint(DomainHint.instance));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class Kaysa extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Green creatures you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1,1, Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1,1, Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private Kaysa(final Kaysa card) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class KefnetTheMindful extends CardImpl {
|
|||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
||||
// Kefnet the Mindful can't attack or block unless you have seven or more cards in your hand.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KefnetTheMindfulRestrictionEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new KefnetTheMindfulRestrictionEffect()));
|
||||
|
||||
// {3}{U}: Draw a card, then you may return a land you control to its owner's hand.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new KefnetTheMindfulEffect(), new ManaCostsImpl<>("{3}{U}"));
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class KefnetsMonument extends CardImpl {
|
|||
this.supertype.add(SuperType.LEGENDARY);
|
||||
|
||||
// Blue creature spells you cast cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
|
||||
// Whenever you cast a creature spell, target creature an opponent controls doesn't untap during its controller's next untap step.
|
||||
Ability ability = new SpellCastControllerTriggeredAbility(new DontUntapInControllersNextUntapStepTargetEffect(), filter2, false);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class KembasBanner extends CardImpl {
|
|||
|
||||
// Equipped creature gets +1/+1 for each creature you control.
|
||||
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURE);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(value, value)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(value, value)));
|
||||
|
||||
// Equip {2}{W}
|
||||
this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl<>("{2}{W}"), false));
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class KembasLegion extends CardImpl {
|
|||
|
||||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KembasLegionEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new KembasLegionEffect()));
|
||||
}
|
||||
|
||||
private KembasLegion(final KembasLegion card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class KentaroTheSmilingCat extends CardImpl {
|
|||
this.addAbility(new BushidoAbility(1));
|
||||
|
||||
// You may pay {X} rather than pay the mana cost for Samurai spells you cast, where X is that spell's converted mana cost.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KentaroTheSmilingCatCastingEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new KentaroTheSmilingCatCastingEffect()));
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -115,4 +115,4 @@ class ColorlessManaValue implements DynamicCost {
|
|||
public String getText(Ability ability, Game game) {
|
||||
return "Pay " + getCost(ability, game).getText() + " rather than " + ability.getManaCosts().getText() + " for Samurai card?";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class KhenraCharioteer extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Other creatures you control have trample.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("creatures"), true)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("creatures"), true)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class KheruMindEater extends CardImpl {
|
|||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new KheruMindEaterExileEffect(), false, true));
|
||||
|
||||
// You may look at and play cards exiled with Kheru Mind-Eater.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KheruMindEaterEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new KheruMindEaterEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new KheruMindEaterLookAtCardEffect()));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class KhorvathBrightflame extends CardImpl {
|
|||
this.addAbility(HasteAbility.getInstance());
|
||||
|
||||
// Knights your team controls have flying and haste.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter));
|
||||
Ability ability = new SimpleStaticAbility(new GainAbilityAllEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter));
|
||||
ability.addEffect(new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter).setText("and haste"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public final class KindredBoon extends CardImpl {
|
|||
// Each creature you control with a divinity counter on it has indestructible.
|
||||
Effect effect = new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, filterDivinity);
|
||||
effect.setText("Each creature you control with a divinity counter on it has indestructible");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
}
|
||||
|
||||
private KindredBoon(final KindredBoon card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class KinjallisCaller extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Dinosaur spells you cast cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
}
|
||||
|
||||
private KinjallisCaller(final KinjallisCaller card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class KinsbaileCavalier extends CardImpl {
|
|||
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)));
|
||||
}
|
||||
|
||||
private KinsbaileCavalier(final KinsbaileCavalier card) {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class KiteShield extends CardImpl {
|
|||
public KiteShield (UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{0}");
|
||||
this.subtype.add(SubType.EQUIPMENT);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 3)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(0, 3)));
|
||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3)));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class KitesailCorsair extends CardImpl {
|
|||
|
||||
// Kitesail Corsair has flying as long as it's attacking.
|
||||
ContinuousEffect gainEffect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility( new ConditionalContinuousEffect(
|
||||
gainEffect,
|
||||
SourceAttackingCondition.instance,
|
||||
"{this} has flying as long as it's attacking."
|
||||
|
|
@ -44,4 +44,4 @@ public final class KitesailCorsair extends CardImpl {
|
|||
public KitesailCorsair copy() {
|
||||
return new KitesailCorsair(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
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