mirror of
https://github.com/magefree/mage.git
synced 2026-01-09 12:22:10 -08:00
refactor: SimpleStaticAbility default zone (cards Q R)
This commit is contained in:
parent
701896bd81
commit
b02898093f
94 changed files with 103 additions and 104 deletions
|
|
@ -27,7 +27,7 @@ public final class QalSismaBehemoth extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Qal Sisma Behemoth can't attack or block unless you pay {2}.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackBlockUnlessPaysSourceEffect(new ManaCostsImpl<>("{2}"), PayCostToAttackBlockEffectImpl.RestrictType.ATTACK_AND_BLOCK)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackBlockUnlessPaysSourceEffect(new ManaCostsImpl<>("{2}"), PayCostToAttackBlockEffectImpl.RestrictType.ATTACK_AND_BLOCK)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class QuagSickness extends CardImpl {
|
|||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
|
||||
PermanentsOnBattlefieldCount amount = new PermanentsOnBattlefieldCount(filter, -1);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(amount, amount, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(amount, amount, Duration.WhileOnBattlefield)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class Quagmire extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}");
|
||||
|
||||
// Creatures with swampwalk can be blocked as though they didn't have swampwalk.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new QuagmireEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new QuagmireEffect()));
|
||||
}
|
||||
|
||||
private Quagmire(final Quagmire card) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class QuestForRenewal extends CardImpl {
|
|||
true, StaticFilters.FILTER_CONTROLLED_A_CREATURE));
|
||||
|
||||
// As long as there are four or more quest counters on Quest for Renewal, untap all creatures you control during each other player's untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new UntapAllDuringEachOtherPlayersUntapStepEffect(StaticFilters.FILTER_CONTROLLED_CREATURES),
|
||||
new SourceHasCounterCondition(CounterType.QUEST, 4, Integer.MAX_VALUE),
|
||||
"As long as there are four or more quest counters on {this}, untap all creatures you control during each other player's untap step.")));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class QuickSliver extends CardImpl {
|
|||
// Flash
|
||||
this.addAbility(FlashAbility.getInstance());
|
||||
// Any player may play Sliver cards as though they had flash.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter, true)));
|
||||
}
|
||||
|
||||
private QuickSliver(final QuickSliver card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class QuickeningLicid extends CardImpl {
|
|||
this.addAbility(new LicidAbility(new ManaCostsImpl<>("{1}{W}"), new ColoredManaCost(ColoredManaSymbol.W)));
|
||||
|
||||
// Enchanted creature has first strike.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
private QuickeningLicid(final QuickeningLicid card) {
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ class QuicksilverFountainEffect extends OneShotEffect {
|
|||
= new ConditionalContinuousEffect(becomesBasicLandTargetEffect,
|
||||
LandHasFloodCounterCondition.instance, staticText);
|
||||
// Bug #6885 Fixed when owner/controller leaves the game the effect still applies
|
||||
SimpleStaticAbility gainAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
SimpleStaticAbility gainAbility = new SimpleStaticAbility(effect);
|
||||
gainAbility.setSourceId(landChosen.getId());
|
||||
gainAbility.getTargets().add(source.getTargets().get(0));
|
||||
game.addEffect(effect, gainAbility);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class QuietusSpike extends CardImpl {
|
|||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
// Equipped creature has deathtouch.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT)));
|
||||
|
||||
// Whenever equipped creature deals combat damage to a player, that player loses half their life, rounded up.
|
||||
this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(new LoseHalfLifeTargetEffect(), "equipped creature", false, true));
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class RabidWombat extends CardImpl {
|
|||
|
||||
// Rabid Wombat gets +2/+2 for each Aura attached to it.
|
||||
AuraAttachedCount count = new AuraAttachedCount(2);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(count, count, Duration.WhileOnBattlefield)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class RacecourseFury extends CardImpl {
|
|||
// Enchanted land has "{T}: Target creature gains haste until end of turn."
|
||||
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new TapSourceCost());
|
||||
gainedAbility.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule)));
|
||||
}
|
||||
|
||||
private RacecourseFury(final RacecourseFury card) {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public final class RadiantArchangel extends CardImpl {
|
|||
|
||||
// Radiant, Archangel gets +1/+1 for each other creature with flying on the battlefield.
|
||||
DynamicValue xValue = new PermanentsOnBattlefieldCount(filter);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(xValue, xValue, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(xValue, xValue, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private RadiantArchangel(final RadiantArchangel card) {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class RaffinesGuidance extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield)));
|
||||
|
||||
// You may cast Raffine's Guidance from your graveyard by paying {2}{W} instead of its mana cost.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new RafinnesGuidancePlayEffect())
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class RageReflection extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}{R}");
|
||||
|
||||
// Creatures you control have double strike.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
|
||||
}
|
||||
|
||||
private RageReflection(final RageReflection card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class Ragemonger extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Minotaur spells you cast cost {B}{R} less to cast. This effect reduces only the amount of colored mana you pay.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, new ManaCostsImpl<>("{B}{R}"))));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, new ManaCostsImpl<>("{B}{R}"))));
|
||||
}
|
||||
|
||||
private Ragemonger(final Ragemonger card) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class RaidersSpoils extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}");
|
||||
|
||||
// Creatures you control get +1/+0.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 0, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 0, Duration.WhileOnBattlefield)));
|
||||
|
||||
// Whenever a Warrior you control deals combat damage to a player, you may pay 1 life. If you do, draw a card.
|
||||
this.addAbility(new RaidersSpoilsTriggeredAbility());
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public final class RaidingParty extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}");
|
||||
|
||||
// Raiding Party can't be the target of white spells or abilities from white sources.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeTargetedSourceEffect(filterWhite, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBeTargetedSourceEffect(filterWhite, Duration.WhileOnBattlefield)));
|
||||
|
||||
// Sacrifice an Orc: Each player may tap any number of untapped white creatures they control. For each creature tapped this way, that player chooses up to two Plains. Then destroy all Plains that weren't chosen this way by any player.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RaidingPartyEffect(), new SacrificeTargetCost(filterOrc)));
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class RainOfGore extends CardImpl {
|
|||
|
||||
|
||||
// If a spell or ability would cause its controller to gain life, that player loses that much life instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RainOfGoreEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RainOfGoreEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public class RainOfRiches extends CardImpl {
|
|||
// You may cast it without paying its mana cost.
|
||||
// Put the exiled cards on the bottom of your library in a random order.)
|
||||
this.addAbility(
|
||||
new SimpleStaticAbility(Zone.BATTLEFIELD, new RainOfRichesGainsCascadeEffect()),
|
||||
new SimpleStaticAbility(new RainOfRichesGainsCascadeEffect()),
|
||||
new RainOfRichesWatcher()
|
||||
);
|
||||
}
|
||||
|
|
@ -157,4 +157,4 @@ class RainOfRichesWatcher extends Watcher {
|
|||
return watcher.playerMap.containsKey(stackObject.getControllerId())
|
||||
&& watcher.playerMap.get(stackObject.getControllerId()).refersTo(((Spell) stackObject).getMainCard(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class RaisedByWolves extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WolfToken(), 2)));
|
||||
// Enchanted creature gets +1/+1 for each Wolf you control.
|
||||
DynamicValue amountOfWolves = new PermanentsOnBattlefieldCount(filter);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(amountOfWolves, amountOfWolves, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(amountOfWolves, amountOfWolves, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private RaisedByWolves(final RaisedByWolves card) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class RakdosLordOfRiots extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Creature spells you cast cost {1} less to cast for each 1 life your opponents have lost this turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RakdosLordOfRiotsCostReductionEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RakdosLordOfRiotsCostReductionEffect()));
|
||||
}
|
||||
|
||||
private RakdosLordOfRiots(final RakdosLordOfRiots card) {
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public final class RakshaGoldenCub extends CardImpl {
|
|||
effect2.setText("and have double strike");
|
||||
|
||||
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect1);
|
||||
Ability ability = new SimpleStaticAbility(effect1);
|
||||
ability.addEffect(effect2);
|
||||
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class RampagingFerocidon extends CardImpl {
|
|||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// Players can't gain life.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new CantGainLifeAllEffect()));
|
||||
|
||||
// Whenever another creature enters the battlefield, Rampaging Ferocidon deals 1 damage to that creature's controller.
|
||||
this.addAbility(new EntersBattlefieldAllTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class Ramroller extends CardImpl {
|
|||
Condition condition = new PermanentsOnTheBattlefieldCondition(filter);
|
||||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostSourceEffect(2, 0,
|
||||
Duration.WhileOnBattlefield), condition, "{this} gets +2/+0 as long as you control another artifact.");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
}
|
||||
|
||||
private Ramroller(final Ramroller card) {
|
||||
|
|
|
|||
|
|
@ -50,10 +50,10 @@ public final class RamunapHydra extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Ramunap Hydra gets +1/+1 as long as you control a Desert.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(new FilterPermanent(SubType.DESERT, "Desert"), 1, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostSourceWhileControlsEffect(new FilterPermanent(SubType.DESERT, "Desert"), 1, 1)));
|
||||
|
||||
// Ramunap Hydra gets +1/+1 as long as there is a Desert card in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RamunapHydraBoostEffect(1, 1)).addHint(DesertControlledOrGraveyardCondition.getHint()));
|
||||
this.addAbility(new SimpleStaticAbility(new RamunapHydraBoostEffect(1, 1)).addHint(DesertControlledOrGraveyardCondition.getHint()));
|
||||
}
|
||||
|
||||
private RamunapHydra(final RamunapHydra card) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class Rancor extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/+0 and has trample.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 0));
|
||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 0));
|
||||
Effect effect = new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText("and has trample");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -45,11 +45,11 @@ public final class RattleblazeScarecrow extends CardImpl {
|
|||
|
||||
// Rattleblaze Scarecrow has persist as long as you control a black creature.
|
||||
ContinuousEffect effect = new GainAbilitySourceEffect(new PersistAbility(), Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(effect, new PermanentsOnTheBattlefieldCondition(filter), rule)));
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(effect, new PermanentsOnTheBattlefieldCondition(filter), rule)));
|
||||
|
||||
// Rattleblaze Scarecrow has haste as long as you control a red creature.
|
||||
ContinuousEffect effect2 = new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(effect2, new PermanentsOnTheBattlefieldCondition(filter2), rule2)));
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(effect2, new PermanentsOnTheBattlefieldCondition(filter2), rule2)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public final class Rattlechains extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// You may cast Spirit spells as though they had flash.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filterCard, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filterCard, false)));
|
||||
}
|
||||
|
||||
private Rattlechains(final Rattlechains card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class RavosSoultender extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Other creatures you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, true)));
|
||||
|
||||
// At the beginning of your upkeep, you may return target creature card from your graveyard to your hand.
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), true);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class RazorfieldRhino extends CardImpl {
|
|||
|
||||
// Metalcraft — Razorfield Rhino gets +2/+2 as long as you control three or more artifacts.
|
||||
ContinuousEffect effect1 = new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(effect1, MetalcraftCondition.instance, "{this} gets +2/+2 as long as you control three or more artifacts"))
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(effect1, MetalcraftCondition.instance, "{this} gets +2/+2 as long as you control three or more artifacts"))
|
||||
.setAbilityWord(AbilityWord.METALCRAFT)
|
||||
.addHint(MetalcraftHint.instance));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class RazorgrassScreen extends CardImpl {
|
|||
// Defender
|
||||
this.addAbility(DefenderAbility.getInstance());
|
||||
// Razorgrass Screen blocks each turn if able.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlocksIfAbleSourceEffect(Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BlocksIfAbleSourceEffect(Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private RazorgrassScreen(final RazorgrassScreen card) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class RazorjawOni extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Black creatures can't block.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAllEffect(filter, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBlockAllEffect(filter, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private RazorjawOni(final RazorjawOni card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class Realmwright extends CardImpl {
|
|||
this.addAbility(new AsEntersBattlefieldAbility(new ChooseBasicLandTypeEffect(Outcome.Neutral)));
|
||||
|
||||
// Lands you control are the chosen type in addition to their other types.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RealmwrightEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RealmwrightEffect()));
|
||||
}
|
||||
|
||||
private Realmwright(final Realmwright card) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class ReaperKing extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Other Scarecrow creatures you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
// Whenever another Scarecrow you control enters, destroy target permanent.
|
||||
Ability ability = new EntersBattlefieldControlledTriggeredAbility(new DestroyTargetEffect(), filterTrigger);
|
||||
ability.addTarget(new TargetPermanent());
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class RebelInformer extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Rebel Informer can't be the target of white spells or abilities from white sources.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeTargetedSourceEffect(filterWhite, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBeTargetedSourceEffect(filterWhite, Duration.WhileOnBattlefield)));
|
||||
|
||||
// {3}: Put target nontoken Rebel on the bottom of its owner's library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(false), new GenericManaCost(3));
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class RecklessCohort extends CardImpl {
|
|||
new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true),
|
||||
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.FEWER_THAN, 1));
|
||||
effect.setText("{this} attacks each combat if able unless you control another Ally");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
}
|
||||
|
||||
private RecklessCohort(final RecklessCohort card) {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class Reclamation extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{W}");
|
||||
|
||||
// Black creatures can't attack unless their controller sacrifices a land for each black creature they control that's attacking.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ReclamationCostToAttackBlockEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new ReclamationCostToAttackBlockEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,14 +25,14 @@ public final class Recycle extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}{G}");
|
||||
|
||||
// Skip your draw step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipDrawStepEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new SkipDrawStepEffect()));
|
||||
|
||||
// Whenever you play a card, draw a card.
|
||||
this.addAbility(new PlayCardTriggeredAbility(TargetController.YOU, Zone.BATTLEFIELD,
|
||||
new DrawCardSourceControllerEffect(1)));
|
||||
|
||||
// Your maximum hand size is two.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MaximumHandSizeControllerEffect(2, Duration.WhileOnBattlefield, HandSizeModification.SET)));
|
||||
this.addAbility(new SimpleStaticAbility(new MaximumHandSizeControllerEffect(2, Duration.WhileOnBattlefield, HandSizeModification.SET)));
|
||||
}
|
||||
|
||||
private Recycle(final Recycle card) {
|
||||
|
|
@ -43,4 +43,4 @@ public final class Recycle extends CardImpl {
|
|||
public Recycle copy() {
|
||||
return new Recycle(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class RedCliffsArmada extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Red Cliffs Armada can't attack unless defending player controls an Island.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND,"an Island"))));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND,"an Island"))));
|
||||
}
|
||||
|
||||
private RedCliffsArmada(final RedCliffsArmada card) {
|
||||
|
|
|
|||
|
|
@ -53,11 +53,11 @@ public final class RedScarab extends CardImpl {
|
|||
|
||||
// Enchanted creature can't be blocked by red creatures.
|
||||
Effect effect = new CantBeBlockedByCreaturesAttachedEffect(Duration.WhileOnBattlefield, filter, AttachmentType.AURA);
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
ability = new SimpleStaticAbility(effect);
|
||||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/+2 as long as an opponent controls a red permanent.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield),
|
||||
new OpponentControlsPermanentCondition(filter2),
|
||||
"Enchanted creature gets +2/+2 as long as an opponent controls a red permanent")));
|
||||
|
|
@ -72,4 +72,3 @@ public final class RedScarab extends CardImpl {
|
|||
return new RedScarab(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class RedemptionArc extends CardImpl {
|
|||
|
||||
Effect effect2 = new GoadAttachedEffect();
|
||||
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
ability.addEffect(effect2);
|
||||
ability.addCustomOutcome(Outcome.Protect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class ReduceInStature extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature has base power and toughness 0/2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetBasePowerToughnessEnchantedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new SetBasePowerToughnessEnchantedEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class ReflexSliver extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// All Sliver creatures have haste.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
|
||||
HasteAbility.getInstance(), Duration.WhileOnBattlefield,
|
||||
filter, "All Sliver creatures have haste.")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class Reflexes extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature has first strike.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class RegalCaracal extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Other Cats you control get +1/+1 and have lifelink.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true));
|
||||
Ability ability = new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true));
|
||||
GainAbilityControlledEffect effect = new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, filter, true);
|
||||
effect.setText("and have lifelink");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class ReinsOfTheVinesteed extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
|
||||
|
||||
// When enchanted creature dies, you may return Reins of the Vinesteed from your graveyard to the battlefield attached to a creature that shares a creature type with that creature.
|
||||
this.addAbility(new DiesAttachedTriggeredAbility(new ReinsOfTheVinesteedEffect(), "enchanted creature", true));
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class RelentlessRaptor extends CardImpl {
|
|||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
// Relentless Raptor attacks or blocks each combat if able.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true).setText("{this} attacks"));
|
||||
Ability ability = new SimpleStaticAbility(new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true).setText("{this} attacks"));
|
||||
ability.addEffect(new BlocksIfAbleSourceEffect(Duration.WhileOnBattlefield).setText("or blocks each combat if able"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class RelentlessRats extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Relentless Rats gets +1/+1 for each other creature on the battlefield named Relentless Rats.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RelentlessRatsEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RelentlessRatsEffect()));
|
||||
|
||||
// A deck can have any number of cards named Relentless Rats.
|
||||
this.getSpellAbility().addEffect(new InfoEffect("A deck can have any number of cards named Relentless Rats."));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class RelicBane extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment));
|
||||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
// Enchanted artifact has "At the beginning of your upkeep, you lose 2 life."
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(
|
||||
new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2)
|
||||
), AttachmentType.AURA)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class RelicWard extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// Enchanted artifact has shroud.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
private RelicWard(final RelicWard card) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class ReliquaryTower extends CardImpl {
|
|||
|
||||
// You have no maximum hand size.
|
||||
Effect effect = new MaximumHandSizeControllerEffect(Integer.MAX_VALUE, Duration.WhileOnBattlefield, HandSizeModification.SET);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
// {tap}: Add {C}.
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class RenegadeFirebrand extends CardImpl {
|
|||
|
||||
// As long as you control a Chandra planeswalker, Renegade Firebrand gets +1/+0 and has first strike.
|
||||
ConditionalContinuousEffect effect1 = new ConditionalContinuousEffect(new BoostSourceEffect(1, 0, Duration.WhileOnBattlefield), new PermanentsOnTheBattlefieldCondition(filter), rule);
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect1);
|
||||
Ability ability = new SimpleStaticAbility(effect1);
|
||||
ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield), new PermanentsOnTheBattlefieldCondition(filter), "and has first strike"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class ResplendentMentor extends CardImpl {
|
|||
|
||||
// White creatures you control have {tap}: You gain 1 life.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new TapSourceCost());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(ability, Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(ability, Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private ResplendentMentor(final ResplendentMentor card) {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public final class Revelation extends CardImpl {
|
|||
this.supertype.add(SuperType.WORLD);
|
||||
|
||||
// Players play with their hands revealed.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayWithHandRevealedEffect(TargetController.ANY)));
|
||||
this.addAbility(new SimpleStaticAbility(new PlayWithHandRevealedEffect(TargetController.ANY)));
|
||||
}
|
||||
|
||||
private Revelation(final Revelation card) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class Reverence extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}{W}");
|
||||
|
||||
// Creatures with power 2 or less can't attack you.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackYouAllEffect(Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackYouAllEffect(Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private Reverence(final Reverence card) {
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class RevokePrivileges extends CardImpl {
|
|||
// Enchanted creature can't attack, block, or crew Vehicles.
|
||||
Effect effect = new CantAttackBlockAttachedEffect(AttachmentType.AURA);
|
||||
effect.setText("Enchanted creature can't attack, block");
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
ability = new SimpleStaticAbility(effect);
|
||||
ability.addEffect(new RevokePrivilegeCantCrewEffect());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class RhonasTheIndomitable extends CardImpl {
|
|||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
||||
// Rhonas, the Indomitable can't attack or block unless you control another creature with power 4 or greater.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RhonasTheIndomitableRestrictionEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RhonasTheIndomitableRestrictionEffect()));
|
||||
|
||||
// {2}{G}: Another target creature gets +2/+0 and gains trample until end of turn.
|
||||
Effect effect = new BoostTargetEffect(2, 0, Duration.EndOfTurn);
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class RhonassMonument extends CardImpl {
|
|||
this.supertype.add(SuperType.LEGENDARY);
|
||||
|
||||
// Green creature spells you cast cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
|
||||
// Whenever you cast a creature spell, target creature you control gets +2/+2 and gains trample until end of turn.
|
||||
Ability ability = new SpellCastControllerTriggeredAbility(new BoostTargetEffect(2, 2, Duration.EndOfTurn)
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class RhoxFaithmender extends CardImpl {
|
|||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
||||
// If you would gain life, you gain twice that much life instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RhoxFaithmenderEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RhoxFaithmenderEffect()));
|
||||
}
|
||||
|
||||
private RhoxFaithmender(final RhoxFaithmender card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class RhoxPikemaster extends CardImpl {
|
|||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter, true)));
|
||||
}
|
||||
|
||||
private RhoxPikemaster(final RhoxPikemaster card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class RidersOfGavony extends CardImpl {
|
|||
this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.Protect)));
|
||||
|
||||
// Human creatures you control have protection from creatures of the chosen type.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RidersOfGavonyGainAbilityControlledEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RidersOfGavonyGainAbilityControlledEffect()));
|
||||
}
|
||||
|
||||
private RidersOfGavony(final RidersOfGavony card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class RidingRonto extends CardImpl {
|
|||
this.addAbility(new MonstrosityAbility("{3}{W}{W}", 3));
|
||||
|
||||
// As long as Riding Ronto is monstrous, it has vigilance
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield),
|
||||
MonstrousCondition.instance,
|
||||
"As long as Riding Ronto is monstrous, it has vigilance")
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class RighteousAuthority extends CardImpl {
|
|||
|
||||
// Enchanted creature gets +1/+1 for each card in its controller's hand.
|
||||
CardsInEnchantedControllerHandCount boost = new CardsInEnchantedControllerHandCount();
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(boost, boost, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(boost, boost, Duration.WhileOnBattlefield)));
|
||||
|
||||
// At the beginning of the draw step of enchanted creature's controller, that player draws an additional card.
|
||||
this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new DrawCardTargetEffect(1)
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public final class RimeTransfusion extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/+1 and has "{S}: This creature can't be blocked this turn except by snow creatures."
|
||||
SimpleStaticAbility ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield));
|
||||
SimpleStaticAbility ability2 = new SimpleStaticAbility(new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield));
|
||||
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.EndOfTurn))),new ManaCostsImpl<>("{S}"));
|
||||
ability2.addEffect(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule));
|
||||
this.addAbility(ability2);
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public final class RimefeatherOwl extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Permanents with ice counters on them are snow.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RimefeatherOwlEffect(Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new RimefeatherOwlEffect(Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private RimefeatherOwl(final RimefeatherOwl card) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class RiotGear extends CardImpl {
|
|||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
// Equipped creature gets +1/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 2)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(1, 2)));
|
||||
|
||||
// Equip {2}
|
||||
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2)));
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class RiotSpikes extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
|
||||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, -1, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, -1, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private RiotSpikes(final RiotSpikes card) {
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class RisenExecutioner extends CardImpl {
|
|||
this.addAbility(new CantBlockAbility());
|
||||
|
||||
// Other Zombie creatures you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
|
||||
// You may cast Risen Executioner from your graveyard if you pay {1} more to cast it for each other creature card in your graveyard.
|
||||
Ability ability = new SimpleStaticAbility(Zone.ALL, new RisenExecutionerCastEffect())
|
||||
|
|
@ -112,4 +112,4 @@ class RisenExecutionerCastEffect extends AsThoughEffectImpl {
|
|||
controller.setCastSourceIdWithAlternateMana(card.getId(), adjustedCost, null, MageIdentifier.RisenExectutionerAlternateCast);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class RitesOfFlourishing extends CardImpl {
|
|||
this.addAbility(new RitesOfFlourishingAbility());
|
||||
|
||||
// Each player may play an additional land on each of their turns.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsAllEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new PlayAdditionalLandsAllEffect()));
|
||||
}
|
||||
|
||||
private RitesOfFlourishing(final RitesOfFlourishing card) {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class RitualOfSteel extends CardImpl {
|
|||
.setText("draw a card at the beginning of the next turn's upkeep")));
|
||||
|
||||
// Enchanted creature gets +0/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(0,2, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(0,2, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private RitualOfSteel(final RitualOfSteel card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class RiverDelta extends CardImpl {
|
|||
Effect effect = new ConditionalContinuousRuleModifyingEffect(new DontUntapInControllersUntapStepSourceEffect(false, true),
|
||||
new SourceHasCounterCondition(CounterType.DEPLETION, 1, Integer.MAX_VALUE));
|
||||
effect.setText("{this} doesn't untap during your untap step if it has a depletion counter on it");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
this.addAbility(ability);
|
||||
// At the beginning of your upkeep, remove a depletion counter from River Delta.
|
||||
Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()));
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class RiverSerpent extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// River Serpent can't attack unless there are five or more cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RiverSerpentEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RiverSerpentEffect()));
|
||||
|
||||
// Cycling {U}
|
||||
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{U}")));
|
||||
|
|
@ -75,4 +75,4 @@ class RiverSerpentEffect extends RestrictionEffect {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class RiversFavor extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1, 1)));
|
||||
}
|
||||
|
||||
private RiversFavor(final RiversFavor card) {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class RoamingThrone extends CardImpl {
|
|||
// Roaming Throne is the chosen type in addition to its other types.
|
||||
ability.addEffect(new EnterAttributeAddChosenSubtypeEffect());
|
||||
this.addAbility(ability);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AddChosenSubtypeEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new AddChosenSubtypeEffect()));
|
||||
|
||||
// If a triggered ability of another creature you control of the chosen type triggers, it triggers an additional time.
|
||||
this.addAbility(new SimpleStaticAbility(new RoamingThroneReplacementEffect()));
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class RobeOfMirrors extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature has shroud.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
private RobeOfMirrors(final RobeOfMirrors card) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class RocHatchling extends CardImpl {
|
|||
// At the beginning of your upkeep, remove a shell counter from Roc Hatchling.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.SHELL.createInstance())));
|
||||
// As long as Roc Hatchling has no shell counters on it, it gets +3/+2 and has flying.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(3, 2, Duration.WhileOnBattlefield),
|
||||
new SourceHasCounterCondition(CounterType.SHELL, 0, 0),
|
||||
"As long as {this} has no shell counters on it, it gets +3/+2"));
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class RockHydra extends CardImpl {
|
|||
// Rock Hydra enters the battlefield with X +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance())));
|
||||
// For each 1 damage that would be dealt to Rock Hydra, if it has a +1/+1 counter on it, remove a +1/+1 counter from it and prevent that 1 damage.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RockHydraEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RockHydraEffect()));
|
||||
// {R}: Prevent the next 1 damage that would be dealt to Rock Hydra this turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToSourceEffect(Duration.EndOfTurn, 1), new ManaCostsImpl<>("{R}")));
|
||||
// {R}{R}{R}: Put a +1/+1 counter on Rock Hydra. Activate this ability only during your upkeep.
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class RockLobster extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Creatures named Scissors Lizard can't attack or block.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackBlockAllEffect(Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackBlockAllEffect(Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private RockLobster(final RockLobster card) {
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public final class RohgahhOfKherKeep extends CardImpl {
|
|||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RohgahhOfKherKeepEffect()));
|
||||
|
||||
// Creatures you control named Kobolds of Kher Keep get +2/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(2, 2, Duration.WhileOnBattlefield, filter, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(2, 2, Duration.WhileOnBattlefield, filter, false)));
|
||||
}
|
||||
|
||||
private RohgahhOfKherKeep(final RohgahhOfKherKeep card) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class RollingStones extends CardImpl {
|
|||
|
||||
|
||||
// Wall creatures can attack as though they didn't have defender.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanAttackAsThoughItDidntHaveDefenderAllEffect(Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CanAttackAsThoughItDidntHaveDefenderAllEffect(Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private RollingStones(final RollingStones card) {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public final class RonaDiscipleOfGix extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// You may cast nonland cards exiled with Rona.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RonaDiscipleOfGixPlayNonLandEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RonaDiscipleOfGixPlayNonLandEffect()));
|
||||
|
||||
// {4}, {T}: Exile the top card of your library.
|
||||
ability = new SimpleActivatedAbility(
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class RonomSerpent extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Ronom Serpent can't attack unless defending player controls a snow land.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(filter)));
|
||||
|
||||
// When you control no snow lands, sacrifice Ronom Serpent.
|
||||
this.addAbility(new ControlsPermanentsControllerTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public final class RooftopStorm extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{5}{U}");
|
||||
|
||||
// You may pay {0} rather than pay the mana cost for Zombie creature spells you cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RooftopStormRuleEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RooftopStormRuleEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class RootSliver extends CardImpl {
|
|||
// Root Sliver can't be countered.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.STACK, new CantBeCounteredSourceEffect()));
|
||||
// Sliver spells can't be countered.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RootSliverEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new RootSliverEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class Roots extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect()));
|
||||
|
||||
// Enchanted creature doesn't untap during its controller's untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepEnchantedEffect()));
|
||||
}
|
||||
|
||||
private Roots(final Roots card) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class RootwaterShaman extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// You may cast Aura spells with enchant creature as though they had flash.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter, false)));
|
||||
}
|
||||
|
||||
private RootwaterShaman(final RootwaterShaman card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class RoughshodMentor extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Green creatures you control have trample.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private RoughshodMentor(final RoughshodMentor card) {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class RubyMedallion extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
||||
|
||||
// Red spells you cast cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
}
|
||||
|
||||
private RubyMedallion(final RubyMedallion card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class RuinationGuide extends CardImpl {
|
|||
// Ingest
|
||||
this.addAbility(new IngestAbility());
|
||||
// Other colorless creatures you control get +1/+0.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 0, Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 0, Duration.WhileOnBattlefield, filter, true)));
|
||||
}
|
||||
|
||||
private RuinationGuide(final RuinationGuide card) {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public final class RuleOfLaw extends CardImpl {
|
|||
|
||||
|
||||
// Each player can't cast more than one spell each turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantCastMoreThanOneSpellEffect(TargetController.ANY)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantCastMoreThanOneSpellEffect(TargetController.ANY)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class RuleOfTwo extends CardImpl {
|
|||
ContinuousEffect boostEffect = new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield);
|
||||
Effect effect = new ConditionalContinuousEffect(boostEffect, new CreatureCountCondition(2, TargetController.YOU),
|
||||
"As long as you control exactly two creatures, those creatures get +2/+0");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
ContinuousEffect deathtouchEffect = new GainAbilityControlledEffect(DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent());
|
||||
effect = new ConditionalContinuousEffect(deathtouchEffect, new CreatureCountCondition(2, TargetController.YOU),
|
||||
"and have deathtouch");
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class RunechantersPike extends CardImpl {
|
|||
Effect effect2 = new BoostEquippedEffect(new RunechantersPikeValue(), StaticValue.get(0));
|
||||
effect.setText("Equipped creature has first strike");
|
||||
effect2.setText(" and gets +X/+0 where X is the number of instant and sorcery cards in your graveyard.");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
ability.addEffect(effect2);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -41,11 +41,11 @@ public final class RunesOfTheDeus extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// As long as enchanted creature is red, it gets +1/+1 and has double strike.
|
||||
SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1"));
|
||||
SimpleStaticAbility redAbility = new SimpleStaticAbility(new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1"));
|
||||
redAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(DoubleStrikeAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.RED), "and has double strike"));
|
||||
this.addAbility(redAbility);
|
||||
// As long as enchanted creature is green, it gets +1/+1 and has trample.
|
||||
SimpleStaticAbility greenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "As long as enchanted creature is green, it gets +1/+1"));
|
||||
SimpleStaticAbility greenAbility = new SimpleStaticAbility(new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "As long as enchanted creature is green, it gets +1/+1"));
|
||||
greenAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and has trample"));
|
||||
this.addAbility(greenAbility);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class Runesword extends CardImpl {
|
|||
// If the creature deals damage to a creature this turn, the creature dealt damage can't be regenerated this turn.
|
||||
ability.addEffect(new RuneswordCantBeRegeneratedEffect());
|
||||
// If a creature dealt damage by the targeted creature would die this turn, exile that creature instead.
|
||||
SimpleStaticAbility ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new DealtDamageToCreatureBySourceDies(this, Duration.Custom));
|
||||
SimpleStaticAbility ability2 = new SimpleStaticAbility(new DealtDamageToCreatureBySourceDies(this, Duration.Custom));
|
||||
ability2.addWatcher(new DamagedByWatcher(false));
|
||||
ability2.setRuleVisible(false);
|
||||
ability.addEffect(new GainAbilityTargetEffect(ability2, Duration.EndOfTurn, null, false).setText(
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class RunnersBane extends CardImpl {
|
|||
// When Runner's Bane enters the battlefield, tap enchanted creature.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect()));
|
||||
// Enchanted creature doesn't untap during its controller's the untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepEnchantedEffect()));
|
||||
}
|
||||
|
||||
private RunnersBane(final RunnersBane card) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue