refactor: SimpleStaticAbility default zone (cards I J K)

This commit is contained in:
xenohedron 2024-11-16 22:13:17 -05:00
parent ae7b88dc3b
commit e26fa56d69
137 changed files with 151 additions and 151 deletions

View file

@ -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()));

View file

@ -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")));
}

View file

@ -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")));
}

View file

@ -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) {

View file

@ -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());

View file

@ -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()));
}

View file

@ -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()));
}

View file

@ -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(

View file

@ -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()));
}

View file

@ -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()));
}

View file

@ -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.\"")));

View file

@ -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) {

View file

@ -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);

View file

@ -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) {

View file

@ -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);

View file

@ -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}")));
}

View file

@ -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,

View file

@ -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) {

View file

@ -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 cant 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)
);

View file

@ -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) {

View file

@ -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)

View file

@ -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) {

View file

@ -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)));
}

View file

@ -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(

View file

@ -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.

View file

@ -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);

View file

@ -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());

View file

@ -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}"));

View file

@ -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);

View file

@ -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) {

View file

@ -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);

View file

@ -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(

View file

@ -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));

View file

@ -32,7 +32,7 @@ public final class InquisitorsOx extends CardImpl {
// <i>Delirium</i> &mdash; 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> &mdash; {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);

View file

@ -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);

View file

@ -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)));
}

View file

@ -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,

View file

@ -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));
}

View file

@ -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) {

View file

@ -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);

View file

@ -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) {

View file

@ -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) {

View file

@ -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()));
}

View file

@ -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);

View file

@ -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}")));
}

View file

@ -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) {

View file

@ -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) {

View file

@ -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}")));

View file

@ -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) {

View file

@ -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(

View file

@ -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) {

View file

@ -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")));

View file

@ -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) {

View file

@ -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) {

View file

@ -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}"));

View file

@ -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));

View file

@ -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"));

View file

@ -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)));
}

View file

@ -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) {

View file

@ -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.

View file

@ -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());

View file

@ -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));

View file

@ -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),

View file

@ -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) {

View file

@ -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;
}
}
}

View file

@ -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) {

View file

@ -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) {

View file

@ -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());

View file

@ -36,7 +36,7 @@ public final class JorKadeenThePrevailer extends CardImpl {
// <i>Metalcraft</i> &mdash; 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));
}

View file

@ -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);
}
}
}

View file

@ -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."))

View file

@ -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"));

View file

@ -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.")));

View file

@ -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),

View file

@ -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));
}

View file

@ -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());
}

View file

@ -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}"));

View file

@ -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) {

View file

@ -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));
}

View file

@ -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(

View file

@ -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) {

View file

@ -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);
}
}
}

View file

@ -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);

View file

@ -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) {

View file

@ -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.

View file

@ -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));
}

View file

@ -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) {

View file

@ -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}"));

View file

@ -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);

View file

@ -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));

View file

@ -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) {

View file

@ -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?";
}
}
}

View file

@ -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)));
}

View file

@ -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()));
}

View file

@ -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);
}

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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)));
}

View file

@ -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