From aacec6a89ff61eac96862f0cf68dde67a78bf5e1 Mon Sep 17 00:00:00 2001 From: PurpleCrowbar Date: Thu, 2 Jun 2022 00:31:52 +0100 Subject: [PATCH] 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