From 730bd8e63d20fccbf92c359977bfe40bf6a6bd2b Mon Sep 17 00:00:00 2001 From: androosss <101566943+androosss@users.noreply.github.com> Date: Tue, 1 Apr 2025 11:58:05 +0200 Subject: [PATCH] refactor: improved tokens structure (#13487) - removed duplicate tokens - fixed names of some tokens - corrected tokens used in tokens database --- .../src/mage/cards/c/CrushOfTentacles.java | 4 +- .../mage/cards/d/DanceOfTheTumbleweeds.java | 4 +- .../src/mage/cards/e/EyesOfTheWisent.java | 4 +- Mage.Sets/src/mage/cards/f/FleshCarver.java | 4 +- .../mage/cards/g/GrismoldTheDreadsower.java | 4 +- .../src/mage/cards/g/GrovetenderDruids.java | 4 +- .../src/mage/cards/i/InfernalGenesis.java | 4 +- .../src/mage/cards/m/MarathWillOfTheWild.java | 12 ++--- .../src/mage/cards/p/PhyrexianProcessor.java | 11 ++--- Mage.Sets/src/mage/cards/r/RallyTheHorde.java | 4 +- Mage.Sets/src/mage/cards/s/SeedGuardian.java | 4 +- .../src/mage/cards/s/SorinSolemnVisitor.java | 4 +- Mage.Sets/src/mage/cards/s/SpoilsOfBlood.java | 4 +- .../src/mage/cards/t/TumbleweedRising.java | 4 +- .../src/mage/cards/w/WalkerOfTheGrove.java | 4 +- .../token/CrushOfTentaclesToken.java | 29 ------------ .../game/permanent/token/DinDragonToken.java | 2 +- ...lToken.java => Elemental44GreenToken.java} | 10 ++--- ...nToken.java => ElementalXXGreenToken.java} | 12 ++--- .../token/GrovetenderDruidsPlantToken.java | 28 ------------ ...rrorToken.java => HorrorXXBlackToken.java} | 12 ++--- .../game/permanent/token/HumanRogueToken.java | 2 +- .../MarathWillOfTheWildElementalToken.java | 30 ------------- .../game/permanent/token/MinionToken.java | 15 +++---- .../game/permanent/token/MinionToken2.java | 28 ------------ .../token/NighteyesTheDesecratorToken.java | 44 ------------------- .../permanent/token/PhyrexianMinionToken.java | 33 ++++++++++++++ ...smoldPlantToken.java => Plant11Token.java} | 13 +++--- .../token/RallyTheHordeWarriorToken.java | 29 ------------ .../token/SorinSolemnVisitorVampireToken.java | 30 ------------- .../token/SpoilsOfBloodHorrorToken.java | 32 -------------- .../token/WalkerOfTheGroveToken.java | 29 ------------ Mage/src/main/resources/tokens-database.txt | 26 +++++------ 33 files changed, 112 insertions(+), 367 deletions(-) delete mode 100644 Mage/src/main/java/mage/game/permanent/token/CrushOfTentaclesToken.java rename Mage/src/main/java/mage/game/permanent/token/{EyesOfTheWisentElementalToken.java => Elemental44GreenToken.java} (59%) rename Mage/src/main/java/mage/game/permanent/token/{SeedGuardianToken.java => ElementalXXGreenToken.java} (60%) delete mode 100644 Mage/src/main/java/mage/game/permanent/token/GrovetenderDruidsPlantToken.java rename Mage/src/main/java/mage/game/permanent/token/{FleshCarverHorrorToken.java => HorrorXXBlackToken.java} (59%) delete mode 100644 Mage/src/main/java/mage/game/permanent/token/MarathWillOfTheWildElementalToken.java delete mode 100644 Mage/src/main/java/mage/game/permanent/token/MinionToken2.java delete mode 100644 Mage/src/main/java/mage/game/permanent/token/NighteyesTheDesecratorToken.java create mode 100644 Mage/src/main/java/mage/game/permanent/token/PhyrexianMinionToken.java rename Mage/src/main/java/mage/game/permanent/token/{GrismoldPlantToken.java => Plant11Token.java} (62%) delete mode 100644 Mage/src/main/java/mage/game/permanent/token/RallyTheHordeWarriorToken.java delete mode 100644 Mage/src/main/java/mage/game/permanent/token/SorinSolemnVisitorVampireToken.java delete mode 100644 Mage/src/main/java/mage/game/permanent/token/SpoilsOfBloodHorrorToken.java delete mode 100644 Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java diff --git a/Mage.Sets/src/mage/cards/c/CrushOfTentacles.java b/Mage.Sets/src/mage/cards/c/CrushOfTentacles.java index 933d08d7330..2e2f579b3c0 100644 --- a/Mage.Sets/src/mage/cards/c/CrushOfTentacles.java +++ b/Mage.Sets/src/mage/cards/c/CrushOfTentacles.java @@ -12,7 +12,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.common.FilterNonlandPermanent; -import mage.game.permanent.token.CrushOfTentaclesToken; +import mage.game.permanent.token.OctopusToken; /** * @@ -25,7 +25,7 @@ public final class CrushOfTentacles extends CardImpl { // Return all nonland permanents to their owners' hands. If Crush of Tentacles surge cost was paid, create an 8/8 blue Octopus creature token. getSpellAbility().addEffect(new ReturnToHandFromBattlefieldAllEffect(new FilterNonlandPermanent("nonland permanents"))); - Effect effect = new ConditionalOneShotEffect(new CreateTokenEffect(new CrushOfTentaclesToken()), SurgedCondition.instance); + Effect effect = new ConditionalOneShotEffect(new CreateTokenEffect(new OctopusToken()), SurgedCondition.instance); effect.setText("If this spell's surge cost was paid, create an 8/8 blue Octopus creature token"); getSpellAbility().addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/d/DanceOfTheTumbleweeds.java b/Mage.Sets/src/mage/cards/d/DanceOfTheTumbleweeds.java index 9a158a24685..0d6f28edb95 100644 --- a/Mage.Sets/src/mage/cards/d/DanceOfTheTumbleweeds.java +++ b/Mage.Sets/src/mage/cards/d/DanceOfTheTumbleweeds.java @@ -17,7 +17,7 @@ import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.game.Game; -import mage.game.permanent.token.SeedGuardianToken; +import mage.game.permanent.token.ElementalXXGreenToken; import mage.target.common.TargetCardInLibrary; import java.util.UUID; @@ -83,7 +83,7 @@ class DanceOfTheTumbleweedsEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - return new SeedGuardianToken(LandsYouControlCount.instance.calculate(game, source, this)) + return new ElementalXXGreenToken(LandsYouControlCount.instance.calculate(game, source, this)) .putOntoBattlefield(1, game, source); } } diff --git a/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java b/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java index 5da9e6b315e..4a97eda2c78 100644 --- a/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java +++ b/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java @@ -12,7 +12,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.game.permanent.token.EyesOfTheWisentElementalToken; +import mage.game.permanent.token.Elemental44GreenToken; import java.util.UUID; @@ -33,7 +33,7 @@ public final class EyesOfTheWisent extends CardImpl { // Whenever an opponent casts a blue spell during your turn, you may create a 4/4 green Elemental creature token. this.addAbility(new ConditionalTriggeredAbility( - new SpellCastOpponentTriggeredAbility(new CreateTokenEffect(new EyesOfTheWisentElementalToken()), filter, true), + new SpellCastOpponentTriggeredAbility(new CreateTokenEffect(new Elemental44GreenToken()), filter, true), MyTurnCondition.instance, "Whenever an opponent casts a blue spell during your turn, you may create a 4/4 green Elemental creature token." ).addHint(MyTurnHint.instance)); diff --git a/Mage.Sets/src/mage/cards/f/FleshCarver.java b/Mage.Sets/src/mage/cards/f/FleshCarver.java index 8247d4cbb23..7ba5d59fdcd 100644 --- a/Mage.Sets/src/mage/cards/f/FleshCarver.java +++ b/Mage.Sets/src/mage/cards/f/FleshCarver.java @@ -24,7 +24,7 @@ import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; -import mage.game.permanent.token.FleshCarverHorrorToken; +import mage.game.permanent.token.HorrorXXBlackToken; import mage.players.Player; import mage.target.common.TargetControlledPermanent; @@ -110,7 +110,7 @@ class FleshCarverEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { int xValue = (Integer) getValue("power"); - return new CreateTokenEffect(new FleshCarverHorrorToken(xValue)).apply(game, source); + return new CreateTokenEffect(new HorrorXXBlackToken(xValue)).apply(game, source); } return false; } diff --git a/Mage.Sets/src/mage/cards/g/GrismoldTheDreadsower.java b/Mage.Sets/src/mage/cards/g/GrismoldTheDreadsower.java index 5ea3e290dc9..ab06afa01bb 100644 --- a/Mage.Sets/src/mage/cards/g/GrismoldTheDreadsower.java +++ b/Mage.Sets/src/mage/cards/g/GrismoldTheDreadsower.java @@ -16,7 +16,7 @@ import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TokenPredicate; -import mage.game.permanent.token.GrismoldPlantToken; +import mage.game.permanent.token.Plant11Token; import java.util.UUID; @@ -45,7 +45,7 @@ public final class GrismoldTheDreadsower extends CardImpl { // At the beginning of your end step, each player creates a 1/1 green Plant creature token. this.addAbility(new BeginningOfEndStepTriggeredAbility( - new CreateTokenAllEffect(new GrismoldPlantToken(), TargetController.EACH_PLAYER) + new CreateTokenAllEffect(new Plant11Token(), TargetController.EACH_PLAYER) )); // Whenever a creature token dies, put a +1/+1 counter on Grismold, the Dreadsower. diff --git a/Mage.Sets/src/mage/cards/g/GrovetenderDruids.java b/Mage.Sets/src/mage/cards/g/GrovetenderDruids.java index 9964ddf09b5..aedf0f54914 100644 --- a/Mage.Sets/src/mage/cards/g/GrovetenderDruids.java +++ b/Mage.Sets/src/mage/cards/g/GrovetenderDruids.java @@ -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.GrovetenderDruidsPlantToken; +import mage.game.permanent.token.Plant11Token; import java.util.UUID; @@ -29,7 +29,7 @@ public final class GrovetenderDruids extends CardImpl { // Rally-Whenever Grovetender Druids or another Ally you control enters, you may pay {1}. // If you do, create a 1/1 green Plant creature token. this.addAbility(new AllyEntersBattlefieldTriggeredAbility(new DoIfCostPaid( - new CreateTokenEffect(new GrovetenderDruidsPlantToken()), new GenericManaCost(1) + new CreateTokenEffect(new Plant11Token()), new GenericManaCost(1) ), false)); } diff --git a/Mage.Sets/src/mage/cards/i/InfernalGenesis.java b/Mage.Sets/src/mage/cards/i/InfernalGenesis.java index 36d9fea4d6c..b2bf94bdd3c 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalGenesis.java +++ b/Mage.Sets/src/mage/cards/i/InfernalGenesis.java @@ -10,7 +10,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; -import mage.game.permanent.token.MinionToken2; +import mage.game.permanent.token.MinionToken; import mage.game.permanent.token.Token; import mage.players.Player; @@ -42,7 +42,7 @@ public final class InfernalGenesis extends CardImpl { class InfernalGenesisEffect extends OneShotEffect { - private static final Token token = new MinionToken2(); + private static final Token token = new MinionToken(); InfernalGenesisEffect() { super(Outcome.PutCreatureInPlay); diff --git a/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java b/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java index c6b1fb11ff2..d8709770525 100644 --- a/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java +++ b/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java @@ -15,6 +15,7 @@ import mage.abilities.dynamicvalue.common.ManaSpentToCastCount; import mage.abilities.dynamicvalue.common.GetXValue; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; @@ -27,11 +28,10 @@ import mage.constants.SuperType; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.MarathWillOfTheWildElementalToken; -import mage.game.permanent.token.Token; import mage.players.Player; import mage.target.common.TargetAnyTarget; import mage.target.common.TargetCreaturePermanent; +import mage.game.permanent.token.ElementalXXGreenToken; import java.util.UUID; @@ -110,12 +110,8 @@ class MarathWillOfTheWildCreateTokenEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - int amount = GetXValue.instance.calculate(game, source, this); - Token token = new MarathWillOfTheWildElementalToken(); - token.setPower(amount); - token.setToughness(amount); - token.putOntoBattlefield(1, game, source, source.getControllerId()); - return true; + int xvalue = GetXValue.instance.calculate(game, source, this); + return new CreateTokenEffect(new ElementalXXGreenToken(xvalue)).apply(game, source); } return false; } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianProcessor.java b/Mage.Sets/src/mage/cards/p/PhyrexianProcessor.java index 95d06e5249f..011c55daf31 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianProcessor.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianProcessor.java @@ -8,6 +8,7 @@ import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -15,7 +16,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.MinionToken; +import mage.game.permanent.token.PhyrexianMinionToken; import mage.players.Player; import mage.util.CardUtil; @@ -110,12 +111,8 @@ class PhyrexianProcessorCreateTokenEffect extends OneShotEffect { String key = CardUtil.getCardZoneString("lifePaid", source.getSourceId(), game, true); Object object = game.getState().getValue(key); if (object instanceof Integer) { - int lifePaid = (int) object; - MinionToken token = new MinionToken(); - token.setPower(lifePaid); - token.setToughness(lifePaid); - token.putOntoBattlefield(1, game, source, source.getControllerId()); - return true; + int xvalue = (int) object; + return new CreateTokenEffect(new PhyrexianMinionToken(xvalue)).apply(game, source); } return false; } diff --git a/Mage.Sets/src/mage/cards/r/RallyTheHorde.java b/Mage.Sets/src/mage/cards/r/RallyTheHorde.java index af7546bc266..e407da6cb8c 100644 --- a/Mage.Sets/src/mage/cards/r/RallyTheHorde.java +++ b/Mage.Sets/src/mage/cards/r/RallyTheHorde.java @@ -12,7 +12,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; -import mage.game.permanent.token.RallyTheHordeWarriorToken; +import mage.game.permanent.token.RedWarriorToken; import mage.players.Player; /** @@ -72,7 +72,7 @@ class RallyTheHordeEffect extends OneShotEffect { nonLandCardsExiled += nonLands; } } - return new CreateTokenEffect(new RallyTheHordeWarriorToken(), nonLandCardsExiled).apply(game, source); + return new CreateTokenEffect(new RedWarriorToken(), nonLandCardsExiled).apply(game, source); } return false; diff --git a/Mage.Sets/src/mage/cards/s/SeedGuardian.java b/Mage.Sets/src/mage/cards/s/SeedGuardian.java index d1dec07dcb9..fb4935b78d2 100644 --- a/Mage.Sets/src/mage/cards/s/SeedGuardian.java +++ b/Mage.Sets/src/mage/cards/s/SeedGuardian.java @@ -14,7 +14,7 @@ import mage.constants.Outcome; import mage.constants.SubType; import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.token.SeedGuardianToken; +import mage.game.permanent.token.ElementalXXGreenToken; import mage.players.Player; /** @@ -66,7 +66,7 @@ class SeedGuardianEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { int creaturesInGraveyard = controller.getGraveyard().count(StaticFilters.FILTER_CARD_CREATURE, game); - return new CreateTokenEffect(new SeedGuardianToken(creaturesInGraveyard)).apply(game, source); + return new CreateTokenEffect(new ElementalXXGreenToken(creaturesInGraveyard)).apply(game, source); } return false; } diff --git a/Mage.Sets/src/mage/cards/s/SorinSolemnVisitor.java b/Mage.Sets/src/mage/cards/s/SorinSolemnVisitor.java index ae295bea696..59e399ad294 100644 --- a/Mage.Sets/src/mage/cards/s/SorinSolemnVisitor.java +++ b/Mage.Sets/src/mage/cards/s/SorinSolemnVisitor.java @@ -17,7 +17,7 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.StaticFilters; import mage.game.command.emblems.SorinSolemnVisitorEmblem; -import mage.game.permanent.token.SorinSolemnVisitorVampireToken; +import mage.game.permanent.token.VampireToken; /** * @@ -42,7 +42,7 @@ public final class SorinSolemnVisitor extends CardImpl { this.addAbility(loyaltyAbility); // -2: Create a 2/2 black Vampire creature token with flying. - this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SorinSolemnVisitorVampireToken()), -2)); + this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new VampireToken()), -2)); // -6: You get an emblem with "At the beginning of each opponent's upkeep, that player sacrifices a creature." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new SorinSolemnVisitorEmblem()), -6)); diff --git a/Mage.Sets/src/mage/cards/s/SpoilsOfBlood.java b/Mage.Sets/src/mage/cards/s/SpoilsOfBlood.java index 4964fb93945..1a091662826 100644 --- a/Mage.Sets/src/mage/cards/s/SpoilsOfBlood.java +++ b/Mage.Sets/src/mage/cards/s/SpoilsOfBlood.java @@ -12,7 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.game.Game; -import mage.game.permanent.token.SpoilsOfBloodHorrorToken; +import mage.game.permanent.token.HorrorXXBlackToken; import mage.players.Player; /** @@ -54,7 +54,7 @@ class SpoilsOfBloodEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { new CreateTokenEffect( - new SpoilsOfBloodHorrorToken(CreaturesDiedThisTurnCount.instance.calculate(game, source, this))) + new HorrorXXBlackToken(CreaturesDiedThisTurnCount.instance.calculate(game, source, this))) .apply(game, source); return true; } diff --git a/Mage.Sets/src/mage/cards/t/TumbleweedRising.java b/Mage.Sets/src/mage/cards/t/TumbleweedRising.java index a553fc1d14b..fa0239749b6 100644 --- a/Mage.Sets/src/mage/cards/t/TumbleweedRising.java +++ b/Mage.Sets/src/mage/cards/t/TumbleweedRising.java @@ -10,7 +10,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.game.Game; -import mage.game.permanent.token.SeedGuardianToken; +import mage.game.permanent.token.ElementalXXGreenToken; import java.util.UUID; @@ -61,6 +61,6 @@ class TumbleweedRisingEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { int xvalue = GreatestPowerAmongControlledCreaturesValue.instance.calculate(game, source, this); - return new CreateTokenEffect(new SeedGuardianToken(xvalue)).apply(game, source); + return new CreateTokenEffect(new ElementalXXGreenToken(xvalue)).apply(game, source); } } diff --git a/Mage.Sets/src/mage/cards/w/WalkerOfTheGrove.java b/Mage.Sets/src/mage/cards/w/WalkerOfTheGrove.java index 98f5d3eba23..22005807dbf 100644 --- a/Mage.Sets/src/mage/cards/w/WalkerOfTheGrove.java +++ b/Mage.Sets/src/mage/cards/w/WalkerOfTheGrove.java @@ -10,7 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.WalkerOfTheGroveToken; +import mage.game.permanent.token.Elemental44GreenToken; /** * @@ -26,7 +26,7 @@ public final class WalkerOfTheGrove extends CardImpl { this.toughness = new MageInt(7); // When Walker of the Grove leaves the battlefield, create a 4/4 green Elemental creature token. - this.addAbility(new LeavesBattlefieldTriggeredAbility(new CreateTokenEffect(new WalkerOfTheGroveToken(), 1), false)); + this.addAbility(new LeavesBattlefieldTriggeredAbility(new CreateTokenEffect(new Elemental44GreenToken(), 1), false)); // Evoke {4}{G} this.addAbility(new EvokeAbility("{4}{G}")); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CrushOfTentaclesToken.java b/Mage/src/main/java/mage/game/permanent/token/CrushOfTentaclesToken.java deleted file mode 100644 index 831465f93fc..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/CrushOfTentaclesToken.java +++ /dev/null @@ -1,29 +0,0 @@ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.constants.CardType; -import mage.constants.SubType; - -/** - * @author spjspj - */ -public final class CrushOfTentaclesToken extends TokenImpl { - - public CrushOfTentaclesToken() { - super("Octopus Token", "8/8 blue Octopus creature"); - this.cardType.add(CardType.CREATURE); - this.color.setBlue(true); - this.subtype.add(SubType.OCTOPUS); - this.power = new MageInt(8); - this.toughness = new MageInt(8); - } - - private CrushOfTentaclesToken(final CrushOfTentaclesToken token) { - super(token); - } - - public CrushOfTentaclesToken copy() { - return new CrushOfTentaclesToken(this); - } - -} diff --git a/Mage/src/main/java/mage/game/permanent/token/DinDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/DinDragonToken.java index c833b1d4418..87cac3c1118 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DinDragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DinDragonToken.java @@ -11,7 +11,7 @@ import mage.constants.SubType; public final class DinDragonToken extends TokenImpl { public DinDragonToken() { - super("Dragon Token", "4/4 red Dinosaur Dragon creature token with flying"); + super("Dinosaur Dragon Token", "4/4 red Dinosaur Dragon creature token with flying"); cardType.add(CardType.CREATURE); color.setRed(true); subtype.add(SubType.DINOSAUR); diff --git a/Mage/src/main/java/mage/game/permanent/token/EyesOfTheWisentElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/Elemental44GreenToken.java similarity index 59% rename from Mage/src/main/java/mage/game/permanent/token/EyesOfTheWisentElementalToken.java rename to Mage/src/main/java/mage/game/permanent/token/Elemental44GreenToken.java index 15f41debc84..2d6ed9040f5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EyesOfTheWisentElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/Elemental44GreenToken.java @@ -7,9 +7,9 @@ import mage.constants.SubType; /** * @author spjspj */ -public final class EyesOfTheWisentElementalToken extends TokenImpl { +public final class Elemental44GreenToken extends TokenImpl { - public EyesOfTheWisentElementalToken() { + public Elemental44GreenToken() { super("Elemental Token", "4/4 green Elemental creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); @@ -18,11 +18,11 @@ public final class EyesOfTheWisentElementalToken extends TokenImpl { toughness = new MageInt(4); } - private EyesOfTheWisentElementalToken(final EyesOfTheWisentElementalToken token) { + private Elemental44GreenToken(final Elemental44GreenToken token) { super(token); } - public EyesOfTheWisentElementalToken copy() { - return new EyesOfTheWisentElementalToken(this); + public Elemental44GreenToken copy() { + return new Elemental44GreenToken(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java b/Mage/src/main/java/mage/game/permanent/token/ElementalXXGreenToken.java similarity index 60% rename from Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java rename to Mage/src/main/java/mage/game/permanent/token/ElementalXXGreenToken.java index f0fa5a71677..3e1cfa21e86 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElementalXXGreenToken.java @@ -7,13 +7,13 @@ import mage.constants.SubType; /** * @author spjspj */ -public final class SeedGuardianToken extends TokenImpl { +public final class ElementalXXGreenToken extends TokenImpl { - public SeedGuardianToken() { + public ElementalXXGreenToken() { this(1); } - public SeedGuardianToken(int xValue) { + public ElementalXXGreenToken(int xValue) { super("Elemental Token", "X/X green Elemental creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); @@ -22,11 +22,11 @@ public final class SeedGuardianToken extends TokenImpl { toughness = new MageInt(xValue); } - private SeedGuardianToken(final SeedGuardianToken token) { + private ElementalXXGreenToken(final ElementalXXGreenToken token) { super(token); } - public SeedGuardianToken copy() { - return new SeedGuardianToken(this); + public ElementalXXGreenToken copy() { + return new ElementalXXGreenToken(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/GrovetenderDruidsPlantToken.java b/Mage/src/main/java/mage/game/permanent/token/GrovetenderDruidsPlantToken.java deleted file mode 100644 index cc98203651e..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/GrovetenderDruidsPlantToken.java +++ /dev/null @@ -1,28 +0,0 @@ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.constants.CardType; -import mage.constants.SubType; - -/** - * @author spjspj - */ -public final class GrovetenderDruidsPlantToken extends TokenImpl { - - public GrovetenderDruidsPlantToken() { - super("Plant Token", "1/1 green Plant creature token"); - cardType.add(CardType.CREATURE); - color.setGreen(true); - subtype.add(SubType.PLANT); - power = new MageInt(1); - toughness = new MageInt(1); - } - - private GrovetenderDruidsPlantToken(final GrovetenderDruidsPlantToken token) { - super(token); - } - - public GrovetenderDruidsPlantToken copy() { - return new GrovetenderDruidsPlantToken(this); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/FleshCarverHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/HorrorXXBlackToken.java similarity index 59% rename from Mage/src/main/java/mage/game/permanent/token/FleshCarverHorrorToken.java rename to Mage/src/main/java/mage/game/permanent/token/HorrorXXBlackToken.java index a91f64a5a8f..478a123e926 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FleshCarverHorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HorrorXXBlackToken.java @@ -7,13 +7,13 @@ import mage.constants.SubType; /** * @author spjspj */ -public final class FleshCarverHorrorToken extends TokenImpl { +public final class HorrorXXBlackToken extends TokenImpl { - public FleshCarverHorrorToken() { + public HorrorXXBlackToken() { this(1); } - public FleshCarverHorrorToken(int xValue) { + public HorrorXXBlackToken(int xValue) { super("Horror Token", "X/X black Horror creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); @@ -22,11 +22,11 @@ public final class FleshCarverHorrorToken extends TokenImpl { toughness = new MageInt(xValue); } - private FleshCarverHorrorToken(final FleshCarverHorrorToken token) { + private HorrorXXBlackToken(final HorrorXXBlackToken token) { super(token); } - public FleshCarverHorrorToken copy() { - return new FleshCarverHorrorToken(this); + public HorrorXXBlackToken copy() { + return new HorrorXXBlackToken(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanRogueToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanRogueToken.java index a28573e5d3c..05e3708d76e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanRogueToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanRogueToken.java @@ -10,7 +10,7 @@ import mage.constants.SubType; public final class HumanRogueToken extends TokenImpl { public HumanRogueToken() { - super("Human Token", "1/1 white Human Rogue creature token"); + super("Human Rogue Token", "1/1 white Human Rogue creature token"); cardType.add(CardType.CREATURE); color.setWhite(true); subtype.add(SubType.HUMAN); diff --git a/Mage/src/main/java/mage/game/permanent/token/MarathWillOfTheWildElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/MarathWillOfTheWildElementalToken.java deleted file mode 100644 index ee2ed8f36b1..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/MarathWillOfTheWildElementalToken.java +++ /dev/null @@ -1,30 +0,0 @@ - - -package mage.game.permanent.token; - -import mage.constants.CardType; -import mage.constants.SubType; -import mage.MageInt; - -/** - * @author spjspj - */ -public final class MarathWillOfTheWildElementalToken extends TokenImpl { - - public MarathWillOfTheWildElementalToken() { - super("Elemental Token", "X/X green Elemental creature token"); - cardType.add(CardType.CREATURE); - subtype.add(SubType.ELEMENTAL); - color.setGreen(true); - power = new MageInt(0); - toughness = new MageInt(0); - } - - private MarathWillOfTheWildElementalToken(final MarathWillOfTheWildElementalToken token) { - super(token); - } - - public MarathWillOfTheWildElementalToken copy() { - return new MarathWillOfTheWildElementalToken(this); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/MinionToken.java b/Mage/src/main/java/mage/game/permanent/token/MinionToken.java index 5b3862b9562..7d1c5f5b5ce 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MinionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MinionToken.java @@ -5,25 +5,20 @@ import mage.constants.CardType; import mage.constants.SubType; /** - * @author FenrisulfrX + * @author Quercitron */ public final class MinionToken extends TokenImpl { public MinionToken() { - this("DDE"); - } - - public MinionToken(String setCode) { - super("Phyrexian Minion Token", "X/X black Phyrexian Minion creature token"); + super("Minion Token", "1/1 black Minion creature token"); cardType.add(CardType.CREATURE); - subtype.add(SubType.PHYREXIAN); subtype.add(SubType.MINION); color.setBlack(true); - power = new MageInt(0); - toughness = new MageInt(0); + power = new MageInt(1); + toughness = new MageInt(1); } - private MinionToken(final MinionToken token) { + protected MinionToken(final MinionToken token) { super(token); } diff --git a/Mage/src/main/java/mage/game/permanent/token/MinionToken2.java b/Mage/src/main/java/mage/game/permanent/token/MinionToken2.java deleted file mode 100644 index b35acab5e35..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/MinionToken2.java +++ /dev/null @@ -1,28 +0,0 @@ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.constants.CardType; -import mage.constants.SubType; - -/** - * @author Quercitron - */ -public final class MinionToken2 extends TokenImpl { - - public MinionToken2() { - super("Minion Token", "1/1 black Minion creature token"); - cardType.add(CardType.CREATURE); - subtype.add(SubType.MINION); - color.setBlack(true); - power = new MageInt(1); - toughness = new MageInt(1); - } - - protected MinionToken2(final MinionToken2 token) { - super(token); - } - - public MinionToken2 copy() { - return new MinionToken2(this); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/NighteyesTheDesecratorToken.java b/Mage/src/main/java/mage/game/permanent/token/NighteyesTheDesecratorToken.java deleted file mode 100644 index dc11eaf6383..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/NighteyesTheDesecratorToken.java +++ /dev/null @@ -1,44 +0,0 @@ - - -package mage.game.permanent.token; - -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.filter.StaticFilters; -import mage.target.common.TargetCardInGraveyard; - -/** - * @author spjspj - */ -public final class NighteyesTheDesecratorToken extends TokenImpl { - - public NighteyesTheDesecratorToken() { - super("Nighteyes the Desecrator Token", ""); - this.supertype.add(SuperType.LEGENDARY); - cardType.add(CardType.CREATURE); - color.setBlack(true); - subtype.add(SubType.RAT); - subtype.add(SubType.WIZARD); - power = new MageInt(4); - toughness = new MageInt(2); - // {4}{B}: Put target creature card from a graveyard onto the battlefield under your control. - Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{4}{B}")); - ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD)); - this.addAbility(ability); - } - - private NighteyesTheDesecratorToken(final NighteyesTheDesecratorToken token) { - super(token); - } - - public NighteyesTheDesecratorToken copy() { - return new NighteyesTheDesecratorToken(this); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/PhyrexianMinionToken.java b/Mage/src/main/java/mage/game/permanent/token/PhyrexianMinionToken.java new file mode 100644 index 00000000000..488d2dd80f8 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/PhyrexianMinionToken.java @@ -0,0 +1,33 @@ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * @author FenrisulfrX + */ +public final class PhyrexianMinionToken extends TokenImpl { + + public PhyrexianMinionToken() { + this(1); + } + + public PhyrexianMinionToken(int xValue) { + super("Phyrexian Minion Token", "X/X black Phyrexian Minion creature token"); + cardType.add(CardType.CREATURE); + subtype.add(SubType.PHYREXIAN); + subtype.add(SubType.MINION); + color.setBlack(true); + power = new MageInt(xValue); + toughness = new MageInt(xValue); + } + + private PhyrexianMinionToken(final PhyrexianMinionToken token) { + super(token); + } + + public PhyrexianMinionToken copy() { + return new PhyrexianMinionToken(this); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/GrismoldPlantToken.java b/Mage/src/main/java/mage/game/permanent/token/Plant11Token.java similarity index 62% rename from Mage/src/main/java/mage/game/permanent/token/GrismoldPlantToken.java rename to Mage/src/main/java/mage/game/permanent/token/Plant11Token.java index 67f3f33d09d..6967daf5c7b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GrismoldPlantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/Plant11Token.java @@ -4,9 +4,12 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; -public final class GrismoldPlantToken extends TokenImpl { +/** + * @author spjspj + */ +public final class Plant11Token extends TokenImpl { - public GrismoldPlantToken() { + public Plant11Token() { super("Plant Token", "1/1 green Plant creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); @@ -15,11 +18,11 @@ public final class GrismoldPlantToken extends TokenImpl { toughness = new MageInt(1); } - private GrismoldPlantToken(final GrismoldPlantToken token) { + private Plant11Token(final Plant11Token token) { super(token); } - public GrismoldPlantToken copy() { - return new GrismoldPlantToken(this); + public Plant11Token copy() { + return new Plant11Token(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/RallyTheHordeWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/RallyTheHordeWarriorToken.java deleted file mode 100644 index 6a1d3310496..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/RallyTheHordeWarriorToken.java +++ /dev/null @@ -1,29 +0,0 @@ - -package mage.game.permanent.token; - -import mage.constants.CardType; -import mage.constants.SubType; -import mage.MageInt; - -/** - * @author spjspj - */ -public final class RallyTheHordeWarriorToken extends TokenImpl { - - public RallyTheHordeWarriorToken() { - super("Warrior Token", "1/1 red Warrior creature token"); - cardType.add(CardType.CREATURE); - color.setRed(true); - subtype.add(SubType.WARRIOR); - power = new MageInt(1); - toughness = new MageInt(1); - } - - private RallyTheHordeWarriorToken(final RallyTheHordeWarriorToken token) { - super(token); - } - - public RallyTheHordeWarriorToken copy() { - return new RallyTheHordeWarriorToken(this); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/SorinSolemnVisitorVampireToken.java b/Mage/src/main/java/mage/game/permanent/token/SorinSolemnVisitorVampireToken.java deleted file mode 100644 index 8ad1c68fe31..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/SorinSolemnVisitorVampireToken.java +++ /dev/null @@ -1,30 +0,0 @@ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.abilities.keyword.FlyingAbility; -import mage.constants.CardType; -import mage.constants.SubType; - -/** - * @author spjspj - */ -public final class SorinSolemnVisitorVampireToken extends TokenImpl { - - public SorinSolemnVisitorVampireToken() { - super("Vampire Token", "2/2 black Vampire creature token with flying"); - cardType.add(CardType.CREATURE); - color.setBlack(true); - subtype.add(SubType.VAMPIRE); - power = new MageInt(2); - toughness = new MageInt(2); - addAbility(FlyingAbility.getInstance()); - } - - private SorinSolemnVisitorVampireToken(final SorinSolemnVisitorVampireToken token) { - super(token); - } - - public SorinSolemnVisitorVampireToken copy() { - return new SorinSolemnVisitorVampireToken(this); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/SpoilsOfBloodHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/SpoilsOfBloodHorrorToken.java deleted file mode 100644 index db8966a8181..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/SpoilsOfBloodHorrorToken.java +++ /dev/null @@ -1,32 +0,0 @@ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.constants.CardType; -import mage.constants.SubType; - -/** - * @author spjspj - */ -public final class SpoilsOfBloodHorrorToken extends TokenImpl { - - public SpoilsOfBloodHorrorToken() { - this(1); - } - - public SpoilsOfBloodHorrorToken(int xValue) { - super("Horror Token", "X/X black Horror creature token"); - cardType.add(CardType.CREATURE); - color.setBlack(true); - subtype.add(SubType.HORROR); - power = new MageInt(xValue); - toughness = new MageInt(xValue); - } - - private SpoilsOfBloodHorrorToken(final SpoilsOfBloodHorrorToken token) { - super(token); - } - - public SpoilsOfBloodHorrorToken copy() { - return new SpoilsOfBloodHorrorToken(this); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java b/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java deleted file mode 100644 index e660b616776..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java +++ /dev/null @@ -1,29 +0,0 @@ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.constants.CardType; -import mage.constants.SubType; - -/** - * @author spjspj - */ - -public final class WalkerOfTheGroveToken extends TokenImpl { - - public WalkerOfTheGroveToken() { - super("Elemental Token", "4/4 green Elemental creature token"); - cardType.add(CardType.CREATURE); - this.subtype.add(SubType.ELEMENTAL); - this.color.setGreen(true); - power = new MageInt(4); - toughness = new MageInt(4); - } - - private WalkerOfTheGroveToken(final WalkerOfTheGroveToken token) { - super(token); - } - - public WalkerOfTheGroveToken copy() { - return new WalkerOfTheGroveToken(this); - } -} diff --git a/Mage/src/main/resources/tokens-database.txt b/Mage/src/main/resources/tokens-database.txt index 39c9c643fd3..a4275e34e4c 100644 --- a/Mage/src/main/resources/tokens-database.txt +++ b/Mage/src/main/resources/tokens-database.txt @@ -242,7 +242,7 @@ |Generate|TOK:ARN|Djinn|||DjinnToken| |Generate|TOK:AVR|Angel|||AngelToken| |Generate|TOK:AVR|Demon|||DemonToken| -|Generate|TOK:AVR|Human|1||RedHumanToken| +|Generate|TOK:AVR|Human|1||ThatcherHumanToken| |Generate|TOK:AVR|Human|2||HumanToken| |Generate|TOK:AVR|Spirit|1||SpiritBlueToken| |Generate|TOK:AVR|Spirit|2||SpiritWhiteToken| @@ -257,7 +257,7 @@ |Generate|TOK:BFZ|Knight Ally|||KnightAllyToken| |Generate|TOK:BFZ|Kor Ally|||KorAllyToken| |Generate|TOK:BFZ|Octopus|||OctopusToken| -|Generate|TOK:BFZ|Plant|||GrovetenderDruidsPlantToken| +|Generate|TOK:BFZ|Plant|||Plant11Token| |Generate|TOK:BNG|Bird|1||EnchantmentBirdToken| |Generate|TOK:BNG|Bird|2||BirdToken| |Generate|TOK:BNG|Cat Soldier|||CatSoldierCreatureToken| @@ -284,7 +284,7 @@ |Generate|TOK:C14|Phyrexian Germ|||PhyrexianGermToken| |Generate|TOK:C14|Goat|||GoatToken| |Generate|TOK:C14|Goblin|||GoblinToken| -|Generate|TOK:C14|Horror|||SpoilsOfBloodHorrorToken| +|Generate|TOK:C14|Horror|||HorrorXXBlackToken| |Generate|TOK:C14|Kor Soldier|||KorSoldierToken| |Generate|TOK:C14|Kraken|||Kraken99Token| |Generate|TOK:C14|Myr|||MyrToken| @@ -395,7 +395,7 @@ |Generate|TOK:C19|Phyrexian Horror|||PhyrexianRebirthHorrorToken| |Generate|TOK:C19|Human|||HumanToken| |Generate|TOK:C19|Pegasus|||PegasusToken| -|Generate|TOK:C19|Plant|||GrismoldPlantToken| +|Generate|TOK:C19|Plant|||Plant11Token| |Generate|TOK:C19|Rhino|||RhinoToken| |Generate|TOK:C19|Saproling|||SaprolingToken| |Generate|TOK:C19|Sculpture|||DoomedArtisanToken| @@ -457,7 +457,7 @@ |Generate|TOK:DDD|Beast|2||BeastToken2| |Generate|TOK:DDD|Elephant|||ElephantToken| |Generate|TOK:DDE|Hornet|||HornetToken| -|Generate|TOK:DDE|Minion|||MinionToken| +|Generate|TOK:DDE|Phyrexian Minion|||PhyrexianMinionToken| |Generate|TOK:DDE|Saproling|||SaprolingToken| |Generate|TOK:DDF|Soldier|||SoldierToken| |Generate|TOK:DDG|Goblin|||GoblinToken| @@ -612,7 +612,7 @@ # LGN don't have tokens, from wiki: A Sliver token for Brood Sliver and a Goblin token for Warbreak Trumpeter were featured as a Magic Player Reward. |Generate|TOK:LRW|Avatar|||AvatarToken| |Generate|TOK:LRW|Beast|||BeastToken| -|Generate|TOK:LRW|Elemental|1||WalkerOfTheGroveToken| +|Generate|TOK:LRW|Elemental|1||Elemental44GreenToken| |Generate|TOK:LRW|Elemental|2||WhiteElementalToken| |Generate|TOK:LRW|Elemental Shaman|||ElementalShamanToken| |Generate|TOK:LRW|Elf Warrior|||ElfWarriorToken| @@ -724,7 +724,7 @@ |Generate|TOK:MM3|Zombie|||ZombieToken| |Generate|TOK:MMA|Bat|||BatToken| |Generate|TOK:MMA|Dragon|||DragonToken| -|Generate|TOK:MMA|Elemental|||WalkerOfTheGroveToken| +|Generate|TOK:MMA|Elemental|||Elemental44GreenToken| |Generate|TOK:MMA|Faerie Rogue|||OonaQueenFaerieRogueToken| |Generate|TOK:MMA|Giant Warrior|||GiantWarriorToken| |Generate|TOK:MMA|Goblin Rogue|||GoblinRogueToken| @@ -757,7 +757,7 @@ |Generate|TOK:OGW|Eldrazi Scion|4||EldraziScionToken| |Generate|TOK:OGW|Eldrazi Scion|5||EldraziScionToken| |Generate|TOK:OGW|Eldrazi Scion|6||EldraziScionToken| -|Generate|TOK:OGW|Elemental|1||SeedGuardianToken| +|Generate|TOK:OGW|Elemental|1||ElementalXXGreenToken| |Generate|TOK:OGW|Elemental|2||ElementalTokenWithHaste| |Generate|TOK:OGW|Plant|||PlantToken| |Generate|TOK:OGW|Zombie|||ZombieToken| @@ -1073,7 +1073,7 @@ # OonaQueenFaerieRogueToken is FaerieRogueToken with additional blue color, but ZNC contains only one token - so don't use normal token for it #|Generate|TOK:ZNC|Faerie Rogue|||OonaQueenFaerieRogueToken| # Germ token uses in chest and antology, but scryfall put it here -#|Generate|TOK:ZNC|Phyrexian Germ|||PhyrexianGermToken| +|Generate|TOK:ZNC|Phyrexian Germ|||PhyrexianGermToken| # |Generate|TOK:ZNC|Goblin Rogue|||GoblinRogueToken| |Generate|TOK:ZNC|Kor Ally|||KorAllyToken| @@ -1308,7 +1308,7 @@ # UMA |Generate|TOK:UMA|Citizen|||CitizenToken| |Generate|TOK:UMA|Drake|||DrakeToken| -|Generate|TOK:UMA|Elemental|1||WalkerOfTheGroveToken| +|Generate|TOK:UMA|Elemental|1||Elemental44GreenToken| |Generate|TOK:UMA|Elemental|2||RedElementalToken| |Generate|TOK:UMA|Elemental|3||RedElementalToken| |Generate|TOK:UMA|Faerie Rogue|||FaerieRogueToken| @@ -1536,7 +1536,7 @@ |Generate|TOK:DDR|Eldrazi Scion|||EldraziScionToken| |Generate|TOK:DDR|Demon|||DemonToken| |Generate|TOK:DDR|Zombie Giant|||QuestForTheGravelordZombieToken| -|Generate|TOK:DDR|Elemental|||WalkerOfTheGroveToken| +|Generate|TOK:DDR|Elemental|||Elemental44GreenToken| |Generate|TOK:DDR|Plant|||PlantToken| # DDS @@ -2176,7 +2176,7 @@ |Generate|TOK:OTJ|Bird|||BlueBirdToken| |Generate|TOK:OTJ|Clue|||ClueArtifactToken| |Generate|TOK:OTJ|Dinosaur|||Dinosaur31Token| -|Generate|TOK:OTJ|Elemental|||SeedGuardianToken| +|Generate|TOK:OTJ|Elemental|||ElementalXXGreenToken| |Generate|TOK:OTJ|Elk|||ElkToken| |Generate|TOK:OTJ|Mercenary|||MercenaryToken| |Generate|TOK:OTJ|Meteorite|||MeteoriteToken| @@ -2460,7 +2460,7 @@ |Generate|TOK:DFT|Elephant|||ElephantToken| |Generate|TOK:DFT|Goblin|||GoblinToken| |Generate|TOK:DFT|Insect|||InsectToken| -|Generate|TOK:DFT|Pilot|||PilotCrewToken| +|Generate|TOK:DFT|Pilot|||PilotSaddleCrewToken| |Generate|TOK:DFT|Servo|||ServoToken| |Generate|TOK:DFT|Thopter|1||ThopterColorlessToken| |Generate|TOK:DFT|Thopter|2||ThopterColorlessToken|