mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
update text generation for tokens with abilities to account for new and old phrasing
This commit is contained in:
parent
c558f46968
commit
fd8cb28fc2
37 changed files with 82 additions and 81 deletions
|
|
@ -1,8 +1,6 @@
|
|||
|
||||
package mage.cards.a;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
|
||||
import mage.abilities.effects.common.TapTargetEffect;
|
||||
|
|
@ -30,9 +28,7 @@ public final class AdverseConditions extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2));
|
||||
this.getSpellAbility().addEffect(new DontUntapInControllersNextUntapStepTargetEffect("Those creatures"));
|
||||
// Create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken());
|
||||
effect.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,10 @@ public final class AwakeningZone extends CardImpl {
|
|||
|
||||
public AwakeningZone(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}");
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken()), TargetController.YOU, true));
|
||||
|
||||
// At the beginning of your upkeep, you may create a 0/1 colorless Eldrazi Spawn creature token. It has “Sacrifice this creature: Add {C}.”
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(
|
||||
new EldraziSpawnToken()).withTextOptions(true), TargetController.YOU, true));
|
||||
}
|
||||
|
||||
private AwakeningZone(final AwakeningZone card) {
|
||||
|
|
|
|||
|
|
@ -33,8 +33,7 @@ public final class BirthingHulk extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// When Birthing Hulk enters the battlefield, create two 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 2);
|
||||
effect.setText("create two 1/1 colorless Eldrazi Scion creature tokens. They have \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 2).withTextOptions(true);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
|
||||
|
||||
// {1}{C}: Regenerate Birthing Hulk.
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ public final class Blisterpod extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// When Blisterpod dies, create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new EldraziScionToken())
|
||||
.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\""), false));
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(
|
||||
new EldraziScionToken()).withTextOptions(true), false));
|
||||
}
|
||||
|
||||
private Blisterpod(final Blisterpod card) {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -19,7 +18,6 @@ import mage.constants.SubType;
|
|||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.permanent.token.EldraziScionToken;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
|
|
@ -38,7 +36,7 @@ public final class BroodButcher extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// When Brood Butcher enters the battlefield, create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziScionToken()), false));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true), false));
|
||||
|
||||
// {B}{G}, Sacrifice a creature: Target creature gets -2/-2 until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{B}{G}"));
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@ public final class BroodMonitor extends CardImpl {
|
|||
// Devoid
|
||||
this.addAbility(new DevoidAbility(this.color));
|
||||
// When Brood Monitor enters the battlefield, create three 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 3);
|
||||
effect.setText("create three 1/1 colorless Eldrazi Scion creature tokens. They have \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 3).withTextOptions(true);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -23,8 +22,7 @@ public final class CallTheScions extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// Create two 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 2);
|
||||
effect.setText("create two 1/1 colorless Eldrazi Scion creature tokens. They have \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 2).withTextOptions(true);
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,8 +25,7 @@ public final class CarrierThrall extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// When Carrier Thrall dies, create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature. Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken());
|
||||
effect.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true);
|
||||
this.addAbility(new DiesSourceTriggeredAbility(effect, false));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class CatacombSifter extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// When Catacomb Sifter enters the battlefield, create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziScionToken())));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true)));
|
||||
|
||||
// Whenever another creature you control dies, scry 1
|
||||
this.addAbility(new DiesCreatureTriggeredAbility(new ScryEffect(1), false, StaticFilters.FILTER_ANOTHER_CREATURE_YOU_CONTROL));
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public final class Corpsehatch extends CardImpl {
|
|||
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK));
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken(), 2));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken(), 2).withTextOptions(true));
|
||||
}
|
||||
|
||||
private Corpsehatch(final Corpsehatch card) {
|
||||
|
|
|
|||
|
|
@ -19,8 +19,7 @@ public final class DanceWithDevils extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}");
|
||||
|
||||
// Create two 1/1 red Devil creature tokens. They have "When this creature dies, it deals 1 damage to any target."
|
||||
Effect effect = new CreateTokenEffect(new DevilToken(), 2);
|
||||
effect.setText("Create two 1/1 red Devil creature tokens. They have \"When this creature dies, it deals 1 damage to any target.\"");
|
||||
Effect effect = new CreateTokenEffect(new DevilToken(), 2).withTextOptions(true);
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,7 @@ public final class DevilsPlayground extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{R}{R}");
|
||||
|
||||
// Create four 1/1 red Devil creature tokens. They have "When this creature dies, it deals 1 damage to any target."
|
||||
Effect effect = new CreateTokenEffect(new DevilToken(), 4);
|
||||
effect.setText("Create four 1/1 red Devil creature tokens. They have \"When this creature dies, it deals 1 damage to any target.\"");
|
||||
Effect effect = new CreateTokenEffect(new DevilToken(), 4).withTextOptions(true);
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public final class DreadDrone extends CardImpl {
|
|||
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(1);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken(), 2)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken(), 2).withTextOptions(true)));
|
||||
}
|
||||
|
||||
private DreadDrone(final DreadDrone card) {
|
||||
|
|
|
|||
|
|
@ -45,8 +45,7 @@ public final class DrownerOfHope extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// When Drowner of Hope enters the battlefield, create two 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 2);
|
||||
effect.setText("create two 1/1 colorless Eldrazi Scion creature tokens. They have \"Sacrifice this creature: Add {C}");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 2).withTextOptions(true);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
|
||||
|
||||
// Sacrifice an Eldrazi Scion: Tap target creature.
|
||||
|
|
|
|||
|
|
@ -32,8 +32,7 @@ public final class EldraziSkyspawner extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// When Eldrazi Skyspawner enters the battlefield, create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken());
|
||||
effect.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,8 @@ public final class EmrakulsHatcher extends CardImpl {
|
|||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken(), 3), false));
|
||||
// When Emrakul’s Hatcher enters the battlefield, create three 0/1 colorless Eldrazi Spawn creature tokens. They have “Sacrifice this creature: Add {C}.”
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken(), 3).withTextOptions(true), false));
|
||||
}
|
||||
|
||||
private EmrakulsHatcher(final EmrakulsHatcher card) {
|
||||
|
|
|
|||
|
|
@ -21,9 +21,10 @@ public final class EssenceFeed extends CardImpl {
|
|||
public EssenceFeed (UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{B}");
|
||||
|
||||
// Target player loses 3 life. You gain 3 life and create three 0/1 colorless Eldrazi Spawn creature tokens. They have “Sacrifice this creature: Add {C}.”
|
||||
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(3));
|
||||
this.getSpellAbility().addEffect(new GainLifeEffect(3));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken(), 3).concatBy("and"));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken(), 3).withTextOptions(true).concatBy("and"));
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -29,8 +28,7 @@ public final class EyelessWatcher extends CardImpl {
|
|||
// Devoid
|
||||
this.addAbility(new DevoidAbility(this.color));
|
||||
// When Eyeless Watcher enters the battlefield, create two 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 2);
|
||||
effect.setText("create two 1/1 colorless Eldrazi Scion creature tokens. They have \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken(), 2).withTextOptions(true);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,8 @@ public final class FromBeyond extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// At the beginning of your upkeep, create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new EldraziScionToken()), TargetController.YOU, false));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(
|
||||
new EldraziScionToken()).withTextOptions(true), TargetController.YOU, false));
|
||||
|
||||
// {1}{G}, Sacrifice From Beyond: Search your library for an Eldrazi card, reveal it, put it into your hand, then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public final class GrowthSpasm extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true));
|
||||
|
||||
// Create a 0/1 colorless Eldrazi Spawn creature token. It has “Sacrifice this creature: Add {C}.”
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken()));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken()).withTextOptions(true));
|
||||
}
|
||||
|
||||
private GrowthSpasm(final GrowthSpasm card) {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.i;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -30,8 +29,7 @@ public final class IncubatorDrone extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// Whenever Incubator Drone enters the battlefield, create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken());
|
||||
effect.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public final class KozileksPredator extends CardImpl {
|
|||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken(), 2), false));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken(), 2).withTextOptions(true), false));
|
||||
}
|
||||
|
||||
private KozileksPredator(final KozileksPredator card) {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class MakeMischief extends CardImpl {
|
|||
// It has "When this creature dies, it deals 1 damage to any target."
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(1));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new DevilToken()));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new DevilToken()).withTextOptions(true));
|
||||
}
|
||||
|
||||
private MakeMischief(final MakeMischief card) {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.permanent.token.Ooze2Token;
|
||||
import mage.game.permanent.token.MitoticSlimeOozeToken;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -24,7 +24,7 @@ public final class MitoticSlime extends CardImpl {
|
|||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new Ooze2Token(), 2), false));
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new MitoticSlimeOozeToken(), 2), false));
|
||||
}
|
||||
|
||||
private MitoticSlime(final MitoticSlime card) {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,8 @@ public final class NestInvader extends CardImpl {
|
|||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken()), false));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new CreateTokenEffect(new EldraziSpawnToken()).withTextOptions(true), false));
|
||||
}
|
||||
|
||||
private NestInvader(final NestInvader card) {
|
||||
|
|
@ -38,4 +39,4 @@ public final class NestInvader extends CardImpl {
|
|||
return new NestInvader(this);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@ public final class PawnOfUlamog extends CardImpl {
|
|||
|
||||
// Whenever Pawn of Ulamog or another nontoken creature you control dies, you may create a 0/1 colorless
|
||||
// Eldrazi Spawn creature token. It has "Sacrifice this creature: Add {C}."
|
||||
this.addAbility(new DiesThisOrAnotherCreatureTriggeredAbility(new CreateTokenEffect(new EldraziSpawnToken()), true, filter));
|
||||
this.addAbility(new DiesThisOrAnotherCreatureTriggeredAbility(
|
||||
new CreateTokenEffect(new EldraziSpawnToken()).withTextOptions(true), true, filter));
|
||||
}
|
||||
|
||||
private PawnOfUlamog(final PawnOfUlamog card) {
|
||||
|
|
@ -47,4 +48,4 @@ public final class PawnOfUlamog extends CardImpl {
|
|||
public PawnOfUlamog copy() {
|
||||
return new PawnOfUlamog(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,8 +31,7 @@ public final class ScionSummoner extends CardImpl {
|
|||
|
||||
// When Scion Summoner enters the battlefield, create a 1/1 colorless Eldrazi Scion creature token.
|
||||
// It has "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken());
|
||||
effect.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,8 +41,7 @@ public final class SifterOfSkulls extends CardImpl {
|
|||
|
||||
// Whenever another nontoken creature you control dies, create a 1/1 colorless Eldrazi Scion creature token.
|
||||
// It has "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken());
|
||||
effect.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true);
|
||||
this.addAbility(new DiesCreatureTriggeredAbility(effect, false, filter));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ public final class SkitteringInvasion extends CardImpl {
|
|||
public SkitteringInvasion (UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{7}");
|
||||
this.subtype.add(SubType.ELDRAZI);
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken(), 5));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken(), 5).withTextOptions(true));
|
||||
}
|
||||
|
||||
private SkitteringInvasion(final SkitteringInvasion card) {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.s;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -28,7 +27,7 @@ public final class SpawningBed extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {6}, {T}, Sacrifice Spawning Bed: Create three 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}."
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new EldraziScionToken(), 3), new ManaCostsImpl<>("{6}"));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new EldraziScionToken(), 3).withTextOptions(true), new ManaCostsImpl<>("{6}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@ public final class SpawningBreath extends CardImpl {
|
|||
public SpawningBreath(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}");
|
||||
|
||||
|
||||
// Spawning Breath deals 1 damage to any target. Create a 0/1 colorless Eldrazi Spawn creature token. It has “Sacrifice this creature: Add {C}.”
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(1));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken()));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken()).withTextOptions(true));
|
||||
}
|
||||
|
||||
private SpawningBreath(final SpawningBreath card) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class SpawnsireOfUlamog extends CardImpl {
|
|||
this.addAbility(new AnnihilatorAbility(1));
|
||||
|
||||
// {4}: Create two 0/1 colorless Eldrazi Spawn creature tokens. They have "Sacrifice this creature: Add {C}."
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new EldraziSpawnToken(), 2), new GenericManaCost(4)));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new EldraziSpawnToken(), 2).withTextOptions(true), new GenericManaCost(4)));
|
||||
|
||||
// {20}: Cast any number of Eldrazi cards you own from outside the game without paying their mana costs.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.v;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -34,8 +33,7 @@ public final class VoidAttendant extends CardImpl {
|
|||
this.addAbility(new DevoidAbility(this.color));
|
||||
|
||||
// {1}{G}, Put a card an opponent owns from exile into that player's graveyard: Create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken());
|
||||
effect.setText("create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
Effect effect = new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{G}"));
|
||||
ability.addCost(new ExileOpponentsCardFromExileToGraveyardCost(true));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -51,8 +50,7 @@ public final class WarpingWail extends CardImpl {
|
|||
this.getSpellAbility().addMode(mode);
|
||||
|
||||
// Create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}."
|
||||
effect = new CreateTokenEffect(new EldraziScionToken());
|
||||
effect.setText("Create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
effect = new CreateTokenEffect(new EldraziScionToken()).withTextOptions(true);
|
||||
this.getSpellAbility().addMode(new Mode(effect));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
private final boolean tapped;
|
||||
private final boolean attacking;
|
||||
private String additionalRules;
|
||||
private boolean oldPhrasing = false; // true for "token. It has " instead of "token with "
|
||||
private List<UUID> lastAddedTokenIds = new ArrayList<>();
|
||||
private CounterType counterType;
|
||||
private DynamicValue numberOfCounters;
|
||||
|
|
@ -72,6 +73,7 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
this.counterType = effect.counterType;
|
||||
this.numberOfCounters = effect.numberOfCounters;
|
||||
this.additionalRules = effect.additionalRules;
|
||||
this.oldPhrasing = effect.oldPhrasing;
|
||||
}
|
||||
|
||||
public CreateTokenEffect entersWithCounters(CounterType counterType, DynamicValue numberOfCounters) {
|
||||
|
|
@ -129,33 +131,50 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* For adding reminder text to the effect
|
||||
*/
|
||||
public CreateTokenEffect withAdditionalRules(String additionalRules) {
|
||||
this.additionalRules = additionalRules;
|
||||
setText();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* For older cards that use the phrasing "token. It has " rather than "token with ".
|
||||
*/
|
||||
public CreateTokenEffect withTextOptions(boolean oldPhrasing) {
|
||||
this.oldPhrasing = oldPhrasing;
|
||||
setText();
|
||||
return this;
|
||||
}
|
||||
|
||||
private void setText() {
|
||||
if (token.getDescription().contains(", a legendary")) {
|
||||
staticText = "create " + token.getDescription();
|
||||
String tokenDescription = token.getDescription();
|
||||
boolean singular = amount.toString().equals("1");
|
||||
if (tokenDescription.contains(", a legendary")) {
|
||||
staticText = "create " + tokenDescription;
|
||||
return;
|
||||
}
|
||||
|
||||
if (oldPhrasing) {
|
||||
tokenDescription = tokenDescription.replace("token with \"",
|
||||
singular ? "token. It has \"" : "tokens. They have \"");
|
||||
}
|
||||
StringBuilder sb = new StringBuilder("create ");
|
||||
if (amount.toString().equals("1")) {
|
||||
if (singular) {
|
||||
if (tapped && !attacking) {
|
||||
sb.append("a tapped ");
|
||||
sb.append(token.getDescription());
|
||||
sb.append(tokenDescription);
|
||||
} else {
|
||||
sb.append(CardUtil.addArticle(token.getDescription()));
|
||||
sb.append(CardUtil.addArticle(tokenDescription));
|
||||
}
|
||||
} else {
|
||||
sb.append(CardUtil.numberToText(amount.toString())).append(' ');
|
||||
if (tapped && !attacking) {
|
||||
sb.append("tapped ");
|
||||
}
|
||||
sb.append(token.getDescription().replace("token. It has", "tokens. They have"));
|
||||
if (token.getDescription().endsWith("token")) {
|
||||
sb.append(tokenDescription);
|
||||
if (tokenDescription.endsWith("token")) {
|
||||
sb.append("s");
|
||||
}
|
||||
int tokenLocation = sb.indexOf("token ");
|
||||
|
|
@ -165,7 +184,7 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
if (attacking) {
|
||||
if (amount.toString().equals("1")) {
|
||||
if (singular) {
|
||||
sb.append(" that's");
|
||||
} else {
|
||||
sb.append(" that are");
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import mage.constants.Zone;
|
|||
public final class EldraziSpawnToken extends TokenImpl {
|
||||
|
||||
public EldraziSpawnToken() {
|
||||
super("Eldrazi Spawn Token", "0/1 colorless Eldrazi Spawn creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
super("Eldrazi Spawn Token", "0/1 colorless Eldrazi Spawn creature token with \"Sacrifice this creature: Add {C}.\"");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.ELDRAZI);
|
||||
subtype.add(SubType.SPAWN);
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ import mage.constants.SubType;
|
|||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class Ooze2Token extends TokenImpl {
|
||||
public final class MitoticSlimeOozeToken extends TokenImpl {
|
||||
|
||||
public Ooze2Token() {
|
||||
super("Ooze Token", "2/2 green Ooze creature token. It has \"When this creature dies, create two 1/1 green Ooze creature tokens.\"");
|
||||
public MitoticSlimeOozeToken() {
|
||||
super("Ooze Token", "2/2 green Ooze creature tokens. They have \"When this creature dies, create two 1/1 green Ooze creature tokens.\"");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.OOZE);
|
||||
color.setGreen(true);
|
||||
|
|
@ -21,11 +21,11 @@ public final class Ooze2Token extends TokenImpl {
|
|||
this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new OozeToken(1, 1), 2), false));
|
||||
}
|
||||
|
||||
private Ooze2Token(final Ooze2Token token) {
|
||||
private MitoticSlimeOozeToken(final MitoticSlimeOozeToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public Ooze2Token copy() {
|
||||
return new Ooze2Token(this);
|
||||
public MitoticSlimeOozeToken copy() {
|
||||
return new MitoticSlimeOozeToken(this);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue