mirror of
https://github.com/correl/mage.git
synced 2024-12-01 03:00:09 +00:00
Fix ability keyword hint for Menace and Scry (#8603)
This commit is contained in:
parent
b563853ec8
commit
ed1db71474
175 changed files with 283 additions and 217 deletions
|
@ -24,7 +24,7 @@ public final class AlleyStrangler extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
}
|
||||
|
||||
private AlleyStrangler(final AlleyStrangler card) {
|
||||
|
|
|
@ -23,7 +23,7 @@ public final class AradaraExpress extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
// Crew 4
|
||||
this.addAbility(new CrewAbility(4));
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ public final class ArcboundTracker extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Modular 2
|
||||
this.addAbility(new ModularAbility(this, 2));
|
||||
|
|
|
@ -30,7 +30,8 @@ public final class ArmoryVeteran extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(new MenaceAbility()),
|
||||
EquippedSourceCondition.instance,
|
||||
"As long as {this} is equipped, it has menace"
|
||||
"As long as {this} is equipped, it has menace. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>"
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class ArtificersAssistant extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Whenever you cast a Historic spell scry 1.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new ScryEffect(1), filter, false));
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new ScryEffect(1, false), filter, false));
|
||||
}
|
||||
|
||||
private ArtificersAssistant(final ArtificersAssistant card) {
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class AtrisOracleOfHalfTruths extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Atris, Oracle of Half-Truths enters the battlefield, target opponent looks at the top three cards of your library and separates them into a face-down pile and a face-up pile. Put one pile into your hand and the other into your graveyard.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new AtrisOracleOfHalfTruthsEffect());
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class BattlewiseHoplite extends CardImpl {
|
|||
|
||||
// Heroic - Whenever you cast a spell that targets Battlewise Hoplite, put a +1/+1 counter on Battlewise Hoplite, then scry 1.
|
||||
Ability ability = new HeroicAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
|
||||
ability.addEffect(new ScryEffect(1));
|
||||
ability.addEffect(new ScryEffect(1, false));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -45,7 +45,8 @@ class BloodCurdleEffect extends OneShotEffect {
|
|||
|
||||
BloodCurdleEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "Put a menace counter on a creature you control";
|
||||
staticText = "Put a menace counter on a creature you control. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>";
|
||||
}
|
||||
|
||||
private BloodCurdleEffect(final BloodCurdleEffect effect) {
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class BloodcrazedSocialite extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Bloodcrazed Socialite enters the battlefield, create a Blood token.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new BloodToken())));
|
||||
|
|
|
@ -28,13 +28,15 @@ public final class BloodskyBerserker extends CardImpl {
|
|||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
// Whenever you cast your second spell each turn, put two +1/+1 counters on Bloodsky Berserker. It gains menace until end of turn.
|
||||
// Whenever you cast your second spell each turn, put two +1/+1 counters on Bloodsky Berserker.
|
||||
Ability ability = new CastSecondSpellTriggeredAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2))
|
||||
);
|
||||
// It gains menace until end of turn.
|
||||
ability.addEffect(new GainAbilitySourceEffect(
|
||||
new MenaceAbility(), Duration.EndOfTurn
|
||||
).setText("It gains menace until end of turn"));
|
||||
).setText("It gains menace until end of turn. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,8 @@ public final class BloodstoneGoblin extends CardImpl {
|
|||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
// Whenever you cast a spell, if that spell was kicked, Bloodstone Goblin gets +1/+1 and gains menace until end of turn.
|
||||
// Whenever you cast a spell, if that spell was kicked,
|
||||
// Bloodstone Goblin gets +1/+1 and gains menace until end of turn.
|
||||
this.addAbility(new BloodstoneGoblinTriggeredAbility());
|
||||
}
|
||||
|
||||
|
@ -47,8 +48,16 @@ public final class BloodstoneGoblin extends CardImpl {
|
|||
class BloodstoneGoblinTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
BloodstoneGoblinTriggeredAbility() {
|
||||
super(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn).setText("{this} gets +1/+1"), false);
|
||||
this.addEffect(new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn).setText("and gains menace until end of turn"));
|
||||
super(
|
||||
Zone.BATTLEFIELD,
|
||||
new BoostSourceEffect(1, 1, Duration.EndOfTurn).setText("{this} gets +1/+1"),
|
||||
false);
|
||||
this.addEffect(
|
||||
new GainAbilitySourceEffect(
|
||||
new MenaceAbility(false),
|
||||
Duration.EndOfTurn
|
||||
).setText("and gains menace until end of turn. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>"));
|
||||
}
|
||||
|
||||
BloodstoneGoblinTriggeredAbility(final BloodstoneGoblinTriggeredAbility ability) {
|
||||
|
|
|
@ -47,7 +47,7 @@ public final class BontuTheGlorified extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BontuTheGlorifiedRestrictionEffect()), new CreaturesDiedWatcher());
|
||||
|
||||
// {1}{B}, Sacrifice another creature: Scry 1. Each opponent loses 1 life and you gain 1 life.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new ManaCostsImpl("{1}{B}"));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new ManaCostsImpl("{1}{B}"));
|
||||
ability.addEffect(new LoseLifeOpponentsEffect(1));
|
||||
Effect effect = new GainLifeEffect(1);
|
||||
effect.setText("and you gain 1 life");
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class BreechesBrazenPlunderer extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever one or more Pirates you control deal damage to your opponents, exile the top card of each of those opponents' libraries. You may play those cards this turn, and you may spend mana as though it were mana of any color to cast those spells.
|
||||
this.addAbility(new BreechesBrazenPlundererTriggeredAbility());
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class BurningProphet extends CardImpl {
|
|||
).setText("{this} gets +1/+0 until end of turn, then"),
|
||||
StaticFilters.FILTER_SPELL_A_NON_CREATURE, false
|
||||
);
|
||||
ability.addEffect(new ScryEffect(1));
|
||||
ability.addEffect(new ScryEffect(1, false));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ public final class CabalTherapist extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// At the beginning of your precombat main phase, you may sacrifice a creature. When you do, choose a nonland card name, then target player reveals their hand and discards all cards with that name.
|
||||
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(
|
||||
|
|
|
@ -30,7 +30,7 @@ public final class CalculatingLich extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever a creature attacks one of your opponents, that player loses 1 life.
|
||||
this.addAbility(new CalculatingLichTriggeredAbility());
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class CemeteryDesecrator extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Cemetery Desecrator enters the battlefield or dies, exile another card from a graveyard. When you do, choose one —
|
||||
// • Remove X counters from target permanent, where X is the mana value of the exiled card.
|
||||
|
|
|
@ -41,7 +41,7 @@ public final class ChiefJimHopper extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever Chief Jim Hopper attacks, investigate once for each nontoken attacking creature.
|
||||
this.addAbility(new AttacksTriggeredAbility(new InvestigateEffect(xValue)
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class ChitinousCloak extends CardImpl {
|
|||
// Equipped creature gets +2/+2 and has menace.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2));
|
||||
Effect effect = new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.EQUIPMENT);
|
||||
effect.setText("and has menace");
|
||||
effect.setText("and has menace. <i>(It can't be blocked except by two or more creatures.)</i>");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
// Equip {3}
|
||||
|
|
|
@ -26,8 +26,9 @@ public final class ChorusOfTheTides extends CardImpl {
|
|||
|
||||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// <i>Heroic</i> — Whenever you cast a spell that targets Chorus of the Tides, scry 1.
|
||||
this.addAbility(new HeroicAbility(new ScryEffect(1)));
|
||||
this.addAbility(new HeroicAbility(new ScryEffect(1, false)));
|
||||
}
|
||||
|
||||
private ChorusOfTheTides(final ChorusOfTheTides card) {
|
||||
|
|
|
@ -30,7 +30,7 @@ public final class ContrabandKingpin extends CardImpl {
|
|||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
||||
// Whenever an artifact enters the battlefield under your control, scry 1.
|
||||
this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1), new FilterControlledArtifactPermanent(), false, null, true));
|
||||
this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new FilterControlledArtifactPermanent(), false, null, true));
|
||||
}
|
||||
|
||||
private ContrabandKingpin(final ContrabandKingpin card) {
|
||||
|
|
|
@ -30,7 +30,7 @@ public final class CuratorOfMysteries extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Whenever you cycle or discard another card, scry 1.
|
||||
this.addAbility(new CycleOrDiscardControllerTriggeredAbility(new ScryEffect(1)).setTriggerPhrase("Whenever you cycle or discard another card, "));
|
||||
this.addAbility(new CycleOrDiscardControllerTriggeredAbility(new ScryEffect(1, false)).setTriggerPhrase("Whenever you cycle or discard another card, "));
|
||||
|
||||
// Cycling {U}
|
||||
this.addAbility(new CyclingAbility(new ManaCostsImpl("{U}")));
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class DeathTyrant extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Negative Energy Cone — Whenever an attacking creature you control or a blocking creature an opponent controls dies, create a 2/2 black Zombie creature token.
|
||||
this.addAbility(new DeathTyrantTriggeredAbility().withFlavorWord("Negative Energy Cone"));
|
||||
|
|
|
@ -26,7 +26,7 @@ public final class DireFleetInterloper extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Dire Fleet Interloper enters the battlefield, it explores.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ExploreSourceEffect()));
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class DireFleetRavager extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Deathtouch
|
||||
this.addAbility(DeathtouchAbility.getInstance());
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class DireStrainAnarchist extends CardImpl {
|
|||
this.nightCard = true;
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Haste
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
|
|
|
@ -38,7 +38,10 @@ public final class DraugrsHelm extends CardImpl {
|
|||
|
||||
// Equipped creature gets +2/+2 and has menace.
|
||||
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(2, 2));
|
||||
ability.addEffect(new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.EQUIPMENT).setText("and has menace"));
|
||||
ability.addEffect(new GainAbilityAttachedEffect(
|
||||
new MenaceAbility(true),
|
||||
AttachmentType.EQUIPMENT).setText("and has menace. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>"));
|
||||
this.addAbility(ability);
|
||||
|
||||
// Equip {4}
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class Dreamstealer extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Dreamstealer deals combat damage to a player, that player discards that many cards.
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DreamstealerDiscardEffect(), false, true));
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class Endling extends CardImpl {
|
|||
|
||||
// {B}: Endling gains menace until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(
|
||||
new MenaceAbility(), Duration.EndOfTurn
|
||||
new MenaceAbility(false), Duration.EndOfTurn
|
||||
), new ManaCostsImpl<>("{B}")));
|
||||
|
||||
// {B}: Endling gains deathtouch until end of turn.
|
||||
|
|
|
@ -20,7 +20,7 @@ public final class ExposeToDaylight extends CardImpl {
|
|||
|
||||
// Destroy target artifact or enchantment. Scry 1.
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1, false));
|
||||
this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ public final class EyesEverywhere extends CardImpl {
|
|||
|
||||
// At the beginning of your upkeep, scry 1.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
|
||||
Zone.BATTLEFIELD, new ScryEffect(1),
|
||||
Zone.BATTLEFIELD, new ScryEffect(1, false),
|
||||
TargetController.YOU, false
|
||||
));
|
||||
|
||||
|
|
|
@ -41,7 +41,8 @@ class FadingHopeEffect extends OneShotEffect {
|
|||
|
||||
FadingHopeEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "return target creature to its owner's hand. If its mana value was 3 or less, scry 1";
|
||||
staticText = "return target creature to its owner's hand. If its mana value was 3 or less, scry 1. " +
|
||||
"<i>(Look at the top card of your library. You may put that card on the bottom of your library.)</i>";
|
||||
}
|
||||
|
||||
private FadingHopeEffect(final FadingHopeEffect effect) {
|
||||
|
|
|
@ -41,7 +41,7 @@ public final class FalthisShadowcatFamiliar extends CardImpl {
|
|||
|
||||
// Commanders you control have menace and deathtouch.
|
||||
Ability ability = new SimpleStaticAbility(new GainAbilityControlledEffect(
|
||||
new MenaceAbility(), Duration.WhileOnBattlefield, filter
|
||||
new MenaceAbility(false), Duration.WhileOnBattlefield, filter
|
||||
));
|
||||
ability.addEffect(new GainAbilityControlledEffect(
|
||||
DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, filter
|
||||
|
|
|
@ -20,7 +20,7 @@ public final class FatefulEnd extends CardImpl {
|
|||
// Fateful End deals 3 damage to any target. Scry 1.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(3, true, "any target"));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1, false));
|
||||
}
|
||||
|
||||
private FatefulEnd(final FatefulEnd card) {
|
||||
|
|
|
@ -42,7 +42,7 @@ public final class FathomFleetCaptain extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever Fathom Fleet Captain attacks, if you control another nontoken Pirate, you may pay {2}. If you do, creature a 2/2 black Pirate creature token with menace.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
|
|
|
@ -26,7 +26,10 @@ public final class FerociousTigorilla extends CardImpl {
|
|||
|
||||
// Ferocious Tigorilla enters the battlefield with your choice of a trample counter or a menace counter on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new AddCounterChoiceSourceEffect(CounterType.TRAMPLE, CounterType.MENACE)
|
||||
new AddCounterChoiceSourceEffect(CounterType.TRAMPLE, CounterType.MENACE),
|
||||
"Ferocious Tigorilla enters the battlefield with your choice of " +
|
||||
"a trample counter or a menace counter on it. " +
|
||||
"<i>(A creature with menace can't be blocked except by two or more creatures.)</i>"
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class FireShrineKeeper extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// {7}{R}, {T}, Sacrifice Fire Shrine Keeper: It deals 3 damage to each of up to two target creatures.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
|
|
|
@ -27,7 +27,7 @@ public final class FlamebladeAdept extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever you cycle or discard a card, Flameblade Adept gets +1/+0 until end of turn.
|
||||
this.addAbility(new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn)));
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class Fleshtaker extends CardImpl {
|
|||
Ability ability = new SacrificePermanentTriggeredAbility(
|
||||
new GainLifeEffect(1), StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE
|
||||
);
|
||||
ability.addEffect(new ScryEffect(1, false).concatBy("and"));
|
||||
ability.addEffect(new ScryEffect(1).concatBy("and"));
|
||||
this.addAbility(ability);
|
||||
|
||||
// {1}, Sacrifice another creature: Fleshtaker gets +2/+2 until end of turn.
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class ForswornPaladin extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// {1}{B}, {T}, Pay 1 life: Create a Treasure token.
|
||||
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new TreasureToken()), new ManaCostsImpl<>("{1}{B}"));
|
||||
|
|
|
@ -41,7 +41,7 @@ public final class FrenziedRage extends CardImpl {
|
|||
// Enchanted creature gets +2/+1 and has menace.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1));
|
||||
Effect effect = new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.AURA);
|
||||
effect.setText("and has menace");
|
||||
effect.setText("and has menace. <i>(It can't be blocked except by two or more creatures.)</i>");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -47,7 +47,9 @@ public final class FrillscareMentor extends CardImpl {
|
|||
|
||||
// When Frillscare Mentor enters the battlefield, put a menace counter on target non-Human creature you control.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||
new AddCountersTargetEffect(CounterType.MENACE.createInstance())
|
||||
new AddCountersTargetEffect(CounterType.MENACE.createInstance()
|
||||
).setText("put a menace counter on target non-Human creature you control. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>")
|
||||
);
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -19,7 +19,7 @@ public final class GetThePoint extends CardImpl {
|
|||
|
||||
// Destroy target creature. Scry 1.
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1, false));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class GlaiveOfTheGuildpact extends CardImpl {
|
|||
).setText("and has vigilance"));
|
||||
ability.addEffect(new GainAbilityAttachedEffect(
|
||||
new MenaceAbility(), AttachmentType.EQUIPMENT
|
||||
).setText("and menace"));
|
||||
).setText("and menace. <i>(A creature with menace can't be blocked except by two or more creatures.)</i>"));
|
||||
ability.addHint(GateYouControlHint.instance);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class GlintSleeveSiphoner extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever Glint-Sleeve Siphoner enters the battlefield or attacks, you get {E}.
|
||||
this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(new GetEnergyCountersControllerEffect(1)));
|
||||
|
|
|
@ -24,7 +24,7 @@ public final class GluttonousSlug extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Evolve
|
||||
this.addAbility(new EvolveAbility());
|
||||
|
|
|
@ -47,7 +47,7 @@ public final class GoblinDarkDwellers extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Goblin Dark-Dwellers enters the battlefield, you may cast target instant or sorcery card with converted mana cost 3 or less
|
||||
// from your graveyard without paying its mana cost. If that card would be put into your graveyard this turn, exile it instead.
|
||||
|
|
|
@ -38,7 +38,8 @@ public final class GoblinGloryChaser extends CardImpl {
|
|||
Effect effect = new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(new MenaceAbility(), Duration.WhileOnBattlefield),
|
||||
RenownedSourceCondition.instance,
|
||||
"As long as {this} is renowned, it has menace");
|
||||
"As long as {this} is renowned, it has menace. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class GodEternalBontu extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When God-Eternal Bontu enters the battlefield, sacrifice any number of other permanents, then draw that many cards.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GodEternalBontuEffect()));
|
||||
|
|
|
@ -22,7 +22,7 @@ public final class GodsWilling extends CardImpl {
|
|||
// Target creature you control gains protection from the color of your choice until end of turn. Scry 1.
|
||||
this.getSpellAbility().addEffect(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn));
|
||||
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1).concatBy("<br>"));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1, false).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private GodsWilling(final GodsWilling card) {
|
||||
|
|
|
@ -19,7 +19,7 @@ public final class GraniticTitan extends CardImpl {
|
|||
toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
addAbility(new MenaceAbility());
|
||||
addAbility(new MenaceAbility(false));
|
||||
|
||||
// Cycling {2}
|
||||
addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class GrevenPredatorCaptain extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Greven, Predator Captain gets +X/+0, where X is the amount of life you've lost this turn.
|
||||
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(
|
||||
|
|
|
@ -41,7 +41,7 @@ public final class Grief extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Grief enters the battlefield, target opponent reveals their hand. You choose a nonland card from it. That player discards that card.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||
|
|
|
@ -32,10 +32,13 @@ public final class GrimDraugr extends CardImpl {
|
|||
|
||||
// {1}{S}: Grim Draugr gets +1/+0 and gains menace until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new BoostSourceEffect(1, 0, Duration.EndOfTurn).setText("{this} gets +1/+0"), new ManaCostsImpl("{1}{S}")
|
||||
new BoostSourceEffect(1, 0, Duration.EndOfTurn).setText("{this} gets +1/+0"),
|
||||
new ManaCostsImpl("{1}{S}")
|
||||
);
|
||||
ability.addEffect(new GainAbilitySourceEffect(
|
||||
new MenaceAbility(), Duration.EndOfTurn).setText("and gains menace until end of turn")
|
||||
new MenaceAbility(), Duration.EndOfTurn).setText("and gains menace until end of turn. " +
|
||||
"<i>(It can't be blocked except by two or more creatures. " +
|
||||
"{S} can be paid with one mana from a snow source.)</i>")
|
||||
);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -33,7 +33,9 @@ public final class GruulWarChant extends CardImpl {
|
|||
|
||||
|
||||
// Attacking creatures you control get +1/+0 and have menace. (They can't be blocked except by two or more creatures.)
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter));
|
||||
Ability ability = new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new GainAbilityAllEffect(new MenaceAbility(false), Duration.WhileOnBattlefield, filter));
|
||||
ability.addEffect(new BoostAllEffect(1,0, Duration.WhileOnBattlefield, filter, false));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -44,7 +44,8 @@ public final class HagraConstrictor extends CardImpl {
|
|||
// Each creature you control with a +1/+1 counter on it has menace.
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
|
||||
new MenaceAbility(), Duration.WhileOnBattlefield, filter,
|
||||
"Each creature you control with a +1/+1 counter on it has menace"
|
||||
"Each creature you control with a +1/+1 counter on it has menace. " +
|
||||
"<i>(A creature with menace can't be blocked except by two or more creatures.)</i>"
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ public final class HarshScrutiny extends CardImpl {
|
|||
// Target opponent reveals their hand. You choose a creature card from it. That player discards that card. Scry 1.
|
||||
this.getSpellAbility().addTarget(new TargetOpponent());
|
||||
this.getSpellAbility().addEffect(new DiscardCardYouChooseTargetEffect(new FilterCreatureCard("a creature card")));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1, false));
|
||||
}
|
||||
|
||||
private HarshScrutiny(final HarshScrutiny card) {
|
||||
|
|
|
@ -37,7 +37,7 @@ public final class HedronAlignment extends CardImpl {
|
|||
// At the beginning of your upkeep, you may reveal your hand. If you do, you win the game if you own a card named Hedron Alignment in exile, in your hand, in your graveyard, and on the battlefield.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HedronAlignmentEffect(), TargetController.YOU, true));
|
||||
// {1}{U}: Scry 1.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new ManaCostsImpl("{1}{U}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new ManaCostsImpl("{1}{U}")));
|
||||
}
|
||||
|
||||
private HedronAlignment(final HedronAlignment card) {
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class HiddenStockpile extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {1}, Sacrifice a creature: Scry 1.
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new GenericManaCost(1));
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new GenericManaCost(1));
|
||||
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -23,8 +23,6 @@ import mage.constants.Zone;
|
|||
*/
|
||||
public final class HoundOfTheFarbogs extends CardImpl {
|
||||
|
||||
static final private String RULE = "{this} has menace as long as there are four or more card types among cards in your graveyard";
|
||||
|
||||
public HoundOfTheFarbogs(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}");
|
||||
this.subtype.add(SubType.ZOMBIE);
|
||||
|
@ -33,8 +31,11 @@ public final class HoundOfTheFarbogs extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// <i>Delirium</i> — Hound of the Farborgs has menace as long as there are four or more card types among cards in your graveyard.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(new GainAbilitySourceEffect(new MenaceAbility(), Duration.WhileOnBattlefield), DeliriumCondition.instance, RULE));
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(new MenaceAbility(), Duration.WhileOnBattlefield),
|
||||
DeliriumCondition.instance,
|
||||
"{this} has menace as long as there are four or more card types among cards in your graveyard. " +
|
||||
"<i>(A creature with menace can't be blocked except by two or more creatures.)</i>"));
|
||||
ability.setAbilityWord(AbilityWord.DELIRIUM);
|
||||
ability.addHint(CardTypesInGraveyardHint.YOU);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class HuntedNightmare extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Hunted Nightmare enters the battlefield, target opponent puts a deathtouch counter on a creature they control.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new HuntedNightmareEffect());
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class IkraShidiqiTheUsurper extends CardImpl {
|
|||
this.toughness = new MageInt(7);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever a creature you control deals combat damage to a player, you gain life equal to that creature's toughness.
|
||||
this.addAbility(new IkraShidiqiTheUsurperTriggeredAbility());
|
||||
|
|
|
@ -27,7 +27,7 @@ public final class InquisitivePuppet extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// When Inquisitive Puppet enters the battlefield, scry 1.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1, false)));
|
||||
|
||||
// Exile Inquisitive Puppet: Create a 1/1 white Human creature token.
|
||||
this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new HumanToken()), new ExileSourceCost()));
|
||||
|
|
|
@ -50,7 +50,7 @@ public final class IroasGodOfVictory extends CardImpl {
|
|||
|
||||
// Creatures you control have menace. (They can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter)
|
||||
new GainAbilityAllEffect(new MenaceAbility(false), Duration.WhileOnBattlefield, filter)
|
||||
));
|
||||
|
||||
// Prevent all damage that would be dealt to attacking creatures you control.
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class JaceUnravelerOfSecrets extends CardImpl {
|
|||
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5));
|
||||
|
||||
// +1: Scry 1, then draw a card.
|
||||
Ability ability = new LoyaltyAbility(new ScryEffect(1), 1);
|
||||
Ability ability = new LoyaltyAbility(new ScryEffect(1, false), 1);
|
||||
Effect effect = new DrawCardSourceControllerEffect(1);
|
||||
effect.setText(", then draw a card");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
@ -19,7 +19,7 @@ public final class JayasGreeting extends CardImpl {
|
|||
|
||||
// Jaya's Greeting deals 3 damage to target creature. Scry 1.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1, false));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class JosuVessLichKnight extends CardImpl {
|
|||
this.addAbility(new KickerAbility("{5}{B}"));
|
||||
|
||||
//Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
//When Josu Vess, Lich Knight enters the battlefield, if it was kicked, create eight 2/2 black Zombie Knight creature tokens with menace.
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ZombieKnightToken(), 8));
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class KariZevSkyshipRaider extends CardImpl {
|
|||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever Kari Zev, Skyship Raider attacks, create a legendary 2/1 red Monkey creature token named Ragavan that's tapped and attacking. Exile that token at end of combat.
|
||||
this.addAbility(new AttacksTriggeredAbility(new KariZevSkyshipRaiderEffect(), false));
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class KasminaEnigmaSage extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new KasminaEnigmaSageGainAbilitiesEffect()));
|
||||
|
||||
// +2: Scry 1.
|
||||
this.addAbility(new LoyaltyAbility(new ScryEffect(1), 2));
|
||||
this.addAbility(new LoyaltyAbility(new ScryEffect(1, false), 2));
|
||||
|
||||
// −X: Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it.
|
||||
this.addAbility(new LoyaltyAbility(FractalToken.getEffect(
|
||||
|
|
|
@ -37,7 +37,7 @@ public final class KelsFightFixer extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever you sacrifice a creature, you may pay {U/B}. If you do, draw a card.
|
||||
this.addAbility(new KelsFightFixerTriggeredAbility());
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class KessigWolfrider extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// {2}{R}, {T}, Exile three cards from your graveyard: Create a 3/2 red Wolf creature token.
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class KhenraScrapper extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// You may exert Khenra Scrapper as it attacks. When you do, it gets +2/+0 until end of turn.
|
||||
this.addAbility(new ExertAbility(new BecomesExertSourceTriggeredAbility(new BoostSourceEffect(2, 0, Duration.EndOfTurn))));
|
||||
|
|
|
@ -41,7 +41,7 @@ public final class KheruMindEater extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever Kheru Mind-Eater deals combat damage to a player, that player exiles a card from their hand face down.
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new KheruMindEaterExileEffect(), false, true));
|
||||
|
|
|
@ -53,7 +53,7 @@ public final class KozilekTheGreatDistortion extends CardImpl {
|
|||
new CardsInHandCondition(ComparisonType.FEWER_THAN, 7),
|
||||
"When you cast this spell, if you have fewer than seven cards in hand, draw cards equal to the difference."));
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Discard a card with converted mana cost X: Counter target spell with converted mana cost X.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new KozilekDiscardCost());
|
||||
|
|
|
@ -38,7 +38,8 @@ public final class KozileksShrieker extends CardImpl {
|
|||
effect.setText("{this} gets +1/+0");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{C}"));
|
||||
effect = new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn);
|
||||
effect.setText("and gains menace until end of turn");
|
||||
effect.setText("and gains menace until end of turn. " +
|
||||
"<i>(It can't be blocked except by two or more creatures. {C} represents colorless mana.)</i>");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class KunorosHoundOfAthreos extends CardImpl {
|
|||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Lifelink
|
||||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
|
|
@ -51,7 +51,7 @@ public final class LabyrinthRaptor extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever a creature you control with menace becomes blocked, defending player sacrifices a creature blocking it.
|
||||
this.addAbility(new BecomesBlockedAllTriggeredAbility(
|
||||
|
|
|
@ -45,7 +45,7 @@ public final class LathrilBladeOfTheElves extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever Lathril, Blade of the Elves deals combat damage to a player, create that many 1/1 green Elf Warrior creature tokens.
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new CreateTokenEffect(
|
||||
|
|
|
@ -25,7 +25,7 @@ public final class LifecraftersBestiary extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
|
||||
|
||||
// At the beginning of your upkeep, scry 1.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1), TargetController.YOU, false));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), TargetController.YOU, false));
|
||||
|
||||
// Whenever you cast a creature spell, you may pay {G}. If you do, draw a card.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{G}")), StaticFilters.FILTER_SPELL_A_CREATURE, false));
|
||||
|
|
|
@ -44,7 +44,7 @@ public final class LoathsomeCurator extends CardImpl {
|
|||
this.addAbility(new ExploitAbility());
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Loathsome Curator exploits a creature, destroy target creature you don't control with mana value 3 or less.
|
||||
Ability ability = new ExploitCreatureTriggeredAbility(new DestroyTargetEffect(), false);
|
||||
|
|
|
@ -30,7 +30,7 @@ public final class LoreholdCampus extends CardImpl {
|
|||
this.addAbility(new WhiteManaAbility());
|
||||
|
||||
// {4}, {T}: Scry 1.
|
||||
Ability ability = new SimpleActivatedAbility(new ScryEffect(1), new GenericManaCost(4));
|
||||
Ability ability = new SimpleActivatedAbility(new ScryEffect(1, false), new GenericManaCost(4));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,8 @@ public final class LoseCalm extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn, "It gains haste"));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
effect = new GainAbilityTargetEffect(new MenaceAbility(), Duration.EndOfTurn);
|
||||
effect.setText("and menace until end of turn");
|
||||
effect.setText("and menace until end of turn." +
|
||||
"<i>(A creature with menace can't be blocked except by two or more creatures.)</i>");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public final class LoyalSubordinate extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Lieutenant — At the beginning of combat on your turn, if you control your commander, each opponent loses 3 life.
|
||||
this.addAbility(new ConditionalTriggeredAbility(
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class MadcapSkills extends CardImpl {
|
|||
|
||||
// Enchanted creature gets +3/+0 and and has menace. (It can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 0)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(new MenaceAbility(false), AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
private MadcapSkills(final MadcapSkills card) {
|
||||
|
|
|
@ -18,7 +18,7 @@ public final class ManaGeode extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
|
||||
|
||||
// When Mana Geode enters the battlefield, scry 1.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1, false)));
|
||||
|
||||
// {T}: Add one mana of any color.
|
||||
this.addAbility(new AnyColorManaAbility());
|
||||
|
|
|
@ -47,7 +47,7 @@ public final class MaritLagesSlumber extends CardImpl {
|
|||
|
||||
// Whenever Marit Lage's Slumber or another snow permanent enters the battlefield under your control, scry 1.
|
||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||
new ScryEffect(1), filter, false, true
|
||||
new ScryEffect(1, false), filter, false, true
|
||||
));
|
||||
|
||||
// At the beginning of your upkeep, if you control ten or more snow permanents, sacrifice Marit Lage's Slumber. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible.
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class MassacreGirl extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Massacre Girl enters the battlefield, each other creature gets -1/-1 until end of turn. Whenever a creature dies this turn, each creature other than Massacre Girl gets -1/-1 until end of turn.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MassacreGirlEffect()));
|
||||
|
|
|
@ -49,7 +49,7 @@ public final class MathasFiendSeeker extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// At the beginning of your end step, put a bounty counter on target creature an opponent controls. For as long as that creature has a bounty counter on it, it has "When this creature dies, each opponent draws a card and gains 2 life."
|
||||
Ability ability = new BeginningOfYourEndStepTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), false);
|
||||
|
|
|
@ -24,7 +24,7 @@ public final class MaulfistSquad extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Fabricate 1
|
||||
this.addAbility(new FabricateAbility(1));
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class MazemindTome extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
|
||||
|
||||
// {T}, Put a page counter on Mazemind Tome: Scry 1.
|
||||
Ability ability = new SimpleActivatedAbility(new ScryEffect(1), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new ScryEffect(1, false), new TapSourceCost());
|
||||
ability.addCost(new PutCountersSourceCost(CounterType.PAGE.createInstance()));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class MinionOfTheMighty extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Pack tactics — Whenever Minion of the Mighty attacks, if you attacked with creatures wih total power 6 or greater this combat, you may put a Dragon creature card from your hand onto the battlefield tapped and attacking.
|
||||
this.addAbility(new PackTacticsAbility(new MinionOfTheMightyEffect()));
|
||||
|
|
|
@ -32,22 +32,22 @@ public final class MoodmarkPainter extends CardImpl {
|
|||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Undergrowth — When Moodmark Painter enters the battlefield, target creature gains menace and gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard.
|
||||
DynamicValue xValue = new CardsInControllerGraveyardCount(
|
||||
StaticFilters.FILTER_CARD_CREATURE
|
||||
);
|
||||
// Undergrowth — When Moodmark Painter enters the battlefield,
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||
new GainAbilityTargetEffect(
|
||||
new MenaceAbility(),
|
||||
new MenaceAbility(false),
|
||||
Duration.EndOfTurn
|
||||
).setText("target creature gains menace"),
|
||||
).setText("target creature gains menace."),
|
||||
false);
|
||||
// target creature gains menace and gets +X/+0 until end of turn,
|
||||
// where X is the number of creature cards in your graveyard.
|
||||
DynamicValue xValue = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE);
|
||||
ability.addEffect(new BoostTargetEffect(
|
||||
xValue, StaticValue.get(0),
|
||||
Duration.EndOfTurn, true
|
||||
).setText("and gets +X/+0 until end of turn, "
|
||||
+ "where X is the number of creature cards in your graveyard")
|
||||
);
|
||||
+ "where X is the number of creature cards in your graveyard. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>")); // Must be here to match Oracle text
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
ability.withFlavorWord("Undergrowth");
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -21,7 +21,7 @@ public final class MysticRedaction extends CardImpl {
|
|||
|
||||
// At the beginning of your upkeep, scry 1.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
|
||||
new ScryEffect(1), TargetController.YOU, false
|
||||
new ScryEffect(1, false), TargetController.YOU, false
|
||||
));
|
||||
|
||||
// Whenever you discard a card, each opponent mills two cards.
|
||||
|
|
|
@ -45,7 +45,7 @@ public final class NikaraLairScavenger extends CardImpl {
|
|||
this.addAbility(new PartnerWithAbility("Yannik, Scavenging Sentinel"));
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Whenever another creature you control leaves the battlefield, if it had one or more counters on it, you draw a card and lose 1 life.
|
||||
Ability ability = new LeavesBattlefieldAllTriggeredAbility(new DrawCardSourceControllerEffect(1)
|
||||
|
|
|
@ -37,7 +37,8 @@ public final class NimanaSkitterSneak extends CardImpl {
|
|||
));
|
||||
ability.addEffect(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(new MenaceAbility()),
|
||||
CardsInOpponentGraveyardCondition.EIGHT, "and has menace"
|
||||
CardsInOpponentGraveyardCondition.EIGHT, "and has menace. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>"
|
||||
));
|
||||
this.addAbility(ability.addHint(CardsInOpponentGraveyardCondition.EIGHT.getHint()));
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class NoEscape extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
||||
|
||||
// Scry 1.
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1, false));
|
||||
}
|
||||
|
||||
private NoEscape(final NoEscape card) {
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class NoxiousGearhulk extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// When Noxious Gearhulk enters the battlefield, you may destroy another target creature. If a creature is destroyed this way, you gain life equal to its toughness.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new NoxiousGearhulkEffect());
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class NullpriestOfOblivion extends CardImpl {
|
|||
this.addAbility(new KickerAbility("{3}{B}"));
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Lifelink
|
||||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
|
|
@ -29,7 +29,7 @@ public final class OggyarBattleSeer extends CardImpl {
|
|||
this.addAbility(HasteAbility.getInstance());
|
||||
|
||||
// {T}: Scry 1.
|
||||
this.addAbility(new SimpleActivatedAbility(new ScryEffect(1), new TapSourceCost()));
|
||||
this.addAbility(new SimpleActivatedAbility(new ScryEffect(1, false), new TapSourceCost()));
|
||||
}
|
||||
|
||||
private OggyarBattleSeer(final OggyarBattleSeer card) {
|
||||
|
|
|
@ -41,7 +41,8 @@ public final class OgreErrant extends CardImpl {
|
|||
// Whenever Ogre Errant attacks, another target attacking Knight gains menace until end of turn.
|
||||
Ability ability = new AttacksTriggeredAbility(new GainAbilityTargetEffect(
|
||||
new MenaceAbility(), Duration.EndOfTurn
|
||||
).setText("another target attacking Knight gains menace until end of turn"), false);
|
||||
).setText("another target attacking Knight gains menace until end of turn." +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>"), false);
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue