cleanup token class names (#14323)

* ElementalTokenWithHaste -> ElementalHasteToken

* SoldierTokenWithHaste -> SoldierHasteToken

* TrooperToken2 -> TrooperBlackToken. TrooperToken -> TrooperWhiteToken for consistency

* RedElementalWithTrampleAndHaste -> RedElementalTrampleHasteToken
This commit is contained in:
Muz 2026-01-26 19:17:05 -06:00 committed by GitHub
parent 7ff9059e6f
commit 81a26c2a76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 76 additions and 77 deletions

View file

@ -11,7 +11,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.counters.CounterType;
import mage.game.permanent.token.SoldierTokenWithHaste;
import mage.game.permanent.token.SoldierHasteToken;
/**
*
@ -24,7 +24,7 @@ public final class AssembleTheLegion extends CardImpl {
// At the beginning of your upkeep, put a muster counter on Assemble the Legion. Then create a 1/1 red and white Soldier creature token with haste for each muster counter on Assemble the Legion.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.MUSTER.createInstance()));
ability.addEffect(new CreateTokenEffect(new SoldierTokenWithHaste(), new CountersSourceCount(CounterType.MUSTER)).concatBy("Then"));
ability.addEffect(new CreateTokenEffect(new SoldierHasteToken(), new CountersSourceCount(CounterType.MUSTER)).concatBy("Then"));
this.addAbility(ability);
}

View file

@ -9,7 +9,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.game.permanent.token.SoldierTokenWithHaste;
import mage.game.permanent.token.SoldierHasteToken;
import java.util.UUID;
@ -27,7 +27,7 @@ public final class BlazeCommando extends CardImpl {
// Whenever an instant or sorcery spell you control deals damage, create two 1/1 red and white Soldier creature tokens with haste.
this.addAbility(new SpellControlledDealsDamageTriggeredAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new SoldierTokenWithHaste(), 2),
new CreateTokenEffect(new SoldierHasteToken(), 2),
StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY, false
));

View file

@ -20,7 +20,7 @@ import mage.constants.CardType;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.SoldierTokenWithHaste;
import mage.game.permanent.token.SoldierHasteToken;
import mage.target.common.TargetOpponent;
/**
@ -49,7 +49,7 @@ public final class CaesarLegionsEmperor extends CardImpl {
// Whenever you attack, you may sacrifice another creature. When you do, choose two --
// * Create two 1/1 red and white Soldier creature tokens with haste that are tapped and attacking.
ReflexiveTriggeredAbility triggeredAbility = new ReflexiveTriggeredAbility(
new CreateTokenEffect(new SoldierTokenWithHaste(), 2, true, true), false);
new CreateTokenEffect(new SoldierHasteToken(), 2, true, true), false);
triggeredAbility.getModes().setMinModes(2);
triggeredAbility.getModes().setMaxModes(2);

View file

@ -16,7 +16,7 @@ import mage.cards.CardSetInfo;
import mage.filter.common.FilterCreatureCard;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.TrooperToken;
import mage.game.permanent.token.TrooperWhiteToken;
import mage.target.common.TargetCardInLibrary;
/**
@ -36,7 +36,7 @@ public final class CaptainPhasma extends CardImpl {
public CaptainPhasma(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.TROOPER);
@ -44,7 +44,7 @@ public final class CaptainPhasma extends CardImpl {
this.toughness = new MageInt(4);
// Nontoken Trooper creatures you control have "When this creature enters the battlefield, create 1/1/ white Trooper creature token."
Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new TrooperToken()), false)
Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new TrooperWhiteToken()), false)
.setTriggerPhrase("When this creature enters, ");
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(ability, Duration.WhileOnBattlefield, filter, false)));

View file

@ -14,7 +14,7 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.token.ElementalTokenWithHaste;
import mage.game.permanent.token.ElementalHasteToken;
import mage.players.Player;
import java.util.UUID;
@ -73,7 +73,7 @@ class ChandraElementalEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
CreateTokenEffect effect = new CreateTokenEffect(new ElementalTokenWithHaste(), 2);
CreateTokenEffect effect = new CreateTokenEffect(new ElementalHasteToken(), 2);
effect.apply(game, source);
effect.exileTokensCreatedAtNextEndStep(game, source);
return true;

View file

@ -10,7 +10,7 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.TrooperToken;
import mage.game.permanent.token.TrooperWhiteToken;
import java.util.UUID;
@ -36,7 +36,7 @@ public final class CommanderCody extends CardImpl {
// Non-token Trooper creatures you control have "At the beginning of your upkeep, create a 1/1 white Trooper creature token."
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new TrooperToken())),
new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new TrooperWhiteToken())),
Duration.WhileOnBattlefield, filter, false)
.withForceQuotes()
));

View file

@ -6,7 +6,7 @@ import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.game.permanent.token.TrooperToken;
import mage.game.permanent.token.TrooperWhiteToken;
/**
*
@ -18,7 +18,7 @@ public final class DeployTheTroops extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{W}");
// Create 3 1/1 white Trooper creature tokens.
this.getSpellAbility().addEffect(new CreateTokenEffect(new TrooperToken(), 3));
this.getSpellAbility().addEffect(new CreateTokenEffect(new TrooperWhiteToken(), 3));
}

View file

@ -13,7 +13,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.game.permanent.token.TrooperToken2;
import mage.game.permanent.token.TrooperBlackToken;
import mage.target.TargetPermanent;
/**
@ -23,15 +23,15 @@ import mage.target.TargetPermanent;
public final class DirectorKrennic extends CardImpl {
private static final FilterPermanent filterLand = new FilterPermanent("basic land");
static {
filterLand.add(CardType.LAND.getPredicate());
filterLand.add(SuperType.BASIC.getPredicate());
}
public DirectorKrennic(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.ADVISOR);
@ -39,8 +39,8 @@ public final class DirectorKrennic extends CardImpl {
this.toughness = new MageInt(4);
// When Director Krennic enters the battlefield, create two 1/1 black Trooper creature tokens.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new TrooperToken2(), 2)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new TrooperBlackToken(), 2)));
// When Director Krennic leaves the battlefield, destroy target basic land.
Ability ability = new LeavesBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
ability.addTarget(new TargetPermanent(filterLand));

View file

@ -17,7 +17,7 @@ import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardIdPredicate;
import mage.game.Game;
import mage.game.permanent.token.RedElementalWithTrampleAndHaste;
import mage.game.permanent.token.RedElementalTrampleHasteToken;
import java.util.ArrayList;
import java.util.List;
@ -68,7 +68,7 @@ class ElementalAppealEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
CreateTokenEffect effect = new CreateTokenEffect(new RedElementalWithTrampleAndHaste());
CreateTokenEffect effect = new CreateTokenEffect(new RedElementalTrampleHasteToken());
if (effect.apply(game, source)) {
effect.exileTokensCreatedAtNextEndStep(game, source);
if (KickedCondition.ONCE.apply(game, source)) {

View file

@ -8,7 +8,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.token.ElementalTokenWithHaste;
import mage.game.permanent.token.ElementalHasteToken;
import mage.players.Player;
import java.util.UUID;
@ -56,7 +56,7 @@ class FeralLightningEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
CreateTokenEffect effect = new CreateTokenEffect(new ElementalTokenWithHaste(), 3);
CreateTokenEffect effect = new CreateTokenEffect(new ElementalHasteToken(), 3);
effect.apply(game, source);
effect.exileTokensCreatedAtNextEndStep(game, source);
return true;

View file

@ -16,7 +16,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.game.permanent.token.TrooperToken;
import mage.game.permanent.token.TrooperWhiteToken;
/**
*
@ -40,7 +40,7 @@ public final class KaminoCloningFacility extends CardImpl {
this.addAbility(new ConditionalAnyColorManaAbility(new TapSourceCost(), 1, new ConditionalSpellManaBuilder(FILTER), true));
// {5}, {T}: Create a 1/1 white Trooper creature tokens.
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new TrooperToken(), 1), new ManaCostsImpl<>("{5}"));
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new TrooperWhiteToken(), 1), new ManaCostsImpl<>("{5}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

View file

@ -15,7 +15,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.game.permanent.token.TrooperToken;
import mage.game.permanent.token.TrooperWhiteToken;
/**
*
@ -30,7 +30,7 @@ public final class LAATGunship extends CardImpl {
this.toughness = new MageInt(2);
// When LAAT Gunship attacks, create a 1/1 white Trooper creature token on to battlefield tapped and attacking.
this.addAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new TrooperToken(), 1, true, true), false));
this.addAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new TrooperWhiteToken(), 1, true, true), false));
// {W}: LAAT Gunship gains spaceflight until the end of turn. Activate this ability only as a sorcery
this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));

View file

@ -14,7 +14,7 @@ import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.ElementalTokenWithHaste;
import mage.game.permanent.token.ElementalHasteToken;
import mage.players.Player;
import java.util.UUID;
@ -67,7 +67,7 @@ class LightningCoilsEffect extends OneShotEffect {
if (counters >= 5) {
// remove all the counters and create that many tokens
permanent.removeAllCounters(CounterType.CHARGE.getName(), source, game);
CreateTokenEffect effect = new CreateTokenEffect(new ElementalTokenWithHaste(), counters);
CreateTokenEffect effect = new CreateTokenEffect(new ElementalHasteToken(), counters);
effect.apply(game, source);
// exile those tokens at next end step

View file

@ -13,7 +13,7 @@ import mage.constants.CardType;
import mage.constants.ColoredManaSymbol;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.game.permanent.token.ElementalTokenWithHaste;
import mage.game.permanent.token.ElementalHasteToken;
import java.util.UUID;
@ -33,7 +33,7 @@ public final class RakkaMar extends CardImpl {
this.addAbility(HasteAbility.getInstance());
Ability ability = new SimpleActivatedAbility(
new CreateTokenEffect(new ElementalTokenWithHaste()),
new CreateTokenEffect(new ElementalHasteToken()),
new ColoredManaCost(ColoredManaSymbol.R)
);
ability.addCost(new TapSourceCost());

View file

@ -11,8 +11,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.game.permanent.token.SoldierTokenWithHaste;
import mage.game.permanent.token.SoldierHasteToken;
/**
*
@ -32,7 +31,7 @@ public final class SunhomeGuildmage extends CardImpl {
this.addAbility(new SimpleActivatedAbility(new BoostControlledEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}{W}")));
//{2}{R}{W}: Create a 1/1 red and white Soldier creature token with haste.
this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new SoldierTokenWithHaste()), new ManaCostsImpl<>("{2}{R}{W}")));
this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new SoldierHasteToken()), new ManaCostsImpl<>("{2}{R}{W}")));
}
private SunhomeGuildmage(final SunhomeGuildmage card) {

View file

@ -15,7 +15,7 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.counters.CounterType;
import mage.game.Game;
import mage.game.permanent.token.RedElementalWithTrampleAndHaste;
import mage.game.permanent.token.RedElementalTrampleHasteToken;
import java.util.UUID;
@ -68,7 +68,7 @@ class ZektarShrineExpeditionEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
CreateTokenEffect effect = new CreateTokenEffect(new RedElementalWithTrampleAndHaste());
CreateTokenEffect effect = new CreateTokenEffect(new RedElementalTrampleHasteToken());
if (effect.apply(game, source)) {
effect.exileTokensCreatedAtNextEndStep(game, source);
return true;

View file

@ -18,7 +18,7 @@ public final class ATATToken extends TokenImpl {
cardType.add(CardType.ARTIFACT);
cardType.add(CardType.CREATURE);
color.setWhite(true);
addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new TrooperToken(), 2)));
addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new TrooperWhiteToken(), 2)));
subtype.add(SubType.ATAT);
}

View file

@ -8,9 +8,9 @@ import mage.constants.SubType;
/**
* @author magenoxx
*/
public final class ElementalTokenWithHaste extends TokenImpl {
public final class ElementalHasteToken extends TokenImpl {
public ElementalTokenWithHaste() {
public ElementalHasteToken() {
super("Elemental Token", "3/1 red Elemental creature token with haste");
cardType.add(CardType.CREATURE);
color.setRed(true);
@ -20,11 +20,11 @@ public final class ElementalTokenWithHaste extends TokenImpl {
this.addAbility(HasteAbility.getInstance());
}
protected ElementalTokenWithHaste(final ElementalTokenWithHaste token) {
protected ElementalHasteToken(final ElementalHasteToken token) {
super(token);
}
public ElementalTokenWithHaste copy() {
return new ElementalTokenWithHaste(this);
public ElementalHasteToken copy() {
return new ElementalHasteToken(this);
}
}

View file

@ -10,9 +10,9 @@ import mage.util.RandomUtil;
/**
* @author spjspj
*/
public final class RedElementalWithTrampleAndHaste extends TokenImpl {
public final class RedElementalTrampleHasteToken extends TokenImpl {
public RedElementalWithTrampleAndHaste() {
public RedElementalTrampleHasteToken() {
super("Elemental Token", "7/1 red Elemental creature token with trample and haste");
cardType.add(CardType.CREATURE);
color.setRed(true);
@ -23,11 +23,11 @@ public final class RedElementalWithTrampleAndHaste extends TokenImpl {
addAbility(HasteAbility.getInstance());
}
protected RedElementalWithTrampleAndHaste(final RedElementalWithTrampleAndHaste token) {
protected RedElementalTrampleHasteToken(final RedElementalTrampleHasteToken token) {
super(token);
}
public RedElementalWithTrampleAndHaste copy() {
return new RedElementalWithTrampleAndHaste(this);
public RedElementalTrampleHasteToken copy() {
return new RedElementalTrampleHasteToken(this);
}
}

View file

@ -8,9 +8,9 @@ import mage.constants.SubType;
/**
* @author LoneFox
*/
public final class SoldierTokenWithHaste extends TokenImpl {
public final class SoldierHasteToken extends TokenImpl {
public SoldierTokenWithHaste() {
public SoldierHasteToken() {
super("Soldier Token", "1/1 red and white Soldier creature token with haste");
cardType.add(CardType.CREATURE);
color.setWhite(true);
@ -21,12 +21,12 @@ public final class SoldierTokenWithHaste extends TokenImpl {
addAbility(HasteAbility.getInstance());
}
protected SoldierTokenWithHaste(final SoldierTokenWithHaste token) {
protected SoldierHasteToken(final SoldierHasteToken token) {
super(token);
}
@Override
public SoldierTokenWithHaste copy() {
return new SoldierTokenWithHaste(this);
public SoldierHasteToken copy() {
return new SoldierHasteToken(this);
}
}

View file

@ -7,9 +7,9 @@ import mage.constants.SubType;
/**
* @author NinthWorld
*/
public final class TrooperToken2 extends TokenImpl {
public final class TrooperBlackToken extends TokenImpl {
public TrooperToken2() {
public TrooperBlackToken() {
super("Trooper Token", "1/1 black Trooper creature token");
cardType.add(CardType.CREATURE);
@ -20,11 +20,11 @@ public final class TrooperToken2 extends TokenImpl {
toughness = new MageInt(1);
}
protected TrooperToken2(final TrooperToken2 token) {
protected TrooperBlackToken(final TrooperBlackToken token) {
super(token);
}
public TrooperToken2 copy() {
return new TrooperToken2(this);
public TrooperBlackToken copy() {
return new TrooperBlackToken(this);
}
}

View file

@ -7,9 +7,9 @@ import mage.constants.SubType;
/**
* @author Styxo
*/
public final class TrooperToken extends TokenImpl {
public final class TrooperWhiteToken extends TokenImpl {
public TrooperToken() {
public TrooperWhiteToken() {
super("Trooper Token", "1/1 white Trooper creature token");
cardType.add(CardType.CREATURE);
@ -20,11 +20,11 @@ public final class TrooperToken extends TokenImpl {
toughness = new MageInt(1);
}
private TrooperToken(final TrooperToken token) {
private TrooperWhiteToken(final TrooperWhiteToken token) {
super(token);
}
public TrooperToken copy() {
return new TrooperToken(this);
public TrooperWhiteToken copy() {
return new TrooperWhiteToken(this);
}
}

View file

@ -471,7 +471,7 @@
# CON
|TOK:CON|Angel||AngelToken|
|TOK:CON|Elemental||ElementalTokenWithHaste|
|TOK:CON|Elemental||ElementalHasteToken|
# DVD
|TOK:DVD|Demon||DemonFlyingToken|
@ -643,7 +643,7 @@
|TOK:GTC|Frog Lizard||FrogLizardToken|
|TOK:GTC|Horror||NightwingHorrorToken|
|TOK:GTC|Rat||RatToken|
|TOK:GTC|Soldier||SoldierTokenWithHaste|
|TOK:GTC|Soldier||SoldierHasteToken|
|TOK:GTC|Spirit||WhiteBlackSpiritToken|
# H17
@ -827,7 +827,7 @@
|TOK:MM3|Phyrexian Golem||PhyrexianGolemToken|
|TOK:MM3|Saproling||SaprolingToken|
|TOK:MM3|Soldier|1|SoldierToken|
|TOK:MM3|Soldier|2|SoldierTokenWithHaste|
|TOK:MM3|Soldier|2|SoldierHasteToken|
|TOK:MM3|Spider||PenumbraSpiderToken|
|TOK:MM3|Spirit||SpiritWhiteToken|
|TOK:MM3|Wurm||WurmWithTrampleToken|
@ -878,7 +878,7 @@
|TOK:OGW|Eldrazi Scion|5|EldraziScionToken|
|TOK:OGW|Eldrazi Scion|6|EldraziScionToken|
|TOK:OGW|Elemental|1|ElementalXXGreenToken|
|TOK:OGW|Elemental|2|ElementalTokenWithHaste|
|TOK:OGW|Elemental|2|ElementalHasteToken|
|TOK:OGW|Plant||PlantToken|
|TOK:OGW|Zombie||ZombieToken|
@ -976,7 +976,7 @@
|TOK:SWS|Rebel||RebelToken|
|TOK:SWS|Royal Guard||RoyalGuardToken|
|TOK:SWS|TIE Fighter||TIEFighterToken|
|TOK:SWS|Trooper||TrooperToken|
|TOK:SWS|Trooper||TrooperWhiteToken|
|TOK:SWS|Tusken Raider||TuskenRaiderToken|
# THS
@ -1034,7 +1034,7 @@
|TOK:ZEN|Angel||AngelToken|
|TOK:ZEN|Beast||Beast44Token|
|TOK:ZEN|Bird||BirdToken|
|TOK:ZEN|Elemental||RedElementalWithTrampleAndHaste|
|TOK:ZEN|Elemental||RedElementalTrampleHasteToken|
|TOK:ZEN|Illusion||IllusionToken|
|TOK:ZEN|Kor Soldier||KorSoldierToken|
|TOK:ZEN|Merfolk||MerfolkToken|
@ -1193,7 +1193,7 @@
|TOK:C20|Bird Illusion||BirdIllusionToken|
|TOK:C20|Dinosaur Cat||DinosaurCatToken|
|TOK:C20|Drake||DrakeToken|
|TOK:C20|Elemental|1|ElementalTokenWithHaste|
|TOK:C20|Elemental|1|ElementalHasteToken|
|TOK:C20|Elemental|2|WhiteElementalToken|
|TOK:C20|Goblin Warrior||GoblinWarriorToken|
|TOK:C20|Human||HumanToken|
@ -1654,7 +1654,7 @@
|TOK:NCC|Plant||PlantToken|
|TOK:NCC|Saproling||SaprolingToken|
|TOK:NCC|Soldier|1|SoldierLifelinkToken|
|TOK:NCC|Soldier|2|SoldierTokenWithHaste|
|TOK:NCC|Soldier|2|SoldierHasteToken|
|TOK:NCC|Spider||SpiderToken|
|TOK:NCC|Squid||SquidToken|
|TOK:NCC|Tentacle||TentacleToken|
@ -1786,7 +1786,7 @@
|TOK:GK1|Horror||NightwingHorrorToken|
|TOK:GK1|Saproling|1|SaprolingToken|
|TOK:GK1|Saproling|2|SaprolingToken|
|TOK:GK1|Soldier||SoldierTokenWithHaste|
|TOK:GK1|Soldier||SoldierHasteToken|
|TOK:GK1|Voja||VojaToken|
|TOK:GK1|Weird||WeirdToken|
|TOK:GK1|Wurm||WurmWithTrampleToken|
@ -2036,7 +2036,7 @@
|TOK:ONC|Phyrexian Wurm||PhyrexianWurmToken|
|TOK:ONC|Soldier|1|SoldierToken|
|TOK:ONC|Soldier|2|SoldierVigilanceToken|
|TOK:ONC|Soldier|3|SoldierTokenWithHaste|
|TOK:ONC|Soldier|3|SoldierHasteToken|
|TOK:ONC|Spirit||SpiritWhiteToken|
|TOK:ONC|Thopter||ThopterColorlessToken|
@ -2186,7 +2186,7 @@
|TOK:CMM|Eldrazi Scion||EldraziScionToken|
|TOK:CMM|Eldrazi Spawn||EldraziSpawnToken|
|TOK:CMM|Elemental|1|Elemental11HasteToken|
|TOK:CMM|Elemental|2|ElementalTokenWithHaste|
|TOK:CMM|Elemental|2|ElementalHasteToken|
|TOK:CMM|Elemental|3|Elemental31TrampleHasteToken|
|TOK:CMM|Elemental|4|Elemental44Token|
|TOK:CMM|Elephant||ElephantToken|
@ -2305,7 +2305,7 @@
|TOK:PIP|Junk||JunkToken|
|TOK:PIP|Robot||Robot33Token|
|TOK:PIP|Settlement||SettlementToken|
|TOK:PIP|Soldier|1|SoldierTokenWithHaste|
|TOK:PIP|Soldier|1|SoldierHasteToken|
|TOK:PIP|Soldier|2|SoldierToken|
|TOK:PIP|Squirrel||SquirrelToken|
|TOK:PIP|Thopter||ThopterToken|
@ -2364,7 +2364,7 @@
|TOK:RVR|Goblin|2|RakdosGuildmageGoblinToken|
|TOK:RVR|Rhino||RhinoToken|
|TOK:RVR|Saproling||SaprolingToken|
|TOK:RVR|Soldier||SoldierTokenWithHaste|
|TOK:RVR|Soldier||SoldierHasteToken|
|TOK:RVR|Sphinx||WardenSphinxToken|
|TOK:RVR|Spirit|1|SpiritWhiteToken|
|TOK:RVR|Spirit|2|WhiteBlackSpiritToken|