refactor: SimpleActivatedAbility default zone (cards T)

This commit is contained in:
xenohedron 2024-11-16 22:30:27 -05:00
parent 2b30a678e8
commit 76d422b548
185 changed files with 217 additions and 219 deletions

View file

@ -34,7 +34,7 @@ public final class TahngarthTalruumHero extends CardImpl {
// Vigilance // Vigilance
this.addAbility(VigilanceAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance());
// {1}{R}, {tap}: Tahngarth, Talruum Hero deals damage equal to its power to target creature. That creature deals damage equal to its power to Tahngarth. // {1}{R}, {tap}: Tahngarth, Talruum Hero deals damage equal to its power to target creature. That creature deals damage equal to its power to Tahngarth.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEachOtherEffect(), new ManaCostsImpl<>("{1}{R}")); Ability ability = new SimpleActivatedAbility(new DamageEachOtherEffect(), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -43,7 +43,7 @@ public final class TalonOfPain extends CardImpl {
this.addAbility(new TalonOfPainTriggeredAbility()); this.addAbility(new TalonOfPainTriggeredAbility());
// {X}, {T}, Remove X charge counters from Talon of Pain: Talon of Pain deals X damage to any target. // {X}, {T}, Remove X charge counters from Talon of Pain: Talon of Pain deals X damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(GetXValue.instance, "it"), new ManaCostsImpl<>("{X}")); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(GetXValue.instance, "it"), new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new TalonOfPainRemoveVariableCountersSourceCost(CounterType.CHARGE.createInstance())); ability.addCost(new TalonOfPainRemoveVariableCountersSourceCost(CounterType.CHARGE.createInstance()));
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());

View file

@ -27,7 +27,7 @@ public final class Talonrend extends CardImpl {
this.power = new MageInt(0); this.power = new MageInt(0);
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{U/R}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{U/R}")));
} }
private Talonrend(final Talonrend card) { private Talonrend(final Talonrend card) {

View file

@ -40,7 +40,7 @@ public final class TalonsOfFalkenrath extends CardImpl {
this.addAbility(new EnchantAbility(auraTarget)); this.addAbility(new EnchantAbility(auraTarget));
// Enchanted creature has "{1}{R}: This creature gets +2/+0 until end of turn." // Enchanted creature has "{1}{R}: This creature gets +2/+0 until end of turn."
this.addAbility(new SimpleStaticAbility( this.addAbility(new SimpleStaticAbility(
new GainAbilityAttachedEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")), new GainAbilityAttachedEffect(new SimpleActivatedAbility(new BoostSourceEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")),
AttachmentType.AURA))); AttachmentType.AURA)));
} }

View file

@ -35,7 +35,7 @@ public final class TamiyosJournal extends CardImpl {
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new InvestigateEffect())); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new InvestigateEffect()));
// {T}, Sacrifice three Clues: Search your library for a card and put that card into your hand. Then shuffle your library. // {T}, Sacrifice three Clues: Search your library for a card and put that card into your hand. Then shuffle your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false, true), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false, true), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(3, filter)); ability.addCost(new SacrificeTargetCost(3, filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,7 +30,7 @@ public final class TangleAngler extends CardImpl {
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
this.addAbility(InfectAbility.getInstance()); this.addAbility(InfectAbility.getInstance());
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByTargetSourceEffect(), new ManaCostsImpl<>("{G}")); Ability ability = new SimpleActivatedAbility(new MustBeBlockedByTargetSourceEffect(), new ManaCostsImpl<>("{G}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
} }
@ -44,4 +44,4 @@ public final class TangleAngler extends CardImpl {
return new TangleAngler(this); return new TangleAngler(this);
} }
} }

View file

@ -25,7 +25,7 @@ public final class TangleHulk extends CardImpl {
this.subtype.add(SubType.BEAST); this.subtype.add(SubType.BEAST);
this.power = new MageInt(5); this.power = new MageInt(5);
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{2}{G}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{2}{G}")));
} }
private TangleHulk(final TangleHulk card) { private TangleHulk(final TangleHulk card) {

View file

@ -20,7 +20,7 @@ public final class Tanglebloom extends CardImpl {
public Tanglebloom(UUID ownerId, CardSetInfo setInfo) { public Tanglebloom(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new GainLifeEffect(1), new GenericManaCost(1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
// {1}, {tap}: You gain 1 life. // {1}, {tap}: You gain 1 life.

View file

@ -36,7 +36,7 @@ public final class TangleclawWerewolf extends CardImpl {
// {6}{G}: Transform Tangleclaw Werewolf. // {6}{G}: Transform Tangleclaw Werewolf.
this.addAbility(new TransformAbility()); this.addAbility(new TransformAbility());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TransformSourceEffect(), new ManaCostsImpl<>("{6}{G}"))); this.addAbility(new SimpleActivatedAbility(new TransformSourceEffect(), new ManaCostsImpl<>("{6}{G}")));
} }
private TangleclawWerewolf(final TangleclawWerewolf card) { private TangleclawWerewolf(final TangleclawWerewolf card) {

View file

@ -31,7 +31,7 @@ public final class TarPitcher extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {tap}, Sacrifice a Goblin: Tar Pitcher deals 2 damage to any target. // {tap}, Sacrifice a Goblin: Tar Pitcher deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(filter)); ability.addCost(new SacrificeTargetCost(filter));
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);

View file

@ -37,7 +37,7 @@ public final class TarielReckonerOfSouls extends CardImpl {
// Vigilance // Vigilance
this.addAbility(VigilanceAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance());
// {T}: Choose a creature card at random from target opponent's graveyard. Put that card onto the battlefield under your control. // {T}: Choose a creature card at random from target opponent's graveyard. Put that card onto the battlefield under your control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TarielReckonerOfSoulsEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new TarielReckonerOfSoulsEffect(), new TapSourceCost());
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class TatteredDrake extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
} }
private TatteredDrake(final TatteredDrake card) { private TatteredDrake(final TatteredDrake card) {

View file

@ -38,7 +38,7 @@ public final class TattermungeWitch extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {R}{G}: Each blocked creature gets +1/+0 and gains trample until end of turn. // {R}{G}: Each blocked creature gets +1/+0 and gains trample until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false).setText("each blocked creature gets +1/+0"), new ManaCostsImpl<>("{R}{G}")); Ability ability = new SimpleActivatedAbility(new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false).setText("each blocked creature gets +1/+0"), new ManaCostsImpl<>("{R}{G}"));
ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filter, "and gains trample until end of turn")); ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filter, "and gains trample until end of turn"));
this.addAbility(ability); this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class TavernSwindler extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {T}, Pay 3 life: Flip a coin. If you win the flip, you gain 6 life. // {T}, Pay 3 life: Flip a coin. If you win the flip, you gain 6 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TavernSwindlerEffect(),new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new TavernSwindlerEffect(),new TapSourceCost());
ability.addCost(new PayLifeCost(3)); ability.addCost(new PayLifeCost(3));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -42,7 +42,7 @@ public final class TawnosUrzasApprentice extends CardImpl {
this.addAbility(HasteAbility.getInstance()); this.addAbility(HasteAbility.getInstance());
// {U}{R}, {T}: Copy target activated or triggered ability you control from an artifact source. You may choose new targets for the copy. // {U}{R}, {T}: Copy target activated or triggered ability you control from an artifact source. You may choose new targets for the copy.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetStackObjectEffect(), new ManaCostsImpl<>("{U}{R}")); Ability ability = new SimpleActivatedAbility(new CopyTargetStackObjectEffect(), new ManaCostsImpl<>("{U}{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetActivatedOrTriggeredAbility(filter)); ability.addTarget(new TargetActivatedOrTriggeredAbility(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -45,7 +45,7 @@ public final class TawnossCoffin extends CardImpl {
this.addAbility(new SkipUntapOptionalAbility()); this.addAbility(new SkipUntapOptionalAbility());
// {3}, {T}: Exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature. // {3}, {T}: Exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TawnossCoffinEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new TawnossCoffinEffect(), new TapSourceCost());
ability.addCost(new ManaCostsImpl<>("{3}")); ability.addCost(new ManaCostsImpl<>("{3}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class TawnossWand extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// {2}, {tap}: Target creature with power 2 or less is unblockable this turn. // {2}, {tap}: Target creature with power 2 or less is unblockable this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new CantBeBlockedTargetEffect(), new TapSourceCost());
ability.addCost(new ManaCostsImpl<>("{2}")); ability.addCost(new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -29,7 +29,7 @@ public final class TawnossWeaponry extends CardImpl {
// You may choose not to untap Tawnos's Weaponry during your untap step. // You may choose not to untap Tawnos's Weaponry during your untap step.
this.addAbility(new SkipUntapOptionalAbility()); this.addAbility(new SkipUntapOptionalAbility());
// {2}, {tap}: Target creature gets +1/+1 for as long as Tawnos's Weaponry remains tapped. // {2}, {tap}: Target creature gets +1/+1 for as long as Tawnos's Weaponry remains tapped.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( Ability ability = new SimpleActivatedAbility(new ConditionalContinuousEffect(
new BoostTargetEffect(1, 1, Duration.Custom), SourceTappedCondition.TAPPED, new BoostTargetEffect(1, 1, Duration.Custom), SourceTappedCondition.TAPPED,
"target creature gets +1/+1 for as long as {this} remains tapped"), new ManaCostsImpl<>("{2}")); "target creature gets +1/+1 for as long as {this} remains tapped"), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());

View file

@ -37,12 +37,12 @@ public final class TeferisCare extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}");
// {W}, Sacrifice an enchantment: Destroy target enchantment. // {W}, Sacrifice an enchantment: Destroy target enchantment.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{W}")); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeTargetCost(filter)); ability.addCost(new SacrificeTargetCost(filter));
ability.addTarget(new TargetEnchantmentPermanent()); ability.addTarget(new TargetEnchantmentPermanent());
this.addAbility(ability); this.addAbility(ability);
// {3}{U}{U}: Counter target enchantment spell. // {3}{U}{U}: Counter target enchantment spell.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{3}{U}{U}")); ability = new SimpleActivatedAbility(new CounterTargetEffect(), new ManaCostsImpl<>("{3}{U}{U}"));
ability.addTarget(new TargetSpell(filter2)); ability.addTarget(new TargetSpell(filter2));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,7 +30,7 @@ public final class TeferisHonorGuard extends CardImpl {
this.addAbility(new FlankingAbility()); this.addAbility(new FlankingAbility());
// {U}{U}: Teferi's Honor Guard phases out. // {U}{U}: Teferi's Honor Guard phases out.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhaseOutSourceEffect(), new ManaCostsImpl<>("{U}{U}"))); this.addAbility(new SimpleActivatedAbility(new PhaseOutSourceEffect(), new ManaCostsImpl<>("{U}{U}")));
} }
private TeferisHonorGuard(final TeferisHonorGuard card) { private TeferisHonorGuard(final TeferisHonorGuard card) {

View file

@ -25,7 +25,7 @@ public final class TelJiladExile extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}")));
} }
private TelJiladExile(final TelJiladExile card) { private TelJiladExile(final TelJiladExile card) {

View file

@ -38,7 +38,7 @@ public final class TelJiladLifebreather extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {G}, {tap}, Sacrifice a Forest: Regenerate target creature. // {G}, {tap}, Sacrifice a Forest: Regenerate target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{G}")); Ability ability = new SimpleActivatedAbility(new RegenerateTargetEffect(), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(filter)); ability.addCost(new SacrificeTargetCost(filter));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -32,7 +32,7 @@ public final class TelJiladStylus extends CardImpl {
// {T}: Put target permanent you own on the bottom of your library. // {T}: Put target permanent you own on the bottom of your library.
Effect effect = new PutOnLibraryTargetEffect(false,"put target permanent you own on the bottom of your library"); Effect effect = new PutOnLibraryTargetEffect(false,"put target permanent you own on the bottom of your library");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); Ability ability = new SimpleActivatedAbility(effect, new TapSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -33,7 +33,7 @@ public final class TelekineticSliver extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// All Slivers have "{T}: Tap target permanent." // All Slivers have "{T}: Tap target permanent."
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new TapSourceCost());
ability.addTarget(new TargetPermanent()); ability.addTarget(new TargetPermanent());
this.addAbility(new SimpleStaticAbility( this.addAbility(new SimpleStaticAbility(
new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, filter, "All Slivers have \"{T}: Tap target permanent.\""))); new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, filter, "All Slivers have \"{T}: Tap target permanent.\"")));

View file

@ -33,7 +33,7 @@ public final class Telethopter extends CardImpl {
this.subtype.add(SubType.THOPTER); this.subtype.add(SubType.THOPTER);
this.power = new MageInt(3); this.power = new MageInt(3);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, false)))); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, false))));
} }
private Telethopter(final Telethopter card) { private Telethopter(final Telethopter card) {

View file

@ -23,7 +23,7 @@ public final class TelimTorsDarts extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {2}, {tap}: Telim'Tor's Darts deals 1 damage to target player. // {2}, {tap}: Telim'Tor's Darts deals 1 damage to target player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayerOrPlaneswalker()); ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability); this.addAbility(ability);

View file

@ -19,7 +19,7 @@ public final class TempleBell extends CardImpl {
public TempleBell(UUID ownerId, CardSetInfo setInfo) { public TempleBell(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardAllEffect(1), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(new DrawCardAllEffect(1), new TapSourceCost()));
} }
private TempleBell(final TempleBell card) { private TempleBell(final TempleBell card) {

View file

@ -36,7 +36,7 @@ public final class TempleOfAclazotz extends CardImpl {
this.addAbility(new BlackManaAbility()); this.addAbility(new BlackManaAbility());
// {T}, Sacrifice a creature: You gain life equal to the sacrificed creature's toughness. // {T}, Sacrifice a creature: You gain life equal to the sacrificed creature's toughness.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TempleOfAclazotzEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new TempleOfAclazotzEffect(), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,7 +30,7 @@ public final class TemporalAdept extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {U}{U}{U}, {tap}: Return target permanent to its owner's hand. // {U}{U}{U}, {tap}: Return target permanent to its owner's hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{U}{U}{U}")); Ability ability = new SimpleActivatedAbility(new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{U}{U}{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent()); ability.addTarget(new TargetPermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -23,7 +23,7 @@ public final class TemporalAperture extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {5}, {tap}: Shuffle your library, then reveal the top card. Until end of turn, for as long as that card remains on top of your library, play with the top card of your library revealed and you may play that card without paying its mana cost. // {5}, {tap}: Shuffle your library, then reveal the top card. Until end of turn, for as long as that card remains on top of your library, play with the top card of your library revealed and you may play that card without paying its mana cost.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TemporalApertureEffect(), new ManaCostsImpl<>("{5}")); Ability ability = new SimpleActivatedAbility(new TemporalApertureEffect(), new ManaCostsImpl<>("{5}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class TemurBanner extends CardImpl {
this.addAbility(new RedManaAbility()); this.addAbility(new RedManaAbility());
// {G}{U}{R}, {T}, Sacrifice Temur Banner: Draw a card. // {G}{U}{R}, {T}, Sacrifice Temur Banner: Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{G}{U}{R}")); Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{G}{U}{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -35,7 +35,7 @@ public final class TemurSabertooth extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {1}{G}: You may return another creature you control to its owner's hand. If you do, Temur Sabertooth gains indestructible until end of turn. // {1}{G}: You may return another creature you control to its owner's hand. If you do, Temur Sabertooth gains indestructible until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TemurSabertoothEffect(), new ManaCostsImpl<>("{1}{G}"))); this.addAbility(new SimpleActivatedAbility(new TemurSabertoothEffect(), new ManaCostsImpl<>("{1}{G}")));
} }

View file

@ -29,7 +29,7 @@ public final class TerminalMoraine extends CardImpl {
// {tap}: Add {C}. // {tap}: Add {C}.
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
// {2}, {tap}, Sacrifice Terminal Moraine: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library. // {2}, {tap}, Sacrifice Terminal Moraine: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true), new ManaCostsImpl<>("{2}")); Ability ability = new SimpleActivatedAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -49,7 +49,7 @@ public final class TetsuoUmezawa extends CardImpl {
// Tetsuo Umezawa can't be the target of Aura spells. // Tetsuo Umezawa can't be the target of Aura spells.
this.addAbility(new SimpleStaticAbility(new TetsuoUmezawaEffect())); this.addAbility(new SimpleStaticAbility(new TetsuoUmezawaEffect()));
// {U}{B}{B}{R}, {tap}: Destroy target tapped or blocking creature. // {U}{B}{B}{R}, {tap}: Destroy target tapped or blocking creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{U}{B}{B}{R}")); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{U}{B}{B}{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(creatureFilter)); ability.addTarget(new TargetCreaturePermanent(creatureFilter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -27,7 +27,7 @@ public final class ThalakosDrifters extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// Discard a card: Thalakos Drifters gains shadow until end of turn. // Discard a card: Thalakos Drifters gains shadow until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new DiscardCardCost())); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new DiscardCardCost()));
} }
private ThalakosDrifters(final ThalakosDrifters card) { private ThalakosDrifters(final ThalakosDrifters card) {

View file

@ -29,7 +29,7 @@ public final class ThalakosMistfolk extends CardImpl {
// Shadow // Shadow
this.addAbility(ShadowAbility.getInstance()); this.addAbility(ShadowAbility.getInstance());
// {U}: Put Thalakos Mistfolk on top of its owner's library. // {U}: Put Thalakos Mistfolk on top of its owner's library.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibrarySourceEffect(true), new ManaCostsImpl<>("{U}"))); this.addAbility(new SimpleActivatedAbility(new PutOnLibrarySourceEffect(true), new ManaCostsImpl<>("{U}")));
} }
private ThalakosMistfolk(final ThalakosMistfolk card) { private ThalakosMistfolk(final ThalakosMistfolk card) {

View file

@ -31,7 +31,7 @@ public final class ThalakosScout extends CardImpl {
this.addAbility(ShadowAbility.getInstance()); this.addAbility(ShadowAbility.getInstance());
// Discard a card: Return Thalakos Scout to its owner's hand. // Discard a card: Return Thalakos Scout to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(), new DiscardCardCost())); this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(), new DiscardCardCost()));
} }
private ThalakosScout(final ThalakosScout card) { private ThalakosScout(final ThalakosScout card) {

View file

@ -32,7 +32,7 @@ public final class Thallid extends CardImpl {
// At the beginning of your upkeep, put a spore counter on Thallid. // At the beginning of your upkeep, put a spore counter on Thallid.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance())));
// Remove three spore counters from Thallid: Create a 1/1 green Saproling creature token. // Remove three spore counters from Thallid: Create a 1/1 green Saproling creature token.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3))));
} }
private Thallid(final Thallid card) { private Thallid(final Thallid card) {

View file

@ -38,7 +38,7 @@ public final class ThallidDevourer extends CardImpl {
new CreateTokenEffect(new SaprolingToken()), new CreateTokenEffect(new SaprolingToken()),
new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3))));
// Sacrifice a Saproling: Thallid Devourer gets +1/+2 until end of turn. // Sacrifice a Saproling: Thallid Devourer gets +1/+2 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleActivatedAbility(
new BoostSourceEffect(1, 2, Duration.EndOfTurn), new BoostSourceEffect(1, 2, Duration.EndOfTurn),
new SacrificeTargetCost(filter))); new SacrificeTargetCost(filter)));
} }

View file

@ -37,9 +37,9 @@ public final class ThallidGerminator extends CardImpl {
// At the beginning of your upkeep, put a spore counter on Thallid Germinator. // At the beginning of your upkeep, put a spore counter on Thallid Germinator.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance())));
// Remove three spore counters from Thallid Germinator: Create a 1/1 green Saproling creature token. // Remove three spore counters from Thallid Germinator: Create a 1/1 green Saproling creature token.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3))));
// Sacrifice a Saproling: Target creature gets +1/+1 until end of turn. // Sacrifice a Saproling: Target creature gets +1/+1 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, Ability ability = new SimpleActivatedAbility(
new BoostTargetEffect(1,1, Duration.EndOfTurn), new BoostTargetEffect(1,1, Duration.EndOfTurn),
new SacrificeTargetCost(filter)); new SacrificeTargetCost(filter));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -40,7 +40,7 @@ public final class ThallidOmnivore extends CardImpl {
// {1}, Sacrifice another creature: Thallid Omnivore gets +2/+2 until end of turn. If a saproling was sacrificed in this way you gain 2 life. // {1}, Sacrifice another creature: Thallid Omnivore gets +2/+2 until end of turn. If a saproling was sacrificed in this way you gain 2 life.
Effect effect = new BoostSourceEffect(2, 2, Duration.EndOfTurn); Effect effect = new BoostSourceEffect(2, 2, Duration.EndOfTurn);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(effect, new GenericManaCost(1));
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE));
ability.addEffect(new ThallidOmnivoreEffect()); ability.addEffect(new ThallidOmnivoreEffect());
this.addAbility(ability); this.addAbility(ability);

View file

@ -35,7 +35,7 @@ public final class ThallidShellDweller extends CardImpl {
// At the beginning of your upkeep, put a spore counter on Thallid Shell-Dweller. // At the beginning of your upkeep, put a spore counter on Thallid Shell-Dweller.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance())));
// Remove three spore counters from Thallid Shell-Dweller: Create a 1/1 green Saproling creature token. // Remove three spore counters from Thallid Shell-Dweller: Create a 1/1 green Saproling creature token.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3))));
} }

View file

@ -29,7 +29,7 @@ public final class ThallidSoothsayer extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {2}, Sacrifice a creature: Draw a card. // {2}, Sacrifice a creature: Draw a card.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); SimpleActivatedAbility ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(2));
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -23,7 +23,7 @@ public final class ThassasIre extends CardImpl {
// {3}{U}: You may tap or untap target creature. // {3}{U}: You may tap or untap target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MayTapOrUntapTargetEffect(), new ManaCostsImpl<>("{3}{U}")); Ability ability = new SimpleActivatedAbility(new MayTapOrUntapTargetEffect(), new ManaCostsImpl<>("{3}{U}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -43,7 +43,7 @@ public final class ThatWhichWasTaken extends CardImpl {
this.supertype.add(SuperType.LEGENDARY); this.supertype.add(SuperType.LEGENDARY);
// {4}, {T}: Put a divinity counter on target permanent other than That Which Was Taken. // {4}, {T}: Put a divinity counter on target permanent other than That Which Was Taken.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.DIVINITY.createInstance()), new GenericManaCost(4)); Ability ability = new SimpleActivatedAbility(new AddCountersTargetEffect(CounterType.DIVINITY.createInstance()), new GenericManaCost(4));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -43,12 +43,12 @@ public final class TheBigIdea extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {2}{B/R}{B/R}, {T}: Roll a six-sided dice. Create a number of 1/1 red Brainiac creature tokens equal to the result. // {2}{B/R}{B/R}, {T}: Roll a six-sided dice. Create a number of 1/1 red Brainiac creature tokens equal to the result.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TheBigIdeaEffect(), new ManaCostsImpl<>("{2}{B/R}{B/R}")); Ability ability = new SimpleActivatedAbility(new TheBigIdeaEffect(), new ManaCostsImpl<>("{2}{B/R}{B/R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
// Tap three untapped Brainiacs you control: The next time you would roll a six-sided die, instead roll two six-sided dice and use the total of those results. // Tap three untapped Brainiacs you control: The next time you would roll a six-sided die, instead roll two six-sided dice and use the total of those results.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TheBigIdeaReplacementEffect(), new TapTargetCost(new TargetControlledCreaturePermanent(3, 3, filter, true)))); this.addAbility(new SimpleActivatedAbility(new TheBigIdeaReplacementEffect(), new TapTargetCost(new TargetControlledCreaturePermanent(3, 3, filter, true))));
} }
private TheBigIdea(final TheBigIdea card) { private TheBigIdea(final TheBigIdea card) {

View file

@ -39,7 +39,7 @@ public final class TheBrute extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1, 0))); this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1, 0)));
// {R}{R}{R}: Regenerate enchanted creature. // {R}{R}{R}: Regenerate enchanted creature.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), new ManaCostsImpl<>("{R}{R}{R}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateAttachedEffect(AttachmentType.AURA), new ManaCostsImpl<>("{R}{R}{R}")));
} }
private TheBrute(final TheBrute card) { private TheBrute(final TheBrute card) {

View file

@ -56,7 +56,7 @@ public final class TheCinematicPhoenix extends CardImpl {
this.addAbility(ProtectionAbility.from(ObjectColor.RED)); this.addAbility(ProtectionAbility.from(ObjectColor.RED));
// {1}, {T}: Return target legendary creature card from your graveyard to the battlefield. // {1}, {T}: Return target legendary creature card from your graveyard to the battlefield.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), new GenericManaCost(1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(filter)); ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -35,12 +35,12 @@ public final class TheDeathStar extends CardImpl {
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
// {2},{T}: Put a charge counter on The Death Star. // {2},{T}: Put a charge counter on The Death Star.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
// {T}, Remove three charge counters from The Death Star: Destroy target permanent. // {T}, Remove three charge counters from The Death Star: Destroy target permanent.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new TapSourceCost());
ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(3))); ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(3)));
ability.addTarget(new TargetPermanent()); ability.addTarget(new TargetPermanent());
this.addAbility(ability); this.addAbility(ability);
@ -48,7 +48,7 @@ public final class TheDeathStar extends CardImpl {
// {T}, Remove ten charge counters from The Death Star: Destroy target player. // {T}, Remove ten charge counters from The Death Star: Destroy target player.
Effect effect = new LoseGameTargetPlayerEffect(); Effect effect = new LoseGameTargetPlayerEffect();
effect.setText("Destroy target player"); effect.setText("Destroy target player");
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); ability = new SimpleActivatedAbility(effect, new TapSourceCost());
ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(10))); ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(10)));
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);

View file

@ -23,7 +23,7 @@ public final class TheHive extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}");
// {5}, {T}: Create a 1/1 colorless Insect artifact creature token with flying named Wasp. (It cant be blocked except by creatures with flying or reach.) // {5}, {T}: Create a 1/1 colorless Insect artifact creature token with flying named Wasp. (It cant be blocked except by creatures with flying or reach.)
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new WaspToken(), 1), new GenericManaCost(5)); Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new WaspToken(), 1), new GenericManaCost(5));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -48,7 +48,7 @@ public final class TheLocustGod extends CardImpl {
this.addAbility(new DrawCardControllerTriggeredAbility(new CreateTokenEffect(new TheLocustGodInsectToken(), 1, false, false), false)); this.addAbility(new DrawCardControllerTriggeredAbility(new CreateTokenEffect(new TheLocustGodInsectToken(), 1, false, false), false));
// {2}{U}{R}: Draw a card, then discard a card. // {2}{U}{R}: Draw a card, then discard a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(1, 1, false), new ManaCostsImpl<>("{2}{U}{R}")); Ability ability = new SimpleActivatedAbility(new DrawDiscardControllerEffect(1, 1, false), new ManaCostsImpl<>("{2}{U}{R}"));
this.addAbility(ability); this.addAbility(ability);
// When The Locust God dies, return it to its owner's hand at the beginning of the next end step. // When The Locust God dies, return it to its owner's hand at the beginning of the next end step.

View file

@ -54,7 +54,7 @@ public final class TheScarabGod extends CardImpl {
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TheScarabGodEffect(xValue)).addHint(hint)); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TheScarabGodEffect(xValue)).addHint(hint));
// {2}{U}{B}: Exile target creature card from a graveyard. Create a token that's a copy of it, except it's a 4/4 black Zombie. // {2}{U}{B}: Exile target creature card from a graveyard. Create a token that's a copy of it, except it's a 4/4 black Zombie.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TheScarabGodEffect2(), new ManaCostsImpl<>("{2}{U}{B}")); Ability ability = new SimpleActivatedAbility(new TheScarabGodEffect2(), new ManaCostsImpl<>("{2}{U}{B}"));
ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD)); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD));
this.addAbility(ability); this.addAbility(ability);

View file

@ -49,7 +49,7 @@ public final class TheScorpionGod extends CardImpl {
this.addAbility(new TheScorpionGodTriggeredAbility()); this.addAbility(new TheScorpionGodTriggeredAbility());
// {1}{B}{R}: Put a -1/-1 counter on another target creature. // {1}{B}{R}: Put a -1/-1 counter on another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl<>("{1}{B}{R}")); Ability ability = new SimpleActivatedAbility(new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl<>("{1}{B}{R}"));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE)); ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability); this.addAbility(ability);

View file

@ -46,7 +46,7 @@ public final class ThelonOfHavenwood extends CardImpl {
this.addAbility(new SimpleStaticAbility(new ThelonOfHavenwoodBoostEffect())); this.addAbility(new SimpleStaticAbility(new ThelonOfHavenwoodBoostEffect()));
// {B}{G}, Exile a Fungus card from a graveyard: Put a spore counter on each Fungus on the battlefield. // {B}{G}, Exile a Fungus card from a graveyard: Put a spore counter on each Fungus on the battlefield.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersAllEffect(CounterType.SPORE.createInstance(), filterPermanent), new ManaCostsImpl<>("{B}{G}")); Ability ability = new SimpleActivatedAbility(new AddCountersAllEffect(CounterType.SPORE.createInstance(), filterPermanent), new ManaCostsImpl<>("{B}{G}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInASingleGraveyard(1, 1, filterCard), "exile a Fungus card from a graveyard")); ability.addCost(new ExileFromGraveCost(new TargetCardInASingleGraveyard(1, 1, filterCard), "exile a Fungus card from a graveyard"));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -42,7 +42,7 @@ public final class TheloniteMonk extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {tap}, Sacrifice a green creature: Target land becomes a Forest. // {tap}, Sacrifice a green creature: Target land becomes a Forest.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.WhileOnBattlefield, SubType.FOREST), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new BecomesBasicLandTargetEffect(Duration.WhileOnBattlefield, SubType.FOREST), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(filter)); ability.addCost(new SacrificeTargetCost(filter));
ability.addTarget(new TargetLandPermanent()); ability.addTarget(new TargetLandPermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -34,7 +34,7 @@ public final class ThermalDetonator extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
// {2}, Sacrifice Thermal Detonator: Thermal Detonator deals 2 damage to target creature without spaceflight or target player. // {2}, Sacrifice Thermal Detonator: Thermal Detonator deals 2 damage to target creature without spaceflight or target player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}")); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{2}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreatureOrPlayer(filter)); ability.addTarget(new TargetCreatureOrPlayer(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class ThermalNavigator extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// Sacrifice an artifact: Thermal Navigator gains flying until end of turn. // Sacrifice an artifact: Thermal Navigator gains flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_ARTIFACT))); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_ARTIFACT)));
} }
private ThermalNavigator(final ThermalNavigator card) { private ThermalNavigator(final ThermalNavigator card) {

View file

@ -36,7 +36,7 @@ public final class Thermopod extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {S}: Thermopod gains haste until end of turn. // {S}: Thermopod gains haste until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect( this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(
HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{S}"))); HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{S}")));
// Sacrifice a creature: Add {R}. // Sacrifice a creature: Add {R}.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.RedMana(1), CreaturesYouControlCount.instance), this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.RedMana(1), CreaturesYouControlCount.instance),

View file

@ -31,7 +31,7 @@ public final class ThespiansStage extends CardImpl {
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
// 2, {T}: Thespian's Stage becomes a copy of target land, except it has this ability. // 2, {T}: Thespian's Stage becomes a copy of target land, except it has this ability.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ThespiansStageCopyEffect(), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new ThespiansStageCopyEffect(), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetLandPermanent()); ability.addTarget(new TargetLandPermanent());
this.addAbility(ability); this.addAbility(ability);
@ -70,7 +70,7 @@ class ThespiansStageCopyEffect extends OneShotEffect {
Permanent copyFromPermanent = game.getPermanent(getTargetPointer().getFirst(game, source)); Permanent copyFromPermanent = game.getPermanent(getTargetPointer().getFirst(game, source));
if (sourcePermanent != null && copyFromPermanent != null) { if (sourcePermanent != null && copyFromPermanent != null) {
Permanent newPermanent = game.copyPermanent(copyFromPermanent, sourcePermanent.getId(), source, new EmptyCopyApplier()); Permanent newPermanent = game.copyPermanent(copyFromPermanent, sourcePermanent.getId(), source, new EmptyCopyApplier());
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ThespiansStageCopyEffect(), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new ThespiansStageCopyEffect(), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetLandPermanent()); ability.addTarget(new TargetLandPermanent());
newPermanent.addAbility(ability, source.getSourceId(), game); newPermanent.addAbility(ability, source.getSourceId(), game);

View file

@ -34,7 +34,7 @@ public final class ThopterFoundry extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{W/B}{U}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{W/B}{U}");
// {1}, Sacrifice a nontoken artifact: Create a 1/1 blue Thopter artifact creature token with flying. You gain 1 life. // {1}, Sacrifice a nontoken artifact: Create a 1/1 blue Thopter artifact creature token with flying. You gain 1 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ThopterToken()), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new ThopterToken()), new GenericManaCost(1));
ability.addEffect(new GainLifeEffect(1)); ability.addEffect(new GainLifeEffect(1));
ability.addCost(new SacrificeTargetCost(filter)); ability.addCost(new SacrificeTargetCost(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -34,7 +34,7 @@ public final class ThornThrashViashino extends CardImpl {
this.addAbility(new DevourAbility(2)); this.addAbility(new DevourAbility(2));
// {G}: Thorn-Thrash Viashino gains trample until end of turn. // {G}: Thorn-Thrash Viashino gains trample until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn),new ManaCostsImpl<>("{G}"))); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn),new ManaCostsImpl<>("{G}")));
} }
private ThornThrashViashino(final ThornThrashViashino card) { private ThornThrashViashino(final ThornThrashViashino card) {

View file

@ -36,7 +36,7 @@ public final class ThornbiteStaff extends CardImpl {
this.subtype.add(SubType.EQUIPMENT); this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has "{2}, {T}: This creature deals 1 damage to any target" and "Whenever a creature dies, untap this creature." // Equipped creature has "{2}, {T}: This creature deals 1 damage to any target" and "Whenever a creature dies, untap this creature."
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new GenericManaCost(2)); Ability gainedAbility = new SimpleActivatedAbility(new DamageTargetEffect(1), new GenericManaCost(2));
gainedAbility.addCost(new TapSourceCost()); gainedAbility.addCost(new TapSourceCost());
gainedAbility.addTarget(new TargetAnyTarget()); gainedAbility.addTarget(new TargetAnyTarget());
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.EQUIPMENT); Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.EQUIPMENT);

View file

@ -32,11 +32,11 @@ public final class Thornling extends CardImpl {
this.subtype.add(SubType.SHAPESHIFTER); this.subtype.add(SubType.SHAPESHIFTER);
this.power = new MageInt(4); this.power = new MageInt(4);
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}"))); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}"))); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}"))); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(-1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
} }
private Thornling(final Thornling card) { private Thornling(final Thornling card) {

View file

@ -33,14 +33,14 @@ public final class ThornscapeMaster extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {R}{R}, {T}: Thornscape Master deals 2 damage to target creature. // {R}{R}, {T}: Thornscape Master deals 2 damage to target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}{R}")); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{R}{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
// {W}{W}, {T}: Target creature gains protection from the color of your choice until end of turn. // {W}{W}, {T}: Target creature gains protection from the color of your choice until end of turn.
Effect effect = new GainProtectionFromColorTargetEffect(Duration.EndOfTurn); Effect effect = new GainProtectionFromColorTargetEffect(Duration.EndOfTurn);
effect.setText("Target creature gains protection from the color of your choice until end of turn."); effect.setText("Target creature gains protection from the color of your choice until end of turn.");
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{W}{W}")); ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{W}{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class ThornwindFaeries extends CardImpl {
// Flying // Flying
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {tap}: Thornwind Faeries deals 1 damage to any target. // {tap}: Thornwind Faeries 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()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -27,7 +27,7 @@ public final class ThoughtCourier extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {tap}: Draw a card, then discard a card. // {tap}: Draw a card, then discard a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(new DrawDiscardControllerEffect(), new TapSourceCost()));
} }
private ThoughtCourier(final ThoughtCourier card) { private ThoughtCourier(final ThoughtCourier card) {

View file

@ -31,7 +31,7 @@ public final class ThoughtDissector extends CardImpl {
// {X}, {tap}: Target opponent reveals cards from the top of their library until an artifact card or X cards are revealed, whichever comes first. If an artifact card is revealed this way, put it onto the battlefield under your control and sacrifice Thought Dissector. Put the rest of the revealed cards into that player's graveyard. // {X}, {tap}: Target opponent reveals cards from the top of their library until an artifact card or X cards are revealed, whichever comes first. If an artifact card is revealed this way, put it onto the battlefield under your control and sacrifice Thought Dissector. Put the rest of the revealed cards into that player's graveyard.
SimpleActivatedAbility abilitiy = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ThoughtDissectorEffect(), new VariableManaCost(VariableCostType.NORMAL)); SimpleActivatedAbility abilitiy = new SimpleActivatedAbility(new ThoughtDissectorEffect(), new VariableManaCost(VariableCostType.NORMAL));
abilitiy.addCost(new TapSourceCost()); abilitiy.addCost(new TapSourceCost());
abilitiy.addTarget(new TargetOpponent()); abilitiy.addTarget(new TargetOpponent());
this.addAbility(abilitiy); this.addAbility(abilitiy);

View file

@ -38,7 +38,7 @@ public final class ThoughtLash extends CardImpl {
this.addAbility(new ThoughtLashTriggeredAbility()); this.addAbility(new ThoughtLashTriggeredAbility());
// Exile the top card of your library: Prevent the next 1 damage that would be dealt to you this turn. // Exile the top card of your library: Prevent the next 1 damage that would be dealt to you this turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToControllerEffect(Duration.EndOfTurn, 1), new ExileFromTopOfLibraryCost(1))); this.addAbility(new SimpleActivatedAbility(new PreventDamageToControllerEffect(Duration.EndOfTurn, 1), new ExileFromTopOfLibraryCost(1)));
} }
private ThoughtLash(final ThoughtLash card) { private ThoughtLash(final ThoughtLash card) {

View file

@ -33,7 +33,7 @@ public final class ThoughtcutterAgent extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {U}{B}, {tap}: Target player loses 1 life and reveals their hand. // {U}{B}, {tap}: Target player loses 1 life and reveals their hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{U}{B}")); Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{U}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
Effect revealEffect = new RevealHandTargetEffect(TargetController.ANY); Effect revealEffect = new RevealHandTargetEffect(TargetController.ANY);

View file

@ -41,7 +41,7 @@ public final class ThoughtpickerWitch extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {1}, Sacrifice a creature: Look at the top two cards of target opponent's library, then exile one of them. // {1}, Sacrifice a creature: Look at the top two cards of target opponent's library, then exile one of them.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ThoughtpickerWitchEffect(), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new ThoughtpickerWitchEffect(), new GenericManaCost(1));
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class ThousandYearElixir extends CardImpl {
this.addAbility(new SimpleStaticAbility(new ThousandYearElixirEffect())); this.addAbility(new SimpleStaticAbility(new ThousandYearElixirEffect()));
// {1}, {tap}: Untap target creature. // {1}, {tap}: Untap target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new UntapTargetEffect(), new GenericManaCost(1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class ThrabenDoomsayer extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {tap}: Create a 1/1 white Human creature token. // {tap}: Create a 1/1 white Human creature token.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HumanToken()), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new HumanToken()), new TapSourceCost()));
// Fateful hour - As long as you have 5 or less life, other creatures you control get +2/+2. // Fateful hour - As long as you have 5 or less life, other creatures you control get +2/+2.
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, true), this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(new BoostControlledEffect(2, 2, 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 +2/+2"))); FatefulHourCondition.instance, "<br><i>Fateful hour</i> &mdash; As long as you have 5 or less life, other creatures you control get +2/+2")));

View file

@ -33,7 +33,7 @@ public final class ThrabenGargoyle extends CardImpl {
// {6}: Transform Thraben Gargoyle. // {6}: Transform Thraben Gargoyle.
this.addAbility(new TransformAbility()); this.addAbility(new TransformAbility());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TransformSourceEffect(), new GenericManaCost(6))); this.addAbility(new SimpleActivatedAbility(new TransformSourceEffect(), new GenericManaCost(6)));
} }
private ThrabenGargoyle(final ThrabenGargoyle card) { private ThrabenGargoyle(final ThrabenGargoyle card) {

View file

@ -31,7 +31,7 @@ public final class ThrabenHeretic extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {tap}: Exile target creature card from a graveyard. // {tap}: Exile target creature card from a graveyard.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new ExileTargetEffect(), new TapSourceCost());
ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD)); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,7 +30,7 @@ public final class ThrabenStandardBearer extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {1}{W}, {T}, Discard a card: Create a 1/1 white Human Soldier creature token. // {1}{W}, {T}, Discard a card: Create a 1/1 white Human Soldier creature token.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HumanSoldierToken()), new ManaCostsImpl<>("{1}{W}")); Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new HumanSoldierToken()), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class ThranFoundry extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {1}, {tap}, Exile Thran Foundry: Target player shuffles their graveyard into their library. // {1}, {tap}, Exile Thran Foundry: Target player shuffles their graveyard into their library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ThranFoundryEffect(), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new ThranFoundryEffect(), new GenericManaCost(1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new ExileSourceCost()); ability.addCost(new ExileSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());

View file

@ -32,7 +32,7 @@ public final class ThranWeaponry extends CardImpl {
this.addAbility(new SkipUntapOptionalAbility()); this.addAbility(new SkipUntapOptionalAbility());
// {2}, {tap}: All creatures get +2/+2 for as long as Thran Weaponry remains tapped. // {2}, {tap}: All creatures get +2/+2 for as long as Thran Weaponry remains tapped.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ThranWeaponryEffect(), new ManaCostsImpl<>("{2}")); Ability ability = new SimpleActivatedAbility(new ThranWeaponryEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -29,7 +29,7 @@ public final class ThrashingBrontodon extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {1}, Sacrifice Thrashing Brontodon: Destroy target artifact or enchantment. // {1}, Sacrifice Thrashing Brontodon: Destroy target artifact or enchantment.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{1}")); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{1}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
this.addAbility(ability); this.addAbility(ability);

View file

@ -26,7 +26,7 @@ public final class ThrashingWumpus extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {B}: Thrashing Wumpus deals 1 damage to each creature and each player. // {B}: Thrashing Wumpus deals 1 damage to each creature and each player.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl<>("{B}"))); this.addAbility(new SimpleActivatedAbility(new DamageEverythingEffect(1), new ManaCostsImpl<>("{B}")));
} }
private ThrashingWumpus(final ThrashingWumpus card) { private ThrashingWumpus(final ThrashingWumpus card) {

View file

@ -32,7 +32,7 @@ public final class ThrissNantukoPrimus extends CardImpl {
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
//G}, {T}: Target creature gets +5/+5 until end of turn. //G}, {T}: Target creature gets +5/+5 until end of turn.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(5, 5, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")); SimpleActivatedAbility ability = new SimpleActivatedAbility(new BoostTargetEffect(5, 5, Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -26,7 +26,7 @@ public final class ThroneOfEmpires extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// {1}, {tap}: Create a 1/1 white Soldier creature token. Create five of those tokens instead if you control artifacts named Crown of Empires and Scepter of Empires. // {1}, {tap}: Create a 1/1 white Soldier creature token. Create five of those tokens instead if you control artifacts named Crown of Empires and Scepter of Empires.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ThroneOfEmpiresEffect(), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new ThroneOfEmpiresEffect(), new GenericManaCost(1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,7 +30,7 @@ public final class ThroneOfGeth extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {T}, Sacrifice an artifact: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.) // {T}, Sacrifice an artifact: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new ProliferateEffect(), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(filter)); ability.addCost(new SacrificeTargetCost(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -28,7 +28,7 @@ public final class ThroneOfTheHighCity extends CardImpl {
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
// {4}, {T}, Sacrifice Throne of the High City: You become the monarch. // {4}, {T}, Sacrifice Throne of the High City: You become the monarch.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesMonarchSourceEffect(), new GenericManaCost(4)); Ability ability = new SimpleActivatedAbility(new BecomesMonarchSourceEffect(), new GenericManaCost(4));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addHint(MonarchHint.instance); ability.addHint(MonarchHint.instance);

View file

@ -33,7 +33,7 @@ public final class ThrullParasite extends CardImpl {
this.addAbility(new ExtortAbility()); this.addAbility(new ExtortAbility());
// {tap}, Pay 2 life: Remove a counter from target nonland permanent. // {tap}, Pay 2 life: Remove a counter from target nonland permanent.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RemoveCounterTargetEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new RemoveCounterTargetEffect(), new TapSourceCost());
ability.addTarget(new TargetNonlandPermanent()); ability.addTarget(new TargetNonlandPermanent());
ability.addCost(new PayLifeCost(2)); ability.addCost(new PayLifeCost(2));
this.addAbility(ability); this.addAbility(ability);

View file

@ -40,7 +40,7 @@ public final class ThrullRetainer extends CardImpl {
// Enchanted creature gets +1/+1. // Enchanted creature gets +1/+1.
this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield))); this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield)));
// Sacrifice Thrull Retainer: Regenerate enchanted creature. // Sacrifice Thrull Retainer: Regenerate enchanted creature.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), new SacrificeSourceCost())); this.addAbility(new SimpleActivatedAbility(new RegenerateAttachedEffect(AttachmentType.AURA), new SacrificeSourceCost()));
} }
private ThrullRetainer(final ThrullRetainer card) { private ThrullRetainer(final ThrullRetainer card) {

View file

@ -41,7 +41,7 @@ public final class ThrullWizard extends CardImpl {
// {1}{B}: Counter target black spell unless that spell's controller pays {B} or {3}. // {1}{B}: Counter target black spell unless that spell's controller pays {B} or {3}.
Cost cost = new OrCost("pay {B} or pay {3}", new ColoredManaCost(ColoredManaSymbol.B), new GenericManaCost(3)); Cost cost = new OrCost("pay {B} or pay {3}", new ColoredManaCost(ColoredManaSymbol.B), new GenericManaCost(3));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(cost), new ManaCostsImpl<>("{1}{B}")); Ability ability = new SimpleActivatedAbility(new CounterUnlessPaysEffect(cost), new ManaCostsImpl<>("{1}{B}"));
ability.addTarget(new TargetSpell(filter)); ability.addTarget(new TargetSpell(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -33,7 +33,7 @@ public final class ThrunTheLastTroll extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.ALL, new CantBeCounteredSourceEffect())); this.addAbility(new SimpleStaticAbility(Zone.ALL, new CantBeCounteredSourceEffect()));
this.addAbility(HexproofAbility.getInstance()); this.addAbility(HexproofAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}")));
} }
private ThrunTheLastTroll(final ThrunTheLastTroll card) { private ThrunTheLastTroll(final ThrunTheLastTroll card) {

View file

@ -34,7 +34,7 @@ public final class ThunderWall extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {U}: Thunder Wall gets +1/+1 until end of turn. // {U}: Thunder Wall gets +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{U}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
} }
private ThunderWall(final ThunderWall card) { private ThunderWall(final ThunderWall card) {

View file

@ -44,12 +44,12 @@ public final class ThundercloudElemental extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {3}{U}: Tap all creatures with toughness 2 or less. // {3}{U}: Tap all creatures with toughness 2 or less.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapAllEffect(toughnessFilter), new ManaCostsImpl<>("{3}{U}"))); this.addAbility(new SimpleActivatedAbility(new TapAllEffect(toughnessFilter), new ManaCostsImpl<>("{3}{U}")));
// {3}{U}: All other creatures lose flying until end of turn. // {3}{U}: All other creatures lose flying until end of turn.
Effect effect = new LoseAbilityAllEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, flyingFilter); Effect effect = new LoseAbilityAllEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, flyingFilter);
effect.setText("All other creatures lose flying until end of turn"); effect.setText("All other creatures lose flying until end of turn");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{3}{U}"))); this.addAbility(new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{3}{U}")));
} }

View file

@ -40,7 +40,7 @@ public final class ThunderingSpineback extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true))); this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
// {5}{G}: Create a 3/3 green Dinosaur creature token with trample. // {5}{G}: Create a 3/3 green Dinosaur creature token with trample.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new DinosaurToken()), new ManaCostsImpl<>("{5}{G}"))); this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new DinosaurToken()), new ManaCostsImpl<>("{5}{G}")));
} }
private ThunderingSpineback(final ThunderingSpineback card) { private ThunderingSpineback(final ThunderingSpineback card) {

View file

@ -30,12 +30,12 @@ public final class ThunderscapeApprentice extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {B}, {tap}: Target player loses 1 life. // {B}, {tap}: Target player loses 1 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ColoredManaCost(ColoredManaSymbol.B)); Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(1), new ColoredManaCost(ColoredManaSymbol.B));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);
// {G}, {tap}: Target creature gets +1/+1 until end of turn. // {G}, {tap}: Target creature gets +1/+1 until end of turn.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.G)); ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.G));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,13 +33,13 @@ public final class ThunderscapeMaster extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {B}{B}, {tap}: Target player loses 2 life and you gain 2 life. // {B}{B}, {tap}: Target player loses 2 life and you gain 2 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(2), new ManaCostsImpl<>("{B}{B}")); Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(2), new ManaCostsImpl<>("{B}{B}"));
ability.addEffect(new GainLifeEffect(2).setText("and you gain 2 life")); ability.addEffect(new GainLifeEffect(2).setText("and you gain 2 life"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);
// {G}{G}, {tap}: Creatures you control get +2/+2 until end of turn. // {G}{G}, {tap}: Creatures you control get +2/+2 until end of turn.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}{G}")); ability = new SimpleActivatedAbility(new BoostControlledEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{G}{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -29,7 +29,7 @@ public final class ThundersongTrumpeter extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {T}: Target creature can't attack or block this turn. // {T}: Target creature can't attack or block this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackBlockTargetEffect(Duration.EndOfTurn), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new CantAttackBlockTargetEffect(Duration.EndOfTurn), new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,7 +31,7 @@ public final class Thunderstaff extends CardImpl {
// As long as Thunderstaff is untapped, if a creature would deal combat damage to you, prevent 1 of that damage. // As long as Thunderstaff is untapped, if a creature would deal combat damage to you, prevent 1 of that damage.
this.addAbility(new SimpleStaticAbility(new ThunderstaffPreventionEffect())); this.addAbility(new SimpleStaticAbility(new ThunderstaffPreventionEffect()));
// {2}, {tap}: Attacking creatures get +1/+0 until end of turn. // {2}, {tap}: Attacking creatures get +1/+0 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1,0,Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new BoostAllEffect(1,0,Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,7 +31,7 @@ public final class TickingGnomes extends CardImpl {
// Echo {3} // Echo {3}
this.addAbility(new EchoAbility("{3}")); this.addAbility(new EchoAbility("{3}"));
// Sacrifice Ticking Gnomes: Ticking Gnomes deals 1 damage to any target. // Sacrifice Ticking Gnomes: Ticking Gnomes deals 1 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1, "it"), new SacrificeSourceCost()); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1, "it"), new SacrificeSourceCost());
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -37,7 +37,7 @@ public final class TidalControl extends CardImpl {
this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{2}"))); this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{2}")));
// Pay 2 life or {2}: Counter target red or green spell. Any player may activate this ability. // Pay 2 life or {2}: Counter target red or green spell. Any player may activate this ability.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new OrCost("pay 2 life or pay {2}", new PayLifeCost(2), new ManaCostsImpl<>("{2}"))); SimpleActivatedAbility ability = new SimpleActivatedAbility(new CounterTargetEffect(), new OrCost("pay 2 life or pay {2}", new PayLifeCost(2), new ManaCostsImpl<>("{2}")));
ability.addTarget(new TargetSpell(filter)); ability.addTarget(new TargetSpell(filter));
ability.setMayActivate(TargetController.ANY); ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability")); ability.addEffect(new InfoEffect("Any player may activate this ability"));

View file

@ -38,7 +38,7 @@ public final class TidalCourier extends CardImpl {
// When Tidal Courier enters the battlefield, reveal the top four cards of your library. Put all Merfolk cards revealed this way into your hand and the rest on the bottom of your library in any order. // When Tidal Courier enters the battlefield, reveal the top four cards of your library. Put all Merfolk cards revealed this way into your hand and the rest on the bottom of your library in any order.
this.addAbility(new EntersBattlefieldTriggeredAbility(new RevealLibraryPutIntoHandEffect(4, filter, Zone.LIBRARY))); this.addAbility(new EntersBattlefieldTriggeredAbility(new RevealLibraryPutIntoHandEffect(4, filter, Zone.LIBRARY)));
// {3}{U}: Tidal Courier gains flying until end of turn. // {3}{U}: Tidal Courier gains flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(),
Duration.EndOfTurn), new ManaCostsImpl<>("{3}{U}"))); Duration.EndOfTurn), new ManaCostsImpl<>("{3}{U}")));
} }

View file

@ -38,7 +38,7 @@ public final class TidalFlats extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}"); super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}");
// {U}{U}: For each attacking creature without flying, its controller may pay {1}. If they don't, creatures you control blocking that creature gain first strike until end of turn. // {U}{U}: For each attacking creature without flying, its controller may pay {1}. If they don't, creatures you control blocking that creature gain first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TidalFlatsEffect(), new ManaCostsImpl<>("{U}{U}"))); this.addAbility(new SimpleActivatedAbility(new TidalFlatsEffect(), new ManaCostsImpl<>("{U}{U}")));
} }
private TidalFlats(final TidalFlats card) { private TidalFlats(final TidalFlats card) {

View file

@ -29,7 +29,7 @@ public final class TidalVisionary extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {T}: Target creature becomes the color of your choice until end of turn. // {T}: Target creature becomes the color of your choice until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorTargetEffect(Duration.EndOfTurn), Ability ability = new SimpleActivatedAbility(new BecomesColorTargetEffect(Duration.EndOfTurn),
new TapSourceCost()); new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class TidalWarrior extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {tap}: Target land becomes an Island until end of turn. // {tap}: Target land becomes an Island until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn, SubType.ISLAND), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new BecomesBasicLandTargetEffect(Duration.EndOfTurn, SubType.ISLAND), new TapSourceCost());
ability.addTarget(new TargetLandPermanent()); ability.addTarget(new TargetLandPermanent());
this.addAbility(ability); this.addAbility(ability);
} }

Some files were not shown because too many files have changed in this diff Show more