mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 04:42:07 -08:00
refactor: SimpleActivatedAbility default zone (cards G)
This commit is contained in:
parent
80fec3304f
commit
ac7e34168d
172 changed files with 190 additions and 191 deletions
|
|
@ -41,7 +41,7 @@ public final class GaeasEmbrace extends CardImpl {
|
|||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
// {G}: Regenerate enchanted creature.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), new ColoredManaCost(ColoredManaSymbol.G)));
|
||||
this.addAbility(new SimpleActivatedAbility(new RegenerateAttachedEffect(AttachmentType.AURA), new ColoredManaCost(ColoredManaSymbol.G)));
|
||||
}
|
||||
|
||||
private GaeasEmbrace(final GaeasEmbrace card) {
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class GalecasterColossus extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Tap an untapped Wizard you control: Return target nonland permanent you don't control to its owner's hand.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new TapTargetCost(new TargetControlledPermanent(1, 1, filter2, true)));
|
||||
Ability ability = new SimpleActivatedAbility(new ReturnToHandTargetEffect(), new TapTargetCost(new TargetControlledPermanent(1, 1, filter2, true)));
|
||||
ability.addTarget(new TargetNonlandPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class GallowsAtWillowHill extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
|
||||
|
||||
// {3}, {tap}, Tap three untapped Humans you control: Destroy target creature. Its controller creates a 1/1 white Spirit creature token with flying.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new GenericManaCost(3));
|
||||
Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new GenericManaCost(3));
|
||||
ability.addEffect(new CreateTokenControllerTargetEffect(new SpiritWhiteToken()));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new TapTargetCost(new TargetControlledPermanent(3, 3, humanFilter, false)));
|
||||
|
|
@ -53,4 +53,4 @@ public final class GallowsAtWillowHill extends CardImpl {
|
|||
public GallowsAtWillowHill copy() {
|
||||
return new GallowsAtWillowHill(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GalvanicAlchemist extends CardImpl {
|
|||
this.addAbility(new SoulbondAbility());
|
||||
|
||||
// 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}"));
|
||||
Ability ability = new SimpleActivatedAbility(new UntapSourceEffect(), new ManaCostsImpl<>("{2}{U}"));
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityPairedEffect(ability, ruleText)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GalvanicKey extends CardImpl {
|
|||
public GalvanicKey(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
||||
this.addAbility(FlashAbility.getInstance());
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(3));
|
||||
Ability ability = new SimpleActivatedAbility(new UntapTargetEffect(), new GenericManaCost(3));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GangrenousZombies extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {T}, Sacrifice Gangrenous Zombies: Gangrenous Zombies deals 1 damage to each creature and each player. If you control a snow Swamp, Gangrenous Zombies deals 2 damage to each creature and each player instead.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalOneShotEffect(
|
||||
Ability ability = new SimpleActivatedAbility(new ConditionalOneShotEffect(
|
||||
new DamageEverythingEffect(2),
|
||||
new DamageEverythingEffect(1),
|
||||
new PermanentsOnTheBattlefieldCondition(filter),
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GargantuanGorilla extends CardImpl {
|
|||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GargantuanGorillaSacrificeEffect()));
|
||||
|
||||
// {T}: Gargantuan Gorilla deals damage equal to its power to another target creature. That creature deals damage equal to its power to Gargantuan Gorilla.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GargantuanGorillaFightEffect(), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new GargantuanGorillaFightEffect(), new TapSourceCost());
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
||||
filter.add(AnotherPredicate.instance);
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GarzasAssassin extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Sacrifice Garza's Assassin: Destroy target nonblack creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new SacrificeSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -37,10 +37,10 @@ public final class GatewayShade extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {B}: Gateway Shade gets +1/+1 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,1, Duration.EndOfTurn),new ManaCostsImpl<>("{B}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1,1, Duration.EndOfTurn),new ManaCostsImpl<>("{B}")));
|
||||
|
||||
// Tap an untapped Gate you control: Gateway Shade gets +2/+2 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2,2, Duration.EndOfTurn),new TapTargetCost(new TargetControlledPermanent(1,1,filter, true))));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(2,2, Duration.EndOfTurn),new TapTargetCost(new TargetControlledPermanent(1,1,filter, true))));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class GathererOfGraces extends CardImpl {
|
|||
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)));
|
||||
this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new SacrificeTargetCost(filter)));
|
||||
}
|
||||
|
||||
private GathererOfGraces(final GathererOfGraces gathererOfGraces) {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GauntletsOfChaos extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}");
|
||||
|
||||
// {5}, Sacrifice Gauntlets of Chaos: Exchange control of target artifact, creature, or land you control and target permanent an opponent controls that shares one of those types with it. If those permanents are exchanged this way, destroy all Auras attached to them.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExchangeControlTargetEffect(Duration.EndOfGame,
|
||||
Ability ability = new SimpleActivatedAbility(new ExchangeControlTargetEffect(Duration.EndOfGame,
|
||||
"exchange control of target artifact, creature, or land you control and target permanent an opponent controls that shares one of those types with it."
|
||||
+ " If those permanents are exchanged this way, destroy all Auras attached to them", false, true, true),
|
||||
new ManaCostsImpl<>("{5}")
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class GavonyTownship extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {2}{G}{W}, {T}: Put a +1/+1 counter on each creature you control.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersAllEffect(CounterType.P1P1.createInstance(), StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED), new ManaCostsImpl<>("{2}{G}{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED), new ManaCostsImpl<>("{2}{G}{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GeierReachSanitarium extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {2}, {T}: Each player draws a card, then discards a card.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardAllEffect(1), new GenericManaCost(2));
|
||||
Ability ability = new SimpleActivatedAbility(new DrawCardAllEffect(1), new GenericManaCost(2));
|
||||
Effect effect = new DiscardEachPlayerEffect();
|
||||
effect.setText(", then discards a card");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class Gelectrode extends CardImpl {
|
|||
|
||||
this.power = new MageInt(0);
|
||||
this.toughness = new MageInt(1);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new UntapSourceEffect(), new FilterInstantOrSorcerySpell("an instant or sorcery spell"), true));
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GelidShackles extends CardImpl {
|
|||
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(),
|
||||
this.addAbility(new SimpleActivatedAbility(new GainAbilityAttachedEffect(DefenderAbility.getInstance(),
|
||||
AttachmentType.AURA, Duration.EndOfTurn), new ManaCostsImpl<>("{S}")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class GemstoneArray extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
|
||||
|
||||
// {2}: Put a charge counter on Gemstone Array.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new ManaCostsImpl<>("{2}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new ManaCostsImpl<>("{2}")));
|
||||
// Remove a charge counter from Gemstone Array: Add one mana of any color.
|
||||
this.addAbility(new AnyColorManaAbility(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)),
|
||||
new CountersSourceCount(CounterType.CHARGE), false));
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class GeneralGrievous extends CardImpl {
|
|||
this.addAbility(new DiesCreatureTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), true, true));
|
||||
|
||||
// Remove two +1/+1 counters from General Grievous: Return General Grievous to its owner's hand.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(), new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2))));
|
||||
this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(), new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2))));
|
||||
}
|
||||
|
||||
private GeneralGrievous(final GeneralGrievous card) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GeneralsRegalia extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
|
||||
|
||||
// {3}: The next time a source of your choice would deal damage to you this turn, that damage is dealt to target creature you control instead.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GeneralsRegaliaEffect(), new GenericManaCost(3));
|
||||
Ability ability = new SimpleActivatedAbility(new GeneralsRegaliaEffect(), new GenericManaCost(3));
|
||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GenjuOfTheCedars extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}: Enchanted Forest becomes a 4/4 green Spirit creature until end of turn. It's still a land.
|
||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Enchanted Forest becomes a 4/4 green Spirit creature until end of turn. It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
Ability ability2 = new SimpleActivatedAbility(new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Enchanted Forest becomes a 4/4 green Spirit creature until end of turn. It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
this.addAbility(ability2);
|
||||
|
||||
// When enchanted Forest is put into a graveyard, you may return Genju of the Cedars from your graveyard to your hand.
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class GenjuOfTheFalls extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}: Enchanted Island becomes a 3/2 blue Spirit creature with flying until end of turn. It's still a land.
|
||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Enchanted Island becomes a 3/2 blue Spirit creature with flying until end of turn. It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
Ability ability2 = new SimpleActivatedAbility(new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Enchanted Island becomes a 3/2 blue Spirit creature with flying until end of turn. It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
this.addAbility(ability2);
|
||||
|
||||
// When enchanted Island is put into a graveyard, you may return Genju of the Falls from your graveyard to your hand. TargetPermanent auraTarget = new TargetLandPermanent(filter);
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class GenjuOfTheFens extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}: Until end of turn, enchanted Swamp becomes a 2/2 black Spirit creature with "{B}: This creature gets +1/+1 until end of turn." It's still a land.
|
||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Until end of turn, enchanted Swamp becomes a 2/2 black Spirit creature with \"{B}: This creature gets +1/+1 until end of turn.\" It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
Ability ability2 = new SimpleActivatedAbility(new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Until end of turn, enchanted Swamp becomes a 2/2 black Spirit creature with \"{B}: This creature gets +1/+1 until end of turn.\" It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
this.addAbility(ability2);
|
||||
|
||||
// When enchanted Swamp is put into a graveyard, you may return Genju of the Fens from your graveyard to your hand.
|
||||
|
|
@ -70,7 +70,7 @@ public final class GenjuOfTheFens extends CardImpl {
|
|||
subtype.add(SubType.SPIRIT);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
|
||||
addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
|
||||
}
|
||||
|
||||
private SpiritToken(final SpiritToken token) {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class GenjuOfTheFields extends CardImpl {
|
|||
// {2}: Until end of turn, enchanted Plains becomes a 2/5 white Spirit creature with "Whenever this creature deals damage, its controller gains that much life." It's still a land.
|
||||
Effect effect = new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(),
|
||||
"Until end of turn, enchanted Plains becomes a 2/5 white Spirit creature", Duration.EndOfTurn);
|
||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(2));
|
||||
Ability ability2 = new SimpleActivatedAbility(effect, new GenericManaCost(2));
|
||||
effect = new GainAbilityAttachedEffect(new DealsDamageGainLifeSourceTriggeredAbility(), AttachmentType.AURA, Duration.EndOfTurn);
|
||||
effect.setText("with \"Whenever this creature deals damage, its controller gains that much life.\" It's still a land");
|
||||
ability2.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GenjuOfTheRealm extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}: Enchanted land becomes a legendary 8/12 Spirit creature with trample until end of turn. It's still a land.
|
||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Enchanted land becomes a legendary 8/12 Spirit creature with trample until end of turn. It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
Ability ability2 = new SimpleActivatedAbility(new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Enchanted land becomes a legendary 8/12 Spirit creature with trample until end of turn. It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
this.addAbility(ability2);
|
||||
|
||||
// When enchanted land is put into a graveyard, you may return Genju of the Realm from your graveyard to your hand.
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GenjuOfTheSpires extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}: Enchanted Mountain becomes a 6/1 red Spirit creature until end of turn. It's still a land.
|
||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Enchanted Mountain becomes a 6/1 red Spirit creature until end of turn. It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
Ability ability2 = new SimpleActivatedAbility(new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Enchanted Mountain becomes a 6/1 red Spirit creature until end of turn. It's still a land", Duration.EndOfTurn), new GenericManaCost(2));
|
||||
this.addAbility(ability2);
|
||||
|
||||
// When enchanted Mountain is put into a graveyard, you may return Genju of the Spires from your graveyard to your hand.
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class GerrardsHourglassPendant extends CardImpl {
|
|||
|
||||
// {4}, {T}, Exile Gerrard's Hourglass Pendant: Return to the battlefield tapped all artifact, creature,
|
||||
// enchantment, and land cards in your graveyard that were put there from the battlefield this turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GerrardsHourglassPendantReanimateEffect(), new GenericManaCost(4));
|
||||
Ability ability = new SimpleActivatedAbility(new GerrardsHourglassPendantReanimateEffect(), new GenericManaCost(4));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new ExileSourceCost());
|
||||
ability.addWatcher(new CardsPutIntoGraveyardWatcher());
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class GethLordOfTheVault extends CardImpl {
|
|||
this.addAbility(IntimidateAbility.getInstance());
|
||||
// {X}{B}: Put target artifact or creature card with converted mana cost X from an opponent's graveyard onto the battlefield under your control tapped.
|
||||
// Then that player puts the top X cards of their library into their graveyard.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GethLordOfTheVaultEffect(), new ManaCostsImpl<>("{X}{B}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GethLordOfTheVaultEffect(), new ManaCostsImpl<>("{X}{B}"));
|
||||
ability.addTarget(new TargetCardInGraveyard(filter));
|
||||
ability.setTargetAdjuster(new XManaValueTargetAdjuster());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -43,12 +43,12 @@ public final class GhaveGuruOfSpores extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(5)), "with five +1/+1 counters on it"));
|
||||
|
||||
// {1}, Remove a +1/+1 counter from a creature you control: Create a 1/1 green Saproling creature token.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new GenericManaCost(1));
|
||||
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken()), new GenericManaCost(1));
|
||||
ability.addCost(new RemoveCounterCost(new TargetControlledCreaturePermanent().withNotTarget(true), CounterType.P1P1));
|
||||
this.addAbility(ability);
|
||||
|
||||
// {1}, Sacrifice a creature: Put a +1/+1 counter on target creature.
|
||||
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new GenericManaCost(1));
|
||||
Ability ability2 = new SimpleActivatedAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new GenericManaCost(1));
|
||||
ability2.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
|
||||
ability2.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability2);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GhituFireEater extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {T}, Sacrifice Ghitu Fire-Eater: Ghitu Fire-Eater deals damage equal to its power to any target.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(SourcePermanentPowerValue.NOT_NEGATIVE)
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(SourcePermanentPowerValue.NOT_NEGATIVE)
|
||||
.setText("it deals damage equal to its power to any target"), new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
|
|
|
|||
|
|
@ -38,10 +38,10 @@ public final class GhituFirebreathing extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {R}: Enchanted creature gets +1/+0 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 0, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R)));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostEnchantedEffect(1, 0, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R)));
|
||||
|
||||
// {R}: Return Ghitu Firebreathing to its owner's hand.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(), new ManaCostsImpl<>("{R}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(), new ManaCostsImpl<>("{R}")));
|
||||
}
|
||||
|
||||
private GhituFirebreathing(final GhituFirebreathing card) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class GhituWarCry extends CardImpl {
|
|||
|
||||
|
||||
// {R}: Target creature gets +1/+0 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GhostLitNourisher extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {2}{G}, {tap}: Target creature gets +2/+2 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GhostLitRaider extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {2}{R}, {tap}: Ghost-Lit Raider deals 2 damage to target creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class GhostLitRedeemer extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {W}, {tap}: You gain 2 life.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), new ManaCostsImpl<>("{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GainLifeEffect(2), new ManaCostsImpl<>("{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
// Channel - {1}{W}, Discard Ghost-Lit Redeemer: You gain 4 life.
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GhostLitWarder extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {3}{U}, {tap}: Counter target spell unless its controller pays {2}.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl<>("{2}")), new ManaCostsImpl<>("{3}{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(new CounterUnlessPaysEffect(new ManaCostsImpl<>("{2}")), new ManaCostsImpl<>("{3}{U}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetSpell());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GhostShip extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {U}{U}{U}: Regenerate Ghost Ship.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{U}{U}{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{U}{U}{U}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class GhostWarden extends CardImpl {
|
|||
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class GhosthelmCourier extends CardImpl {
|
|||
// You may choose not to untap Ghosthelm Courier during your untap step.
|
||||
this.addAbility(new SkipUntapOptionalAbility());
|
||||
// {2}{U}, {tap}: Target Wizard creature gets +2/+2 and has shroud for as long as Ghosthelm Courier remains tapped.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
Ability ability = new SimpleActivatedAbility(new ConditionalContinuousEffect(
|
||||
new BoostTargetEffect(2, 2, Duration.Custom), SourceTappedCondition.TAPPED,
|
||||
"target Wizard creature gets +2/+2"), new ManaCostsImpl<>("{2}{U}"));
|
||||
ability.addEffect(new ConditionalContinuousEffect(new GainAbilityTargetEffect(ShroudAbility.getInstance(),
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class GhostlyChangeling extends CardImpl {
|
|||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
this.addAbility(new ChangelingAbility());
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")));
|
||||
}
|
||||
|
||||
private GhostlyChangeling(final GhostlyChangeling card) {
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public final class GhostlyWings extends CardImpl {
|
|||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
// Discard a card: Return enchanted creature to its owner's hand.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GhostlyWingsReturnEffect(), new DiscardCardCost()));
|
||||
this.addAbility(new SimpleActivatedAbility(new GhostlyWingsReturnEffect(), new DiscardCardCost()));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GhostsOfTheDamned extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {tap}: Target creature gets -1/-0 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, 0, Duration.EndOfTurn), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(-1, 0, Duration.EndOfTurn), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GhoulcallerGisa extends CardImpl {
|
|||
// {B}, {tap}, Sacrifice another creature: create X 2/2 black Zombie creature tokens, where X is the sacrificed creature's power.
|
||||
Effect effect = new CreateTokenEffect(new ZombieToken(), SacrificeCostCreaturesPower.instance);
|
||||
effect.setText("create X 2/2 black Zombie creature tokens, where X is the sacrificed creature's power");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{B}"));
|
||||
Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{B}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GiantCaterpillar extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {G}, Sacrifice Giant Caterpillar: Create a 1/1 green Insect creature token with flying named Butterfly at the beginning of the next end step.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateDelayedTriggeredAbilityEffect(
|
||||
Ability ability = new SimpleActivatedAbility(new CreateDelayedTriggeredAbilityEffect(
|
||||
new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new CreateTokenEffect(new ButterflyToken()))),
|
||||
new ManaCostsImpl<>("{G}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class GiantCrab extends CardImpl {
|
|||
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.U)));
|
||||
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.U)));
|
||||
}
|
||||
|
||||
private GiantCrab(final GiantCrab card) {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public final class GiantOyster extends CardImpl {
|
|||
this.addAbility(new SkipUntapOptionalAbility());
|
||||
|
||||
// {tap}: For as long as Giant Oyster remains tapped, target tapped creature doesn't untap during its controller's untap step, and at the beginning of each of your draw steps, put a -1/-1 counter on that creature. When Giant Oyster leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DontUntapAsLongAsSourceTappedEffect()
|
||||
Ability ability = new SimpleActivatedAbility(new DontUntapAsLongAsSourceTappedEffect()
|
||||
.setText("For as long as {this} remains tapped, target tapped creature doesn't untap during its controller's untap step"),
|
||||
new TapSourceCost());
|
||||
ability.addEffect(new GiantOysterCreateDelayedTriggerEffects());
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GiantTrapDoorSpider extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {1}{R}{G}, {tap}: Exile Giant Trap Door Spider and target creature without flying that's attacking you.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileSourceEffect(), new ManaCostsImpl<>("{1}{R}{G}"));
|
||||
Ability ability = new SimpleActivatedAbility(new ExileSourceEffect(), new ManaCostsImpl<>("{1}{R}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addEffect(new ExileTargetEffect().setText("and target creature without flying that's attacking you"));
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class GideonsLawkeeper extends CardImpl {
|
|||
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ColoredManaCost(ColoredManaSymbol.W));
|
||||
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new ColoredManaCost(ColoredManaSymbol.W));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class Gigantomancer extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
//{1}: Target creature you control has base power and toughness 7/7 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SetBasePowerToughnessTargetEffect(7, 7, Duration.EndOfTurn), new GenericManaCost(1));
|
||||
Ability ability = new SimpleActivatedAbility(new SetBasePowerToughnessTargetEffect(7, 7, Duration.EndOfTurn), new GenericManaCost(1));
|
||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ class GigantoplasmCopyApplier extends CopyApplier {
|
|||
public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) {
|
||||
Effect effect = new SetBasePowerToughnessSourceEffect(GetXValue.instance, Duration.Custom);
|
||||
effect.setText("This creature has base power and toughness X/X");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{X}"));
|
||||
Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{X}"));
|
||||
blueprint.getAbilities().add(ability);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class GildedGoose extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new FoodToken()), false));
|
||||
|
||||
// {1}{G}, {T}: Create a Food token.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new FoodToken()), new ManaCostsImpl<>("{1}{G}"));
|
||||
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new FoodToken()), new ManaCostsImpl<>("{1}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GilderBairn extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {2}{GU}, {untap}: For each counter on target permanent, put another of those counters on that permanent.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GilderBairnEffect(), new ManaCostsImpl<>("{2}{G/U}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GilderBairnEffect(), new ManaCostsImpl<>("{2}{G/U}"));
|
||||
ability.addCost(new UntapSourceCost());
|
||||
ability.addTarget(new TargetPermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class GiltLeafSeer extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {G}, {tap}: Look at the top two cards of your library, then put them back in any order.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookLibraryControllerEffect(2), new ManaCostsImpl<>("{G}"));
|
||||
Ability ability = new SimpleActivatedAbility(new LookLibraryControllerEffect(2), new ManaCostsImpl<>("{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
@ -42,4 +42,4 @@ public final class GiltLeafSeer extends CardImpl {
|
|||
public GiltLeafSeer copy() {
|
||||
return new GiltLeafSeer(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GiltspireAvenger extends CardImpl {
|
|||
this.addAbility(new ExaltedAbility());
|
||||
|
||||
// {T}: Destroy target creature that dealt damage to you this turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new TapSourceCost());
|
||||
ability.addTarget(new GiltspireAvengerTarget());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GlacialCrevasses extends CardImpl {
|
|||
// Sacrifice a snow Mountain: Prevent all combat damage that would be dealt this turn.
|
||||
Effect effect = new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true);
|
||||
effect.setText("Prevent all combat damage that would be dealt this turn");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new SacrificeTargetCost(filter));
|
||||
Ability ability = new SimpleActivatedAbility(effect, new SacrificeTargetCost(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GlareOfSubdual extends CardImpl {
|
|||
|
||||
|
||||
// Tap an untapped creature you control: Tap target artifact or creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filterCost, true)));
|
||||
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filterCost, true)));
|
||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class Glarecaster extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// {5}{W}: The next time damage would be dealt to Glarecaster and/or you this turn, that damage is dealt to any target instead.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GlarecasterEffect(), new ManaCostsImpl<>("{5}{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GlarecasterEffect(), new ManaCostsImpl<>("{5}{W}"));
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GlassblowersPuzzleknot extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}{U}, Sacrifice Glassblower's Puzzleknot: Scry 2, then you get {E}{E}.
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, scryEffect, new ManaCostsImpl<>("{2}{U}"));
|
||||
ability = new SimpleActivatedAbility(scryEffect, new ManaCostsImpl<>("{2}{U}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addEffect(energyEffect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public final class GlassesOfUrza extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
|
||||
|
||||
// {tap}: Look at target player's hand.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookAtTargetPlayerHandEffect(), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new LookAtTargetPlayerHandEffect(), new TapSourceCost());
|
||||
ability.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public final class GleamOfAuthority extends CardImpl {
|
|||
|
||||
// Enchanted creature has vigilance and "{W}, {T}: Bloster 1."
|
||||
ability = new SimpleStaticAbility(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA));
|
||||
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BolsterEffect(1), new ManaCostsImpl<>("{W}"));
|
||||
Ability gainedAbility = new SimpleActivatedAbility(new BolsterEffect(1), new ManaCostsImpl<>("{W}"));
|
||||
gainedAbility.addCost(new TapSourceCost());
|
||||
ability.addEffect(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA).setText("and \"{W}, {T}: Bolster 1.\""));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GlenElendraArchmage extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {U}, Sacrifice Glen Elendra Archmage: Counter target noncreature spell.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(new CounterTargetEffect(), new ManaCostsImpl<>("{U}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GlimmeringAngel extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {U}: Glimmering Angel gains shroud until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
|
||||
}
|
||||
|
||||
private GlimmeringAngel(final GlimmeringAngel card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class GlintHawkIdol extends CardImpl {
|
|||
Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GlintHawkIdolToken(), CardType.ARTIFACT, Duration.EndOfTurn), filter, true));
|
||||
|
||||
// {W}: Glint Hawk Idol becomes a 2/2 Bird artifact creature with flying until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GlintHawkIdolToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.W)));
|
||||
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(new GlintHawkIdolToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.W)));
|
||||
}
|
||||
|
||||
private GlintHawkIdol(final GlintHawkIdol card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GlintwingInvoker extends CardImpl {
|
|||
// {7}{U}: Glintwing Invoker gets +3/+3 and gains flying until end of turn.
|
||||
Effect effect = new BoostSourceEffect(3, 3, Duration.EndOfTurn);
|
||||
effect.setText("{this} gets +3/+3");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{7}{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{7}{U}"));
|
||||
effect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn);
|
||||
effect.setText("and gains flying until end of turn");
|
||||
ability.addEffect(effect);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class GlissaSunseeker extends CardImpl {
|
|||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
// {tap}: Destroy target artifact if its converted mana cost is equal to the amount of mana in your mana pool.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GlissaSunseekerEffect(), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new GlissaSunseekerEffect(), new TapSourceCost());
|
||||
ability.addTarget(new TargetArtifactPermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GlitteringLion extends CardImpl {
|
|||
// Prevent all damage that would be dealt to Glittering Lion.
|
||||
this.addAbility(GlitteringLionAbility.getInstance());
|
||||
// {3}: Until end of turn, Glittering Lion loses "Prevent all damage that would be dealt to Glittering Lion." Any player may activate this ability.
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilitySourceEffect(GlitteringLionAbility.getInstance(), Duration.EndOfTurn).setText("Until end of turn, {this} loses \"Prevent all damage that would be dealt to {this}.\" Any player may activate this ability"), new ManaCostsImpl<>("{3}"));
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(new LoseAbilitySourceEffect(GlitteringLionAbility.getInstance(), Duration.EndOfTurn).setText("Until end of turn, {this} loses \"Prevent all damage that would be dealt to {this}.\" Any player may activate this ability"), new ManaCostsImpl<>("{3}"));
|
||||
ability2.setMayActivate(TargetController.ANY);
|
||||
this.addAbility(ability2);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GlitteringLynx extends CardImpl {
|
|||
// Prevent all damage that would be dealt to Glittering Lynx.
|
||||
this.addAbility(GlitteringLynxAbility.getInstance());
|
||||
// {2}: Until end of turn, Glittering Lynx loses "Prevent all damage that would be dealt to Glittering Lynx." Any player may activate this ability.
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilitySourceEffect(GlitteringLynxAbility.getInstance(), Duration.EndOfTurn).setText("Until end of turn, {this} loses \"Prevent all damage that would be dealt to {this}.\""), new ManaCostsImpl<>("{2}"));
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(new LoseAbilitySourceEffect(GlitteringLynxAbility.getInstance(), Duration.EndOfTurn).setText("Until end of turn, {this} loses \"Prevent all damage that would be dealt to {this}.\""), new ManaCostsImpl<>("{2}"));
|
||||
ability2.setMayActivate(TargetController.ANY);
|
||||
ability2.addEffect(new InfoEffect("Any player may activate this ability"));
|
||||
this.addAbility(ability2);
|
||||
|
|
|
|||
|
|
@ -30,10 +30,10 @@ public final class GlorifierOfDusk extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Pay 2 life: Glorifier of Dusk gains flying until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new PayLifeCost(2)));
|
||||
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new PayLifeCost(2)));
|
||||
|
||||
// Pay 2 life: Glorifier of Dusk gains vigilance until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new PayLifeCost(2)));
|
||||
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new PayLifeCost(2)));
|
||||
}
|
||||
|
||||
private GlorifierOfDusk(final GlorifierOfDusk card) {
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public final class GnarlrootTrapper extends CardImpl {
|
|||
// {T}: Target attacking Elf you control gains deathtouch until end of turn.
|
||||
Effect effect = new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn);
|
||||
effect.setText("Target attacking Elf you control gains deathtouch until end of turn. <i>(Any amount of damage it deals to a creature is enough to destroy it.)</i>");
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost());
|
||||
ability = new SimpleActivatedAbility(effect, new TapSourceCost());
|
||||
ability.addTarget(new TargetControlledPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GnawingZombie extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {1}{B}, Sacrifice a creature: Target player loses 1 life and you gain 1 life.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{1}{B}"));
|
||||
Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{1}{B}"));
|
||||
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||
ability.addTarget(new TargetPlayer());
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GobblingOoze extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// {G}, Sacrifice another creature: Put a +1/+1 counter on Gobbling Ooze.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl<>("{G}"));
|
||||
Ability ability = new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl<>("{G}"));
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GobhobblerRats extends CardImpl {
|
|||
// 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(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 gainedAbility = new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"));
|
||||
ability.addEffect(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(gainedAbility, Duration.WhileOnBattlefield), HellbentCondition.instance, "and has \"{B}: Regenerate {this}.\""));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GoblinArchaeologist extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {R}, {T]: Flip a coin. If you win the flip, destroy target artifact and untap Goblin Archaeologist. If you lose the flip, sacrifice Goblin Archaeologist.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GoblinArchaeologistEffect(),new ManaCostsImpl<>("{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GoblinArchaeologistEffect(),new ManaCostsImpl<>("{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetArtifactPermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GoblinBalloonBrigade extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {R}: Goblin Balloon Brigade gains flying until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new GainAbilitySourceEffect(FlyingAbility.getInstance(),
|
||||
Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GoblinBangchuckers extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {T}: Flip a coin. If you win the flip, Goblin Bangchuckers deals 2 damage to any target. If you lose the flip, Goblin Bangchuckers deals 2 damage to itself.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GoblinBangchuckersEffect(), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new GoblinBangchuckersEffect(), new TapSourceCost());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class GoblinBombardment extends CardImpl {
|
|||
public GoblinBombardment(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}");
|
||||
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GoblinBurrows extends CardImpl {
|
|||
// {tap}: Add {C}.
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
// {1}{R}, {tap}: Target Goblin creature gets +2/+0 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2,0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(2,0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class GoblinCannon extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
|
||||
|
||||
// {2}: Goblin Cannon deals 1 damage to any target. Sacrifice Goblin Cannon.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{2}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new ManaCostsImpl<>("{2}"));
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
ability.addEffect(new SacrificeSourceEffect());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class GoblinCharbelcher extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||
|
||||
// {3}, {tap}: Reveal cards from the top of your library until you reveal a land card. Goblin Charbelcher deals damage equal to the number of nonland cards revealed this way to any target. If the revealed land card was a Mountain, Goblin Charbelcher deals double that damage instead. Put the revealed cards on the bottom of your library in any order.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GoblinCharbelcherEffect(), new ManaCostsImpl<>("{3}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GoblinCharbelcherEffect(), new ManaCostsImpl<>("{3}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GoblinDiggingTeam extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {tap}, Sacrifice Goblin Digging Team: Destroy target Wall.
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost());
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GoblinDynamo extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// {T}: Goblin Dynamo deals 1 damage to any target.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GoblinFestival extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}");
|
||||
|
||||
// {2}: Goblin Festival deals 1 damage to any target. Flip a coin. If you lose the flip, choose one of your opponents. That player gains control of Goblin Festival.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{2}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new ManaCostsImpl<>("{2}"));
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
ability.addEffect(new GoblinFestivalChangeControlEffect());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class GoblinFireFiend extends CardImpl {
|
|||
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}")));
|
||||
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
|
||||
}
|
||||
|
||||
private GoblinFireFiend(final GoblinFireFiend card) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class GoblinFireslinger extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {tap}: Goblin Fireslinger deals 1 damage to target player.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost());
|
||||
ability.addTarget(new TargetPlayerOrPlaneswalker());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class GoblinFlectomancer extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Sacrifice Goblin Flectomancer: You may change the targets of target instant or sorcery spell.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ChooseNewTargetsTargetEffect().setText("you may change the targets of target instant or sorcery spell"), new SacrificeSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new ChooseNewTargetsTargetEffect().setText("you may change the targets of target instant or sorcery spell"), new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetSpell(new FilterInstantOrSorcerySpell()));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GoblinGoliath extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect));
|
||||
|
||||
// {3}{R}, {T}: If a source you control would deal damage to an opponent this turn, it deals double that damage to that player instead.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GoblinGoliathDamageEffect(), new ManaCostsImpl<>("{3}{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new GoblinGoliathDamageEffect(), new ManaCostsImpl<>("{3}{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@ public final class GoblinLegionnaire extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {R}, Sacrifice Goblin Legionnaire: It deals 2 damage to any target.
|
||||
Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2, "it"), new ColoredManaCost(ColoredManaSymbol.R));
|
||||
Ability firstAbility = new SimpleActivatedAbility(new DamageTargetEffect(2, "it"), new ColoredManaCost(ColoredManaSymbol.R));
|
||||
firstAbility.addCost(new SacrificeSourceCost());
|
||||
firstAbility.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(firstAbility);
|
||||
|
||||
// {W}, Sacrifice Goblin Legionnaire: Prevent the next 2 damage that would be dealt to any target this turn.
|
||||
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 2), new ColoredManaCost(ColoredManaSymbol.W));
|
||||
Ability secondAbility = new SimpleActivatedAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 2), new ColoredManaCost(ColoredManaSymbol.W));
|
||||
secondAbility.addCost(new SacrificeSourceCost());
|
||||
secondAbility.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(secondAbility);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class GoblinLookout extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {T}, Sacrifice a Goblin: Goblin creatures get +2/+0 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(2, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, false), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new BoostAllEffect(2, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, false), new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(filterPermanent));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class GoblinLyre extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
|
||||
|
||||
// Sacrifice Goblin Lyre: Flip a coin. If you win the flip, Goblin Lyre deals damage to target opponent equal to the number of creatures you control. If you lose the flip, Goblin Lyre deals damage to you equal to the number of creatures that opponent controls.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GoblinLyreEffect(), new SacrificeSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new GoblinLyreEffect(), new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetOpponentOrPlaneswalker());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class GoblinRazerunners extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// {1}{R}, Sacrifice a land: Put a +1/+1 counter on Goblin Razerunners.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{1}{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{1}{R}"));
|
||||
ability.addCost(new SacrificeTargetCost(filter));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GoblinReplica extends CardImpl {
|
|||
this.subtype.add(SubType.GOBLIN);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{3}{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{3}{R}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class GoblinSappers extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {R}{R}, {T}: Target creature you control can’t be blocked this turn. Destroy it and Goblin Sappers at end of combat.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new ManaCostsImpl<>("{R}{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new CantBeBlockedTargetEffect(), new ManaCostsImpl<>("{R}{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||
DelayedTriggeredAbility triggeredAbility = new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect().setText("destroy that creature"));
|
||||
|
|
@ -42,7 +42,7 @@ public final class GoblinSappers extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {R}{R}{R}{R}, {T}: Target creature you control can’t be blocked this turn. Destroy it at end of combat.
|
||||
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new ManaCostsImpl<>("{R}{R}{R}{R}"));
|
||||
Ability secondAbility = new SimpleActivatedAbility(new CantBeBlockedTargetEffect(), new ManaCostsImpl<>("{R}{R}{R}{R}"));
|
||||
secondAbility.addCost(new TapSourceCost());
|
||||
secondAbility.addTarget(new TargetControlledCreaturePermanent());
|
||||
DelayedTriggeredAbility secondTriggeredAbility = new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect().setText("destroy that creature"));
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GoblinSharpshooter extends CardImpl {
|
|||
// Whenever a creature dies, untap Goblin Sharpshooter.
|
||||
this.addAbility(new DiesCreatureTriggeredAbility(new UntapSourceEffect(), false));
|
||||
// {T}: Goblin Sharpshooter deals 1 damage to any target.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost());
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GoblinSkycutter extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Sacrifice Goblin Skycutter: Goblin Skycutter deals 2 damage to target creature with flying. That creature loses flying until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2, "it"), new SacrificeSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2, "it"), new SacrificeSourceCost());
|
||||
ability.addEffect(new LoseAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn).setText("that creature loses flying until end of turn"));
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class GoblinSledder extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Sacrifice a Goblin: Target creature gets +1/+1 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1,1,Duration.EndOfTurn),
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1,1,Duration.EndOfTurn),
|
||||
new SacrificeTargetCost(filter));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class GoblinSoothsayer extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {R}, {T}, Sacrifice a Goblin: Red creatures get +1/+1 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1,1,Duration.EndOfTurn, filter, false), new ManaCostsImpl<>("{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostAllEffect(1,1,Duration.EndOfTurn, filter, false), new ManaCostsImpl<>("{R}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(filter2));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class GoblinTaskmaster extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {1}{R}: Target Goblin creature gets +1/+0 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}"));
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GoblinTestPilot extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {tap}: Goblin Test Pilot deals 2 damage to any target chosen at random.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new TapSourceCost());
|
||||
Target target = new TargetAnyTarget();
|
||||
target.setRandom(true);
|
||||
ability.addTarget(target);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GoblinTinkerer extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// {R}, {T}: Destroy target artifact. That artifact deals damage equal to its converted mana cost to Goblin Tinkerer.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{R}"));
|
||||
ability.addEffect(new GoblinTinkererDamageEffect());
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetArtifactPermanent());
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class GoblinTunneler extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {tap}: Target creature with power 2 or less can't be blocked this turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new CantBeBlockedTargetEffect(), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class GoblinTurncoat extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Sacrifice a Goblin: Regenerate Goblin Turncoat.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(),
|
||||
Ability ability = new SimpleActivatedAbility(new RegenerateSourceEffect(),
|
||||
new SacrificeTargetCost(filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class GoblinWarrens extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}");
|
||||
|
||||
// {2}{R}, Sacrifice two Goblins: Create three 1/1 red Goblin creature tokens.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GoblinToken(), 3), new ManaCostsImpl<>("{2}{R}"));
|
||||
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new GoblinToken(), 3), new ManaCostsImpl<>("{2}{R}"));
|
||||
ability.addCost(new SacrificeTargetCost(2, filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
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