From 8a4482ae93fb2cd900975e46134942caf7106d20 Mon Sep 17 00:00:00 2001 From: PurpleCrowbar Date: Wed, 1 Jun 2022 23:43:53 +0100 Subject: [PATCH 1/4] Added support for and assigned CMA token images --- .../sources/ScryfallImageSupportTokens.java | 21 +++++++++++++++++++ .../src/main/resources/card-pictures-tok.txt | 8 +++++-- .../permanent/token/AssemblyWorkerToken.java | 2 +- .../mage/game/permanent/token/BeastToken.java | 4 +++- .../game/permanent/token/ElfDruidToken.java | 2 +- .../game/permanent/token/ElfWarriorToken.java | 2 +- .../permanent/token/KithkinSoldierToken.java | 2 +- .../permanent/token/PhyrexianGermToken.java | 2 +- .../game/permanent/token/SpiderToken.java | 2 +- .../mage/game/permanent/token/WolfToken.java | 3 +++ 10 files changed, 39 insertions(+), 9 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 8962e98d6f4..21323c71697 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 @@ -1069,6 +1069,27 @@ public class ScryfallImageSupportTokens { put ("CM2/Phyrexian Wurm/2", "https://api.scryfall.com/cards/tcm2/17/en?format=image"); put ("CM2/Zombie", "https://api.scryfall.com/cards/tcm2/7/en?format=image"); + // CMA + put ("CMA/Beast/1", "https://api.scryfall.com/cards/tcma/7/en?format=image"); + put ("CMA/Beast/2", "https://api.scryfall.com/cards/tcma/8/en?format=image"); + put ("CMA/Dragon", "https://api.scryfall.com/cards/tcma/6/en?format=image"); + put ("CMA/Drake", "https://api.scryfall.com/cards/tcma/18/en?format=image"); + put ("CMA/Elemental", "https://api.scryfall.com/cards/tcma/9/en?format=image"); + put ("CMA/Elephant", "https://api.scryfall.com/cards/tcma/10/en?format=image"); + put ("CMA/Elf Druid", "https://api.scryfall.com/cards/tcma/11/en?format=image"); + put ("CMA/Elf Warrior", "https://api.scryfall.com/cards/tcma/12/en?format=image"); + put ("CMA/Gargoyle", "https://api.scryfall.com/cards/tcma/19/en?format=image"); + put ("CMA/Phyrexian Germ", "https://api.scryfall.com/cards/tcma/4/en?format=image"); + put ("CMA/Kithkin Soldier", "https://api.scryfall.com/cards/tcma/1/en?format=image"); + put ("CMA/Knight", "https://api.scryfall.com/cards/tcma/2/en?format=image"); + put ("CMA/Saproling", "https://api.scryfall.com/cards/tcma/13/en?format=image"); + put ("CMA/Spider", "https://api.scryfall.com/cards/tcma/14/en?format=image"); + put ("CMA/Spirit", "https://api.scryfall.com/cards/tcma/3/en?format=image"); + put ("CMA/Treefolk", "https://api.scryfall.com/cards/tcma/15/en?format=image"); + put ("CMA/Wolf/1", "https://api.scryfall.com/cards/tcma/16/en?format=image"); + put ("CMA/Wolf/2", "https://api.scryfall.com/cards/tcma/17/en?format=image"); + put ("CMA/Zombie", "https://api.scryfall.com/cards/tcma/5/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 c3b8acda0f9..ce4447b6eb8 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -448,14 +448,18 @@ |Generate|TOK:CMA|Drake|||LeafdrakeRoostDrakeToken| |Generate|TOK:CMA|Elemental|||TitaniaProtectorOfArgothElementalToken| |Generate|TOK:CMA|Elephant|||ElephantToken| -|Generate|TOK:CMA|Elf Warrior|| +|Generate|TOK:CMA|Elf Druid|||ElfDruidToken| +|Generate|TOK:CMA|Elf Warrior|||ElfWarriorToken| |Generate|TOK:CMA|Gargoyle|||GargoyleToken| +|Generate|TOK:CMA|Phyrexian Germ|||PhyrexianGermToken| |Generate|TOK:CMA|Kithkin Soldier|||KithkinSoldierToken| |Generate|TOK:CMA|Knight|||KnightToken| |Generate|TOK:CMA|Saproling|||SaprolingToken| +|Generate|TOK:CMA|Spider|||SpiderToken| |Generate|TOK:CMA|Spirit|||SpiritWhiteToken| |Generate|TOK:CMA|Treefolk|||SylvanOfferingTreefolkToken| -|Generate|TOK:CMA|Wolf|||WolfToken| +|Generate|TOK:CMA|Wolf|1||WolfToken| +|Generate|TOK:CMA|Wolf|2||WolfToken| |Generate|TOK:CMA|Zombie|||ZombieToken| |Generate|TOK:CMD|Beast|1||BeastToken2| |Generate|TOK:CMD|Beast|2||BeastToken| diff --git a/Mage/src/main/java/mage/game/permanent/token/AssemblyWorkerToken.java b/Mage/src/main/java/mage/game/permanent/token/AssemblyWorkerToken.java index 29222ca9e83..4592fc39b71 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AssemblyWorkerToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AssemblyWorkerToken.java @@ -22,7 +22,7 @@ public final class AssemblyWorkerToken extends TokenImpl { power = new MageInt(2); toughness = new MageInt(2); - availableImageSetCodes = Arrays.asList("4ED", "ATQ", "DDF", "EMA", "TSR"); + availableImageSetCodes = Arrays.asList("4ED", "ATQ", "DDF", "TSR"); } public AssemblyWorkerToken(final AssemblyWorkerToken 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 0bd9a3b41ae..44e9bd370df 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken.java @@ -41,13 +41,15 @@ public final class BeastToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C19")) { this.setTokenType(1); } - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DD3C")) { setTokenType(RandomUtil.nextInt(2) + 1); } if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) { setTokenType(RandomUtil.nextInt(2) + 1); } + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMA")) { + setTokenType(1); + } } public BeastToken(final BeastToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ElfDruidToken.java b/Mage/src/main/java/mage/game/permanent/token/ElfDruidToken.java index 9e14c28ebbe..d18cc1a6530 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElfDruidToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElfDruidToken.java @@ -36,7 +36,7 @@ public final class ElfDruidToken extends TokenImpl { // {T}: Add {G}. this.addAbility(new GreenManaAbility()); - availableImageSetCodes = Arrays.asList("C14"); + availableImageSetCodes = Arrays.asList("C14", "CMA"); } public ElfDruidToken(final ElfDruidToken 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 479d59ede82..5def381270a 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", "NCC", "DDU"); + availableImageSetCodes = Arrays.asList("C14", "C16", "EVG", "EMA", "LRW", "MOR", "ORI", "SHM", "M19", "CMR", "KHM", "NCC", "DDU", "CMA"); } public ElfWarriorToken(final ElfWarriorToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/KithkinSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/KithkinSoldierToken.java index 7bb85e89ccc..034b7ec801c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KithkinSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KithkinSoldierToken.java @@ -20,7 +20,7 @@ public final class KithkinSoldierToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("CMD", "EVE", "LRW", "MMA", "MOR", "SHM", "MMA", "KHC"); + availableImageSetCodes = Arrays.asList("CMD", "EVE", "LRW", "MMA", "MOR", "SHM", "MMA", "KHC", "CMA"); } public KithkinSoldierToken(final KithkinSoldierToken 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 074d97aa0d8..5a5e8a6bb91 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", "C16", "MBS", "MM2", "NPH", "PC2", "MH2", "NEC", "2XM", "CM2"); + availableImageSetCodes = Arrays.asList("C14", "C15", "C16", "MBS", "MM2", "NPH", "PC2", "MH2", "NEC", "2XM", "CM2", "CMA"); } @Override 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 6fad2540efc..49d6998e050 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", "NCC")); + availableImageSetCodes.addAll(Arrays.asList("C15", "EMN", "ISD", "SHM", "MH1", "THB", "MID", "UMA", "NCC", "CMA")); } public SpiderToken(final SpiderToken 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 ab117f81331..674f1ad81b8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WolfToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WolfToken.java @@ -33,6 +33,9 @@ public final class WolfToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("ISD")) { this.setTokenType(RandomUtil.nextInt(2) + 1); // 2 images } + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMA")) { + this.setTokenType(RandomUtil.nextInt(2) + 1); // 2 images + } } public WolfToken(final WolfToken token) { From aacec6a89ff61eac96862f0cf68dde67a78bf5e1 Mon Sep 17 00:00:00 2001 From: PurpleCrowbar Date: Thu, 2 Jun 2022 00:31:52 +0100 Subject: [PATCH 2/4] Added support for and assigned PCA token images --- .../sources/ScryfallImageSupportTokens.java | 20 +++++++++++++++- .../src/main/resources/card-pictures-tok.txt | 24 +++++++++++++++++-- .../mage/game/permanent/token/AngelToken.java | 2 +- .../mage/game/permanent/token/BeastToken.java | 2 +- .../mage/game/permanent/token/BoarToken.java | 4 ++++ .../game/permanent/token/DragonToken2.java | 2 +- .../token/EldraziAnnihilatorToken.java | 4 ++++ .../permanent/token/EldraziSpawnToken.java | 6 ++++- .../mage/game/permanent/token/GoatToken.java | 2 +- .../game/permanent/token/GoblinToken.java | 2 +- .../game/permanent/token/HellionToken.java | 4 ++++ .../game/permanent/token/InsectToken.java | 2 +- .../mage/game/permanent/token/OozeToken.java | 4 +--- .../permanent/token/PenumbraSpiderToken.java | 2 +- .../permanent/token/PhyrexianGermToken.java | 2 +- .../mage/game/permanent/token/PlantToken.java | 2 +- .../game/permanent/token/SaprolingToken.java | 3 ++- .../game/permanent/token/ZombieToken.java | 2 +- 18 files changed, 71 insertions(+), 18 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 21323c71697..b90005599b8 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 @@ -385,8 +385,26 @@ public class ScryfallImageSupportTokens { put("IKO/Kraken", "https://api.scryfall.com/cards/tiko/6/en?format=image"); put("IKO/Shark", "https://api.scryfall.com/cards/tiko/7/en?format=image"); - // PCA (planes) + // PCA + put("PCA/Angel", "https://api.scryfall.com/cards/tpca/5/en?format=image"); + put("PCA/Beast", "https://api.scryfall.com/cards/tpca/13/en?format=image"); + put("PCA/Boar", "https://api.scryfall.com/cards/tpca/14/en?format=image"); + put("PCA/Dragon", "https://api.scryfall.com/cards/tpca/10/en?format=image"); put("PCA/Eldrazi", "https://api.scryfall.com/cards/tpca/1/en?format=image"); + put("PCA/Eldrazi Spawn/1", "https://api.scryfall.com/cards/tpca/2/en?format=image"); + put("PCA/Eldrazi Spawn/2", "https://api.scryfall.com/cards/tpca/3/en?format=image"); + put("PCA/Eldrazi Spawn/3", "https://api.scryfall.com/cards/tpca/4/en?format=image"); + put("PCA/Phyrexian Germ", "https://api.scryfall.com/cards/tpca/7/en?format=image"); + put("PCA/Goat", "https://api.scryfall.com/cards/tpca/6/en?format=image"); + put("PCA/Goblin", "https://api.scryfall.com/cards/tpca/11/en?format=image"); + put("PCA/Hellion", "https://api.scryfall.com/cards/tpca/12/en?format=image"); + put("PCA/Insect", "https://api.scryfall.com/cards/tpca/15/en?format=image"); + put("PCA/Ooze/1", "https://api.scryfall.com/cards/tpca/16/en?format=image"); + put("PCA/Ooze/2", "https://api.scryfall.com/cards/tpca/17/en?format=image"); + put("PCA/Plant", "https://api.scryfall.com/cards/tpca/18/en?format=image"); + put("PCA/Saproling", "https://api.scryfall.com/cards/tpca/19/en?format=image"); + put("PCA/Spider", "https://api.scryfall.com/cards/tpca/8/en?format=image"); + put("PCA/Zombie", "https://api.scryfall.com/cards/tpca/9/en?format=image"); put("PCA/Plane - Academy at Tolaria West", "https://api.scryfall.com/cards/opca/9/en?format=image"); put("PCA/Plane - Agyrem", "https://api.scryfall.com/cards/opca/11/en?format=image"); put("PCA/Plane - Akoum", "https://api.scryfall.com/cards/opca/12/en?format=image"); diff --git a/Mage.Client/src/main/resources/card-pictures-tok.txt b/Mage.Client/src/main/resources/card-pictures-tok.txt index ce4447b6eb8..ac773a439a7 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -154,7 +154,6 @@ |Generate|PLANE:PCA|Plane - Trail of the Mage-Rings|||TrailOfTheMageRingsPlane| |Generate|TOK:ANA|Goblin|||GoblinToken| |Generate|TOK:ANA|Spirit|||SpiritWhiteToken| -|Generate|TOK:PCA|Eldrazi|||EldraziAnnihilatorToken| |Generate|TOK:10E|Ape|||PongifyApeToken| |Generate|TOK:10E|Dragon|||DragonToken2| |Generate|TOK:10E|Goblin|||GoblinToken| @@ -1842,4 +1841,25 @@ |Generate|TOK:CM2|Tuktuk the Returned|||TuktukTheReturnedToken| |Generate|TOK:CM2|Phyrexian Wurm|1||WurmWithDeathtouchToken| |Generate|TOK:CM2|Phyrexian Wurm|2||WurmWithLifelinkToken| -|Generate|TOK:CM2|Zombie|||ZombieToken| \ No newline at end of file +|Generate|TOK:CM2|Zombie|||ZombieToken| + +# PCA +|Generate|TOK:PCA|Angel|||AngelToken| +|Generate|TOK:PCA|Beast|||BeastToken| +|Generate|TOK:PCA|Boar|||BoarToken| +|Generate|TOK:PCA|Dragon|||DragonToken2| +|Generate|TOK:PCA|Eldrazi|||EldraziAnnihilatorToken| +|Generate|TOK:PCA|Eldrazi Spawn|1||EldraziSpawnToken| +|Generate|TOK:PCA|Eldrazi Spawn|2||EldraziSpawnToken| +|Generate|TOK:PCA|Eldrazi Spawn|3||EldraziSpawnToken| +|Generate|TOK:PCA|Phyrexian Germ|||PhyrexianGermToken| +|Generate|TOK:PCA|Goat|||GoatToken| +|Generate|TOK:PCA|Goblin|||GoblinToken| +|Generate|TOK:PCA|Hellion|||HellionToken| +|Generate|TOK:PCA|Insect|||InsectToken| +|Generate|TOK:PCA|Ooze|1||OozeToken| +|Generate|TOK:PCA|Ooze|2||Ooze2Token| +|Generate|TOK:PCA|Plant|||PlantToken| +|Generate|TOK:PCA|Saproling|||SaprolingToken| +|Generate|TOK:PCA|Spider|||PenumbraSpiderToken| +|Generate|TOK:PCA|Zombie|||ZombieToken| \ No newline at end of file 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 2e49551b100..a6b1a782248 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", "2XM", "IMA"); + "ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR", "AFC", "VOC", "2XM", "IMA", "PCA"); } public AngelToken(final AngelToken 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 44e9bd370df..8806ae6a178 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", "NCC", "BBD"); + "M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC", "MIC", "NEC", "2XM", "NCC", "BBD", "PCA"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/BoarToken.java b/Mage/src/main/java/mage/game/permanent/token/BoarToken.java index 00c44e2b14e..414a11d934a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BoarToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BoarToken.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 BoarToken extends TokenImpl { subtype.add(SubType.BOAR); power = new MageInt(3); toughness = new MageInt(3); + + availableImageSetCodes = Arrays.asList("PCA"); } public BoarToken(final BoarToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/DragonToken2.java b/Mage/src/main/java/mage/game/permanent/token/DragonToken2.java index 4daa4140cdf..d5eac19ebf1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DragonToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/DragonToken2.java @@ -22,7 +22,7 @@ public final class DragonToken2 extends TokenImpl { addAbility(FlyingAbility.getInstance()); - availableImageSetCodes = Arrays.asList("10E", "BFZ", "C15", "C19", "CMA", "CMD", "ONS", "ROE", "SCG", "WWK", "M19", "KHM", "AFC", "IMA"); + availableImageSetCodes = Arrays.asList("10E", "BFZ", "C15", "C19", "CMA", "CMD", "ONS", "ROE", "SCG", "WWK", "M19", "KHM", "AFC", "IMA", "PCA"); } public DragonToken2(final DragonToken2 token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziAnnihilatorToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziAnnihilatorToken.java index e527673f857..cacc7d49981 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziAnnihilatorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziAnnihilatorToken.java @@ -6,6 +6,8 @@ import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.AnnihilatorAbility; +import java.util.Arrays; + /** * * @author spjspj @@ -20,6 +22,8 @@ public final class EldraziAnnihilatorToken extends TokenImpl { power = new MageInt(7); toughness = new MageInt(7); addAbility(new AnnihilatorAbility(1)); + + availableImageSetCodes = Arrays.asList("PCA"); } public EldraziAnnihilatorToken(final EldraziAnnihilatorToken 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 f4bc3dca00d..24eab9b2719 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", "NCC"); + availableImageSetCodes = Arrays.asList("C17", "CMD", "DDP", "MM2", "PC2", "ROE", "MIC", "2XM", "NCC", "PCA"); } @Override @@ -44,6 +44,10 @@ public final class EldraziSpawnToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("ROE")) { this.setTokenType(RandomUtil.nextInt(3) + 1); // randomly take image 1, 2 or 3 } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("PCA")) { + this.setTokenType(RandomUtil.nextInt(3) + 1); // randomly take image 1, 2 or 3 + } } public EldraziSpawnToken(final EldraziSpawnToken token) { 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 867607a9bde..26c0565daa3 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", "NCC", "CM2")); + tokenImageSets.addAll(Arrays.asList("EVE", "M13", "M14", "C14", "C16", "ELD", "THB", "NCC", "CM2", "PCA")); } public GoatToken() { 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 41faa19b53a..95d9914ae9b 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", "NEC", "M19", "CM2"); + "MM3", "EMA", "C16", "DOM", "ANA", "RNA", "WAR", "MH1", "TSR", "MH2", "AFR", "NEC", "M19", "CM2", "PCA"); } public GoblinToken(final GoblinToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/HellionToken.java b/Mage/src/main/java/mage/game/permanent/token/HellionToken.java index 23e2a2c8142..e23f017cfa9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HellionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HellionToken.java @@ -5,6 +5,8 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * * @author spjspj @@ -18,6 +20,8 @@ public final class HellionToken extends TokenImpl { subtype.add(SubType.HELLION); power = new MageInt(4); toughness = new MageInt(4); + + availableImageSetCodes = Arrays.asList("ROE", "DDP", "PCA"); } public HellionToken(final HellionToken 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 38082a085b7..f02b6c889b8 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", "NCC"); + availableImageSetCodes = Arrays.asList("M10", "MM2", "SOI", "ZNR", "VOW", "NCC", "PCA"); } public InsectToken(final InsectToken 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 75ca255ed28..218d46de011 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OozeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OozeToken.java @@ -16,8 +16,6 @@ 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,7 +26,7 @@ public final class OozeToken extends TokenImpl { power = new MageInt(0); toughness = new MageInt(0); - availableImageSetCodes = Arrays.asList("ALA", "ROE", "RTR", "MM3", "UMA", "GK2", "2XM"); + availableImageSetCodes = Arrays.asList("ALA", "ROE", "RTR", "MM3", "UMA", "GK2", "2XM", "M11", "PCA", "NCC"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/PenumbraSpiderToken.java b/Mage/src/main/java/mage/game/permanent/token/PenumbraSpiderToken.java index 684062092c1..6674c4e68ca 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PenumbraSpiderToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PenumbraSpiderToken.java @@ -24,7 +24,7 @@ public final class PenumbraSpiderToken extends TokenImpl { addAbility(ReachAbility.getInstance()); - availableImageSetCodes = Arrays.asList("MMA", "PC2", "TSP", "TSR"); + availableImageSetCodes = Arrays.asList("MMA", "PC2", "TSP", "TSR", "PCA"); } public PenumbraSpiderToken(final PenumbraSpiderToken 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 5a5e8a6bb91..bc4e3a730dd 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", "C16", "MBS", "MM2", "NPH", "PC2", "MH2", "NEC", "2XM", "CM2", "CMA"); + availableImageSetCodes = Arrays.asList("C14", "C15", "C16", "MBS", "MM2", "NPH", "PC2", "MH2", "NEC", "2XM", "CM2", "CMA", "PCA"); } @Override 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 785f8fdcc9a..13c73c3dc7c 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", "NCC"); + availableImageSetCodes = Arrays.asList("ARC", "C18", "DDP", "OGW", "PC2", "WWK", "XLN", "ZEN", "ZNR", "CMR", "NEC", "2XM", "NCC", "PCA"); } public PlantToken(final PlantToken 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 3c37d3bed6e..8d9c6a5895e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java @@ -51,7 +51,8 @@ public final class SaprolingToken extends TokenImpl { "NEC", "2XM", "NCC", - "CM2" + "CM2", + "PCA" )); } 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 b84e18767fc..ceba4121bcd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java @@ -31,7 +31,7 @@ public final class ZombieToken extends TokenImpl { "M20", "C19", "C20", "THB", "M21", "CMR", "C21", "MH2", "AFR", "MIC", "VOW", "UMA", - "NCC", "MED", "BBD", "M19", "CM2"); + "NCC", "MED", "BBD", "M19", "CM2", "PCA"); } @Override From 8982bb9fee7ea3b06ebe3f78d4475e3fd99c8e01 Mon Sep 17 00:00:00 2001 From: PurpleCrowbar Date: Thu, 2 Jun 2022 00:52:48 +0100 Subject: [PATCH 3/4] Fixed and added Scryfall image downloads for M15 tokens --- .../dl/sources/ScryfallImageSupportTokens.java | 16 ++++++++++++++++ .../src/main/resources/card-pictures-tok.txt | 9 ++++----- 2 files changed, 20 insertions(+), 5 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 b90005599b8..ad59920aee5 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 @@ -1108,6 +1108,22 @@ public class ScryfallImageSupportTokens { put ("CMA/Wolf/2", "https://api.scryfall.com/cards/tcma/17/en?format=image"); put ("CMA/Zombie", "https://api.scryfall.com/cards/tcma/5/en?format=image"); + // M15 + put ("M15/Emblem Ajani", "https://api.scryfall.com/cards/tm15/13/en?format=image"); + put ("M15/Beast/1", "https://api.scryfall.com/cards/tm15/5/en?format=image"); + put ("M15/Beast/2", "https://api.scryfall.com/cards/tm15/9/en?format=image"); + put ("M15/Dragon", "https://api.scryfall.com/cards/tm15/7/en?format=image"); + put ("M15/Emblem Garruk", "https://api.scryfall.com/cards/tm15/14/en?format=image"); + put ("M15/Goblin", "https://api.scryfall.com/cards/tm15/8/en?format=image"); + put ("M15/Insect", "https://api.scryfall.com/cards/tm15/10/en?format=image"); + put ("M15/Land Mine", "https://api.scryfall.com/cards/tm15/12/en?format=image"); + put ("M15/Sliver", "https://api.scryfall.com/cards/tm15/1/en?format=image"); + put ("M15/Soldier", "https://api.scryfall.com/cards/tm15/2/en?format=image"); + put ("M15/Spirit", "https://api.scryfall.com/cards/tm15/3/en?format=image"); + put ("M15/Squid", "https://api.scryfall.com/cards/tm15/4/en?format=image"); + put ("M15/Treefolk Warrior", "https://api.scryfall.com/cards/tm15/11/en?format=image"); + put ("M15/Zombie", "https://api.scryfall.com/cards/tm15/6/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 ac773a439a7..4b9d62224d5 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -838,12 +838,11 @@ |Generate|TOK:M14|Sliver|| |Generate|TOK:M14|Wolf|||WolfToken| |Generate|TOK:M14|Zombie|||ZombieToken| -|Generate|TOK:M15|Beast|1||BeastToken| -|Generate|TOK:M15|Beast|2||GarrukApexPredatorBeastToken| +|Generate|TOK:M15|Beast|1||GarrukApexPredatorBeastToken| +|Generate|TOK:M15|Beast|2||BeastToken| |Generate|TOK:M15|Dragon|||BroodKeeperDragonToken| -|Generate|TOK:M15|Goblin|1||GoblinTokenWithHaste| -# |Generate|TOK:M15|Goblin|2||GoblinToken| #does not exist -|Generate|TOK:M15|Insect|||InsectToken| +|Generate|TOK:M15|Goblin|||GoblinToken| +|Generate|TOK:M15|Insect|||InsectDeathToken| |Generate|TOK:M15|Land Mine|||LandMineToken| |Generate|TOK:M15|Sliver|||SliverToken| |Generate|TOK:M15|Soldier|||SoldierToken| From d95c2389efc9b4a8b28f2d5d6b0b2af95fccac55 Mon Sep 17 00:00:00 2001 From: PurpleCrowbar Date: Thu, 2 Jun 2022 01:14:04 +0100 Subject: [PATCH 4/4] Fixed and added Scryfall image downloads for M14 tokens --- .../dl/sources/ScryfallImageSupportTokens.java | 15 +++++++++++++++ .../src/main/resources/card-pictures-tok.txt | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) 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 ad59920aee5..568dc4bad7b 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 @@ -1124,6 +1124,21 @@ public class ScryfallImageSupportTokens { put ("M15/Treefolk Warrior", "https://api.scryfall.com/cards/tm15/11/en?format=image"); put ("M15/Zombie", "https://api.scryfall.com/cards/tm15/6/en?format=image"); + // M14 + put ("M14/Angel", "https://api.scryfall.com/cards/tm14/2/en?format=image"); + put ("M14/Beast", "https://api.scryfall.com/cards/tm14/9/en?format=image"); + put ("M14/Cat", "https://api.scryfall.com/cards/tm14/3/en?format=image"); + put ("M14/Dragon", "https://api.scryfall.com/cards/tm14/6/en?format=image"); + put ("M14/Elemental/1", "https://api.scryfall.com/cards/tm14/7/en?format=image"); + put ("M14/Elemental/2", "https://api.scryfall.com/cards/tm14/8/en?format=image"); + put ("M14/Emblem Garruk, Caller of Beasts", "https://api.scryfall.com/cards/tm14/13/en?format=image"); + put ("M14/Goat", "https://api.scryfall.com/cards/tm14/4/en?format=image"); + put ("M14/Emblem Liliana of the Dark Realms", "https://api.scryfall.com/cards/tm14/12/en?format=image"); + put ("M14/Saproling", "https://api.scryfall.com/cards/tm14/10/en?format=image"); + put ("M14/Sliver", "https://api.scryfall.com/cards/tm14/1/en?format=image"); + put ("M14/Wolf", "https://api.scryfall.com/cards/tm14/11/en?format=image"); + put ("M14/Zombie", "https://api.scryfall.com/cards/tm14/5/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 4b9d62224d5..9d42e513ff8 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -835,7 +835,7 @@ |Generate|TOK:M14|Elemental|2||RedElementalToken| |Generate|TOK:M14|Goat|||GoatToken| |Generate|TOK:M14|Saproling|||SaprolingToken| -|Generate|TOK:M14|Sliver|| +|Generate|TOK:M14|Sliver|||SliverToken| |Generate|TOK:M14|Wolf|||WolfToken| |Generate|TOK:M14|Zombie|||ZombieToken| |Generate|TOK:M15|Beast|1||GarrukApexPredatorBeastToken|