refactor: SimpleStaticAbility default zone (before newline)

This commit is contained in:
xenohedron 2024-11-16 22:18:19 -05:00
parent 994c97e86a
commit 39512d75ac
215 changed files with 223 additions and 223 deletions

View file

@ -39,7 +39,7 @@ public final class AbzanKinGuard extends CardImpl {
this.toughness = new MageInt(3);
// Abzan Kin-Guard has lifelink as long as you control a white or black permanent.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter), "{this} has lifelink as long as you control a white or black permanent")));
}

View file

@ -46,7 +46,7 @@ public final class AbzanRunemark extends CardImpl {
// Enchanted creature gets +2/+2.
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
// Enchanted creature has vigilance as long as you control a black or green permanent.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA),
new PermanentsOnTheBattlefieldCondition(filter), "Enchanted creature has vigilance as long as you control a black or green permanent")));
}

View file

@ -33,7 +33,7 @@ public final class AccursedWitch extends CardImpl {
this.secondSideCardClazz = mage.cards.i.InfectiousCurse.class;
// Spells your opponents cast that target Accursed Witch cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostModificationThatTargetSourceEffect(-1, new FilterCard("Spells"), TargetController.OPPONENT))
);

View file

@ -36,7 +36,7 @@ public final class AcidicSliver extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new SacrificeSourceCost());
ability.addCost(new GenericManaCost(2));
ability.addTarget(new TargetAnyTarget());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(ability,
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_SLIVERS,
"All Slivers have \"{2}, Sacrifice this permanent: This permanent deals 2 damage to any target.\"")));

View file

@ -38,7 +38,7 @@ public final class AeronautAdmiral extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Vehicles you control have flying.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
}

View file

@ -29,7 +29,7 @@ public final class AinokArtillerist extends CardImpl {
this.toughness = new MageInt(1);
// Ainok Artillerist has reach as long as it has a +1/+1 counter on it.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(ReachAbility.getInstance()),
new SourceHasCounterCondition(CounterType.P1P1),"{this} has reach as long as it has a +1/+1 counter on it")));
}

View file

@ -34,7 +34,7 @@ public final class AlabasterLeech extends CardImpl {
this.toughness = new MageInt(3);
// White spells you cast cost {W} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{W}"), filter, TargetController.YOU)));
}

View file

@ -42,7 +42,7 @@ public class AllosaurusShepherd extends CardImpl {
this.addAbility(new CantBeCounteredSourceAbility());
//Green spells you control can't be countered.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new CantBeCounteredControlledEffect(greenSpellsFilter, null, Duration.WhileOnBattlefield)));
//4GG: Until end of turn, each Elf creature you control has base power and toughness 5/5

View file

@ -33,7 +33,7 @@ public final class AndraditeLeech extends CardImpl {
this.toughness = new MageInt(2);
// Black spells you cast cost {B} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{B}"), filter, TargetController.YOU)));
// {B}: Andradite Leech gets +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,

View file

@ -37,7 +37,7 @@ public final class AngrathsAmbusher extends CardImpl {
this.toughness = new MageInt(3);
// Angrath's Ambusher gets +2/+0 as long as you control an Angrath planeswalker.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(2, 0, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter),
"{this} gets +2/+0 as long as you control an Angrath planeswalker")));

View file

@ -19,7 +19,7 @@ public final class ArcaneMelee extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{U}");
// Instant and sorcery spells cost {2} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostReductionAllEffect(new FilterInstantOrSorceryCard("Instant and sorcery spells"), 2))
);
}

View file

@ -33,7 +33,7 @@ public final class ArtifactWard extends CardImpl {
// Enchanted creature can't be blocked by artifact creatures.
// Prevent all damage that would be dealt to enchanted creature by artifact sources.
// Enchanted creature can't be the target of abilities from artifact sources.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAttachedEffect(new ProtectionAbility(new FilterArtifactCard("artifacts")), AttachmentType.AURA)));
}

View file

@ -26,7 +26,7 @@ public final class Asceticism extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}{G}");
// Creatures you control have hexproof.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
// {1}{G}: Regenerate target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{1}{G}"));

View file

@ -29,7 +29,7 @@ public final class BatteringSliver extends CardImpl {
this.toughness = new MageInt(4);
// All Sliver creatures have trample.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(
TrampleAbility.getInstance(),
Duration.WhileOnBattlefield,

View file

@ -41,7 +41,7 @@ public final class BattleBrawler extends CardImpl {
this.toughness = new MageInt(2);
// As long as you control a red or white permanent, Battle Brawler gets +1/+0 and has first strike.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability ability = new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(1,0, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter), "As long as you control a red or white permanent, {this} gets +1/+0"));
ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield),

View file

@ -25,7 +25,7 @@ public final class BehindTheScenes extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}");
// Creatures you control have skulk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(new SkulkAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
// {4}{W}: Creatures you control get +1/+1 until end of turn.

View file

@ -27,7 +27,7 @@ public final class BladeSliver extends CardImpl {
this.toughness = new MageInt(2);
// All Sliver creatures get +1/+0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new BoostAllEffect(1, 0, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_SLIVERS, false)));
}

View file

@ -35,7 +35,7 @@ public final class BlindSpotGiant extends CardImpl {
this.toughness = new MageInt(3);
// Blind-Spot Giant can't attack or block unless you control another Giant.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new CantAttackBlockUnlessConditionSourceEffect(new PermanentsOnTheBattlefieldCondition(filter))));
}

View file

@ -34,7 +34,7 @@ public final class BloodCursedKnight extends CardImpl {
this.toughness = new MageInt(2);
// As long as you control an enchantment, Blood-Cursed Knight gets +1/+1 and has lifelink.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability ability = new SimpleStaticAbility(
new ConditionalContinuousEffect(
new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(new FilterControlledEnchantmentPermanent()), rule1));

View file

@ -34,7 +34,7 @@ public final class BloodfireEnforcers extends CardImpl {
this.toughness = new MageInt(2);
// Bloodfire Enforcers has first strike and trample as long as an instant card and a sorcery card are in your graveyard.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability ability = new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield),
new BloodfireEnforcersCondition(), "{this} has first strike"));
ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield),
@ -80,4 +80,4 @@ class BloodfireEnforcersCondition implements Condition {
}
return false;
}
}
}

View file

@ -31,7 +31,7 @@ public final class BloodshedFever extends CardImpl {
this.addAbility(ability);
// Enchanted creature attacks each turn if able.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new AttacksIfAbleAttachedEffect(Duration.WhileOnBattlefield, AttachmentType.AURA)));
}

View file

@ -28,7 +28,7 @@ public final class BonescytheSliver extends CardImpl {
this.toughness = new MageInt(2);
// Sliver creatures you control have double strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(),
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_SLIVERS)));
}

View file

@ -26,7 +26,7 @@ public final class BonesplitterSliver extends CardImpl {
this.toughness = new MageInt(2);
// All Sliver creatures get +2/+0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new BoostAllEffect(2, 0, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_SLIVERS, false)));
}

View file

@ -30,7 +30,7 @@ public final class BorealElemental extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Spells your opponents cast that target Boreal Elemental cost {2} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostModificationThatTargetSourceEffect(2, new FilterCard("Spells"), TargetController.OPPONENT))
);
}

View file

@ -34,7 +34,7 @@ public final class Burrowing extends CardImpl {
this.addAbility(ability);
// Enchanted creature has mountainwalk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAttachedEffect(new MountainwalkAbility(), AttachmentType.AURA)));
}

View file

@ -30,7 +30,7 @@ public final class ButchersCleaver extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(3, 0)));
// As long as equipped creature is a Human, it has lifelink.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.EQUIPMENT),
new EquippedHasSubtypeCondition(SubType.HUMAN), staticText)));

View file

@ -46,7 +46,7 @@ public final class CallapheBelovedOfTheSea extends CardImpl {
).addHint(DevotionCount.U.getHint()));
// Creatures and enchantments you control have "Spells your opponents cast that target this permanent cost {1} more to cast".
Ability gainAbility = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability gainAbility = new SimpleStaticAbility(
new SpellsCostModificationThatTargetSourceEffect(1, new FilterCard("Spells"), TargetController.OPPONENT)
.withTargetName("this permanent")
);

View file

@ -56,7 +56,7 @@ public final class CamelliaTheSeedmiser extends CardImpl {
this.addAbility(new MenaceAbility(false));
// Other Squirrels you control have menace.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,new GainAbilityControlledEffect(
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
new MenaceAbility(false),
Duration.WhileOnBattlefield,
filterSquirrelCreatures,

View file

@ -38,7 +38,7 @@ public final class ChampionOfTheFlame extends CardImpl {
DynamicValue auraAmount = new AuraAttachedCount(2);
DynamicValue equipAmount = new EquipmentAttachedCount(2);
DynamicValue totalAmount = new AdditiveDynamicValue(auraAmount, equipAmount);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new BoostSourceEffect(totalAmount, totalAmount, Duration.WhileOnBattlefield)
.setText("{this} gets +2/+2 for each Aura and Equipment attached to it")));
}

View file

@ -29,7 +29,7 @@ public final class CloudKey extends CardImpl {
));
// Spells you cast of the chosen type cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostReductionAllOfChosenCardTypeEffect(new FilterCard("Spells you cast of the chosen type"), 1, true)
));
}

View file

@ -37,7 +37,7 @@ public final class ClutchOfUndeath extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +3/+3 as long as it's a Zombie. Otherwise, it gets -3/-3.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(
new BoostEnchantedEffect(3, 3),
new BoostEnchantedEffect(-3, -3),

View file

@ -23,7 +23,7 @@ public final class ConcordantCrossroads extends CardImpl {
this.supertype.add(SuperType.WORLD);
// All creatures have haste.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES)));
}

View file

@ -30,7 +30,7 @@ public final class ConstrictingSliver extends CardImpl {
// until this creature leaves the battlefield."
Ability ability = new EntersBattlefieldTriggeredAbility(new ExileUntilSourceLeavesEffect(), true);
ability.addTarget(new TargetOpponentsCreaturePermanent());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(ability,
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_SLIVERS)
.setText("Sliver creatures you control have \"When this creature enters, "

View file

@ -39,7 +39,7 @@ public final class CorruptedZendikon extends CardImpl {
this.addAbility(ability);
// Enchanted land is a 3/3 black Ooze creature. It's still a land.
Ability ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability ability2 = new SimpleStaticAbility(
new BecomesCreatureAttachedEffect(new CorruptedZendikonOozeToken(),
"Enchanted land is a 3/3 black Ooze creature. It's still a land.", Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.COLOR));
this.addAbility(ability2);

View file

@ -33,7 +33,7 @@ public final class CourtHomunculus extends CardImpl {
this.toughness = new MageInt(1);
// Court Homunculus gets +1/+1 as long as you control another artifact.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield),
new ControlsAnotherArtifactCondition(), "{this} gets +1/+1 as long as you control another artifact")));
}
@ -60,4 +60,4 @@ class ControlsAnotherArtifactCondition implements Condition {
}
return false;
}
}
}

View file

@ -42,7 +42,7 @@ public final class CuratorsWard extends CardImpl {
this.addAbility(ability);
// Enchanted permanent has hexproof.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAttachedEffect(HexproofAbility.getInstance(), AttachmentType.AURA)
.setText("Enchanted permanent has hexproof")));

View file

@ -32,7 +32,7 @@ public final class DarkheartSliver extends CardImpl {
// All Slivers have "Sacrifice this permanent: You gain 3 life."
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(3), new SacrificeSourceCost());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(ability,
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_SLIVERS,
"All Slivers have \"Sacrifice this permanent: You gain 3 life.\"")));

View file

@ -38,7 +38,7 @@ public final class DarksteelMutation extends CardImpl {
this.addAbility(ability);
// Enchanted creature is an Insect artifact creature with base power and toughness 0/1 and has indestructible, and it loses all other abilities, card types, and creature types.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new BecomesCreatureAttachedEffect(new DarksteelMutationInsectToken(),
"Enchanted creature is an Insect artifact creature with base power and toughness 0/1 and has indestructible, and it loses all other abilities, card types, and creature types.",
Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.ALL_BUT_COLOR)));

View file

@ -25,7 +25,7 @@ public final class DarksteelPlate extends CardImpl {
// Darksteel Plate is indestructible.
this.addAbility(IndestructibleAbility.getInstance());
// Equipped creature is indestructible.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAttachedEffect(IndestructibleAbility.getInstance(), AttachmentType.EQUIPMENT, Duration.WhileOnBattlefield)));
// Equip {2}
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), false));

View file

@ -32,7 +32,7 @@ public final class DeadeyePlunderers extends CardImpl {
this.toughness = new MageInt(3);
// Deadeye Plunderers gets +1/+1 for each artifact you control.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new BoostSourceEffect(ArtifactYouControlCount.instance, ArtifactYouControlCount.instance, Duration.WhileOnBattlefield)
).addHint(ArtifactYouControlHint.instance));

View file

@ -35,7 +35,7 @@ public final class DeathcapCultivator extends CardImpl {
this.addAbility(new GreenManaAbility());
// <i>Delirium</i> &mdash; Deathcap Cultivator has deathtouch as long as there are four or more card types among cards in your graveyard.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield),
DeliriumCondition.instance, "<i>Delirium</i> &mdash; {this} has deathtouch as long as there are four or more card types among cards in your graveyard"))
.addHint(CardTypesInGraveyardHint.YOU));

View file

@ -40,7 +40,7 @@ public final class DeepFreeze extends CardImpl {
this.addAbility(ability);
// Enchanted creature has base power and toughness 0/4, has defender, loses all other abilities, and is a blue Wall in addition to its other colors and types.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new BecomesCreatureAttachedEffect(new DeepFreezeToken(),
"Enchanted creature has base power and toughness 0/4, has defender, loses all other abilities, and is a blue Wall in addition to its other colors and types",
Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.ABILITIES)

View file

@ -43,7 +43,7 @@ public final class DementiaSliver extends CardImpl {
gainedAbility.addEffect(new DementiaSliverEffect());
gainedAbility.addTarget(new TargetOpponent());
gainedAbility.addHint(MyTurnHint.instance);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(gainedAbility, Duration.WhileOnBattlefield, filter,
"All Slivers have \"{T}: Choose a card name. "
+ "Target opponent reveals a card at random from their hand."

View file

@ -36,7 +36,7 @@ public final class DireWolves extends CardImpl {
this.toughness = new MageInt(2);
// Dire Wolves has banding as long as you control a Plains.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(BandingAbility.getInstance()), new PermanentsOnTheBattlefieldCondition(filter), rule)));
}

View file

@ -33,7 +33,7 @@ public final class DivinityOfPride extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// Divinity of Pride gets +4/+4 as long as you have 25 or more life.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(4, 4, Duration.WhileOnBattlefield),
new LifeCompareCondition(TargetController.YOU, ComparisonType.OR_GREATER, 25),
"{this} gets +4/+4 as long as you have 25 or more life")));

View file

@ -61,7 +61,7 @@ public final class DonAndresTheRenegade extends CardImpl {
this.toughness = new MageInt(3);
// Each creature you control but don't own gets +2/+2, has menace and deathtouch, and is a Pirate in addition to its other types.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability ability = new SimpleStaticAbility(
new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, creatureFilter, false)
.setText("Each creature you control but don't own gets +2/+2"));
ability.addEffect(new GainAbilityControlledEffect(

View file

@ -35,11 +35,11 @@ public final class DormantSliver extends CardImpl {
this.toughness = new MageInt(2);
// All Sliver creatures have defender.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(DefenderAbility.getInstance(), Duration.WhileOnBattlefield, filter, "All Sliver creatures have defender.")));
// All Slivers have "When this permanent enters the battlefield, draw a card."
Ability ability2 = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(ability2, Duration.WhileOnBattlefield, filter, "All Slivers have \"When this permanent enters the battlefield, draw a card.\"")));
}

View file

@ -42,7 +42,7 @@ public final class DragonlordKolaghan extends CardImpl {
this.addAbility(HasteAbility.getInstance());
// Other creatures you control have haste.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true)));
// Whenever an opponent casts a creature or planeswalker spell with the same name as a card in their graveyard, that player loses 10 life.

View file

@ -43,7 +43,7 @@ public final class DrillSkimmer extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Drill-Skimmer has shroud as long as you control another artifact creature.
Condition condition = new PermanentsOnTheBattlefieldCondition(filter);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.WhileOnBattlefield),
condition, "{this} has shroud as long as you control another artifact creature.")));
}

View file

@ -37,7 +37,7 @@ public final class DryadsFavor extends CardImpl {
this.addAbility(ability);
// Enchanted creature has forestwalk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAttachedEffect(new ForestwalkAbility(), AttachmentType.AURA)));
}

View file

@ -34,12 +34,12 @@ public final class ElderwoodScion extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// Spells you cast that target Elderwood Scion cost {2} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostModificationThatTargetSourceEffect(-2, new FilterCard("Spells"), TargetController.YOU))
);
// Spells your opponents cast that target Elderwood Scion cost {2} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostModificationThatTargetSourceEffect(2, new FilterCard("Spells"), TargetController.OPPONENT))
);
}

View file

@ -37,7 +37,7 @@ public final class EmblemOfTheWarmind extends CardImpl {
this.addAbility(ability);
// Creatures you control have haste.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
}

View file

@ -39,7 +39,7 @@ public final class Entangler extends CardImpl {
this.addAbility(ability);
// Enchanted creature can block any number of creatures.
SimpleStaticAbility blockAbility = new SimpleStaticAbility(Zone.BATTLEFIELD,new CanBlockAdditionalCreatureEffect(0));
SimpleStaticAbility blockAbility = new SimpleStaticAbility(new CanBlockAdditionalCreatureEffect(0));
Effect effect = new GainAbilityAttachedEffect(blockAbility,AttachmentType.AURA, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature can block any number of creatures.");
this.addAbility(new SimpleStaticAbility(effect));

View file

@ -44,7 +44,7 @@ public final class EtchedChampion extends CardImpl {
// Metalcraft Etched Champion has protection from all colors as long as you control three or more artifacts.
ContinuousEffect effect = new GainAbilitySourceEffect(new ProtectionAbility(filter), Duration.WhileOnBattlefield);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(effect, MetalcraftCondition.instance, ruleText))
.setAbilityWord(AbilityWord.METALCRAFT)
.addHint(MetalcraftHint.instance)

View file

@ -21,7 +21,7 @@ public final class Exploration extends CardImpl {
// You may play an additional land on each of your turns.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield)));
}

View file

@ -45,7 +45,7 @@ public final class FavorableDestiny extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +1/+2 as long as it's white.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(
new BoostEnchantedEffect(1, 2),
new EnchantedCreatureColorCondition(ObjectColor.WHITE),
@ -54,7 +54,7 @@ public final class FavorableDestiny extends CardImpl {
));
// Enchanted creature has shroud as long as its controller controls another creature.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(
new GainAbilityAttachedEffect(
ShroudAbility.getInstance(),

View file

@ -37,7 +37,7 @@ public final class FenStalker extends CardImpl {
this.toughness = new MageInt(2);
// Fen Stalker has fear as long as you control no untapped lands.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(FearAbility.getInstance(),
Duration.WhileOnBattlefield), new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)),
"{this} has fear as long as you control no untapped lands")));

View file

@ -32,7 +32,7 @@ public final class FowlPlay extends CardImpl {
this.addAbility(ability);
// Enchanted creature is a Bird with base power and toughness 1/1 and loses all abilities.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new BecomesCreatureAttachedEffect(new CreatureToken(1, 1, "1/1 Bird creature", SubType.BIRD),
"Enchanted creature is a Bird with base power and toughness 1/1 and loses all abilities",
Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.ABILITIES_SUBTYPE)));

View file

@ -39,7 +39,7 @@ public final class FreewindEquenaut extends CardImpl {
new DamageTargetEffect(2),
new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(new FilterAttackingOrBlockingCreature()));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(
new GainAbilitySourceEffect(ability, Duration.WhileOnBattlefield),
new EnchantedSourceCondition(),

View file

@ -35,7 +35,7 @@ public final class FreneticSliver extends CardImpl {
this.toughness = new MageInt(2);
// All Slivers have "{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner's control at the beginning of the next end step. If you lose the flip, sacrifice it."
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(
new SimpleActivatedAbility(
Zone.BATTLEFIELD,

View file

@ -27,7 +27,7 @@ public final class FurySliver extends CardImpl {
this.toughness = new MageInt(3);
// All Sliver creatures have double strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(DoubleStrikeAbility.getInstance(),
Duration.WhileOnBattlefield,
StaticFilters.FILTER_PERMANENT_ALL_SLIVERS

View file

@ -51,7 +51,7 @@ public final class GarnaTheBloodflame extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new GarnaTheBloodflameEffect(), false), new GarnaTheBloodflameWatcher());
// Other creatures you control have haste.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, true)));
}

View file

@ -29,7 +29,7 @@ public final class GateHound extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(
new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES),
new EnchantedSourceCondition(),

View file

@ -31,7 +31,7 @@ public final class GeistFueledScarecrow extends CardImpl {
this.toughness = new MageInt(4);
// Creature spells you cast cost {1} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostIncreasingAllEffect(1, filter, TargetController.YOU)));
}

View file

@ -32,7 +32,7 @@ public final class GemhideSliver extends CardImpl {
// All Slivers have "{tap}: Add one mana of any color."
Ability ability = new AnyColorManaAbility();
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(ability,
Duration.WhileOnBattlefield, filter,
"All Slivers have \"{T}: Add one mana of any color.\"")));

View file

@ -36,7 +36,7 @@ public final class GhastlordOfFugue extends CardImpl {
this.toughness = new MageInt(4);
// Ghastlord of Fugue can't be blocked.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new CantBeBlockedSourceEffect(Duration.WhileOnBattlefield)));
// Whenever Ghastlord of Fugue deals combat damage to a player,

View file

@ -36,7 +36,7 @@ public final class GnatMiser extends CardImpl {
this.toughness = new MageInt(1);
// Each opponent's maximum hand size is reduced by one.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new MaximumHandSizeControllerEffect(1, Duration.WhileOnBattlefield, HandSizeModification.REDUCE, TargetController.OPPONENT)));
}

View file

@ -35,7 +35,7 @@ public final class GohamDjinn extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
// Goham Djinn gets -2/-2 as long as black is the most common color among all permanents or is tied for most common.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(-2, -2, Duration.WhileOnBattlefield),
new MostCommonColorCondition(new ObjectColor(ObjectColor.BLACK)),
"{this} gets -2/-2 as long as black is the most common color among all permanents or is tied for most common")));

View file

@ -39,7 +39,7 @@ public final class GraniteGrip extends CardImpl {
this.addAbility(new EnchantAbility(auraTarget));
// Enchanted creature gets +1/+0 for each Mountain you control.
SimpleStaticAbility ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
SimpleStaticAbility ability = new SimpleStaticAbility(
new BoostEnchantedEffect(new PermanentsOnBattlefieldCount(filter, 1), new PermanentsOnBattlefieldCount(filter, 0),
Duration.WhileOnBattlefield));
this.addAbility(ability);

View file

@ -44,7 +44,7 @@ public final class GunnerConscript extends CardImpl {
// Gunner Conscript gets +1/+1 for each Aura and Equipment attached to it.
DynamicValue totalAmount = new AdditiveDynamicValue(new AuraAttachedCount(), new EquipmentAttachedCount());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new BoostSourceEffect(totalAmount, totalAmount, Duration.WhileOnBattlefield)
.setText("{this} gets +1/+1 for each Aura and Equipment attached to it")));

View file

@ -33,7 +33,7 @@ public final class HalamDjinn extends CardImpl {
this.addAbility(HasteAbility.getInstance());
// Halam Djinn gets -2/-2 as long as red is the most common color among all permanents or is tied for most common.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(-2, -2, Duration.WhileOnBattlefield),
new MostCommonColorCondition(new ObjectColor(ObjectColor.RED)),
"{this} gets -2/-2 as long as red is the most common color among all permanents or is tied for most common")));

View file

@ -33,7 +33,7 @@ public final class HammerOfPurphoros extends CardImpl {
this.supertype.add(SuperType.LEGENDARY);
// Creatures you control have haste.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
// {2}{R}, {tap}, Sacrifice a land: Create a 3/3 colorless Golem enchantment artifact creature token.

View file

@ -43,7 +43,7 @@ public final class HazoretTheFervent extends CardImpl {
this.addAbility(HasteAbility.getInstance());
// Hazoret the Fervent can't attack or block unless you have one or fewer cards in hand.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new CantAttackBlockUnlessConditionSourceEffect(new CardsInHandCondition(ComparisonType.FEWER_THAN, 2))
.setText("{this} can't attack or block unless you have one or fewer cards in hand")));

View file

@ -43,7 +43,7 @@ public final class HeadstrongBrute extends CardImpl {
this.addAbility(new CantBlockAbility());
// Headstrong Brute has menace as long as you control another Pirate.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(new MenaceAbility(), Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter), "{this} has menace as long as you control another Pirate")));
}

View file

@ -32,7 +32,7 @@ public final class HeraldsHorn extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.BoostCreature)));
// Creature spells you cast of the chosen type cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostReductionAllOfChosenSubtypeEffect(new FilterCreatureCard("Creature spells you cast of the chosen type"), 1, true)));
// At the beginning of your upkeep, look at the top card of your library. If it's a creature card of the chosen type, you may reveal it and put it into your hand.

View file

@ -41,7 +41,7 @@ public final class HeroicDefiance extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +3/+3 unless it shares a color with the most common color among all permanents or a color tied for most common.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield),
new HeroicDefianceCondition(),
"Enchanted creature gets +3/+3 unless it shares a color with the most common color among all permanents or a color tied for most common")));

View file

@ -35,7 +35,7 @@ public final class HibernationSliver extends CardImpl {
Effect effect = new ReturnToHandSourceEffect(true);
effect.setText("Return this permanent to its owner's hand");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new PayLifeCost(2));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield,
new FilterPermanent(SubType.SLIVER, "All Slivers"), "All Slivers have \"Pay 2 life: Return this permanent to its owner's hand.\"")));
}

View file

@ -30,7 +30,7 @@ public final class HiddenPath extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}{G}{G}{G}");
// Green creatures have forestwalk.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(new ForestwalkAbility(false), Duration.WhileOnBattlefield, filter)));
}

View file

@ -26,7 +26,7 @@ public final class HoldTheGates extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
// Creatures you control get +0/+1 for each Gate you control and have vigilance.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability ability = new SimpleStaticAbility(
new BoostControlledEffect(StaticValue.get(0), GateYouControlCount.instance, Duration.WhileOnBattlefield)
);
ability.addEffect(

View file

@ -28,7 +28,7 @@ public final class Humility extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}");
// All creatures lose all abilities and have base power and toughness 1/1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new HumilityEffect(Duration.WhileOnBattlefield)));
}

View file

@ -37,7 +37,7 @@ public final class ImperialLancer extends CardImpl {
this.toughness = new MageInt(1);
// Imperial Lancer has double strike as long as you control a Dinosaur.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter), "{this} has double strike as long as you control a Dinosaur")));
}

View file

@ -42,7 +42,7 @@ public final class InBolassClutches extends CardImpl {
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect("permanent")));
// Enchanted permanent is legendary.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new AddCardSuperTypeAttachedEffect(SuperType.LEGENDARY, Duration.WhileOnBattlefield, AttachmentType.AURA)
));
}

View file

@ -34,7 +34,7 @@ public final class IncendiaryOracle extends CardImpl {
new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
// If a creature dealt damage by Incendiary Oracle this turn would die, exile it instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new DealtDamageToCreatureBySourceDies(this, Duration.WhileOnBattlefield)), new DamagedByWatcher(false));
}

View file

@ -25,7 +25,7 @@ public final class InnerSanctum extends CardImpl {
this.addAbility(new CumulativeUpkeepAbility(new PayLifeCost(2)));
// Prevent all damage that would be dealt to creatures you control.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new PreventAllDamageToAllEffect(Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES_CONTROLLED)
));
}

View file

@ -31,7 +31,7 @@ public final class InventorsApprentice extends CardImpl {
this.toughness = new MageInt(2);
// Inventor's Apprentice gets +1/+1 as long as you control an artifact.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()), rule)));
}

View file

@ -38,7 +38,7 @@ public final class Invisibility extends CardImpl {
this.addAbility(ability);
// Enchanted creature can't be blocked except by Walls.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new CantBeBlockedByCreaturesAttachedEffect(Duration.WhileOnBattlefield, filter, AttachmentType.AURA)));
}

View file

@ -34,7 +34,7 @@ public final class IriniSengir extends CardImpl {
this.toughness = new MageInt(2);
// Green enchantment spells and white enchantment spells cost {2} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostIncreasingAllEffect(2, filter, TargetController.ANY))
);
}

View file

@ -26,7 +26,7 @@ public final class IvorytuskFortress extends CardImpl {
this.toughness = new MageInt(7);
// Untap each creature you control with a +1/+1 counter on it during each other player's untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new UntapAllDuringEachOtherPlayersUntapStepEffect(StaticFilters.FILTER_EACH_CONTROLLED_CREATURE_P1P1)));
}

View file

@ -34,7 +34,7 @@ public final class JadeLeech extends CardImpl {
this.toughness = new MageInt(5);
// Green spells you cast cost {G} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{G}"), filter, TargetController.YOU)));
}

View file

@ -51,7 +51,7 @@ public final class JeskaiRunemark extends CardImpl {
// Enchanted creature gets +2/+2.
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,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA),
new PermanentsOnTheBattlefieldCondition(filter), "Enchanted creature has flying as long as you control a red or white permanent")));
}

View file

@ -30,7 +30,7 @@ public final class JhoirasFamiliar extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Historic spells you cast cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new SpellsCostReductionControllerEffect(new FilterHistoricCard(), 1)
.setText("Historic spells you cast cost {1} less to cast. <i>(Artifacts, legendaries, and Sagas are historic.)</i>")));
}

View file

@ -35,7 +35,7 @@ public final class JinGitaxiasCoreAugur extends CardImpl {
this.addAbility(new BeginningOfEndStepTriggeredAbility(new DrawCardSourceControllerEffect(7)));
// Each opponent's maximum hand size is reduced by seven.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new MaximumHandSizeControllerEffect(7, Duration.WhileOnBattlefield, HandSizeModification.REDUCE, TargetController.OPPONENT)));
}

View file

@ -56,7 +56,7 @@ public final class JoragaTreespeaker extends LevelerCard {
// 1/4
// Elves you control have "{T}: Add {G}{G}."
Abilities<Ability> abilities2 = new AbilitiesImpl<>();
abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD,
abilities2.add(new SimpleStaticAbility(
new GainAbilityControlledEffect(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new TapSourceCost()),
Duration.WhileOnBattlefield, filter)));

View file

@ -43,7 +43,7 @@ public final class JorubaiMurkLurker extends CardImpl {
this.toughness = new MageInt(3);
// Jorubai Murk Lurker gets +1/+1 as long as you control a Swamp.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter), rule)));

View file

@ -41,7 +41,7 @@ public final class JubilantSkybonder extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Creatures you control with flying have "Spells your opponents cast that target this creature cost {2} more to cast."
Ability gainAbility = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability gainAbility = new SimpleStaticAbility(
new SpellsCostModificationThatTargetSourceEffect(2, new FilterCard("Spells"), TargetController.OPPONENT)
.withTargetName("this creature")
);

View file

@ -42,7 +42,7 @@ public final class KavuRunner extends CardImpl {
this.toughness = new MageInt(3);
// Kavu Runner has haste as long as no opponent controls a white or blue creature.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(),
Duration.WhileOnBattlefield), new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter, false)),
"{this} has haste as long as no opponent controls a white or blue creature")));

View file

@ -40,7 +40,7 @@ public final class KessDissidentMage extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// During each of your turns, you may cast an instant or sorcery card from your graveyard. If a card cast this way would be put into your graveyard this turn, exile it instead.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
Ability ability = new SimpleStaticAbility(
new KessDissidentMageCastFromGraveyardEffect())
.setIdentifier(MageIdentifier.KessDissidentMageWatcher);
ability.addEffect(new KessDissidentMageReplacementEffect());

View file

@ -29,7 +29,7 @@ public final class KessigDireSwine extends CardImpl {
this.toughness = new MageInt(6);
// <i>Delirium</i> &mdash; Kessig Dire Swine has trample as long as there are four or more card types among cards in your graveyard.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield),
DeliriumCondition.instance, "<i>Delirium</i> &mdash; {this} has trample as long as there are four or more card types among cards in your graveyard"))
.addHint(CardTypesInGraveyardHint.YOU));

View file

@ -37,7 +37,7 @@ public final class KirdApe extends CardImpl {
this.toughness = new MageInt(1);
// Kird Ape gets +1/+2 as long as you control a Forest.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(1, 2, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter), rule)));
}

View file

@ -45,7 +45,7 @@ public final class KirdChieftain extends CardImpl {
this.toughness = new MageInt(3);
// Kird Chieftain gets +1/+1 as long as you control a Forest.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
this.addAbility(new SimpleStaticAbility(
new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield),
new PermanentsOnTheBattlefieldCondition(filter), rule)));

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