mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
Menace is now a singleton like other keywords
This commit is contained in:
parent
6cb4299b5a
commit
b83e12f51c
93 changed files with 110 additions and 103 deletions
|
@ -51,7 +51,7 @@ public class AdroitHateflayer extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Whenever Adroit Hateflayer attacks, each opponent loses 2 life.
|
||||
this.addAbility(new AttacksTriggeredAbility(new LoseLifeOpponentsEffect(2), false));
|
||||
|
|
|
@ -50,7 +50,7 @@ public class AlleyStrangler extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public AlleyStrangler(final AlleyStrangler card) {
|
||||
|
|
|
@ -49,7 +49,7 @@ public class AradaraExpress extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
// Crew 4
|
||||
this.addAbility(new CrewAbility(4));
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ public class AtarkaPummeler extends CardImpl {
|
|||
// <i>Formidable</i> - {3}{R}{R}: Creatures you control gain menace until end of turn. Activate this ability only if creature you control have total power 8 or greater. (They can't be blocked except by two or more creatures.)
|
||||
Ability ability = new ActivateIfConditionActivatedAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new GainAbilityAllEffect(new MenaceAbility(), Duration.EndOfTurn, filter),
|
||||
new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.EndOfTurn, filter),
|
||||
new ManaCostsImpl("{3}{R}{R}"),
|
||||
FormidableCondition.instance);
|
||||
ability.setAbilityWord(AbilityWord.FORMIDABLE);
|
||||
|
|
|
@ -62,7 +62,7 @@ public class BelligerentSliver extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Sliver creatures you control have menace. (They can't be blocked except by two or more creatures.)"
|
||||
Effect effect = new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter);
|
||||
Effect effect = new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.WhileOnBattlefield, filter);
|
||||
effect.setText("Sliver creatures you control have menace. (They can't be blocked except by two or more creatures.)");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public class BloodChinRager extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Whenever Blood-Chin Rager attacks, Warrior creatures you control gain menace until end of turn. (They can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new AttacksTriggeredAbility(new GainAbilityAllEffect(new MenaceAbility(), Duration.EndOfTurn, filter), false));
|
||||
this.addAbility(new AttacksTriggeredAbility(new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.EndOfTurn, filter), false));
|
||||
}
|
||||
|
||||
public BloodChinRager(final BloodChinRager card) {
|
||||
|
|
|
@ -60,7 +60,7 @@ public class BobaFett extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Deathtouch
|
||||
this.addAbility(DeathtouchAbility.getInstance());
|
||||
|
|
|
@ -48,7 +48,7 @@ public class BoggartBrute extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public BoggartBrute(final BoggartBrute card) {
|
||||
|
|
|
@ -65,7 +65,7 @@ public class BontuTheGlorified extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
//Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
//Indestructible
|
||||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
|
|
@ -59,7 +59,7 @@ public class BullRancor extends CardImpl {
|
|||
|
||||
// As long as Bull Rancor is monstrous, creatures you control have menace.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
new GainAbilityControlledEffect(new MenaceAbility(), Duration.WhileOnBattlefield),
|
||||
new GainAbilityControlledEffect(MenaceAbility.getInstance(), Duration.WhileOnBattlefield),
|
||||
MonstrousCondition.instance,
|
||||
"As long as Bull Rancor is monstrous, creatures you control have menace")
|
||||
));
|
||||
|
|
|
@ -66,13 +66,13 @@ public class CaterwaulingBoggart extends CardImpl {
|
|||
|
||||
// Each Goblin you control has menace. (They can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
|
||||
new MenaceAbility(),
|
||||
MenaceAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield, filterGoblin,
|
||||
"Each Goblin you control has menace. (They can't be blocked except by two or more creatures.)")));
|
||||
|
||||
// Each Elemental you control has menace. (They can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
|
||||
new MenaceAbility(),
|
||||
MenaceAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield, filterElemental,
|
||||
"Each Elemental you control has menace. (They can't be blocked except by two or more creatures.)")));
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ public 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 effect = new GainAbilityAttachedEffect(MenaceAbility.getInstance(), AttachmentType.EQUIPMENT);
|
||||
effect.setText("and has menace");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -61,13 +61,13 @@ public class ChitteringHost extends MeldCard {
|
|||
this.addAbility(HasteAbility.getInstance());
|
||||
|
||||
// Menace <i>(This creature can't be blocked except by two or more creatures.
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// When Chittering Host enters the battlefield, other creatures you control get +1/+0 and gain menace until end of turn.
|
||||
Effect effect = new BoostControlledEffect(1, 0, Duration.EndOfTurn, true);
|
||||
effect.setText("other creatures you control get +1/+0");
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(effect, false);
|
||||
effect = new GainAbilityAllEffect(new MenaceAbility(), Duration.EndOfTurn, new FilterControlledCreaturePermanent("other creatures"), true);
|
||||
effect = new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent("other creatures"), true);
|
||||
effect.setText("and gain menace until end of turn");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -50,7 +50,7 @@ public class CursedMinotaur extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ public class DarthVader extends CardImpl {
|
|||
this.nightCard = true;
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Lifelink
|
||||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
|
|
@ -52,7 +52,7 @@ public class Demoralize extends CardImpl {
|
|||
|
||||
|
||||
// All creatures gain menace until end of turn. (They can't be blocked except by two or more creatures.)
|
||||
this.getSpellAbility().addEffect(new GainAbilityAllEffect(new MenaceAbility(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
|
||||
this.getSpellAbility().addEffect(new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
|
||||
|
||||
// Threshold — If seven or more cards are in your graveyard, creatures can't block this turn.
|
||||
this.getSpellAbility().addEffect(
|
||||
|
|
|
@ -50,7 +50,7 @@ public class DeputizedProtester extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
// Melee
|
||||
this.addAbility(new MeleeAbility());
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ public class DerangedWhelp extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public DerangedWhelp(final DerangedWhelp card) {
|
||||
|
|
|
@ -58,7 +58,7 @@ public class Dreamstealer extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// When Dreamstealer deals combat damage to a player, that player discards that many cards.
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DreamstealerDiscardEffect(), false, true));
|
||||
|
|
|
@ -63,7 +63,7 @@ public class DrivenDespair extends SplitCard {
|
|||
// Aftermath
|
||||
((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true));
|
||||
// Until end of turn, creatures you control gain menace and "Whenever this creature deals combat damage to a player, that player discards a card."
|
||||
getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn));
|
||||
getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(MenaceAbility.getInstance(), Duration.EndOfTurn));
|
||||
ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1), false, true);
|
||||
getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn)
|
||||
.setText("and \"Whenever this creature deals combat damage to a player, that player discards a card.\""));
|
||||
|
|
|
@ -59,7 +59,7 @@ public class EmberhornMinotaur extends CardImpl {
|
|||
Effect effect = new BoostSourceEffect(1, 1, Duration.EndOfTurn);
|
||||
effect.setText("it gets +1/+1");
|
||||
BecomesExertSourceTriggeredAbility ability = new BecomesExertSourceTriggeredAbility(effect);
|
||||
effect = new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn);
|
||||
effect = new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.EndOfTurn);
|
||||
effect.setText("and gains menace until end of turn");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(new ExertAbility(ability));
|
||||
|
|
|
@ -60,7 +60,7 @@ public class EmbraalBruiser extends CardImpl {
|
|||
|
||||
// Embraal Bruiser has menace as long as you control an artifact.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(new MenaceAbility()),
|
||||
new GainAbilitySourceEffect(MenaceAbility.getInstance()),
|
||||
new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT),
|
||||
"{this} has menace as long as you control an artifact")));
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ public class FathomFleetCaptain extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// 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 ConditionalTriggeredAbility(
|
||||
|
|
|
@ -55,7 +55,7 @@ public class FiremantleMage extends CardImpl {
|
|||
|
||||
// <i>Rally</i> — Whenver Firemantle Mage or another Ally enters the battlefield under your control, creatures you control gain menace until end of turn.
|
||||
this.addAbility(new AllyEntersBattlefieldTriggeredAbility(
|
||||
new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), false));
|
||||
new GainAbilityControlledEffect(MenaceAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), false));
|
||||
}
|
||||
|
||||
public FiremantleMage(final FiremantleMage card) {
|
||||
|
|
|
@ -53,7 +53,7 @@ public class FlamebladeAdept extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// 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)));
|
||||
|
|
|
@ -60,7 +60,7 @@ public class GatstafRavagers extends CardImpl {
|
|||
this.nightCard = true;
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Gatstaf Ravagers.
|
||||
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
|
||||
this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
|
||||
|
|
|
@ -51,7 +51,7 @@ public class GeyserfieldStalker extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
// <i>Landfall</i> - Whenever a land enters the battlefield under your control, Geyserfield Stalker gets +2/+2 until end of turn.
|
||||
this.addAbility(new LandfallAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), false));
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ public class GiantSpectacle 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 effect = new GainAbilityAttachedEffect(MenaceAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText("and has menace");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -66,7 +66,7 @@ public class GiltLeafWinnower extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// When Gilt-Leaf Winnower enters the battlefield, you may destroy target non-Elf creature whose power and toughness aren't equal.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true);
|
||||
|
|
|
@ -60,7 +60,7 @@ public class GlintSleeveSiphoner extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Whenever Glint-Sleeve Siphoner enters the battlefield or attacks, you get {E}.
|
||||
this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(new GetEnergyCountersControllerEffect(1)));
|
||||
|
|
|
@ -72,7 +72,7 @@ public class GoblinDarkDwellers extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// 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.
|
||||
|
|
|
@ -54,7 +54,7 @@ public class GoblinFreerunner extends CardImpl {
|
|||
addAbility(new SurgeAbility(this, "{1}{R}"));
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public GoblinFreerunner(final GoblinFreerunner card) {
|
||||
|
|
|
@ -62,7 +62,7 @@ public class GoblinGloryChaser extends CardImpl {
|
|||
|
||||
// As long as Goblin Glory Chaser is renowned, it has menace.
|
||||
Effect effect = new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(new MenaceAbility(), Duration.WhileOnBattlefield),
|
||||
new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.WhileOnBattlefield),
|
||||
RenownedSourceCondition.instance,
|
||||
"As long as {this} is renowned, it has menace");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
|
|
|
@ -56,7 +56,7 @@ import mage.filter.predicate.permanent.ControllerPredicate;
|
|||
|
||||
|
||||
// Creatures you control have menace. (They can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
public GoblinWarDrums(final GoblinWarDrums card) {
|
||||
|
|
|
@ -56,7 +56,7 @@ public class GorillaWarCry extends CardImpl {
|
|||
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(TurnPhase.COMBAT, BeforeBlockersAreDeclaredCondition.instance));
|
||||
|
||||
// All creatures gain menace until end of turn. <i>(They can't be blocked except by two or more creatures.)</i>
|
||||
Effect effect = new GainAbilityAllEffect(new MenaceAbility(), Duration.EndOfTurn, new FilterCreaturePermanent());
|
||||
Effect effect = new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent());
|
||||
effect.setText("All creatures gain menace until end of turn. <i>(They can't be blocked except by two or more creatures.)</i>");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ public class GrafHarvest extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}");
|
||||
|
||||
// Zombies you control have menace.
|
||||
Effect effect = new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter);
|
||||
Effect effect = new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.WhileOnBattlefield, filter);
|
||||
effect.setText("Zombies you control have menace. <i>(They can't be blocked except by two or more creatures.)</i>");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ public class GraniticTitan extends CardImpl {
|
|||
toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
addAbility(new MenaceAbility());
|
||||
addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Cycling {2}
|
||||
addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
|
||||
|
|
|
@ -54,7 +54,7 @@ public class GruulNodorog extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
//{R}: Gruul Nodorog gains menace until end of turn. (It can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
|
||||
}
|
||||
|
||||
public GruulNodorog(final GruulNodorog card) {
|
||||
|
|
|
@ -60,7 +60,7 @@ public 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(MenaceAbility.getInstance(), Duration.WhileOnBattlefield, filter));
|
||||
ability.addEffect(new BoostAllEffect(1,0, Duration.WhileOnBattlefield, filter, false));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ public class HordeOfBoggarts extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public HordeOfBoggarts(final HordeOfBoggarts card) {
|
||||
|
|
|
@ -60,7 +60,7 @@ public class HoundOfTheFarbogs extends CardImpl {
|
|||
|
||||
// <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));
|
||||
new ConditionalContinuousEffect(new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.WhileOnBattlefield), DeliriumCondition.instance, RULE));
|
||||
ability.setAbilityWord(AbilityWord.DELIRIUM);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ public class IkraShidiqiTheUsurper extends CardImpl {
|
|||
this.toughness = new MageInt(7);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Whenever a creature you control deals combat damage to a player, you gain life equal to that creature's toughness.
|
||||
this.addAbility(new IkraShidiqiTheUsurperTriggeredAbility());
|
||||
|
|
|
@ -63,7 +63,7 @@ public class ImposingVisage extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature has menace. (It can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(MenaceAbility.getInstance(), AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
public ImposingVisage(final ImposingVisage card) {
|
||||
|
|
|
@ -54,7 +54,7 @@ public class InsolentNeonate extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
// Discard a card, Sacrifice Insolent Neonate: Draw a card.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new DiscardCardCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
@ -64,7 +64,7 @@ public class IreShaman extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Megamorph {R}
|
||||
this.addAbility(new MorphAbility(this, new ManaCostsImpl("{R}"), true));
|
||||
|
|
|
@ -75,7 +75,7 @@ public class IroasGodOfVictory extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
|
||||
// Creatures you control have menace. (They can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
|
||||
|
||||
// Prevent all damage that would be dealt to attacking creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PreventAllDamageToAllEffect(Duration.WhileOnBattlefield, filterAttacking)));
|
||||
|
|
|
@ -71,7 +71,7 @@ public class JangoFett extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Haste
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
|
|
|
@ -64,7 +64,7 @@ public class KariZevSkyshipRaider extends CardImpl {
|
|||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// 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));
|
||||
|
|
|
@ -53,7 +53,7 @@ public class KederektCreeper extends CardImpl {
|
|||
this.addAbility(DeathtouchAbility.getInstance());
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public KederektCreeper(final KederektCreeper card) {
|
||||
|
|
|
@ -54,7 +54,7 @@ public class KhenraScrapper extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// 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))));
|
||||
|
|
|
@ -67,7 +67,7 @@ public class KheruMindEater extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Whenever Kheru Mind-Eater deals combat damage to a player, that player exiles a card from his or her hand face down.
|
||||
this.addAbility(new DealsDamageToAPlayerTriggeredAbility(new KheruMindEaterExileEffect(), false, true));
|
||||
|
|
|
@ -79,7 +79,7 @@ public class KozilekTheGreatDistortion extends CardImpl {
|
|||
new CardsInHandCondition(ComparisonType.FEWER_THAN, 7),
|
||||
"When you cast {this}, if you have fewer than seven cards in hand, draw cards equal to the difference."));
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// 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());
|
||||
|
|
|
@ -63,7 +63,7 @@ public class KozileksShrieker extends CardImpl {
|
|||
Effect effect = new BoostSourceEffect(1, 0, Duration.EndOfTurn);
|
||||
effect.setText("{this} gets +1/+0");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{C}"));
|
||||
effect = new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn);
|
||||
effect = new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.EndOfTurn);
|
||||
effect.setText("and gains menace until end of turn");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -65,7 +65,7 @@ public class LordOfTheAccursed extends CardImpl {
|
|||
|
||||
//{2}{B}, Tap: All Zombies gain menace until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
|
||||
new MenaceAbility(),
|
||||
MenaceAbility.getInstance(),
|
||||
Duration.EndOfTurn,
|
||||
filter, "All Zombies gains menace until end of turn."),
|
||||
new ManaCostsImpl("{1}{B}"));
|
||||
|
|
|
@ -56,7 +56,7 @@ public class LoseCalm extends CardImpl {
|
|||
this.getSpellAbility().addEffect(effect);
|
||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn, "It gains haste until end of turn"));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
effect = new GainAbilityTargetEffect(new MenaceAbility(), Duration.EndOfTurn);
|
||||
effect = new GainAbilityTargetEffect(MenaceAbility.getInstance(), Duration.EndOfTurn);
|
||||
effect.setText("and menace until end of turn. (A creature with menace can't be blocked except by two or more creatures.) ");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ public 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(MenaceAbility.getInstance(), AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
public MadcapSkills(final MadcapSkills card) {
|
||||
|
|
|
@ -187,7 +187,7 @@ class MajesticMyriarchEffect extends OneShotEffect {
|
|||
|
||||
// Menace
|
||||
if (game.getBattlefield().contains(filterMenace, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
}
|
||||
|
||||
// Reach
|
||||
|
|
|
@ -76,7 +76,7 @@ public class MathasFiendSeeker extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// 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);
|
||||
|
|
|
@ -50,7 +50,7 @@ public class MaulfistSquad extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Fabricate 1
|
||||
this.addAbility(new FabricateAbility(1));
|
||||
|
|
|
@ -60,7 +60,7 @@ public class MoonriseIntruder extends CardImpl {
|
|||
this.transformable = true;
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Moonrise Intruder.
|
||||
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
|
||||
|
|
|
@ -64,7 +64,7 @@ public class MorkrutNecropod extends CardImpl {
|
|||
this.toughness = new MageInt(7);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Whenever Morkrut Necropod attacks or blocks, sacrifice another creature or land.
|
||||
this.addAbility(new AttacksOrBlocksTriggeredAbility(new SacrificeControllerEffect(filter, 1, ""), false));
|
||||
|
|
|
@ -64,7 +64,7 @@ public class NoxiousGearhulk extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// 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());
|
||||
|
|
|
@ -161,7 +161,7 @@ class OdricLunarchMarshalEffect extends OneShotEffect {
|
|||
|
||||
// Menace
|
||||
if (game.getBattlefield().contains(filterMenace, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn, filterCreatures), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(MenaceAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Reach
|
||||
|
|
|
@ -70,7 +70,7 @@ public class PlagueBelcher extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// When Plague Belcher enters the battlefield, put two -1/-1 counters on target creature you control.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.M1M1.createInstance(2)));
|
||||
|
|
|
@ -60,11 +60,11 @@ public class PurphorossEmissary extends CardImpl {
|
|||
this.addAbility(new BestowAbility(this, "{6}{R}"));
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Enchanted creature gets +3/+3 and and has menace.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3,3));
|
||||
Effect effect = new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.AURA);
|
||||
Effect effect = new GainAbilityAttachedEffect(MenaceAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText("and has menace");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -62,7 +62,7 @@ public class PyreheartWolf extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Whenever Pyreheart Wolf attacks, creatures you control gain menace until end of turn. (They can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new AttacksTriggeredAbility(new GainAbilityAllEffect(new MenaceAbility(), Duration.EndOfTurn, filter), false));
|
||||
this.addAbility(new AttacksTriggeredAbility(new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.EndOfTurn, filter), false));
|
||||
|
||||
// Undying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.)
|
||||
this.addAbility(new UndyingAbility());
|
||||
|
|
|
@ -71,7 +71,7 @@ public class RampagingFerocidon extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Players can't gain life.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RampagingFerocidonEffect()));
|
||||
|
|
|
@ -63,7 +63,7 @@ public class RelentlessDead extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// When Relentless Dead dies, you may pay {B}. If you do, return it to its owner's hand.
|
||||
this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new ReturnToHandSourceEffect(), new ManaCostsImpl("{B}"))));
|
||||
|
|
|
@ -49,7 +49,7 @@ public class RipscalePredator extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Ripscale Predator can't be blocked except by two or more creatures.
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public RipscalePredator(final RipscalePredator card) {
|
||||
|
|
|
@ -60,7 +60,7 @@ public class ScroungedScythe extends CardImpl {
|
|||
|
||||
// As long as equipped creature is a Human, it has menace.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.EQUIPMENT),
|
||||
new ConditionalContinuousEffect(new GainAbilityAttachedEffect(MenaceAbility.getInstance(), AttachmentType.EQUIPMENT),
|
||||
new EquippedHasSubtypeCondition(SubType.HUMAN), staticText)));
|
||||
|
||||
// Equip {2}
|
||||
|
|
|
@ -59,7 +59,7 @@ public class SearingSpearAskari extends CardImpl {
|
|||
this.addAbility(new FlankingAbility());
|
||||
|
||||
// {1}{R}: Searing Spear Askari gains menace until end of turn. (It can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
|
||||
}
|
||||
|
||||
public SearingSpearAskari(final SearingSpearAskari card) {
|
||||
|
|
|
@ -50,7 +50,7 @@ public class ShatterskullRecruit extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public ShatterskullRecruit(final ShatterskullRecruit card) {
|
||||
|
|
|
@ -61,7 +61,7 @@ public class SinProdder extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// At the beginning of your upkeep, reveal the top card of your library. Any opponent may have you put that card into your graveyard. If a player does,
|
||||
// Sin Prodder deals damage to that player equal to that card's converted mana cost. Otherwise, put that card into your hand.
|
||||
|
|
|
@ -62,7 +62,7 @@ public class SinuousVermin extends CardImpl {
|
|||
// As long as Sinuous Vermin is monstrous, it has menace.
|
||||
Ability ability = new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(new GainAbilitySourceEffect(new MenaceAbility(), Duration.WhileOnBattlefield),
|
||||
new ConditionalContinuousEffect(new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.WhileOnBattlefield),
|
||||
MonstrousCondition.instance,
|
||||
"As long as {this} is monstrous, it has menace"));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -59,7 +59,7 @@ public class SithLord extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Sith Lord enters the battlefield with X +1/+1 counters on it, where X is the total life lost by your opponents this turn.
|
||||
this.addAbility(new EntersBattlefieldAbility(new SithLordEffect(), rule));
|
||||
|
|
|
@ -53,7 +53,7 @@ public class SkyTerror extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ public class StormbloodBerserker extends CardImpl {
|
|||
|
||||
this.addAbility(new BloodthirstAbility(2));
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public StormbloodBerserker(final StormbloodBerserker card) {
|
||||
|
|
|
@ -65,7 +65,7 @@ public class SummitApes extends CardImpl {
|
|||
|
||||
// As long as you control a Mountain, Summit Apes has menace. (It can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(new GainAbilitySourceEffect(new MenaceAbility()), new PermanentsOnTheBattlefieldCondition(filter), rule)));
|
||||
new ConditionalContinuousEffect(new GainAbilitySourceEffect(MenaceAbility.getInstance()), new PermanentsOnTheBattlefieldCondition(filter), rule)));
|
||||
}
|
||||
|
||||
public SummitApes(final SummitApes card) {
|
||||
|
|
|
@ -54,7 +54,7 @@ public class SweatworksBrawler extends CardImpl {
|
|||
addAbility(new ImproviseAbility());
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public SweatworksBrawler(final SweatworksBrawler card) {
|
||||
|
|
|
@ -76,7 +76,7 @@ public class TerrorOfKruinPass extends CardImpl {
|
|||
|
||||
this.addAbility(DoubleStrikeAbility.getInstance());
|
||||
// Werewolves you control have menace. (They can't be blocked except by two or more creatures.)
|
||||
Effect effect = new ConditionalContinuousEffect(new GainAbilityAllEffect(new MenaceAbility(), Duration.Custom, filter), new TransformedCondition(), ruleText);
|
||||
Effect effect = new ConditionalContinuousEffect(new GainAbilityAllEffect(MenaceAbility.getInstance(), Duration.Custom, filter), new TransformedCondition(), ruleText);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
|
||||
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Terror of Kruin Pass.
|
||||
|
|
|
@ -59,7 +59,7 @@ public class ThrabenFoulbloods extends CardImpl {
|
|||
// <i>Delirium</i> — Thraben Foulbloods gets +1/+1 and 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>
|
||||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), DeliriumCondition.instance, "<i>Delirium</i> — {this} gets +1/+1");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(new MenaceAbility()), DeliriumCondition.instance,
|
||||
ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(MenaceAbility.getInstance()), DeliriumCondition.instance,
|
||||
"and 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>"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ public class TwoHeadedDragon extends CardImpl {
|
|||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2,0, Duration.EndOfTurn),new ManaCostsImpl("{1}{R}")));
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
|
||||
// Two-Headed Dragon can block an additional creature each combat.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect()));
|
||||
|
|
|
@ -56,7 +56,7 @@ public class TwoHeadedSliver extends CardImpl {
|
|||
|
||||
// All Sliver creatures have menace. (They can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
|
||||
new MenaceAbility(),
|
||||
MenaceAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_SLIVERS,
|
||||
"All Sliver creatures have menace. <i>(They can't be blocked except by two or more creatures.)</i>")));
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ public class UntamedHunger 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 effect = new GainAbilityAttachedEffect(MenaceAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText("and has menace");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -49,7 +49,7 @@ public class ViashinoRunner extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public ViashinoRunner(final ViashinoRunner card) {
|
||||
|
|
|
@ -50,7 +50,7 @@ public class VineKami extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
this.addAbility(new SoulshiftAbility(6));
|
||||
}
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ public class WaywardGiant extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public WaywardGiant(final WaywardGiant card) {
|
||||
|
|
|
@ -55,7 +55,7 @@ public class WeldfastMonitor extends CardImpl {
|
|||
|
||||
// {R}: Weldfast Monitor gains menace until end of turn
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R)));
|
||||
new GainAbilitySourceEffect(MenaceAbility.getInstance(), Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ public class WindSpirit extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
|
||||
public WindSpirit(final WindSpirit card) {
|
||||
|
|
|
@ -105,7 +105,7 @@ public class ExertTest extends CardTestPlayerBase {
|
|||
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
assertAbility(playerA, minotaur, new MenaceAbility(), true);
|
||||
assertAbility(playerA, minotaur, MenaceAbility.getInstance(), true);
|
||||
assertPowerToughness(playerA, minotaur, 5, 4);
|
||||
}
|
||||
|
||||
|
|
|
@ -203,7 +203,7 @@ public class RenownTest extends CardTestPlayerBase {
|
|||
|
||||
Permanent goblin = getPermanent("Goblin Glory Chaser", playerA);
|
||||
Assert.assertEquals("has has renown", true, goblin.isRenowned());
|
||||
assertAbility(playerA, "Goblin Glory Chaser", new MenaceAbility(), true);
|
||||
assertAbility(playerA, "Goblin Glory Chaser", MenaceAbility.getInstance(), true);
|
||||
assertPowerToughness(playerA, "Goblin Glory Chaser", 2, 2);
|
||||
|
||||
assertLife(playerA, 20);
|
||||
|
|
|
@ -5,28 +5,35 @@
|
|||
*/
|
||||
package mage.abilities.keyword;
|
||||
|
||||
import java.io.ObjectStreamException;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.StaticAbility;
|
||||
import mage.abilities.EvasionAbility;
|
||||
import mage.abilities.MageSingleton;
|
||||
import mage.abilities.effects.common.combat.CantBeBlockedByOneEffect;
|
||||
import mage.constants.Zone;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public class MenaceAbility extends StaticAbility {
|
||||
public class MenaceAbility extends EvasionAbility implements MageSingleton {
|
||||
|
||||
public MenaceAbility() {
|
||||
super(Zone.BATTLEFIELD, new CantBeBlockedByOneEffect(2));
|
||||
private static final MenaceAbility instance = new MenaceAbility();
|
||||
|
||||
private Object readResolve() throws ObjectStreamException {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public MenaceAbility(final MenaceAbility ability) {
|
||||
super(ability);
|
||||
public static MenaceAbility getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private MenaceAbility() {
|
||||
this.addEffect(new CantBeBlockedByOneEffect(2));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ability copy() {
|
||||
return new MenaceAbility(this);
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -45,6 +45,6 @@ public class PirateToken extends Token {
|
|||
subtype.add(SubType.PIRATE);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
addAbility(new MenaceAbility());
|
||||
addAbility(MenaceAbility.getInstance());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue