From 80f6ceccff24a0aebf17060c6974f6f18971b0fd Mon Sep 17 00:00:00 2001 From: PurpleCrowbar Date: Tue, 26 Apr 2022 15:34:21 +0100 Subject: [PATCH] Add token images for several sets (#8873) * Added support for and assigned UMA token images * Added Scryfall token download links for MMA * Added Scryfall token download links for SHM * Fixed last commit and Oona token names * Added support for and assigned NEO token images * Added support for and assigned NEC token images * Added support for and assigned SLD token images * Added support for and assigned 2XM token images * Fixed Tuktuk and some naming inconsistencies * Fixed WalkerOfTheGroveToken's available image set codes * Fixed WalkerOfTheGroveToken's available image set codes * Fixed tokens with same names not displaying correctly --- .../sources/ScryfallImageSupportTokens.java | 130 ++++++++++++++++++ .../src/main/resources/card-pictures-tok.txt | 104 +++++++++++++- .../src/mage/cards/t/TuktukTheExplorer.java | 2 +- .../permanent/token/AkroanSoldierToken.java | 2 +- .../mage/game/permanent/token/AngelToken.java | 2 +- .../permanent/token/AngelVigilanceToken.java | 4 + .../mage/game/permanent/token/ApeToken.java | 4 + .../mage/game/permanent/token/BeastToken.java | 2 +- .../token/BrudicladTelchorMyrToken.java | 2 +- .../mage/game/permanent/token/CatToken.java | 2 +- .../permanent/token/ClueArtifactToken.java | 2 +- .../permanent/token/ConstructRedToken.java | 9 ++ .../game/permanent/token/ConstructToken.java | 11 +- .../token/CribSwapShapeshifterWhiteToken.java | 4 + .../mage/game/permanent/token/DemonToken.java | 2 +- .../token/DinOfTheFireherdToken.java | 9 ++ .../mage/game/permanent/token/DrakeToken.java | 2 +- .../permanent/token/EldraziSpawnToken.java | 2 +- .../token/ElementalMasteryElementalToken.java | 10 ++ .../game/permanent/token/ElephantToken.java | 2 +- .../game/permanent/token/ElfWarriorToken.java | 4 + .../permanent/token/FaerieRogueToken.java | 12 +- .../game/permanent/token/GoblinToken.java | 2 +- .../mage/game/permanent/token/GolemToken.java | 2 +- .../token/GreenWhiteElfWarriorToken.java | 2 +- .../permanent/token/HumanSoldierToken.java | 2 +- .../game/permanent/token/MaritLageToken.java | 2 +- .../mage/game/permanent/token/MyrToken.java | 2 +- .../token/OonaQueenFaerieRogueToken.java | 4 + .../mage/game/permanent/token/OozeToken.java | 4 + .../permanent/token/PenumbraWurmToken.java | 4 + .../permanent/token/PhyrexianGermToken.java | 2 +- .../mage/game/permanent/token/PilotToken.java | 4 + .../mage/game/permanent/token/PlantToken.java | 2 +- .../permanent/token/RedElementalToken.java | 6 +- .../game/permanent/token/SaprolingToken.java | 4 +- .../mage/game/permanent/token/ServoToken.java | 2 +- .../permanent/token/SmokeBlessingToken.java | 4 + .../game/permanent/token/SoldierToken.java | 2 +- .../permanent/token/SparkElementalToken.java | 4 + .../game/permanent/token/SpiderToken.java | 2 +- .../permanent/token/SpiritGreenToken.java | 9 ++ .../permanent/token/SpiritGreenXToken.java | 13 ++ .../game/permanent/token/SpiritRedToken.java | 13 ++ .../game/permanent/token/SpiritToken.java | 6 +- .../permanent/token/SpiritWhiteToken.java | 5 +- .../game/permanent/token/SquirrelToken.java | 2 +- .../StitchersApprenticeHomunculusToken.java | 4 + .../token/ThopterColorlessToken.java | 5 +- .../game/permanent/token/ThopterToken.java | 13 ++ .../game/permanent/token/TreasureToken.java | 2 +- .../token/TuktukTheReturnedToken.java | 9 +- .../token/VoiceOfResurgenceToken.java | 4 + .../token/WalkerOfTheGroveToken.java | 7 +- .../game/permanent/token/WalkerToken.java | 14 ++ .../token/WhiteBlackSpiritToken.java | 11 +- .../mage/game/permanent/token/WolfToken.java | 2 +- .../token/WurmWithDeathtouchToken.java | 15 +- .../token/WurmWithLifelinkToken.java | 9 +- .../game/permanent/token/ZombieToken.java | 2 +- 60 files changed, 476 insertions(+), 48 deletions(-) diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java index 313543dbaf..ee28a896c6 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java @@ -712,6 +712,136 @@ public class ScryfallImageSupportTokens { put("VOW/Zombie/1", "https://api.scryfall.com/cards/tvow/8/en?format=image"); // 2/2 put("VOW/Zombie/2", "https://api.scryfall.com/cards/tvow/5/en?format=image"); // */* + // UMA + put ("UMA/Citizen", "https://api.scryfall.com/cards/tuma/1/en?format=image"); + put ("UMA/Drake", "https://api.scryfall.com/cards/tuma/3/en?format=image"); + put ("UMA/Elemental/1", "https://api.scryfall.com/cards/tuma/13/en?format=image"); // green + put ("UMA/Elemental/2", "https://api.scryfall.com/cards/tuma/9/en?format=image"); + put ("UMA/Elemental/3", "https://api.scryfall.com/cards/tuma/10/en?format=image"); + put ("UMA/Faerie Rogue", "https://api.scryfall.com/cards/tuma/5/en?format=image"); + put ("UMA/Homunculus", "https://api.scryfall.com/cards/tuma/4/en?format=image"); + put ("UMA/Marit Lage", "https://api.scryfall.com/cards/tuma/6/en?format=image"); + put ("UMA/Ooze", "https://api.scryfall.com/cards/tuma/14/en?format=image"); + put ("UMA/Soldier", "https://api.scryfall.com/cards/tuma/11/en?format=image"); + put ("UMA/Spark Elemental", "https://api.scryfall.com/cards/tuma/12/en?format=image"); + put ("UMA/Spider", "https://api.scryfall.com/cards/tuma/15/en?format=image"); + put ("UMA/Spirit/1", "https://api.scryfall.com/cards/tuma/2/en?format=image"); // white + put ("UMA/Spirit/2", "https://api.scryfall.com/cards/tuma/16/en?format=image"); // white, black + put ("UMA/Wurm", "https://api.scryfall.com/cards/tuma/7/en?format=image"); + put ("UMA/Zombie", "https://api.scryfall.com/cards/tuma/8/en?format=image"); + + // MMA + put ("MMA/Bat", "https://api.scryfall.com/cards/tmma/5/en?format=image"); + put ("MMA/Dragon", "https://api.scryfall.com/cards/tmma/9/en?format=image"); + put ("MMA/Elemental", "https://api.scryfall.com/cards/tmma/11/en?format=image"); + put ("MMA/Emblem Elspeth, Knight Errant", "https://api.scryfall.com/cards/tmma/16/en?format=image"); + put ("MMA/Faerie Rogue", "https://api.scryfall.com/cards/tmma/14/en?format=image"); + put ("MMA/Giant Warrior", "https://api.scryfall.com/cards/tmma/1/en?format=image"); + put ("MMA/Goblin", "https://api.scryfall.com/cards/tmma/10/en?format=image"); + put ("MMA/Goblin Rogue", "https://api.scryfall.com/cards/tmma/6/en?format=image"); + put ("MMA/Illusion", "https://api.scryfall.com/cards/tmma/4/en?format=image"); + put ("MMA/Kithkin Soldier", "https://api.scryfall.com/cards/tmma/2/en?format=image"); + put ("MMA/Saproling", "https://api.scryfall.com/cards/tmma/12/en?format=image"); + put ("MMA/Soldier", "https://api.scryfall.com/cards/tmma/3/en?format=image"); + put ("MMA/Spider", "https://api.scryfall.com/cards/tmma/7/en?format=image"); + put ("MMA/Treefolk Shaman", "https://api.scryfall.com/cards/tmma/13/en?format=image"); + put ("MMA/Worm", "https://api.scryfall.com/cards/tmma/15/en?format=image"); + put ("MMA/Zombie", "https://api.scryfall.com/cards/tmma/8/en?format=image"); + + // SHM + put ("SHM/Elemental/1", "https://api.scryfall.com/cards/tshm/9/en?format=image"); // black, red + put ("SHM/Elemental/2", "https://api.scryfall.com/cards/tshm/4/en?format=image"); // haste + put ("SHM/Elf Warrior/1", "https://api.scryfall.com/cards/tshm/5/en?format=image"); // green + put ("SHM/Elf Warrior/2", "https://api.scryfall.com/cards/tshm/12/en?format=image"); // white, green + put ("SHM/Faerie Rogue", "https://api.scryfall.com/cards/tshm/8/en?format=image"); + put ("SHM/Giant Warrior", "https://api.scryfall.com/cards/tshm/10/en?format=image"); + put ("SHM/Goblin Warrior", "https://api.scryfall.com/cards/tshm/11/en?format=image"); + put ("SHM/Kithkin Soldier", "https://api.scryfall.com/cards/tshm/1/en?format=image"); + put ("SHM/Rat", "https://api.scryfall.com/cards/tshm/3/en?format=image"); + put ("SHM/Spider", "https://api.scryfall.com/cards/tshm/6/en?format=image"); + put ("SHM/Spirit", "https://api.scryfall.com/cards/tshm/2/en?format=image"); + put ("SHM/Wolf", "https://api.scryfall.com/cards/tshm/7/en?format=image"); + + // NEO + put ("NEO/Construct/1", "https://api.scryfall.com/cards/tneo/15/en?format=image"); // 1/1 + put ("NEO/Construct/2", "https://api.scryfall.com/cards/tneo/6/en?format=image"); // haste + put ("NEO/Dragon Spirit", "https://api.scryfall.com/cards/tneo/7/en?format=image"); + put ("NEO/Goblin Shaman", "https://api.scryfall.com/cards/tneo/8/en?format=image"); + put ("NEO/Human Monk", "https://api.scryfall.com/cards/tneo/10/en?format=image"); + put ("NEO/Emblem Kaito Shizuki", "https://api.scryfall.com/cards/tneo/18/en?format=image"); + put ("NEO/Keimi", "https://api.scryfall.com/cards/tneo/13/en?format=image"); + put ("NEO/Mechtitan", "https://api.scryfall.com/cards/tneo/14/en?format=image"); + put ("NEO/Ninja", "https://api.scryfall.com/cards/tneo/4/en?format=image"); + put ("NEO/Pilot", "https://api.scryfall.com/cards/tneo/1/en?format=image"); + put ("NEO/Rat Rogue", "https://api.scryfall.com/cards/tneo/5/en?format=image"); + put ("NEO/Samurai", "https://api.scryfall.com/cards/tneo/3/en?format=image"); + put ("NEO/Spirit/1", "https://api.scryfall.com/cards/tneo/2/en?format=image"); // colorless + put ("NEO/Spirit/2", "https://api.scryfall.com/cards/tneo/12/en?format=image"); // */* + put ("NEO/Spirit/3", "https://api.scryfall.com/cards/tneo/11/en?format=image"); // green + put ("NEO/Spirit/4", "https://api.scryfall.com/cards/tneo/9/en?format=image"); // red + put ("NEO/Tamiyo's Notebook", "https://api.scryfall.com/cards/tneo/16/en?format=image"); + put ("NEO/Emblem Tezzeret, Betrayer of Flesh", "https://api.scryfall.com/cards/tneo/19/en?format=image"); + put ("NEO/Treasure", "https://api.scryfall.com/cards/tneo/17/en?format=image"); + + // NEC + put ("NEC/Angel", "https://api.scryfall.com/cards/tnec/2/en?format=image"); + put ("NEC/Beast", "https://api.scryfall.com/cards/tnec/7/en?format=image"); + put ("NEC/Elemental", "https://api.scryfall.com/cards/tnec/4/en?format=image"); + put ("NEC/Elephant", "https://api.scryfall.com/cards/tnec/8/en?format=image"); + put ("NEC/Goblin", "https://api.scryfall.com/cards/tnec/5/en?format=image"); + put ("NEC/Myr", "https://api.scryfall.com/cards/tnec/11/en?format=image"); + put ("NEC/Phyrexian Germ", "https://api.scryfall.com/cards/tnec/3/en?format=image"); + put ("NEC/Plant", "https://api.scryfall.com/cards/tnec/9/en?format=image"); + put ("NEC/Saproling", "https://api.scryfall.com/cards/tnec/10/en?format=image"); + put ("NEC/Shrine", "https://api.scryfall.com/cards/tnec/1/en?format=image"); + put ("NEC/Smoke Blessing", "https://api.scryfall.com/cards/tnec/6/en?format=image"); + put ("NEC/Thopter", "https://api.scryfall.com/cards/tnec/12/en?format=image"); + + // SLD + put ("SLD/Clue", "https://api.scryfall.com/cards/sld/348/en?format=image"); + put ("SLD/Faerie Rogue/1", "https://api.scryfall.com/cards/sld/13/en?format=image"); + put ("SLD/Faerie Rogue/2", "https://api.scryfall.com/cards/sld/14/en?format=image"); + put ("SLD/Faerie Rogue/3", "https://api.scryfall.com/cards/sld/15/en?format=image"); + put ("SLD/Faerie Rogue/4", "https://api.scryfall.com/cards/sld/16/en?format=image"); + put ("SLD/Treasure", "https://api.scryfall.com/cards/sld/153/en?format=image"); + put ("SLD/Walker/1", "https://api.scryfall.com/cards/sld/148/en?format=image"); + put ("SLD/Walker/2", "https://api.scryfall.com/cards/sld/149/en?format=image"); + put ("SLD/Walker/3", "https://api.scryfall.com/cards/sld/150/en?format=image"); + put ("SLD/Walker/4", "https://api.scryfall.com/cards/sld/151/en?format=image"); + put ("SLD/Walker/5", "https://api.scryfall.com/cards/sld/152/en?format=image"); + + // 2XM + put ("2XM/Angel", "https://api.scryfall.com/cards/t2xm/3/en?format=image"); + put ("2XM/Ape", "https://api.scryfall.com/cards/t2xm/12/en?format=image"); + put ("2XM/Beast", "https://api.scryfall.com/cards/t2xm/13/en?format=image"); + put ("2XM/Cat", "https://api.scryfall.com/cards/t2xm/4/en?format=image"); + put ("2XM/Clue", "https://api.scryfall.com/cards/t2xm/22/en?format=image"); + put ("2XM/Demon", "https://api.scryfall.com/cards/t2xm/9/en?format=image"); + put ("2XM/Eldrazi Spawn", "https://api.scryfall.com/cards/t2xm/1/en?format=image"); + put ("2XM/Elemental", "https://api.scryfall.com/cards/t2xm/20/en?format=image"); + put ("2XM/Elephant", "https://api.scryfall.com/cards/t2xm/14/en?format=image"); + put ("2XM/Elf Warrior", "https://api.scryfall.com/cards/t2xm/21/en?format=image"); + put ("2XM/Phyrexian Germ", "https://api.scryfall.com/cards/t2xm/10/en?format=image"); + put ("2XM/Golem", "https://api.scryfall.com/cards/t2xm/23/en?format=image"); + put ("2XM/Human Soldier", "https://api.scryfall.com/cards/t2xm/5/en?format=image"); + put ("2XM/Marit Lage", "https://api.scryfall.com/cards/t2xm/11/en?format=image"); + put ("2XM/Myr", "https://api.scryfall.com/cards/t2xm/24/en?format=image"); + put ("2XM/Phyrexian Myr", "https://api.scryfall.com/cards/t2xm/7/en?format=image"); + put ("2XM/Ooze", "https://api.scryfall.com/cards/t2xm/15/en?format=image"); + put ("2XM/Plant", "https://api.scryfall.com/cards/t2xm/16/en?format=image"); + put ("2XM/Saproling", "https://api.scryfall.com/cards/t2xm/17/en?format=image"); + put ("2XM/Servo", "https://api.scryfall.com/cards/t2xm/25/en?format=image"); + put ("2XM/Shapeshifter", "https://api.scryfall.com/cards/t2xm/2/en?format=image"); + put ("2XM/Soldier", "https://api.scryfall.com/cards/t2xm/6/en?format=image"); + put ("2XM/Squirrel", "https://api.scryfall.com/cards/t2xm/18/en?format=image"); + put ("2XM/Thopter/1", "https://api.scryfall.com/cards/t2xm/26/en?format=image"); + put ("2XM/Thopter/2", "https://api.scryfall.com/cards/t2xm/8/en?format=image"); + put ("2XM/Treasure", "https://api.scryfall.com/cards/t2xm/27/en?format=image"); + put ("2XM/Tuktuk the Returned", "https://api.scryfall.com/cards/t2xm/28/en?format=image"); + put ("2XM/Wolf", "https://api.scryfall.com/cards/t2xm/19/en?format=image"); + put ("2XM/Phyrexian Wurm/1", "https://api.scryfall.com/cards/t2xm/29/en?format=image"); + put ("2XM/Phyrexian Wurm/2", "https://api.scryfall.com/cards/t2xm/30/en?format=image"); + // generate supported sets supportedSets.clear(); for (String cardName : this.keySet()) { diff --git a/Mage.Client/src/main/resources/card-pictures-tok.txt b/Mage.Client/src/main/resources/card-pictures-tok.txt index c41feaaaf9..23272c12fd 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -115,6 +115,8 @@ |Generate|EMBLEM:MID|Teferi, Who Slows the Sunset||Emblem Teferi|TeferiWhoSlowsTheSunsetEmblem| |Generate|EMBLEM:MID|Wrenn and Seven||Emblem Wrenn|WrennAndSevenEmblem| |Generate|EMBLEM:VOW|Chandra, Dressed to Kill||Emblem Chandra|ChandraDressedToKillEmblem| +|Generate|EMBLEM:NEO|Kaito Shizuki||Emblem Kaito|KaitoShizukiEmblem| +|Generate|EMBLEM:NEO|Tezzeret, Betrayer of Flesh||Emblem Tezzeret|TezzeretBetrayerOfFleshEmblem| # Planes |Generate|PLANE:PCA|Plane - Academy at Tolaria West|||AcademyAtTolariaWestPlane| @@ -931,7 +933,7 @@ |Generate|TOK:MMA|Bat|||BatToken| |Generate|TOK:MMA|Dragon|||DragonToken| |Generate|TOK:MMA|Elemental|||WalkerOfTheGroveToken| -|Generate|TOK:MMA|Faerie Rogue|||OonaQueenFaerieToken| +|Generate|TOK:MMA|Faerie Rogue|||OonaQueenFaerieRogueToken| |Generate|TOK:MMA|Giant Warrior|||GiantWarriorToken| |Generate|TOK:MMA|Goblin Rogue|||GoblinRogueToken| |Generate|TOK:MMA|Goblin|||GoblinToken| @@ -1081,10 +1083,10 @@ |Generate|TOK:SCG|Goblin|||GoblinToken| |Generate|TOK:SCG|Soldier|||SoldierToken| |Generate|TOK:SHM|Elemental|1||DinOfTheFireherdToken| -|Generate|TOK:SHM|Elemental|2||RedElementalToken| +|Generate|TOK:SHM|Elemental|2||ElementalMasteryElementalToken| |Generate|TOK:SHM|Elf Warrior|1||ElfWarriorToken| |Generate|TOK:SHM|Elf Warrior|2||GreenWhiteElfWarriorToken| -|Generate|TOK:SHM|Faerie Rogue|||OonaQueenFaerieToken| +|Generate|TOK:SHM|Faerie Rogue|||OonaQueenFaerieRogueToken| |Generate|TOK:SHM|Giant Warrior|||GiantBaitingGiantWarriorToken| |Generate|TOK:SHM|Goblin Warrior|||WortTheRaidmotherToken| |Generate|TOK:SHM|Kithkin Soldier|||KithkinSoldierToken| @@ -1663,3 +1665,99 @@ |Generate|TOK:VOW|Wolf|2||RedWolfToken| |Generate|TOK:VOW|Zombie|1||ZombieToken| |Generate|TOK:VOW|Zombie|2||StitcherGeralfZombieToken| + +# UMA +|Generate|TOK:UMA|Citizen|||CitizenToken| +|Generate|TOK:UMA|Drake|||DrakeToken| +|Generate|TOK:UMA|Elemental|1||WalkerOfTheGroveToken| +|Generate|TOK:UMA|Elemental|2||RedElementalToken| +|Generate|TOK:UMA|Elemental|3||RedElementalToken| +|Generate|TOK:UMA|Faerie Rogue|||FaerieRogueToken| +|Generate|TOK:UMA|Homunculus|||StitchersApprenticeHomunculusToken| +|Generate|TOK:UMA|Marit Lage|||MaritLageToken| +|Generate|TOK:UMA|Ooze|||OozeToken| +|Generate|TOK:UMA|Soldier|||AkroanSoldierToken| +|Generate|TOK:UMA|Spark Elemental|||SparkElementalToken| +|Generate|TOK:UMA|Spider|||SpiderToken| +|Generate|TOK:UMA|Spirit|1||SpiritWhiteToken| +|Generate|TOK:UMA|Spirit|2||WhiteBlackSpiritToken| +|Generate|TOK:UMA|Wurm|||PenumbraWurmToken| +|Generate|TOK:UMA|Zombie|||ZombieToken| + +# NEO +|Generate|TOK:NEO|Construct|1||ConstructToken| +|Generate|TOK:NEO|Construct|2||ConstructRedToken| +|Generate|TOK:NEO|Dragon Spirit|||DragonSpiritToken| +|Generate|TOK:NEO|Goblin Shaman|||FableOfTheMirrorBreakerToken| +|Generate|TOK:NEO|Human Monk|||HumanMonkToken| +|Generate|TOK:NEO|Keimi|||KeimiToken| +|Generate|TOK:NEO|Mechtitan|||MechtitanToken| +|Generate|TOK:NEO|Ninja|||NinjaToken| +|Generate|TOK:NEO|Pilot|||PilotToken| +|Generate|TOK:NEO|Rat Rogue|||RatRogueToken| +|Generate|TOK:NEO|Samurai|||SamuraiToken| +|Generate|TOK:NEO|Spirit|1||SpiritToken| +|Generate|TOK:NEO|Spirit|2||SpiritGreenXToken| +|Generate|TOK:NEO|Spirit|3||SpiritGreenToken| +|Generate|TOK:NEO|Spirit|4||SpiritRedToken| +|Generate|TOK:NEO|Tamiyo's Notebook|||TamiyosNotebookToken| +|Generate|TOK:NEO|Treasure|||TreasureToken| + +# NEC +|Generate|TOK:NEC|Angel|||AngelVigilanceToken| +|Generate|TOK:NEC|Beast|||BeastToken| +|Generate|TOK:NEC|Elemental|||RedElementalToken| +|Generate|TOK:NEC|Elephant|||ElephantToken| +|Generate|TOK:NEC|Goblin|||GoblinToken| +|Generate|TOK:NEC|Myr|||MyrToken| +|Generate|TOK:NEC|Phyrexian Germ|||PhyrexianGermToken| +|Generate|TOK:NEC|Plant|||PlantToken| +|Generate|TOK:NEC|Saproling|||SaprolingToken| +|Generate|TOK:NEC|Shrine|||ShrineToken| +|Generate|TOK:NEC|Smoke Blessing|||SmokeBlessingToken| +|Generate|TOK:NEC|Thopter|||ThopterColorlessToken| + +# SLD +|Generate|TOK:SLD|Clue|||ClueArtifactToken| +|Generate|TOK:SLD|Faerie Rogue|1||FaerieRogueToken| +|Generate|TOK:SLD|Faerie Rogue|2||FaerieRogueToken| +|Generate|TOK:SLD|Faerie Rogue|3||FaerieRogueToken| +|Generate|TOK:SLD|Faerie Rogue|4||FaerieRogueToken| +|Generate|TOK:SLD|Treasure|||TreasureToken| +|Generate|TOK:SLD|Walker|1||WalkerToken| +|Generate|TOK:SLD|Walker|2||WalkerToken| +|Generate|TOK:SLD|Walker|3||WalkerToken| +|Generate|TOK:SLD|Walker|4||WalkerToken| +|Generate|TOK:SLD|Walker|5||WalkerToken| + +# 2XM +|Generate|TOK:2XM|Angel|||AngelToken| +|Generate|TOK:2XM|Ape|||ApeToken| +|Generate|TOK:2XM|Beast|||BeastToken| +|Generate|TOK:2XM|Cat|||CatToken| +|Generate|TOK:2XM|Clue|||ClueArtifactToken| +|Generate|TOK:2XM|Demon|||DemonToken| +|Generate|TOK:2XM|Eldrazi Spawn|||EldraziSpawnToken| +|Generate|TOK:2XM|Elemental|||VoiceOfResurgenceToken| +|Generate|TOK:2XM|Elephant|||ElephantToken| +|Generate|TOK:2XM|Elf Warrior|||GreenWhiteElfWarriorToken| +|Generate|TOK:2XM|Phyrexian Germ|||PhyrexianGermToken| +|Generate|TOK:2XM|Golem|||GolemToken| +|Generate|TOK:2XM|Human Soldier|||HumanSoldierToken| +|Generate|TOK:2XM|Marit Lage|||MaritLageToken| +|Generate|TOK:2XM|Myr|||MyrToken| +|Generate|TOK:2XM|Phyrexian Myr|||BrudicladTelchorMyrToken| +|Generate|TOK:2XM|Ooze|||OozeToken| +|Generate|TOK:2XM|Plant|||PlantToken| +|Generate|TOK:2XM|Saproling|||SaprolingToken| +|Generate|TOK:2XM|Servo|||ServoToken| +|Generate|TOK:2XM|Shapeshifter|||CribSwapShapeshifterWhiteToken| +|Generate|TOK:2XM|Soldier|||SoldierToken| +|Generate|TOK:2XM|Squirrel|||SquirrelToken| +|Generate|TOK:2XM|Thopter|1||ThopterColorlessToken| +|Generate|TOK:2XM|Thopter|2||ThopterToken| +|Generate|TOK:2XM|Treasure|||TreasureToken| +|Generate|TOK:2XM|Tuktuk the Returned|||TuktukTheReturnedToken| +|Generate|TOK:2XM|Wolf|||WolfToken| +|Generate|TOK:2XM|Phyrexian Wurm|1||WurmWithDeathtouchToken| +|Generate|TOK:2XM|Phyrexian Wurm|2||WurmWithLifelinkToken| \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/t/TuktukTheExplorer.java b/Mage.Sets/src/mage/cards/t/TuktukTheExplorer.java index 5ec65e7d09..f097eaa2ae 100644 --- a/Mage.Sets/src/mage/cards/t/TuktukTheExplorer.java +++ b/Mage.Sets/src/mage/cards/t/TuktukTheExplorer.java @@ -27,7 +27,7 @@ public final class TuktukTheExplorer extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(HasteAbility.getInstance()); - this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new TuktukTheReturnedToken(expansionSetCode)))); + this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new TuktukTheReturnedToken()))); } private TuktukTheExplorer(final TuktukTheExplorer card) { diff --git a/Mage/src/main/java/mage/game/permanent/token/AkroanSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/AkroanSoldierToken.java index 52bf374eb4..8aa189dfaf 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AkroanSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AkroanSoldierToken.java @@ -22,7 +22,7 @@ public final class AkroanSoldierToken extends TokenImpl { toughness = new MageInt(1); this.addAbility(HasteAbility.getInstance()); - availableImageSetCodes = Arrays.asList("THS"); + availableImageSetCodes = Arrays.asList("THS", "UMA"); } public AkroanSoldierToken(final AkroanSoldierToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/AngelToken.java b/Mage/src/main/java/mage/game/permanent/token/AngelToken.java index b75131b2e0..7e54d265d0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AngelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AngelToken.java @@ -20,7 +20,7 @@ public final class AngelToken extends TokenImpl { addAbility(FlyingAbility.getInstance()); availableImageSetCodes = Arrays.asList("APC", "AVR", "C14", "C15", "C18", "CON", "DDQ", "GTC", - "ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR", "AFC", "VOC"); + "ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR", "AFC", "VOC", "2XM"); } public AngelToken(final AngelToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/AngelVigilanceToken.java b/Mage/src/main/java/mage/game/permanent/token/AngelVigilanceToken.java index 6d9a899eaa..f44cd62f23 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AngelVigilanceToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AngelVigilanceToken.java @@ -6,6 +6,8 @@ import mage.abilities.keyword.VigilanceAbility; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + public final class AngelVigilanceToken extends TokenImpl { public AngelVigilanceToken() { @@ -17,6 +19,8 @@ public final class AngelVigilanceToken extends TokenImpl { toughness = new MageInt(4); addAbility(FlyingAbility.getInstance()); addAbility(VigilanceAbility.getInstance()); + + availableImageSetCodes = Arrays.asList("NEC", "MH1", "WAR", "GRN", "M19"); } public AngelVigilanceToken(final AngelVigilanceToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ApeToken.java b/Mage/src/main/java/mage/game/permanent/token/ApeToken.java index 359442db00..f629e829f8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ApeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ApeToken.java @@ -5,6 +5,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.MageInt; +import java.util.Arrays; + /** * * @author spjspj @@ -18,6 +20,8 @@ public final class ApeToken extends TokenImpl { subtype.add(SubType.APE); power = new MageInt(2); toughness = new MageInt(2); + + availableImageSetCodes = Arrays.asList("2XM", "TSR", "C14"); } public ApeToken(final ApeToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/BeastToken.java b/Mage/src/main/java/mage/game/permanent/token/BeastToken.java index 4997a27382..80b799e088 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken.java @@ -22,7 +22,7 @@ public final class BeastToken extends TokenImpl { availableImageSetCodes = Arrays.asList("5DN", "C14", "C16", "C19", "CMA", "CMD", "CN2", "GVL", "DD3C", "DD3GVL", "DDD", "DDL", "DST", "E01", "EVE", "LRW", "M10", "M11", "M12", - "M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC", "MIC"); + "M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC", "MIC", "NEC", "2XM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/BrudicladTelchorMyrToken.java b/Mage/src/main/java/mage/game/permanent/token/BrudicladTelchorMyrToken.java index 0646305b7e..f2f67057cf 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BrudicladTelchorMyrToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BrudicladTelchorMyrToken.java @@ -13,7 +13,7 @@ public final class BrudicladTelchorMyrToken extends TokenImpl { static final private List tokenImageSets = new ArrayList<>(); static { - tokenImageSets.addAll(Arrays.asList("C18")); + tokenImageSets.addAll(Arrays.asList("C18", "2XM")); } public BrudicladTelchorMyrToken() { diff --git a/Mage/src/main/java/mage/game/permanent/token/CatToken.java b/Mage/src/main/java/mage/game/permanent/token/CatToken.java index 8f0aef3aa0..fb06f988a7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CatToken.java @@ -19,7 +19,7 @@ public final class CatToken extends TokenImpl { power = new MageInt(2); toughness = new MageInt(2); - availableImageSetCodes = Arrays.asList("PMEI", "C14", "C15", "C17", "C18", "M13", "M14", "MBS", "SOM", "CMR"); + availableImageSetCodes = Arrays.asList("PMEI", "C14", "C15", "C17", "C18", "M13", "M14", "MBS", "SOM", "CMR", "2XM"); } public CatToken(final CatToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ClueArtifactToken.java b/Mage/src/main/java/mage/game/permanent/token/ClueArtifactToken.java index 84094d23b1..1bd0949ad7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ClueArtifactToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ClueArtifactToken.java @@ -29,7 +29,7 @@ public final class ClueArtifactToken extends TokenImpl { ability.addCost(cost); this.addAbility(ability); - availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC", "MID", "VOC"); + availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC", "MID", "VOC", "SLD", "2XM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/ConstructRedToken.java b/Mage/src/main/java/mage/game/permanent/token/ConstructRedToken.java index f9466f0ea6..697a75c1f6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ConstructRedToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ConstructRedToken.java @@ -21,6 +21,15 @@ public final class ConstructRedToken extends TokenImpl { addAbility(HasteAbility.getInstance()); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NEO")) { + setTokenType(2); + } + } + public ConstructRedToken(final ConstructRedToken token) { super(token); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ConstructToken.java b/Mage/src/main/java/mage/game/permanent/token/ConstructToken.java index 75ecbfe02f..106a1d78e6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ConstructToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ConstructToken.java @@ -19,7 +19,16 @@ public final class ConstructToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("ZNR"); + availableImageSetCodes = Arrays.asList("ZNR", "NEO"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NEO")) { + setTokenType(1); + } } public ConstructToken(final ConstructToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/CribSwapShapeshifterWhiteToken.java b/Mage/src/main/java/mage/game/permanent/token/CribSwapShapeshifterWhiteToken.java index a21c5b9f5e..6686003399 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CribSwapShapeshifterWhiteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CribSwapShapeshifterWhiteToken.java @@ -5,6 +5,8 @@ import mage.abilities.keyword.ChangelingAbility; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author spjspj */ @@ -18,6 +20,8 @@ public final class CribSwapShapeshifterWhiteToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); addAbility(new ChangelingAbility()); + + availableImageSetCodes = Arrays.asList("LRW", "C15", "CM2", "C18", "2XM"); } public CribSwapShapeshifterWhiteToken(final CribSwapShapeshifterWhiteToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/DemonToken.java b/Mage/src/main/java/mage/game/permanent/token/DemonToken.java index 5cbec8693a..137cdb1ded 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DemonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DemonToken.java @@ -21,7 +21,7 @@ public final class DemonToken extends TokenImpl { toughness = new MageInt(5); addAbility(FlyingAbility.getInstance()); - availableImageSetCodes.addAll(Arrays.asList("AVR", "C14", "DD3A", "ISD", "ORI", "M20", "M21")); + availableImageSetCodes.addAll(Arrays.asList("AVR", "C14", "DD3A", "ISD", "ORI", "M20", "M21", "2XM")); } public DemonToken(final DemonToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/DinOfTheFireherdToken.java b/Mage/src/main/java/mage/game/permanent/token/DinOfTheFireherdToken.java index 575edf294d..deb74b5262 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DinOfTheFireherdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DinOfTheFireherdToken.java @@ -21,6 +21,15 @@ public final class DinOfTheFireherdToken extends TokenImpl { toughness = new MageInt(5); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("SHM")) { + this.setTokenType(1); + } + } + public DinOfTheFireherdToken(final DinOfTheFireherdToken token) { super(token); } diff --git a/Mage/src/main/java/mage/game/permanent/token/DrakeToken.java b/Mage/src/main/java/mage/game/permanent/token/DrakeToken.java index 1b9e53d182..55ad6dfdc8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DrakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DrakeToken.java @@ -24,7 +24,7 @@ public final class DrakeToken extends TokenImpl { this.addAbility(FlyingAbility.getInstance()); - availableImageSetCodes = Arrays.asList("AKH", "C15", "C19", "M13", "C20", "ZNR", "C21"); + availableImageSetCodes = Arrays.asList("AKH", "C15", "C19", "M13", "C20", "ZNR", "C21", "UMA"); } public DrakeToken(final DrakeToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java index 9f7e4d8c25..66c351a7e7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java @@ -26,7 +26,7 @@ public final class EldraziSpawnToken extends TokenImpl { toughness = new MageInt(1); addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(1), new SacrificeSourceCost())); - availableImageSetCodes = Arrays.asList("CMD", "DDP", "MM2", "PC2", "ROE", "MIC"); + availableImageSetCodes = Arrays.asList("CMD", "DDP", "MM2", "PC2", "ROE", "MIC", "2XM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/ElementalMasteryElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/ElementalMasteryElementalToken.java index 095a51b541..67a186493d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElementalMasteryElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElementalMasteryElementalToken.java @@ -21,6 +21,16 @@ public final class ElementalMasteryElementalToken extends TokenImpl { toughness = new MageInt(1); addAbility(HasteAbility.getInstance()); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("SHM")) { + this.setTokenType(2); + } + } + public ElementalMasteryElementalToken(final ElementalMasteryElementalToken token) { super(token); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java index acdfe260e1..d621cc6179 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java @@ -20,7 +20,7 @@ public final class ElephantToken extends TokenImpl { toughness = new MageInt(3); availableImageSetCodes = Arrays.asList("C13", "C14", "C15", "CMA", "CMD", "CNS", "GVL", "DDD", - "EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC"); + "EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC", "NEC", "2XM"); } public ElephantToken(final ElephantToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ElfWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/ElfWarriorToken.java index db5b9abf68..5bb78727bb 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElfWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElfWarriorToken.java @@ -35,5 +35,9 @@ public final class ElfWarriorToken extends TokenImpl { @Override public void setExpansionSetCodeForImage(String code) { super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("SHM")) { + this.setTokenType(1); + } } } diff --git a/Mage/src/main/java/mage/game/permanent/token/FaerieRogueToken.java b/Mage/src/main/java/mage/game/permanent/token/FaerieRogueToken.java index f0a61db0b1..0b4e64bdb1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FaerieRogueToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FaerieRogueToken.java @@ -4,6 +4,7 @@ import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; import mage.constants.SubType; +import mage.util.RandomUtil; import java.util.Arrays; @@ -22,7 +23,16 @@ public final class FaerieRogueToken extends TokenImpl { toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); - availableImageSetCodes = Arrays.asList("SHM", "MOR", "MMA", "MM2", "ZNC"); + availableImageSetCodes = Arrays.asList("MOR", "MM2", "ZNC", "UMA", "SLD"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("SLD")) { + setTokenType(RandomUtil.nextInt(4) + 1); + } } public FaerieRogueToken(final FaerieRogueToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinToken.java index 12e434d867..70e125f2d6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoblinToken.java @@ -32,7 +32,7 @@ public final class GoblinToken extends TokenImpl { availableImageSetCodes = Arrays.asList("10E", "ALA", "SOM", "M10", "NPH", "M13", "RTR", "MMA", "M15", "C14", "KTK", "EVG", "DTK", "ORI", "DDG", "DDN", "EVG", "MM2", - "MM3", "EMA", "C16", "DOM", "ANA", "RNA", "WAR", "MH1", "TSR", "MH2", "AFR"); + "MM3", "EMA", "C16", "DOM", "ANA", "RNA", "WAR", "MH1", "TSR", "MH2", "AFR", "NEC"); } public GoblinToken(final GoblinToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/GolemToken.java b/Mage/src/main/java/mage/game/permanent/token/GolemToken.java index ce559a5c5c..c34d881b31 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GolemToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GolemToken.java @@ -19,7 +19,7 @@ public final class GolemToken extends TokenImpl { power = new MageInt(3); toughness = new MageInt(3); - availableImageSetCodes = Arrays.asList("MM2", "NPH", "SOM", "MH1", "M20", "CMR"); + availableImageSetCodes = Arrays.asList("MM2", "NPH", "SOM", "MH1", "M20", "CMR", "2XM"); } public GolemToken(final GolemToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/GreenWhiteElfWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/GreenWhiteElfWarriorToken.java index f66308ae7b..28cd41d892 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GreenWhiteElfWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GreenWhiteElfWarriorToken.java @@ -21,7 +21,7 @@ public final class GreenWhiteElfWarriorToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("SHM"); + availableImageSetCodes = Arrays.asList("SHM", "2XM"); } public GreenWhiteElfWarriorToken(final GreenWhiteElfWarriorToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java index 8c78f3c096..6b9dbfe571 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java @@ -18,7 +18,7 @@ public final class HumanSoldierToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("SOI", "THB", "IKO", "MIC"); + availableImageSetCodes = Arrays.asList("SOI", "THB", "IKO", "MIC", "2XM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/MaritLageToken.java b/Mage/src/main/java/mage/game/permanent/token/MaritLageToken.java index 67cbafef84..7dee1085f8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MaritLageToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MaritLageToken.java @@ -27,7 +27,7 @@ public final class MaritLageToken extends TokenImpl { this.addAbility(FlyingAbility.getInstance()); this.addAbility(IndestructibleAbility.getInstance()); - availableImageSetCodes.addAll(Arrays.asList("CSP", "MH1")); + availableImageSetCodes.addAll(Arrays.asList("CSP", "MH1", "UMA", "2XM")); } public MaritLageToken(final MaritLageToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/MyrToken.java b/Mage/src/main/java/mage/game/permanent/token/MyrToken.java index 8aa54bdd4f..212b6937aa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MyrToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MyrToken.java @@ -16,7 +16,7 @@ public final class MyrToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("C13", "C14", "DST", "MBS", "MM2", "MRD", "NPH", "SOM", "MH1", "C21"); + availableImageSetCodes = Arrays.asList("C13", "C14", "DST", "MBS", "MM2", "MRD", "NPH", "SOM", "MH1", "C21", "NEC", "2XM"); } public MyrToken(final MyrToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/OonaQueenFaerieRogueToken.java b/Mage/src/main/java/mage/game/permanent/token/OonaQueenFaerieRogueToken.java index 36201ce706..48a2eef4ac 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OonaQueenFaerieRogueToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OonaQueenFaerieRogueToken.java @@ -6,6 +6,8 @@ import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; +import java.util.Arrays; + /** * * @author spjspj @@ -22,6 +24,8 @@ public final class OonaQueenFaerieRogueToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); + + availableImageSetCodes = Arrays.asList("MMA", "SHM"); } public OonaQueenFaerieRogueToken(final OonaQueenFaerieRogueToken token) { super(token); diff --git a/Mage/src/main/java/mage/game/permanent/token/OozeToken.java b/Mage/src/main/java/mage/game/permanent/token/OozeToken.java index 49344acf1d..4398e1c5f2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OozeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OozeToken.java @@ -4,6 +4,8 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + public final class OozeToken extends TokenImpl { public OozeToken(int power, int toughness) { @@ -22,6 +24,8 @@ public final class OozeToken extends TokenImpl { subtype.add(SubType.OOZE); power = new MageInt(0); toughness = new MageInt(0); + + availableImageSetCodes = Arrays.asList("ALA", "ROE", "RTR", "MM3", "UMA", "GK2", "2XM"); } public OozeToken(final OozeToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/PenumbraWurmToken.java b/Mage/src/main/java/mage/game/permanent/token/PenumbraWurmToken.java index 65b4d56327..6501f23b79 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PenumbraWurmToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PenumbraWurmToken.java @@ -6,6 +6,8 @@ import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.TrampleAbility; +import java.util.Arrays; + /** * * @author spjspj @@ -21,6 +23,8 @@ public final class PenumbraWurmToken extends TokenImpl { toughness = new MageInt(6); this.addAbility(TrampleAbility.getInstance()); + + availableImageSetCodes.addAll(Arrays.asList("UMA")); } public PenumbraWurmToken(final PenumbraWurmToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/PhyrexianGermToken.java b/Mage/src/main/java/mage/game/permanent/token/PhyrexianGermToken.java index 2db24e9444..457570875c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PhyrexianGermToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PhyrexianGermToken.java @@ -20,7 +20,7 @@ public final class PhyrexianGermToken extends TokenImpl { power = new MageInt(0); toughness = new MageInt(0); - availableImageSetCodes = Arrays.asList("C14", "C15", "MBS", "MM2", "NPH", "PC2", "MH2"); + availableImageSetCodes = Arrays.asList("C14", "C15", "MBS", "MM2", "NPH", "PC2", "MH2", "NEC", "2XM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/PilotToken.java b/Mage/src/main/java/mage/game/permanent/token/PilotToken.java index 304153c48a..020cd39b57 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PilotToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PilotToken.java @@ -5,6 +5,8 @@ import mage.abilities.common.CrewIncreasedPowerAbility; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author TheElk801 */ @@ -17,6 +19,8 @@ public final class PilotToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); addAbility(new CrewIncreasedPowerAbility("this creature")); + + availableImageSetCodes = Arrays.asList("NEO"); } public PilotToken(final PilotToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/PlantToken.java b/Mage/src/main/java/mage/game/permanent/token/PlantToken.java index db5389792c..93ff1c57da 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PlantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PlantToken.java @@ -16,7 +16,7 @@ public final class PlantToken extends TokenImpl { power = new MageInt(0); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("ARC", "C13", "C18", "DDP", "OGW", "PC2", "WWK", "XLN", "ZEN", "ZNR", "CMR"); + availableImageSetCodes = Arrays.asList("ARC", "C13", "C18", "DDP", "OGW", "PC2", "WWK", "XLN", "ZEN", "ZNR", "CMR", "NEC", "2XM"); } public PlantToken(final PlantToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/RedElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/RedElementalToken.java index 14cd7da8fe..99035ae26b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RedElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RedElementalToken.java @@ -20,7 +20,7 @@ public final class RedElementalToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("C13", "EMA", "M14", "SHM", "MH1", "M20", "RIX"); + availableImageSetCodes = Arrays.asList("C13", "EMA", "M14", "SHM", "MH1", "M20", "RIX", "UMA", "NEC"); } @Override @@ -42,6 +42,10 @@ public final class RedElementalToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("SHM")) { setTokenType(2); } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("UMA")) { + setTokenType(RandomUtil.nextInt(2) + 2); // 2..3 + } } public RedElementalToken(final RedElementalToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java b/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java index d0977d7260..38286520c2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java @@ -47,7 +47,9 @@ public final class SaprolingToken extends TokenImpl { "CMR", "TSR", "C21", - "AFC" + "AFC", + "NEC", + "2XM" )); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ServoToken.java b/Mage/src/main/java/mage/game/permanent/token/ServoToken.java index e6d69648bf..d4777a1be1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ServoToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ServoToken.java @@ -20,7 +20,7 @@ public final class ServoToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("C18", "KLD", "WAR", "KHC", "AFC"); + availableImageSetCodes = Arrays.asList("C18", "KLD", "WAR", "KHC", "AFC", "2XM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/SmokeBlessingToken.java b/Mage/src/main/java/mage/game/permanent/token/SmokeBlessingToken.java index d792076f5c..147e360054 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SmokeBlessingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SmokeBlessingToken.java @@ -13,6 +13,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetPermanent; +import java.util.Arrays; + /** * @author TheElk801 */ @@ -35,6 +37,8 @@ public final class SmokeBlessingToken extends TokenImpl { this.addAbility(ability); this.addAbility(new DiesAttachedTriggeredAbility(new SmokeBlessingTokenEffect(), "enchanted creature")); + + availableImageSetCodes = Arrays.asList("NEC"); } public SmokeBlessingToken(final SmokeBlessingToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java index 399d89266b..80ac240481 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java @@ -22,7 +22,7 @@ public final class SoldierToken extends TokenImpl { availableImageSetCodes = Arrays.asList("10E", "M15", "C14", "ORI", "ALA", "DDF", "THS", "M12", "M13", "MM2", "MMA", "RTR", "SOM", "DDO", "M10", "ORI", "EMN", "EMA", "CN2", "C16", "MM3", "E01", - "DOM", "MH1", "M20", "C20", "M21", "CMR", "KHC", "TSR"); + "DOM", "MH1", "M20", "C20", "M21", "CMR", "KHC", "TSR", "2XM"); } public SoldierToken(final SoldierToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SparkElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/SparkElementalToken.java index b4625b7b82..50e2453f63 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SparkElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SparkElementalToken.java @@ -8,6 +8,8 @@ import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.TrampleAbility; import mage.constants.TargetController; +import java.util.Arrays; + /** * * @author spjspj @@ -25,6 +27,8 @@ public final class SparkElementalToken extends TokenImpl { this.addAbility(TrampleAbility.getInstance()); this.addAbility(HasteAbility.getInstance()); this.addAbility(new BeginningOfEndStepTriggeredAbility(new SacrificeSourceEffect(), TargetController.ANY, false)); + + availableImageSetCodes = Arrays.asList("UMA"); } public SparkElementalToken(final SparkElementalToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiderToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiderToken.java index 5f55ddae05..78a86d83fd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiderToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiderToken.java @@ -22,7 +22,7 @@ public final class SpiderToken extends TokenImpl { this.addAbility(ReachAbility.getInstance()); - availableImageSetCodes.addAll(Arrays.asList("C15", "EMN", "ISD", "SHM", "MH1", "THB", "MID")); + availableImageSetCodes.addAll(Arrays.asList("C15", "EMN", "ISD", "SHM", "MH1", "THB", "MID", "UMA")); } public SpiderToken(final SpiderToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritGreenToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritGreenToken.java index a99e045cd4..a9490ec0f9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritGreenToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritGreenToken.java @@ -18,6 +18,15 @@ public final class SpiritGreenToken extends TokenImpl { toughness = new MageInt(5); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NEO")) { + setTokenType(3); + } + } + public SpiritGreenToken(final SpiritGreenToken token) { super(token); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritGreenXToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritGreenXToken.java index b2c1f763a7..e78a58f19f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritGreenXToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritGreenXToken.java @@ -4,6 +4,8 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author TheElk801 */ @@ -16,6 +18,17 @@ public final class SpiritGreenXToken extends TokenImpl { color.setGreen(true); power = new MageInt(xValue); toughness = new MageInt(xValue); + + availableImageSetCodes = Arrays.asList("NEO"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NEO")) { + setTokenType(2); + } } public SpiritGreenXToken(final SpiritGreenXToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritRedToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritRedToken.java index 11dfb6adc4..9ad263f913 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritRedToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritRedToken.java @@ -5,6 +5,8 @@ import mage.abilities.keyword.MenaceAbility; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author TheElk801 */ @@ -18,6 +20,17 @@ public final class SpiritRedToken extends TokenImpl { power = new MageInt(2); toughness = new MageInt(2); addAbility(new MenaceAbility()); + + availableImageSetCodes = Arrays.asList("NEO"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NEO")) { + setTokenType(4); + } } public SpiritRedToken(final SpiritRedToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java index d950eb9c46..7878427dd4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java @@ -18,7 +18,7 @@ public final class SpiritToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("C19", "CHK", "EMA", "EXP", "SOK", "V12", "VOC"); + availableImageSetCodes = Arrays.asList("C19", "CHK", "EMA", "EXP", "NEO", "SOK", "V12", "VOC"); } @Override @@ -32,6 +32,10 @@ public final class SpiritToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { setTokenType(2); } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NEO")) { + setTokenType(1); + } } public SpiritToken(final SpiritToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java index a460ba0c82..271419f23f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java @@ -24,7 +24,7 @@ public final class SpiritWhiteToken extends TokenImpl { availableImageSetCodes = Arrays.asList("AVR", "C14", "CNS", "DDC", "DDK", "FRF", "ISD", "KTK", "M15", "MM2", "SHM", "SOI", "EMA", "C16", "MM3", "CMA", "E01", "ANA", "GPT", "RAV", "EMN", "RNA", "M20", "C20", "CMR", "KHM", - "MID", "VOW"); + "MID", "VOW", "UMA"); } @Override @@ -39,6 +39,9 @@ public final class SpiritWhiteToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { setTokenType(2); } + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("UMA")) { + setTokenType(1); + } } public SpiritWhiteToken(final SpiritWhiteToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SquirrelToken.java b/Mage/src/main/java/mage/game/permanent/token/SquirrelToken.java index da530e88c8..f33268a59f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SquirrelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SquirrelToken.java @@ -20,7 +20,7 @@ public final class SquirrelToken extends TokenImpl { toughness = new MageInt(1); availableImageSetCodes = Arrays.asList("CMD", "CNS", "ODY", "PCY", "TOR", "ULG", "UNH", "WMA", - "WTH", "MH1", "MH2"); + "WTH", "MH1", "MH2", "2XM"); } public SquirrelToken(final SquirrelToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/StitchersApprenticeHomunculusToken.java b/Mage/src/main/java/mage/game/permanent/token/StitchersApprenticeHomunculusToken.java index c4b401fb2f..387e3d0f28 100644 --- a/Mage/src/main/java/mage/game/permanent/token/StitchersApprenticeHomunculusToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/StitchersApprenticeHomunculusToken.java @@ -5,6 +5,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.MageInt; +import java.util.Arrays; + /** * * @author spjspj @@ -18,6 +20,8 @@ public final class StitchersApprenticeHomunculusToken extends TokenImpl { subtype.add(SubType.HOMUNCULUS); power = new MageInt(2); toughness = new MageInt(2); + + availableImageSetCodes = Arrays.asList("UMA"); } public StitchersApprenticeHomunculusToken(final StitchersApprenticeHomunculusToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ThopterColorlessToken.java b/Mage/src/main/java/mage/game/permanent/token/ThopterColorlessToken.java index e1c29fa014..2fbc425151 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ThopterColorlessToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ThopterColorlessToken.java @@ -24,7 +24,7 @@ public final class ThopterColorlessToken extends TokenImpl { addAbility(FlyingAbility.getInstance()); availableImageSetCodes = Arrays.asList("C18", "EXO", "KLD", "MBS", "ORI", "VMA", "M19", "ZNC", - "KHC", "C21", "MH2", "AFC", "VOC"); + "KHC", "C21", "MH2", "AFC", "VOC", "NEC", "2XM"); } @Override @@ -40,6 +40,9 @@ public final class ThopterColorlessToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("ORI")) { this.setTokenType(RandomUtil.nextInt(2) + 1); } + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("2XM")) { + this.setTokenType(1); + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/ThopterToken.java b/Mage/src/main/java/mage/game/permanent/token/ThopterToken.java index 4e9e580b53..11b0a32847 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ThopterToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ThopterToken.java @@ -6,6 +6,8 @@ import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; +import java.util.Arrays; + /** * * @author spjspj @@ -21,6 +23,17 @@ public final class ThopterToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); + + availableImageSetCodes = Arrays.asList("ALA", "C16", "C18", "2XM"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("2XM")) { + this.setTokenType(2); + } } public ThopterToken(final ThopterToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java b/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java index 041c54d5bc..c660689260 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java @@ -27,7 +27,7 @@ public final class TreasureToken extends TokenImpl { ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); - availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20", "M21", "CMR", "KHM", "STX", "MH2", "AFR", "VOW"); + availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20", "M21", "CMR", "KHM", "STX", "MH2", "AFR", "VOW", "NEO", "SLD", "2XM"); } public TreasureToken(final TreasureToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/TuktukTheReturnedToken.java b/Mage/src/main/java/mage/game/permanent/token/TuktukTheReturnedToken.java index 8c20f9ae91..e5684c2206 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TuktukTheReturnedToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TuktukTheReturnedToken.java @@ -5,18 +5,15 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; +import java.util.Arrays; + /** * @author spjspj */ public final class TuktukTheReturnedToken extends TokenImpl { public TuktukTheReturnedToken() { - this("ROE"); - } - - public TuktukTheReturnedToken(String setCode) { super("Tuktuk the Returned", "Tuktuk the Returned, a legendary 5/5 colorless Goblin Golem artifact creature token"); - setOriginalExpansionSetCode(setCode); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); addSuperType(SuperType.LEGENDARY); @@ -24,6 +21,8 @@ public final class TuktukTheReturnedToken extends TokenImpl { subtype.add(SubType.GOLEM); power = new MageInt(5); toughness = new MageInt(5); + + availableImageSetCodes = Arrays.asList("ROE", "C14", "CM2", "2XM"); } public TuktukTheReturnedToken(final TuktukTheReturnedToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/VoiceOfResurgenceToken.java b/Mage/src/main/java/mage/game/permanent/token/VoiceOfResurgenceToken.java index 916bf61e8c..68cef9b2c8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/VoiceOfResurgenceToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/VoiceOfResurgenceToken.java @@ -9,6 +9,8 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; +import java.util.Arrays; + /** * @author spjspj */ @@ -28,6 +30,8 @@ public final class VoiceOfResurgenceToken extends TokenImpl { // This creature's power and toughness are each equal to the number of creatures you control. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetPowerToughnessSourceEffect( CreaturesYouControlCount.instance, Duration.EndOfGame))); + + availableImageSetCodes = Arrays.asList("DGM", "MM3", "2XM"); } public VoiceOfResurgenceToken(final VoiceOfResurgenceToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java b/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java index 3d3d0d6cdc..7938131ef6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java @@ -9,6 +9,7 @@ import java.util.Arrays; /** * @author spjspj */ + public final class WalkerOfTheGroveToken extends TokenImpl { public WalkerOfTheGroveToken() { @@ -19,15 +20,15 @@ public final class WalkerOfTheGroveToken extends TokenImpl { power = new MageInt(4); toughness = new MageInt(4); - availableImageSetCodes = Arrays.asList("C13", "LRW", "MMA", "MOR"); + availableImageSetCodes = Arrays.asList("LRW", "MMA", "DDR", "UMA"); } @Override public void setExpansionSetCodeForImage(String code) { super.setExpansionSetCodeForImage(code); - if (getOriginalExpansionSetCode().equals("C13")) { - this.setTokenType(2); + if (getOriginalExpansionSetCode().equals("UMA")) { + this.setTokenType(1); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/WalkerToken.java b/Mage/src/main/java/mage/game/permanent/token/WalkerToken.java index bc5dc46861..e3c330b9ec 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WalkerToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WalkerToken.java @@ -3,6 +3,9 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import mage.util.RandomUtil; + +import java.util.Arrays; /** * @author TheElk801 @@ -16,6 +19,17 @@ public final class WalkerToken extends TokenImpl { subtype.add(SubType.ZOMBIE); power = new MageInt(2); toughness = new MageInt(2); + + availableImageSetCodes = Arrays.asList("SLD"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("SLD")) { + setTokenType(RandomUtil.nextInt(5) + 1); + } } public WalkerToken(final WalkerToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WhiteBlackSpiritToken.java b/Mage/src/main/java/mage/game/permanent/token/WhiteBlackSpiritToken.java index e2a69afdb2..f646e03d45 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WhiteBlackSpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WhiteBlackSpiritToken.java @@ -22,7 +22,16 @@ public final class WhiteBlackSpiritToken extends TokenImpl { toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); - availableImageSetCodes.addAll(Arrays.asList("MH1", "C21")); + availableImageSetCodes.addAll(Arrays.asList("MH1", "C21", "UMA")); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("UMA")) { + this.setTokenType(2); + } } public WhiteBlackSpiritToken(final WhiteBlackSpiritToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WolfToken.java b/Mage/src/main/java/mage/game/permanent/token/WolfToken.java index 6bfa94c851..ab117f8133 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WolfToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WolfToken.java @@ -23,7 +23,7 @@ public final class WolfToken extends TokenImpl { availableImageSetCodes = Arrays.asList("BNG", "C14", "C15", "CMA", "CMD", "CNS", "DKA", "EVE", "ISD", "LRW", "M10", "M14", "MM2", "MOR", "SHM", "SOI", "SOM", "V10", "WWK", "ZEN", "WAR", "M20", - "THB", "AFR", "MID", "VOW"); + "THB", "AFR", "MID", "VOW", "2XM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/WurmWithDeathtouchToken.java b/Mage/src/main/java/mage/game/permanent/token/WurmWithDeathtouchToken.java index fd4ac34805..44fa430f5a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WurmWithDeathtouchToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WurmWithDeathtouchToken.java @@ -22,12 +22,25 @@ public final class WurmWithDeathtouchToken extends TokenImpl { toughness = new MageInt(3); this.addAbility(DeathtouchAbility.getInstance()); - availableImageSetCodes = Arrays.asList("C14", "SOM"); + availableImageSetCodes = Arrays.asList("C14", "SOM", "2XM"); } @Override public void setExpansionSetCodeForImage(String code) { super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("C14")) { + this.setTokenType(1); + } + if (getOriginalExpansionSetCode().equals("SOM")) { + this.setTokenType(1); + } + if (getOriginalExpansionSetCode().equals("CM2")) { + this.setTokenType(1); + } + if (getOriginalExpansionSetCode().equals("2XM")) { + this.setTokenType(1); + } } public WurmWithDeathtouchToken(final WurmWithDeathtouchToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WurmWithLifelinkToken.java b/Mage/src/main/java/mage/game/permanent/token/WurmWithLifelinkToken.java index f5a9f8268a..2cbba52636 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WurmWithLifelinkToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WurmWithLifelinkToken.java @@ -22,7 +22,7 @@ public final class WurmWithLifelinkToken extends TokenImpl { toughness = new MageInt(3); this.addAbility(LifelinkAbility.getInstance()); - availableImageSetCodes = Arrays.asList("C14", "SOM"); + availableImageSetCodes = Arrays.asList("C14", "SOM", "2XM"); } @Override @@ -32,10 +32,15 @@ public final class WurmWithLifelinkToken extends TokenImpl { if (getOriginalExpansionSetCode().equals("C14")) { this.setTokenType(2); } - if (getOriginalExpansionSetCode().equals("SOM")) { this.setTokenType(2); } + if (getOriginalExpansionSetCode().equals("CM2")) { + this.setTokenType(2); + } + if (getOriginalExpansionSetCode().equals("2XM")) { + this.setTokenType(2); + } } public WurmWithLifelinkToken(final WurmWithLifelinkToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java index 64dfbc503f..dc8be13742 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java @@ -25,7 +25,7 @@ public final class ZombieToken extends TokenImpl { "CNS", "MMA", "BNG", "KTK", "DTK", "ORI", "OGW", "SOI", "EMN", "EMA", "MM3", "AKH", "CMA", "E01", "RNA", "WAR", "MH1", "M20", "C19", "THB", "M21", - "CMR", "C21", "MH2", "AFR", "MIC", "VOW"); + "CMR", "C21", "MH2", "AFR", "MIC", "VOW", "UMA"); } @Override