refactor: SimpleStaticAbility default zone (cards G)

This commit is contained in:
xenohedron 2024-11-16 22:12:20 -05:00
parent d489a11f18
commit 80ec5af4f5
146 changed files with 174 additions and 174 deletions

View file

@ -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) {

View file

@ -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);

View file

@ -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) {

View file

@ -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) {

View file

@ -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)));
}

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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));
}

View file

@ -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) {

View file

@ -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) {

View file

@ -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);

View file

@ -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> &mdash; {this} gets +2/+2 as long as you have no cards in hand")));
// Morph-Discard a card.

View file

@ -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)));

View file

@ -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");

View file

@ -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> &mdash; As long as you have 5 or less life, other creatures you control get +1/+4")));
}

View file

@ -40,7 +40,7 @@ public final class GeistOfTheLonelyVigil extends CardImpl {
new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield),
DeliriumCondition.instance);
effect.setText("<i>Delirium</i> &mdash; {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) {

View file

@ -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) {

View file

@ -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(),

View file

@ -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)));

View file

@ -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}"));

View file

@ -30,7 +30,7 @@ public final class GhalmasWarden extends CardImpl {
// Metalcraft Ghalmas 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)
);

View file

@ -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) {

View file

@ -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) {

View file

@ -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(

View file

@ -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);

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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);

View file

@ -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) {

View file

@ -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);

View file

@ -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);

View file

@ -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) {

View file

@ -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")));

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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)

View file

@ -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) {

View file

@ -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");

View file

@ -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);

View file

@ -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);

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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);

View file

@ -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) {

View file

@ -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(

View file

@ -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.\""));

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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()));

View file

@ -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);
}
}
}

View file

@ -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) {

View file

@ -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) {

View file

@ -23,14 +23,14 @@ public final class GloryOfWarfare extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}{W}");
// As long as its 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 its 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")));

View file

@ -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) {

View file

@ -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));

View file

@ -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);

View file

@ -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> &mdash; {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);
}

View file

@ -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> &mdash; 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(

View file

@ -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()));
}

View file

@ -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) {

View file

@ -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"

View file

@ -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);

View file

@ -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());
}

View file

@ -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}"))));

View file

@ -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}")));

View file

@ -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) {

View file

@ -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)));
}

View file

@ -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);
}

View file

@ -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) {

View file

@ -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);

View file

@ -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) {

View file

@ -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) {

View file

@ -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.

View file

@ -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));

View file

@ -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) {

View file

@ -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>")));
}

View file

@ -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);
}

View file

@ -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}"))));

View file

@ -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)));
}

View file

@ -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 owners library third from the top.
this.addAbility(new GodEternalDiesTriggeredAbility());

View file

@ -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) {

View file

@ -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) {

View file

@ -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));
}

View file

@ -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) {

View file

@ -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";
}
}
}

View file

@ -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}")));
}

View file

@ -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));
}

View file

@ -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) {

View file

@ -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(

View file

@ -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"

View file

@ -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")));
}

View file

@ -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