mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 21:02:08 -08:00
refactor: SimpleStaticAbility default zone (cards G)
This commit is contained in:
parent
d489a11f18
commit
80ec5af4f5
146 changed files with 174 additions and 174 deletions
|
|
@ -29,9 +29,9 @@ public final class GaddockTeeg extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Noncreature spells with converted mana cost 4 or greater can't be cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GaddockTeegReplacementEffect4()));
|
||||
this.addAbility(new SimpleStaticAbility(new GaddockTeegReplacementEffect4()));
|
||||
// Noncreature spells with {X} in their mana costs can't be cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GaddockTeegReplacementEffectX()));
|
||||
this.addAbility(new SimpleStaticAbility(new GaddockTeegReplacementEffectX()));
|
||||
}
|
||||
|
||||
private GaddockTeeg(final GaddockTeeg card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GaeasEmbrace extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// Enchanted creature gets +3/+3 and has trample.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3));
|
||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(3, 3));
|
||||
Effect effect = new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText("and has trample");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GaeasHerald extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Creature spells can't be countered.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantCounterEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new CantCounterEffect()));
|
||||
}
|
||||
|
||||
private GaeasHerald(final GaeasHerald card) {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class GaeasProtector extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Gaea's Protector must be blocked if able.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private GaeasProtector(final GaeasProtector card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GaeasRevenge extends CardImpl {
|
|||
|
||||
this.addAbility(new SimpleStaticAbility(Zone.STACK, new CantBeCounteredSourceEffect()));
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeTargetedSourceEffect(filter, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBeTargetedSourceEffect(filter, Duration.WhileOnBattlefield)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GallowsWarden extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Other Spirit creatures you control get +0/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, filter, true)));
|
||||
}
|
||||
|
||||
private GallowsWarden(final GallowsWarden card) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GalvanicAlchemist extends CardImpl {
|
|||
|
||||
// As long as Galvanic Alchemist is paired with another creature, each of those creatures has "{2}{U}: Untap this creature."
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{2}{U}"));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityPairedEffect(ability, ruleText)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityPairedEffect(ability, ruleText)));
|
||||
}
|
||||
|
||||
private GalvanicAlchemist(final GalvanicAlchemist card) {
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class GalvanicArc extends CardImpl {
|
|||
triggeredAbility.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(triggeredAbility);
|
||||
// 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 GalvanicArc(final GalvanicArc card) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GalvanicJuggernaut extends CardImpl {
|
|||
// Galvanic Juggernaut attacks each turn if able.
|
||||
this.addAbility(new AttacksEachCombatStaticAbility());
|
||||
// Galvanic Juggernaut doesn't untap during your untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
|
||||
// Whenever another creature dies, untap Galvanic Juggernaut.
|
||||
this.addAbility(new DiesCreatureTriggeredAbility(new UntapSourceEffect(), false, true));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public final class GandalfTheWhite extends CardImpl {
|
|||
new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter)
|
||||
));
|
||||
// If a legendary permanent or an artifact entering or leaving the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GandalfTheWhiteDoublingEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GandalfTheWhiteDoublingEffect()));
|
||||
}
|
||||
|
||||
private GandalfTheWhite(final GandalfTheWhite card) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class GaseousForm extends CardImpl {
|
|||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
|
||||
// Prevent all combat damage that would be dealt to and dealt by enchanted creature.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PreventAllDamageToAndByAttachedEffect(Duration.WhileOnBattlefield, "enchanted creature", true)));
|
||||
this.addAbility(new SimpleStaticAbility(new PreventAllDamageToAndByAttachedEffect(Duration.WhileOnBattlefield, "enchanted creature", true)));
|
||||
}
|
||||
|
||||
private GaseousForm(final GaseousForm card) {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class GateSmasher extends CardImpl {
|
|||
// Equipped creature gets +3/+0 and has trample.
|
||||
Effect effect = new BoostEquippedEffect(3, 0);
|
||||
effect.setText("Equipped creature gets +3/+0");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
effect = new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT);
|
||||
effect.setText("and has trample");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GathanRaiders extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Hellbent - Gathan Raiders gets +2/+2 as long as you have no cards in hand.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2,2,Duration.WhileOnBattlefield), HellbentCondition.instance,
|
||||
"<i>Hellbent</i> — {this} gets +2/+2 as long as you have no cards in hand")));
|
||||
// Morph-Discard a card.
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GathererOfGraces extends CardImpl {
|
|||
|
||||
// Gatherer of Graces gets +1/+1 for each Aura attached to it.
|
||||
AuraAttachedCount count = new AuraAttachedCount(1);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(count, count, Duration.WhileOnBattlefield)));
|
||||
|
||||
// Sacrifice an Aura: Regenerate Gatherer of Graces
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new SacrificeTargetCost(filter)));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GauntletOfMight extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
|
||||
|
||||
// Red creatures get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
|
||||
|
||||
// Whenever a Mountain is tapped for mana, its controller adds {R}.
|
||||
ManaEffect effect = new AddManaToManaPoolTargetControllerEffect(new Mana(ColoredManaSymbol.R), "their");
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GavonyIronwright extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Fateful hour - As long as you have 5 or less life, other creatures you control get +1/+4.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostControlledEffect(1, 4, Duration.WhileOnBattlefield, true),
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(new BoostControlledEffect(1, 4, Duration.WhileOnBattlefield, true),
|
||||
FatefulHourCondition.instance, "<br><i>Fateful hour</i> — As long as you have 5 or less life, other creatures you control get +1/+4")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GeistOfTheLonelyVigil extends CardImpl {
|
|||
new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield),
|
||||
DeliriumCondition.instance);
|
||||
effect.setText("<i>Delirium</i> — {this} can attack as though it didn't have defender as long as there are four or more card types among cards in your graveyard");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(CardTypesInGraveyardHint.YOU));
|
||||
this.addAbility(new SimpleStaticAbility(effect).addHint(CardTypesInGraveyardHint.YOU));
|
||||
}
|
||||
|
||||
private GeistOfTheLonelyVigil(final GeistOfTheLonelyVigil card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GeistTrappers extends CardImpl {
|
|||
this.addAbility(new SoulbondAbility());
|
||||
|
||||
// As long as Geist Trappers is paired with another creature, both creatures have reach.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityPairedEffect(ReachAbility.getInstance(), ruleText)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityPairedEffect(ReachAbility.getInstance(), ruleText)));
|
||||
}
|
||||
|
||||
private GeistTrappers(final GeistTrappers card) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GelidShackles extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature can't block, and its activated abilities can't be activated.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockActivateAttachedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBlockActivateAttachedEffect()));
|
||||
|
||||
// {snow}: Enchanted creature gains defender until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DefenderAbility.getInstance(),
|
||||
|
|
|
|||
|
|
@ -23,10 +23,10 @@ public final class GeneralsKabuto extends CardImpl {
|
|||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
// Equipped creature has shroud. (It can't be the target of spells or abilities.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.EQUIPMENT)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.EQUIPMENT)));
|
||||
|
||||
// Prevent all combat damage that would be dealt to equipped creature
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PreventDamageToAttachedEffect(Duration.WhileOnBattlefield, AttachmentType.EQUIPMENT, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new PreventDamageToAttachedEffect(Duration.WhileOnBattlefield, AttachmentType.EQUIPMENT, true)));
|
||||
|
||||
// Equip {2}
|
||||
this.addAbility(new EquipAbility(Outcome.PreventDamage, new GenericManaCost(2)));
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class GeralfsMasterpiece extends CardImpl {
|
|||
DynamicValue count = new SignInversionDynamicValue(CardsInControllerHandCount.instance);
|
||||
Effect effect = new BoostSourceEffect(count, count, Duration.WhileOnBattlefield);
|
||||
effect.setText("{this} gets -1/-1 for each card in your hand");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
// {3}{U}, Discard three cards: Return Geralf's Masterpiece from your graveyard to the battlefield tapped.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true), new ManaCostsImpl<>("{3}{U}"));
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GhalmasWarden extends CardImpl {
|
|||
// Metalcraft — Ghalma’s Warden gets +2/+2 as long as you control three or more artifacts.
|
||||
ContinuousEffect boostSource = new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield);
|
||||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(boostSource, MetalcraftCondition.instance, rule);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)
|
||||
this.addAbility(new SimpleStaticAbility(effect)
|
||||
.setAbilityWord(AbilityWord.METALCRAFT)
|
||||
.addHint(MetalcraftHint.instance)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GhastbarkTwins extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Ghastbark Twins can block an additional creature each combat.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new CanBlockAdditionalCreatureEffect()));
|
||||
}
|
||||
|
||||
private GhastbarkTwins(final GhastbarkTwins card) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GhastlyHaunting extends CardImpl {
|
|||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
|
||||
// You control enchanted creature.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect()));
|
||||
}
|
||||
|
||||
private GhastlyHaunting(final GhastlyHaunting card) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GhirapurOrrery extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
|
||||
|
||||
// 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()));
|
||||
|
||||
// At the beginning of each player's upkeep, if that player has no cards in hand, that player draws three cards.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GhostbladeEidolon extends CardImpl {
|
|||
// Double strike
|
||||
this.addAbility(DoubleStrikeAbility.getInstance());
|
||||
// Enchanted creature gets +1/+1 and has double strike.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1,1));
|
||||
Ability ability = new SimpleStaticAbility(new BoostEnchantedEffect(1,1));
|
||||
Effect effect = new GainAbilityAttachedEffect(DoubleStrikeAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield);
|
||||
effect.setText("and has double strike");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class GhostflameSliver extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// All Slivers are colorless.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GhostflameSliverEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GhostflameSliverEffect()));
|
||||
}
|
||||
|
||||
private GhostflameSliver(final GhostflameSliver card) {
|
||||
|
|
|
|||
|
|
@ -32,10 +32,10 @@ public final class GhostlyPossession extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
//Enchanted creature has flying
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
|
||||
|
||||
//Prevent all combat damage that would be dealt to and dealt by enchanted creature
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PreventAllDamageToAndByAttachedEffect(Duration.WhileOnBattlefield, "enchanted creature", true)));
|
||||
this.addAbility(new SimpleStaticAbility(new PreventAllDamageToAndByAttachedEffect(Duration.WhileOnBattlefield, "enchanted creature", true)));
|
||||
}
|
||||
|
||||
private GhostlyPossession(final GhostlyPossession card) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class GhostlyTouch extends CardImpl {
|
|||
// Enchanted creature has "Whenever this creature attacks, you may tap or untap target permanent."
|
||||
Ability gainedAbility = new AttacksTriggeredAbility(new MayTapOrUntapTargetEffect(), true);
|
||||
gainedAbility.addTarget(new TargetPermanent());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
private GhostlyTouch(final GhostlyTouch card) {
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class GhostlyWings extends CardImpl {
|
|||
// Enchanted creature gets +1/+1 and has flying.
|
||||
Effect effect = new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield);
|
||||
effect.setText("Enchanted creature gets +1/+1");
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
ability = new SimpleStaticAbility(effect);
|
||||
effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText("and has flying");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GhostsOfTheInnocent extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// If a source would deal damage to a creature or player, it deals half that damage, rounded down, to that creature or player instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GhostsOfTheInnocentPreventDamageEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GhostsOfTheInnocentPreventDamageEffect()));
|
||||
}
|
||||
|
||||
private GhostsOfTheInnocent(final GhostsOfTheInnocent card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GiantShark extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Giant Shark can't attack unless defending player controls an Island.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(filter)));
|
||||
|
||||
// Whenever Giant Shark blocks or becomes blocked by a creature that has been dealt damage this turn, Giant Shark gets +2/+0 and gains trample until end of turn.
|
||||
Ability ability = new BlocksOrBlockedByCreatureSourceTriggeredAbility(new BoostSourceEffect(2, 0, Duration.EndOfTurn).setText("{this} gets +2/+0"), filter2);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class GiantSpectacle extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +2/+1 and has menace.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1));
|
||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 1));
|
||||
Effect effect = new GainAbilityAttachedEffect(new MenaceAbility(), AttachmentType.AURA);
|
||||
effect.setText("and has menace");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GiantStrength 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)));
|
||||
}
|
||||
|
||||
private GiantStrength(final GiantStrength card) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class GiantTortoise extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Giant Tortoise gets +0/+3 as long as it's untapped.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(0,3, Duration.WhileOnBattlefield),
|
||||
SourceTappedCondition.UNTAPPED,
|
||||
"{this} gets +0/+3 as long as it's untapped")));
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GiantTurtle extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Giant Turtle can't attack if it attacked during your last turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackIfAttackedLastTurnEffect()), new AttackedLastTurnWatcher());
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackIfAttackedLastTurnEffect()), new AttackedLastTurnWatcher());
|
||||
}
|
||||
|
||||
private GiantTurtle(final GiantTurtle card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GibberingHyenas extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Gibbering Hyenas can't block black creatures.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockCreaturesSourceEffect(filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBlockCreaturesSourceEffect(filter)));
|
||||
}
|
||||
|
||||
private GibberingHyenas(final GibberingHyenas card) {
|
||||
|
|
|
|||
|
|
@ -41,10 +41,10 @@ public final class GideonsIntervention extends CardImpl {
|
|||
this.addAbility(new AsEntersBattlefieldAbility(effect));
|
||||
|
||||
// Your opponents can't cast spells with the chosen name.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GideonsInterventionCantCastEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GideonsInterventionCantCastEffect()));
|
||||
|
||||
// Prevent all damage that would be dealt to you and permanents you control by sources with the chosen name.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GideonsInterventionPreventAllDamageEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GideonsInterventionPreventAllDamageEffect()));
|
||||
}
|
||||
|
||||
private GideonsIntervention(final GideonsIntervention card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GideonsResolve extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryGraveyardPutInHandEffect(filter), true));
|
||||
|
||||
// Creature you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private GideonsResolve(final GideonsResolve card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GiftOfGranite extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// 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 GiftOfGranite(final GiftOfGranite card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GiftOfOrzhova extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature gets +1/+1 and has flying and lifelink.
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1,1, Duration.WhileOnBattlefield));
|
||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(1,1, Duration.WhileOnBattlefield));
|
||||
ability.addEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield)
|
||||
.setText("and has flying"));
|
||||
ability.addEffect(new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield)
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public final class GiftOfParadise extends CardImpl {
|
|||
Ability gainedAbility = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(2), new TapSourceCost());
|
||||
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA);
|
||||
effect.setText("Enchanted land has \"{T}: Add two mana of any one color.\"");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
}
|
||||
|
||||
private GiftOfParadise(final GiftOfParadise card) {
|
||||
|
|
|
|||
|
|
@ -43,12 +43,12 @@ public final class GiftOfTheDeity extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// As long as enchanted creature is black, it gets +1/+1 and has deathtouch.
|
||||
SimpleStaticAbility blackAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "As long as enchanted creature is black, it gets +1/+1"));
|
||||
SimpleStaticAbility blackAbility = new SimpleStaticAbility(new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "As long as enchanted creature is black, it gets +1/+1"));
|
||||
blackAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "and has deathtouch"));
|
||||
this.addAbility(blackAbility);
|
||||
// As long as enchanted creature is green, it gets +1/+1 and all creatures able to block it do so.
|
||||
SimpleStaticAbility greenAbility;
|
||||
greenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN),
|
||||
greenAbility = new SimpleStaticAbility(new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN),
|
||||
"As long as enchanted creature is green, it gets +1/+1"));
|
||||
Effect effect = new ConditionalRequirementEffect(new MustBeBlockedByAllAttachedEffect(AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN));
|
||||
effect.setText("and all creatures able to block it do so");
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GimlisRecklessMight extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}");
|
||||
|
||||
// Creatures you control have haste.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
|
||||
HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
|
||||
// Formidable -- Whenever you attack, if creatures you control have total power 8 or greater, target attacking creature you control fights up to one target creature you don't control.
|
||||
TriggeredAbility ability = new AttacksWithCreaturesTriggeredAbility(new FightTargetsEffect(),1);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class GiveNoGround extends CardImpl {
|
|||
// Target creature gets +2/+6 until end of turn and can block any number of creatures this turn.
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
this.getSpellAbility().addEffect(new BoostTargetEffect(2, 6, Duration.EndOfTurn));
|
||||
Ability gainedAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(0));
|
||||
Ability gainedAbility = new SimpleStaticAbility(new CanBlockAdditionalCreatureEffect(0));
|
||||
Effect effect = new GainAbilityTargetEffect(gainedAbility, Duration.EndOfTurn);
|
||||
effect.setText("and can block any number of creatures this turn");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -34,9 +34,9 @@ public final class GlacialChasm extends CardImpl {
|
|||
// Creatures you control can't attack.
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures you control");
|
||||
filter.add(TargetController.YOU.getControllerPredicate());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackAllEffect(Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackAllEffect(Duration.WhileOnBattlefield, filter)));
|
||||
// Prevent all damage that would be dealt to you.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PreventDamageToControllerEffect(Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new PreventDamageToControllerEffect(Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private GlacialChasm(final GlacialChasm card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GlacialCrasher extends CardImpl {
|
|||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
// Glacial Crasher can't attack unless there is a Mountain on the battlefield.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GlacialCrasherEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GlacialCrasherEffect()));
|
||||
}
|
||||
|
||||
private GlacialCrasher(final GlacialCrasher card) {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public final class GlacialPlating extends CardImpl {
|
|||
DynamicValue boostValue = new MultipliedValue(new CountersSourceCount(CounterType.AGE), 3);
|
||||
Effect effect = new BoostEnchantedEffect(boostValue, boostValue, Duration.WhileOnBattlefield);
|
||||
effect.setText("Enchanted creature gets +3/+3 for each age counter on {this}");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
}
|
||||
|
||||
private GlacialPlating(final GlacialPlating card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class Glaciers extends CardImpl {
|
|||
new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{U}"))));
|
||||
|
||||
// All Mountains are Plains.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GlaciersEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GlaciersEffect()));
|
||||
}
|
||||
|
||||
private Glaciers(final Glaciers card) {
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class Glamdring extends CardImpl {
|
|||
new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_INSTANT_AND_SORCERY), StaticValue.get(0))
|
||||
.setText(" and gets +1/+0 for each instant and sorcery card in your graveyard.");
|
||||
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, firstStrike);
|
||||
Ability ability = new SimpleStaticAbility(firstStrike);
|
||||
ability.addEffect(boost);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GlaringAegis extends CardImpl {
|
|||
this.addAbility(ability2);
|
||||
|
||||
// Enchanted creature gets +1/+3.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 3, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1, 3, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private GlaringAegis(final GlaringAegis card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GlaringSpotlight extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
|
||||
|
||||
// Creatures your opponents control with hexproof can be the targets of spells and abilities you control as though they didn't have hexproof.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GlaringSpotlightEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GlaringSpotlightEffect()));
|
||||
|
||||
// {3}, Sacrifice Glaring Spotlight: Creatures you control gain hexproof until end of turn and can't be blocked this turn.
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public final class GleamOfAuthority extends CardImpl {
|
|||
));
|
||||
|
||||
// Enchanted creature has vigilance and "{W}, {T}: Bloster 1."
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA));
|
||||
ability = new SimpleStaticAbility(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA));
|
||||
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BolsterEffect(1), new ManaCostsImpl<>("{W}"));
|
||||
gainedAbility.addCost(new TapSourceCost());
|
||||
ability.addEffect(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA).setText("and \"{W}, {T}: Bolster 1.\""));
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ public final class GlenElendraLiege extends CardImpl {
|
|||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// Other blue creatures you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterBlue, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterBlue, true)));
|
||||
// Other black creatures you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterBlack, true)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterBlack, true)));
|
||||
}
|
||||
|
||||
private GlenElendraLiege(final GlenElendraLiege card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GlidingLicid extends CardImpl {
|
|||
this.addAbility(new LicidAbility(new ColoredManaCost(ColoredManaSymbol.U), new ColoredManaCost(ColoredManaSymbol.U)));
|
||||
|
||||
// Enchanted creature has flying.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
|
||||
}
|
||||
|
||||
private GlidingLicid(final GlidingLicid card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GlimmerdustNap extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment));
|
||||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
// 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 GlimmerdustNap(final GlimmerdustNap card) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GlisteningOil extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Enchanted creature has infect.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(InfectAbility.getInstance(), AttachmentType.AURA)));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(InfectAbility.getInstance(), AttachmentType.AURA)));
|
||||
|
||||
// At the beginning of your upkeep, put a -1/-1 counter on enchanted creature.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GlisteningOilEffect()));
|
||||
|
|
|
|||
|
|
@ -31,10 +31,10 @@ public final class Gloom extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}");
|
||||
|
||||
// White spells cost {3} more to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostIncreasingAllEffect(3, filter, TargetController.ANY)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostIncreasingAllEffect(3, filter, TargetController.ANY)));
|
||||
|
||||
// Activated abilities of white enchantments cost {3} more to activate.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GloomCostIncreaseEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GloomCostIncreaseEffect()));
|
||||
}
|
||||
|
||||
private Gloom(final Gloom card) {
|
||||
|
|
@ -77,4 +77,4 @@ class GloomCostIncreaseEffect extends CostModificationEffectImpl {
|
|||
public GloomCostIncreaseEffect copy() {
|
||||
return new GloomCostIncreaseEffect(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class GloomSurgeon extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// If combat damage would be dealt to Gloom Surgeon, prevent that damage and exile that many cards from the top of your library.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GloomSurgeonEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GloomSurgeonEffect()));
|
||||
}
|
||||
|
||||
private GloomSurgeon(final GloomSurgeon card) {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public final class GloriousAnthem extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{W}");
|
||||
|
||||
// Creatures you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
|
||||
}
|
||||
|
||||
private GloriousAnthem(final GloriousAnthem card) {
|
||||
|
|
|
|||
|
|
@ -23,14 +23,14 @@ public final class GloryOfWarfare extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}{W}");
|
||||
|
||||
// As long as it’s your turn, creatures you control get +2/+0.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield),
|
||||
MyTurnCondition.instance,
|
||||
"During your turn, creatures you control get +2/+0"))
|
||||
.addHint(MyTurnHint.instance));
|
||||
|
||||
// As long as it’s not your turn, creatures you control get +0/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostControlledEffect(0, 2, Duration.WhileOnBattlefield),
|
||||
NotMyTurnCondition.instance,
|
||||
"During turns other than yours, creatures you control get +0/+2")));
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class Glowrider extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Noncreature spells cost {1} more to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostIncreasingAllEffect(1, filter, TargetController.ANY)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostIncreasingAllEffect(1, filter, TargetController.ANY)));
|
||||
}
|
||||
|
||||
private Glowrider(final Glowrider card) {
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ class GlyphOfDelusionEffect extends OneShotEffect {
|
|||
if (targetPermanent != null) {
|
||||
targetPermanent.addCounters(CounterType.GLYPH.createInstance(targetPermanent.getPower().getValue()), source.getControllerId(), source, game);
|
||||
|
||||
SimpleStaticAbility ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousRuleModifyingEffect(new DontUntapInControllersUntapStepSourceEffect(),
|
||||
SimpleStaticAbility ability = new SimpleStaticAbility(new ConditionalContinuousRuleModifyingEffect(new DontUntapInControllersUntapStepSourceEffect(),
|
||||
new SourceHasCounterCondition(CounterType.GLYPH)).setText("This creature doesn't untap during your untap step if it has a glyph counter on it"));
|
||||
GainAbilityTargetEffect effect = new GainAbilityTargetEffect(ability, Duration.Custom);
|
||||
effect.setTargetPointer(new FixedTarget(targetPermanent.getId(), game));
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GnarledScarhide extends CardImpl {
|
|||
// Gnarled Scarhide can't block.
|
||||
this.addAbility(new CantBlockAbility());
|
||||
// Enchanted creature gets +2/+1 and can't block.
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2,1, Duration.WhileOnBattlefield));
|
||||
Ability ability = new SimpleStaticAbility(new BoostEnchantedEffect(2,1, Duration.WhileOnBattlefield));
|
||||
Effect effect = new CantBlockAttachedEffect(AttachmentType.AURA);
|
||||
effect.setText("and can't block");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GnarlwoodDryad extends CardImpl {
|
|||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), DeliriumCondition.instance,
|
||||
"<i>Delirium</i> — {this} gets +2/+2 as long as there are four or more card types among cards in your graveyard.");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
ability.addHint(CardTypesInGraveyardHint.YOU);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GobhobblerRats extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Hellbent - As long as you have no cards in hand, Gobhobbler Rats gets +1/+0 and has "{B}: Regenerate Gobhobbler Rats."
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(1,0, Duration.WhileOnBattlefield), HellbentCondition.instance, "<i>Hellbent</i> — As long as you have no cards in hand, {this} gets +1/+0"));
|
||||
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"));
|
||||
ability.addEffect(new ConditionalContinuousEffect(
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GoblinBowlingTeam extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// If Goblin Bowling Team would deal damage to a permanent or player, it deals that much damage plus the result of a six-sided die roll to that permanent or player instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GoblinBowlingTeamEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GoblinBowlingTeamEffect()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GoblinBrawler extends CardImpl {
|
|||
// First strike
|
||||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
// Goblin Brawler can't be equipped.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeEquippedSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBeEquippedSourceEffect()));
|
||||
}
|
||||
|
||||
private GoblinBrawler(final GoblinBrawler card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GoblinCaves extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility));
|
||||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
// As long as enchanted land is a basic Mountain, Goblin creatures get +0/+2.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostAllEffect(0, 2, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, false),
|
||||
new AttachedToBasicMountainCondition(),
|
||||
"As long as enchanted land is a basic Mountain, Goblin creatures get +0/+2"
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GoblinChieftain extends CardImpl {
|
|||
// Other Goblin creatures you control get +1/+1 and have haste.
|
||||
Effect effect = new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, true);
|
||||
effect.setText("Other Goblin creatures you control get +1/+1");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
effect = new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, true);
|
||||
effect.setText("and have haste");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GoblinCohort extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Goblin Cohort can't attack unless you've cast a creature spell this turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GoblinCohortEffect()), new PlayerCastCreatureWatcher());
|
||||
this.addAbility(new SimpleStaticAbility(new GoblinCohortEffect()), new PlayerCastCreatureWatcher());
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GoblinDirigible extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// Goblin Dirigible doesn't untap during your untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
|
||||
// At the beginning of your upkeep, you may pay {4}. If you do, untap Goblin Dirigible.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(
|
||||
new UntapSourceEffect(), new ManaCostsImpl<>("{4}"))));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GoblinFireFiend extends CardImpl {
|
|||
this.addAbility(HasteAbility.getInstance());
|
||||
|
||||
//Goblin Fire Fiend must be blocked if able.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield)));
|
||||
|
||||
//{R}: Goblin Fire Fiend gets +1/+0 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GoblinFurrier extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Prevent all damage that Goblin Furrier would deal to snow creatures.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GoblinFurrierPreventEffectEffect(Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new GoblinFurrierPreventEffectEffect(Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
private GoblinFurrier(final GoblinFurrier card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GoblinGaveleer extends CardImpl {
|
|||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
// Goblin Gaveleer gets +2/+0 for each Equipment attached to it.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new EquipmentAttachedCount(2),
|
||||
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(new EquipmentAttachedCount(2),
|
||||
StaticValue.get(0), Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GoblinGloryChaser extends CardImpl {
|
|||
RenownedSourceCondition.instance,
|
||||
"As long as {this} is renowned, it has menace. " +
|
||||
"<i>(It can't be blocked except by two or more creatures.)</i>");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,10 +30,10 @@ public final class GoblinGoon extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Goblin Goon can't attack unless you control more creatures than defending player.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GoblinGoonCantAttackEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GoblinGoonCantAttackEffect()));
|
||||
|
||||
// Goblin Goon can't block unless you control more creatures than attacking player.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GoblinGoonCantBlockEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GoblinGoonCantBlockEffect()));
|
||||
}
|
||||
|
||||
private GoblinGoon(final GoblinGoon card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GoblinKing extends CardImpl {
|
|||
// Other Goblin creatures get +1/+1 and have mountainwalk.
|
||||
Effect effect = new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, true);
|
||||
effect.setText("Other Goblins get +1/+1");
|
||||
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||
Ability ability = new SimpleStaticAbility(effect);
|
||||
effect = new GainAbilityAllEffect(new MountainwalkAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, true);
|
||||
effect.setText("and have mountainwalk");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -48,12 +48,12 @@ public final class GoblinMutant extends CardImpl {
|
|||
// Goblin Mutant can't attack if defending player controls an untapped creature with power 3 or greater.
|
||||
Effect effect = new CantAttackIfDefenderControlsPermanent(filter);
|
||||
effect.setText("{this} can't attack if defending player controls an untapped creature with power 3 or greater.");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
//Goblin Mutant can't block creatures with power 3 or greater.
|
||||
Effect effectBlock = new CantBlockCreaturesSourceEffect(filter2);
|
||||
effectBlock.setText("{this} can't block creatures with power 3 or greater.");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effectBlock));
|
||||
this.addAbility(new SimpleStaticAbility(effectBlock));
|
||||
}
|
||||
|
||||
private GoblinMutant(final GoblinMutant card) {
|
||||
|
|
|
|||
|
|
@ -47,10 +47,10 @@ public final class GoblinRockSled extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Goblin Rock Sled doesn't untap during your untap step if it attacked during your last turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapIfAttackedLastTurnSourceEffect()), new AttackedLastTurnWatcher());
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapIfAttackedLastTurnSourceEffect()), new AttackedLastTurnWatcher());
|
||||
|
||||
// Goblin Rock Sled can't attack unless defending player controls a Mountain.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(filter)));
|
||||
}
|
||||
|
||||
private GoblinRockSled(final GoblinRockSled card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GoblinSharpshooter extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Goblin Sharpshooter doesn't untap during your untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
|
||||
// Whenever a creature dies, untap Goblin Sharpshooter.
|
||||
this.addAbility(new DiesCreatureTriggeredAbility(new UntapSourceEffect(), false));
|
||||
// {T}: Goblin Sharpshooter deals 1 damage to any target.
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public final class GoblinShrine extends CardImpl {
|
|||
|
||||
// As long as enchanted land is a basic Mountain, Goblin creatures get +1/+0.
|
||||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostAllEffect(1, 0, Duration.WhileOnBattlefield, filterGoblin, false), new EnchantedPermanentSubtypeCondition(SubType.MOUNTAIN), rule);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(effect));
|
||||
|
||||
// When Goblin Shrine leaves the battlefield, it deals 1 damage to each Goblin creature.
|
||||
this.addAbility(new LeavesBattlefieldTriggeredAbility(new DamageAllEffect(1, "it", filterGoblin), false));
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public final class GoblinSpy extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Play with the top card of your library revealed.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayWithTheTopCardRevealedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new PlayWithTheTopCardRevealedEffect()));
|
||||
}
|
||||
|
||||
private GoblinSpy(final GoblinSpy card) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ import mage.filter.common.FilterCreaturePermanent;
|
|||
|
||||
|
||||
// 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(new GainAbilityAllEffect(new MenaceAbility(), Duration.WhileOnBattlefield, filter)
|
||||
.setText("creatures you control have menace. <i>(They can't be blocked except by two or more creatures.)</i>")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class GoblinWarPaint extends CardImpl {
|
|||
// Enchanted creature gets +2/+2 and has haste.
|
||||
Effect effect = new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.AURA);
|
||||
effect.setText("and has haste");
|
||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2));
|
||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2));
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GoblinWarWagon extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Goblin War Wagon doesn't untap during your untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
|
||||
// At the beginning of your upkeep, you may pay {2}. If you do, untap Goblin War Wagon.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(
|
||||
new UntapSourceEffect(), new ManaCostsImpl<>("{2}"))));
|
||||
|
|
|
|||
|
|
@ -36,10 +36,10 @@ public final class GoblinWarchief extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Goblin spells you cast cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filterSpells, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filterSpells, 1)));
|
||||
|
||||
// Goblins you control have haste.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(HasteAbility.getInstance(),
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(HasteAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield, new FilterCreaturePermanent(SubType.GOBLIN, "Goblins"), false)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GodEternalKefnet extends CardImpl {
|
|||
|
||||
// You may reveal the first card you draw each turn as you draw it. Whenever you reveal an instant or sorcery card this way,
|
||||
// copy that card and you may cast the copy. That copy costs {2} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GodEternalKefnetDrawCardReplacementEffect()), new CardsAmountDrawnThisTurnWatcher());
|
||||
this.addAbility(new SimpleStaticAbility(new GodEternalKefnetDrawCardReplacementEffect()), new CardsAmountDrawnThisTurnWatcher());
|
||||
|
||||
// When God-Eternal Kefnet dies or is put into exile from the battlefield, you may put it into its owner’s library third from the top.
|
||||
this.addAbility(new GodEternalDiesTriggeredAbility());
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class GodheadOfAwe extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Other creatures have base power and toughness 1/1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetBasePowerToughnessAllEffect(1, 1, Duration.WhileOnBattlefield, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new SetBasePowerToughnessAllEffect(1, 1, Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
private GodheadOfAwe(final GodheadOfAwe card) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GodhunterOctopus extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Godhunter Octopus can't attack unless defending player controls an enchantment or an enchanted permanent.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(filter)));
|
||||
}
|
||||
|
||||
private GodhunterOctopus(final GodhunterOctopus card) {
|
||||
|
|
|
|||
|
|
@ -40,11 +40,11 @@ public final class Godsend extends CardImpl {
|
|||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
// Equipped creature gets +3/+3.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 3, Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(3, 3, Duration.WhileOnBattlefield)));
|
||||
// Whenever equipped creature blocks or becomes blocked by one or more creatures, you may exile one of those creatures.
|
||||
this.addAbility(new GodsendTriggeredAbility());
|
||||
// Opponents can't cast cards with the same name as cards exiled with Godsend.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GodsendRuleModifyingEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GodsendRuleModifyingEffect()));
|
||||
// Equip {3}
|
||||
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), false));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GoldnightCastigator extends CardImpl {
|
|||
|
||||
// If a source would deal damage to you, it deals double that damage to you instead.
|
||||
// If a source would deal damage to Goldnight Castigator, it deals double that damage to Goldkight Castigator instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GoldnightCastigatorDoubleDamageEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GoldnightCastigatorDoubleDamageEffect()));
|
||||
}
|
||||
|
||||
private GoldnightCastigator(final GoldnightCastigator card) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GolemSkinGauntlets extends CardImpl {
|
|||
|
||||
// Equipped creature gets +1/+0 for each Equipment attached to it.
|
||||
// Equip 2 (2: Attach to target creature you control. Equip only as a sorcery. This card enters the battlefield unattached and stays on the battlefield if the creature leaves.)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new GolemSkinGauntletsAttachedCount(), StaticValue.get(0), Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(new GolemSkinGauntletsAttachedCount(), StaticValue.get(0), Duration.WhileOnBattlefield)));
|
||||
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2)));
|
||||
}
|
||||
|
||||
|
|
@ -88,4 +88,4 @@ class GolemSkinGauntletsAttachedCount implements DynamicValue {
|
|||
public String getMessage() {
|
||||
return "Equipment attached to it";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GolgariDecoy extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// All creatures able to block Golgari Decoy do so.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAllSourceEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new MustBeBlockedByAllSourceEffect()));
|
||||
// Scavenge {3}{G}{G} ({3}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
|
||||
this.addAbility(new ScavengeAbility(new ManaCostsImpl<>("{3}{G}{G}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GorgonsHead 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)));
|
||||
// Equip {2}
|
||||
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GorillaBerserkers extends CardImpl {
|
|||
// Rampage 2
|
||||
this.addAbility(new RampageAbility(2));
|
||||
// Gorilla Berserkers can't be blocked except by three or more creatures.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByOneEffect(3)));
|
||||
this.addAbility(new SimpleStaticAbility(new CantBeBlockedByOneEffect(3)));
|
||||
}
|
||||
|
||||
private GorillaBerserkers(final GorillaBerserkers card) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GorillaPack extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Gorilla Pack can't attack unless defending player controls a Forest.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.FOREST, "a Forest"))));
|
||||
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.FOREST, "a Forest"))));
|
||||
|
||||
// When you control no Forests, sacrifice Gorilla Pack.
|
||||
this.addAbility(new ControlsPermanentsControllerTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GorillaTitan extends CardImpl {
|
|||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
// Gorilla Titan gets +4/+4 as long as there are no cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(4,4, Duration.WhileInGraveyard),
|
||||
new GorillaTitanCondition(),
|
||||
"{this} gets +4/+4 as long as there are no cards in your graveyard"
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class GormTheGreat extends CardImpl {
|
|||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
// Gorm the Great must be blocked if able, and Gorm must be blocked by two or more creatures if able.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield, 2)
|
||||
this.addAbility(new SimpleStaticAbility(new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield, 2)
|
||||
.setText("{this} must be blocked if able, and {this} must be blocked by two or more creatures if able")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GostaDirk extends CardImpl {
|
|||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
// Creatures with islandwalk can be blocked as though they didn't have islandwalk.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GostaDirkEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new GostaDirkEffect()));
|
||||
}
|
||||
|
||||
private GostaDirk(final GostaDirk card) {
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue