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 75b2c22ae50..dd9ecfae59d 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 @@ -970,6 +970,42 @@ public class ScryfallImageSupportTokens { put ("C17/Vampire", "https://api.scryfall.com/cards/tc17/4/en?format=image"); put ("C17/Zombie", "https://api.scryfall.com/cards/tc17/5/en?format=image"); + // NCC + put ("NCC/Beast", "https://api.scryfall.com/cards/tncc/21/en?format=image"); + put ("NCC/Cat Beast", "https://api.scryfall.com/cards/tncc/4/en?format=image"); + put ("NCC/Clue", "https://api.scryfall.com/cards/tncc/34/en?format=image"); + put ("NCC/Demon", "https://api.scryfall.com/cards/tncc/15/en?format=image"); + put ("NCC/Devil", "https://api.scryfall.com/cards/tncc/17/en?format=image"); + put ("NCC/Drake", "https://api.scryfall.com/cards/tncc/10/en?format=image"); + put ("NCC/Eldrazi", "https://api.scryfall.com/cards/tncc/1/en?format=image"); + put ("NCC/Eldrazi Spawn", "https://api.scryfall.com/cards/tncc/2/en?format=image"); + put ("NCC/Elemental/1", "https://api.scryfall.com/cards/tncc/18/en?format=image"); + put ("NCC/Elemental/2", "https://api.scryfall.com/cards/tncc/32/en?format=image"); + put ("NCC/Elemental/3", "https://api.scryfall.com/cards/tncc/5/en?format=image"); + put ("NCC/Elephant", "https://api.scryfall.com/cards/tncc/22/en?format=image"); + put ("NCC/Elf Warrior", "https://api.scryfall.com/cards/tncc/23/en?format=image"); + put ("NCC/Faerie", "https://api.scryfall.com/cards/tncc/11/en?format=image"); + put ("NCC/Food", "https://api.scryfall.com/cards/tncc/35/en?format=image"); + put ("NCC/Goat", "https://api.scryfall.com/cards/tncc/6/en?format=image"); + put ("NCC/Human", "https://api.scryfall.com/cards/tncc/7/en?format=image"); + put ("NCC/Human Soldier", "https://api.scryfall.com/cards/tncc/8/en?format=image"); + put ("NCC/Insect", "https://api.scryfall.com/cards/tncc/24/en?format=image"); + put ("NCC/Lightning Rager", "https://api.scryfall.com/cards/tncc/19/en?format=image"); + put ("NCC/Ogre", "https://api.scryfall.com/cards/tncc/20/en?format=image"); + put ("NCC/Ooze/1", "https://api.scryfall.com/cards/tncc/25/en?format=image"); + put ("NCC/Ooze/2", "https://api.scryfall.com/cards/tncc/26/en?format=image"); + put ("NCC/Plant", "https://api.scryfall.com/cards/tncc/27/en?format=image"); + put ("NCC/Saproling", "https://api.scryfall.com/cards/tncc/28/en?format=image"); + put ("NCC/Soldier/1", "https://api.scryfall.com/cards/tncc/9/en?format=image"); + put ("NCC/Soldier/2", "https://api.scryfall.com/cards/tncc/33/en?format=image"); + put ("NCC/Spider", "https://api.scryfall.com/cards/tncc/29/en?format=image"); + put ("NCC/Squid", "https://api.scryfall.com/cards/tncc/12/en?format=image"); + put ("NCC/Tentacle", "https://api.scryfall.com/cards/tncc/13/en?format=image"); + put ("NCC/Thopter", "https://api.scryfall.com/cards/tncc/36/en?format=image"); + put ("NCC/Treefolk", "https://api.scryfall.com/cards/tncc/30/en?format=image"); + put ("NCC/Wurm", "https://api.scryfall.com/cards/tncc/31/en?format=image"); + put ("NCC/Zombie", "https://api.scryfall.com/cards/tncc/16/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 5dbdd9eb537..676faa64952 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -285,9 +285,6 @@ |Generate|TOK:BNG|Soldier|||GodFavoredGeneralSoldierToken| |Generate|TOK:BNG|Wolf|||WolfToken| |Generate|TOK:BNG|Zombie|||ForlornPseudammaZombieToken| -|Generate|TOK:BOK|Snake|||SnakeToken| -|Generate|TOK:BOK|Spirit|1||AnotherSpiritToken| -|Generate|TOK:BOK|Spirit|2||SpiritToken| |Generate|TOK:C14|Angel|||AngelToken| |Generate|TOK:C14|Ape|||PongifyApeToken| |Generate|TOK:C14|Beast|1||BeastToken| @@ -793,7 +790,8 @@ |Generate|TOK:M11|Avatar|||AvatarToken| |Generate|TOK:M11|Beast|||BeastToken| |Generate|TOK:M11|Bird|||RocEggToken| -|Generate|TOK:M11|Ooze|1||Ooze2Token| +|Generate|TOK:M11|Ooze|1||OozeToken| +|Generate|TOK:M11|Ooze|2||Ooze2Token| |Generate|TOK:M11|Zombie|||ZombieToken| |Generate|TOK:M12|Beast|||BeastToken| |Generate|TOK:M12|Bird|||RocEggToken| @@ -1496,7 +1494,6 @@ # C21 |Generate|TOK:C21|Beast|1||BeastToken| |Generate|TOK:C21|Beast|2||BeastToken2| -|Generate|TOK:C21|Fungus Beast|||FungusBeastToken| |Generate|TOK:C21|Boar|||Boar2Token| # no need tokens for Eternalize ability, but scryfall have it: https://scryfall.com/card/tc21/6/champion-of-wits # no need tokens for Copy, but scryfall have it: https://scryfall.com/card/tc21/30/copy @@ -1510,6 +1507,7 @@ |Generate|TOK:C21|Fish|||ReefWormFishToken| |Generate|TOK:C21|Food|||FoodToken| |Generate|TOK:C21|Frog Lizard|||FrogLizardToken| +|Generate|TOK:C21|Fungus Beast|||FungusBeastToken| |Generate|TOK:C21|Golem|1||GolemFlyingToken| |Generate|TOK:C21|Golem|2||GolemVigilanceToken| |Generate|TOK:C21|Golem|3||GolemTrampleToken| @@ -1750,4 +1748,40 @@ |Generate|TOK:SNC|Treasure|3||TreasureToken| |Generate|TOK:SNC|Treasure|4||TreasureToken| |Generate|TOK:SNC|Treasure|5||TreasureToken| -|Generate|TOK:SNC|Wizard|||MagesAttendantToken| \ No newline at end of file +|Generate|TOK:SNC|Wizard|||MagesAttendantToken| + +# NCC +|Generate|TOK:NCC|Beast|||BeastToken| +|Generate|TOK:NCC|Cat Beast|||CatBeastToken| +|Generate|TOK:NCC|Clue|||ClueArtifactToken| +|Generate|TOK:NCC|Demon|||DemonFlyingToken| +|Generate|TOK:NCC|Devil|||DevilToken| +|Generate|TOK:NCC|Drake|||DrakeToken| +|Generate|TOK:NCC|Eldrazi|||EldraziToken| +|Generate|TOK:NCC|Eldrazi Spawn|||EldraziSpawnToken| +|Generate|TOK:NCC|Elemental|1||RekindlingPhoenixToken| +|Generate|TOK:NCC|Elemental|2||CallTheSkyBreakerElementalToken| +|Generate|TOK:NCC|Elemental|3||WhiteElementalToken| +|Generate|TOK:NCC|Elephant|||ElephantToken| +|Generate|TOK:NCC|Elf Warrior|||ElfWarriorToken| +|Generate|TOK:NCC|Faerie|||FaerieToken| +|Generate|TOK:NCC|Food|||FoodToken| +|Generate|TOK:NCC|Goat|||GoatToken| +|Generate|TOK:NCC|Human|||HumanToken| +|Generate|TOK:NCC|Human Soldier|||HumanSoldierToken| +|Generate|TOK:NCC|Insect|||InsectToken| +|Generate|TOK:NCC|Lightning Rager|||LightningRagerToken| +|Generate|TOK:NCC|Ogre|||OgreToken| +|Generate|TOK:NCC|Ooze|1||OozeToken| +|Generate|TOK:NCC|Ooze|2||Ooze2Token| +|Generate|TOK:NCC|Plant|||PlantToken| +|Generate|TOK:NCC|Saproling|||SaprolingToken| +|Generate|TOK:NCC|Soldier|1||SoldierLifelinkToken| +|Generate|TOK:NCC|Soldier|2||SoldierTokenWithHaste| +|Generate|TOK:NCC|Spider|||SpiderToken| +|Generate|TOK:NCC|Squid|||SquidToken| +|Generate|TOK:NCC|Tentacle|||TentacleToken| +|Generate|TOK:NCC|Thopter|||ThopterColorlessToken| +|Generate|TOK:NCC|Treefolk|||SylvanOfferingTreefolkToken| +|Generate|TOK:NCC|Wurm|||Wurm55Token| +|Generate|TOK:NCC|Zombie|||ZombieToken| \ No newline at end of file diff --git a/Mage/src/main/java/mage/game/permanent/token/AnotherSpiritToken.java b/Mage/src/main/java/mage/game/permanent/token/AnotherSpiritToken.java index e01dfee0abe..0d9af4c271d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AnotherSpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AnotherSpiritToken.java @@ -22,7 +22,7 @@ public final class AnotherSpiritToken extends TokenImpl { this.addAbility(FlyingAbility.getInstance()); - availableImageSetCodes = Arrays.asList("BOK", "VOC"); + availableImageSetCodes = Arrays.asList("VOC"); } @Override 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 20d32659094..631b36efd9f 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", "NEC", "2XM"); + "M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC", "MIC", "NEC", "2XM", "NCC"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java index d2607f6acd3..1bd9255181f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java @@ -23,7 +23,7 @@ public final class CallTheSkyBreakerElementalToken extends TokenImpl { this.addAbility(FlyingAbility.getInstance()); - availableImageSetCodes = Arrays.asList("C15", "CMD", "EMA", "EVE", "C21"); + availableImageSetCodes = Arrays.asList("C15", "CMD", "EMA", "EVE", "C21", "NCC"); } @Override @@ -33,6 +33,10 @@ public final class CallTheSkyBreakerElementalToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { setTokenType(2); } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) { + setTokenType(2); + } } public CallTheSkyBreakerElementalToken(final CallTheSkyBreakerElementalToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/CatBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/CatBeastToken.java index 69a6cfc4cee..cb4e48d488e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CatBeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CatBeastToken.java @@ -20,7 +20,7 @@ public final class CatBeastToken extends TokenImpl { power = new MageInt(2); toughness = new MageInt(2); - availableImageSetCodes = Arrays.asList("ZNR"); + availableImageSetCodes = Arrays.asList("ZNR", "NCC"); } public CatBeastToken(final CatBeastToken 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 1bd0949ad7d..e30ea70a9e0 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", "SLD", "2XM"); + availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC", "MID", "VOC", "SLD", "2XM", "NCC"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/DemonFlyingToken.java b/Mage/src/main/java/mage/game/permanent/token/DemonFlyingToken.java index 4fb17832da6..88331489632 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DemonFlyingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DemonFlyingToken.java @@ -26,7 +26,7 @@ public final class DemonFlyingToken extends TokenImpl { addAbility(FlyingAbility.getInstance()); - availableImageSetCodes = Arrays.asList("C14", "C21"); + availableImageSetCodes = Arrays.asList("C14", "C21", "NCC"); } public DemonFlyingToken(final DemonFlyingToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/DevilToken.java b/Mage/src/main/java/mage/game/permanent/token/DevilToken.java index bc9d78e03c3..c15f70986f6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DevilToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DevilToken.java @@ -34,7 +34,7 @@ public final class DevilToken extends TokenImpl { ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); - availableImageSetCodes = Arrays.asList("SOI", "WAR", "AFR", "MID", "SNC"); + availableImageSetCodes = Arrays.asList("SOI", "WAR", "AFR", "MID", "SNC", "NCC"); } public DevilToken(final DevilToken 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 55ad6dfdc8a..24006266c99 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", "UMA"); + availableImageSetCodes = Arrays.asList("AKH", "C15", "C19", "M13", "C20", "ZNR", "C21", "UMA", "NCC"); } 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 622ce85c59b..f4bc3dca00d 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("C17", "CMD", "DDP", "MM2", "PC2", "ROE", "MIC", "2XM"); + availableImageSetCodes = Arrays.asList("C17", "CMD", "DDP", "MM2", "PC2", "ROE", "MIC", "2XM", "NCC"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziToken.java index 47d618151af..220a126feaa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziToken.java @@ -18,7 +18,7 @@ public final class EldraziToken extends TokenImpl { power = new MageInt(10); toughness = new MageInt(10); - availableImageSetCodes = Arrays.asList("BFZ", "C19", "C21"); + availableImageSetCodes = Arrays.asList("BFZ", "C19", "C21", "NCC"); } public EldraziToken(final EldraziToken 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 6af3e632db2..d054696233c 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("C14", "C15", "CMA", "CMD", "CNS", "GVL", "DDD", - "EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC", "NEC", "2XM"); + "EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC", "NEC", "2XM", "NCC"); } 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 06e5ea63ac7..848a2a4466d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElfWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElfWarriorToken.java @@ -20,7 +20,7 @@ public final class ElfWarriorToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("C14", "C16", "EVG", "EMA", "LRW", "MOR", "ORI", "SHM", "M19", "CMR", "KHM"); + availableImageSetCodes = Arrays.asList("C14", "C16", "EVG", "EMA", "LRW", "MOR", "ORI", "SHM", "M19", "CMR", "KHM", "NCC"); } public ElfWarriorToken(final ElfWarriorToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/FaerieToken.java b/Mage/src/main/java/mage/game/permanent/token/FaerieToken.java index 53f59c44120..91ed45c439f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FaerieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FaerieToken.java @@ -5,6 +5,8 @@ import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author spjspj */ @@ -18,6 +20,8 @@ public final class FaerieToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); + + availableImageSetCodes = Arrays.asList("ELD", "NCC"); } public FaerieToken(final FaerieToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/FoodToken.java b/Mage/src/main/java/mage/game/permanent/token/FoodToken.java index 42f54556592..2d914902e17 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FoodToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FoodToken.java @@ -36,7 +36,7 @@ public final class FoodToken extends TokenImpl { ability.addCost(cost); this.addAbility(ability); - availableImageSetCodes = Arrays.asList("ELD", "C21", "MH2"); + availableImageSetCodes = Arrays.asList("ELD", "C21", "MH2", "NCC"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/GoatToken.java b/Mage/src/main/java/mage/game/permanent/token/GoatToken.java index 8c6af9b7a2c..1ca61c08ccc 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoatToken.java @@ -16,7 +16,7 @@ public final class GoatToken extends TokenImpl { static final private List tokenImageSets = new ArrayList<>(); static { - tokenImageSets.addAll(Arrays.asList("EVE", "M13", "M14", "C14", "C16", "ELD", "THB")); + tokenImageSets.addAll(Arrays.asList("EVE", "M13", "M14", "C14", "C16", "ELD", "THB", "NCC")); } public GoatToken() { 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 6b9dbfe571f..c0aaf41b896 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", "2XM"); + availableImageSetCodes = Arrays.asList("SOI", "THB", "IKO", "MIC", "2XM", "NCC"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanToken.java index efc8ceba89d..a179a48eb84 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanToken.java @@ -19,7 +19,7 @@ public final class HumanToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes.addAll(Arrays.asList("DKA", "AVR", "FNMP", "RNA", "ELD", "C19", "C20", "MID", "VOW")); + availableImageSetCodes.addAll(Arrays.asList("DKA", "AVR", "FNMP", "RNA", "ELD", "C19", "C20", "MID", "VOW", "NCC")); } public HumanToken(final HumanToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/InsectToken.java b/Mage/src/main/java/mage/game/permanent/token/InsectToken.java index 87fa2498fe3..38082a085b7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/InsectToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/InsectToken.java @@ -24,7 +24,7 @@ public final class InsectToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("M10", "MM2", "SOI", "ZNR", "VOW"); + availableImageSetCodes = Arrays.asList("M10", "MM2", "SOI", "ZNR", "VOW", "NCC"); } public InsectToken(final InsectToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/Ooze2Token.java b/Mage/src/main/java/mage/game/permanent/token/Ooze2Token.java index a7a04ac0640..fd354045bbe 100644 --- a/Mage/src/main/java/mage/game/permanent/token/Ooze2Token.java +++ b/Mage/src/main/java/mage/game/permanent/token/Ooze2Token.java @@ -7,6 +7,8 @@ import mage.MageInt; import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; +import java.util.Arrays; + /** * * @author spjspj @@ -21,6 +23,25 @@ public final class Ooze2Token extends TokenImpl { power = new MageInt(2); toughness = new MageInt(2); this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new OozeToken(1, 1), 2), false)); + + availableImageSetCodes = Arrays.asList("M11", "PCA", "NCC"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M11")) { + setTokenType(2); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("PCA")) { + setTokenType(2); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) { + setTokenType(2); + } } public Ooze2Token(final Ooze2Token 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 4398e1c5f27..75ca255ed28 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OozeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OozeToken.java @@ -3,6 +3,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import mage.util.RandomUtil; import java.util.Arrays; @@ -15,6 +16,8 @@ public final class OozeToken extends TokenImpl { subtype.add(SubType.OOZE); this.power = new MageInt(power); this.toughness = new MageInt(toughness); + + availableImageSetCodes = Arrays.asList("M11", "PCA", "NCC"); } public OozeToken() { @@ -28,6 +31,23 @@ public final class OozeToken extends TokenImpl { availableImageSetCodes = Arrays.asList("ALA", "ROE", "RTR", "MM3", "UMA", "GK2", "2XM"); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M11")) { + setTokenType(1); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("PCA")) { + setTokenType(1); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) { + setTokenType(1); + } + } + public OozeToken(final OozeToken token) { super(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 dd706fa3d8a..785f8fdcc9a 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", "C18", "DDP", "OGW", "PC2", "WWK", "XLN", "ZEN", "ZNR", "CMR", "NEC", "2XM"); + availableImageSetCodes = Arrays.asList("ARC", "C18", "DDP", "OGW", "PC2", "WWK", "XLN", "ZEN", "ZNR", "CMR", "NEC", "2XM", "NCC"); } public PlantToken(final PlantToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/RekindlingPhoenixToken.java b/Mage/src/main/java/mage/game/permanent/token/RekindlingPhoenixToken.java index affd29c9310..8fec7cdd898 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RekindlingPhoenixToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RekindlingPhoenixToken.java @@ -16,6 +16,9 @@ import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; import mage.target.common.TargetCardInYourGraveyard; +import mage.util.RandomUtil; + +import java.util.Arrays; /** * @@ -39,6 +42,21 @@ public final class RekindlingPhoenixToken extends TokenImpl { filter.add(new NamePredicate("Rekindling Phoenix")); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); + + availableImageSetCodes = Arrays.asList("RIX", "NCC"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("RIX")) { + this.setTokenType(1); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) { + this.setTokenType(1); + } } public RekindlingPhoenixToken(final RekindlingPhoenixToken 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 38286520c25..f988cd7608d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java @@ -49,7 +49,8 @@ public final class SaprolingToken extends TokenImpl { "C21", "AFC", "NEC", - "2XM" + "2XM", + "NCC" )); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java b/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java index 716bdfaefd2..5d869ea7cde 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java @@ -19,7 +19,7 @@ public final class SnakeToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("6ED", "BOK", "C15", "C19", "CHK", "CMD", "KTK", "MM2", "MMQ", "SOK", + availableImageSetCodes = Arrays.asList("6ED", "C15", "C19", "CHK", "CMD", "KTK", "MM2", "MMQ", "SOK", "VIS", "WWK", "ZEN", "C20", "MIC"); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SoldierLifelinkToken.java b/Mage/src/main/java/mage/game/permanent/token/SoldierLifelinkToken.java index 1a8c6bdb9c6..f7acdd8ef97 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierLifelinkToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierLifelinkToken.java @@ -5,6 +5,8 @@ import mage.abilities.keyword.LifelinkAbility; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * * @author TheElk801 @@ -19,6 +21,17 @@ public final class SoldierLifelinkToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); addAbility(LifelinkAbility.getInstance()); + + availableImageSetCodes = Arrays.asList("GRN", "NCC"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) { + setTokenType(1); + } } public SoldierLifelinkToken(final SoldierLifelinkToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SoldierTokenWithHaste.java b/Mage/src/main/java/mage/game/permanent/token/SoldierTokenWithHaste.java index 31e5880338b..dae21c55d2d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierTokenWithHaste.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierTokenWithHaste.java @@ -22,7 +22,7 @@ public final class SoldierTokenWithHaste extends TokenImpl { toughness = new MageInt(1); addAbility(HasteAbility.getInstance()); - availableImageSetCodes = Arrays.asList("GTC", "MM3"); + availableImageSetCodes = Arrays.asList("GTC", "MM3", "NCC"); } @@ -36,6 +36,9 @@ public final class SoldierTokenWithHaste extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) { setTokenType(2); } + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) { + setTokenType(2); + } } public SoldierTokenWithHaste(final SoldierTokenWithHaste 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 78a86d83fdd..6fad2540efc 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", "UMA")); + availableImageSetCodes.addAll(Arrays.asList("C15", "EMN", "ISD", "SHM", "MH1", "THB", "MID", "UMA", "NCC")); } public SpiderToken(final SpiderToken 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 266d3af68d2..7ec6e19f7e7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java @@ -25,10 +25,6 @@ public final class SpiritToken extends TokenImpl { public void setExpansionSetCodeForImage(String code) { super.setExpansionSetCodeForImage(code); - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("BOK")) { - setTokenType(2); - } - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { setTokenType(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SquidToken.java b/Mage/src/main/java/mage/game/permanent/token/SquidToken.java index 3204fbab6ec..0c7fef474ad 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SquidToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SquidToken.java @@ -23,7 +23,7 @@ public final class SquidToken extends TokenImpl { this.addAbility(new IslandwalkAbility()); - availableImageSetCodes = Arrays.asList("M15", "C16"); + availableImageSetCodes = Arrays.asList("M15", "C16", "NCC"); } private SquidToken(final SquidToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SylvanOfferingTreefolkToken.java b/Mage/src/main/java/mage/game/permanent/token/SylvanOfferingTreefolkToken.java index 2d384188a59..e14369751c4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SylvanOfferingTreefolkToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SylvanOfferingTreefolkToken.java @@ -5,6 +5,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.MageInt; +import java.util.Arrays; + /** * * @author spjspj @@ -22,6 +24,8 @@ public final class SylvanOfferingTreefolkToken extends TokenImpl { color.setGreen(true); power = new MageInt(xValue); toughness = new MageInt(xValue); + + availableImageSetCodes = Arrays.asList("C14", "CMA", "NCC"); } public SylvanOfferingTreefolkToken(final SylvanOfferingTreefolkToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/TentacleToken.java b/Mage/src/main/java/mage/game/permanent/token/TentacleToken.java index 122f49bae25..85b3fa52242 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TentacleToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TentacleToken.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,8 @@ public final class TentacleToken extends TokenImpl { subtype.add(SubType.TENTACLE); power = new MageInt(1); toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("THB", "NCC"); } private TentacleToken(final TentacleToken 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 9b74c0e6189..bbf25b781a7 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", "NEC", "2XM", "RNA"); + "KHC", "C21", "MH2", "AFC", "VOC", "NEC", "2XM", "RNA", "NCC"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java index e4d9738bda9..ff677075cca 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java @@ -21,7 +21,7 @@ public final class WhiteElementalToken extends TokenImpl { toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); - availableImageSetCodes = Arrays.asList("LRW", "C16", "C20", "RTR"); + availableImageSetCodes = Arrays.asList("LRW", "C16", "C20", "RTR", "NCC"); } @Override @@ -35,6 +35,10 @@ public final class WhiteElementalToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("LRW")) { setTokenType(2); } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) { + setTokenType(3); + } } public WhiteElementalToken(final WhiteElementalToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/Wurm55Token.java b/Mage/src/main/java/mage/game/permanent/token/Wurm55Token.java index a4d015c39d0..8756bf867d7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/Wurm55Token.java +++ b/Mage/src/main/java/mage/game/permanent/token/Wurm55Token.java @@ -19,7 +19,7 @@ public final class Wurm55Token extends TokenImpl { power = new MageInt(5); toughness = new MageInt(5); - availableImageSetCodes = Arrays.asList("AKH", "DGM"); + availableImageSetCodes = Arrays.asList("AKH", "DGM", "NCC"); } @Override 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 02b324231f0..cf42dacc11a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java @@ -20,12 +20,18 @@ public final class ZombieToken extends TokenImpl { power = new MageInt(2); toughness = new MageInt(2); - availableImageSetCodes = Arrays.asList("10E", "M10", "M11", "M12", "M13", "M14", "M15", "C18", - "MBS", "ALA", "ISD", "C14", "C15", "C16", "C17", - "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", "UMA"); + availableImageSetCodes = Arrays.asList("10E", "M10", "M11", "M12", + "M13", "M14", "M15", "C18", + "MBS", "ALA", "ISD", "C14", + "C15", "C16", "C17", "CNS", + "MMA", "BNG", "KTK", "DTK", + "ORI", "OGW", "SOI", "EMN", + "EMA", "MM3", "AKH", "CMA", + "E01", "RNA", "WAR", "MH1", + "M20", "C19", "C20", "THB", + "M21", "CMR", "C21", "MH2", + "AFR", "MIC", "VOW", "UMA", + "NCC"); } @Override