From de383f69086dcf203146417779e744f156e7e00f Mon Sep 17 00:00:00 2001 From: ReSech Date: Sat, 21 Jun 2025 14:19:04 +1000 Subject: [PATCH] images: added new tokens for FIC/FIN, copy, monarch and other (#13760) --- .../sources/ScryfallImageSupportTokens.java | 44 ++++++++++++++++++ .../cards/repository/TokenRepository.java | 12 +++++ Mage/src/main/resources/tokens-database.txt | 45 ++++++++++++++++++- 3 files changed, 100 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 19aecedcf0e..f676a0e4d1a 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 @@ -2723,7 +2723,51 @@ public class ScryfallImageSupportTokens { put("DD2/Elemental Shaman", "https://api.scryfall.com/cards/tdd2/1?format=image"); // FIN + put("FIN/Hero/1", "https://api.scryfall.com/cards/tfin/2/en?format=image"); + put("FIN/Hero/2", "https://api.scryfall.com/cards/tfin/3/en?format=image"); + put("FIN/Hero/3", "https://api.scryfall.com/cards/tfin/4/en?format=image"); + put("FIN/Hero/4", "https://api.scryfall.com/cards/tfin/5/en?format=image"); + put("FIN/Hero/5", "https://api.scryfall.com/cards/tfin/6/en?format=image"); + put("FIN/Hero/6", "https://api.scryfall.com/cards/tfin/7/en?format=image"); + put("FIN/Hero/7", "https://api.scryfall.com/cards/tfin/8/en?format=image"); + put("FIN/Hero/8", "https://api.scryfall.com/cards/tfin/9/en?format=image"); + put("FIN/Hero/9", "https://api.scryfall.com/cards/tfin/26/en?format=image"); + put("FIN/Hero/10", "https://api.scryfall.com/cards/tfin/27/en?format=image"); + put("FIN/Hero/11", "https://api.scryfall.com/cards/tfin/28/en?format=image"); + put("FIN/Hero/12", "https://api.scryfall.com/cards/tfin/29/en?format=image"); + put("FIN/Hero/13", "https://api.scryfall.com/cards/tfin/30/en?format=image"); + put("FIN/Hero/14", "https://api.scryfall.com/cards/tfin/31/en?format=image"); + put("FIN/Hero/15", "https://api.scryfall.com/cards/tfin/32/en?format=image"); + put("FIN/Hero/16", "https://api.scryfall.com/cards/tfin/33/en?format=image"); + put("FIN/Knight", "https://api.scryfall.com/cards/tfin/10/en?format=image"); + put("FIN/Moogle/1", "https://api.scryfall.com/cards/tfin/11/en?format=image"); + put("FIN/Moogle/2", "https://api.scryfall.com/cards/tfin/34/en?format=image"); + put("FIN/Robot Warrior", "https://api.scryfall.com/cards/tfin/12/en?format=image"); + put("FIN/Horror", "https://api.scryfall.com/cards/tfin/13/en?format=image"); + put("FIN/Wizard/1", "https://api.scryfall.com/cards/tfin/14/en?format=image"); + put("FIN/Wizard/2", "https://api.scryfall.com/cards/tfin/15/en?format=image"); + put("FIN/Wizard/3", "https://api.scryfall.com/cards/tfin/35/en?format=image"); + put("FIN/Bird/1", "https://api.scryfall.com/cards/tfin/16/en?format=image"); + put("FIN/Bird/2", "https://api.scryfall.com/cards/tfin/17/en?format=image"); + put("FIN/Frog", "https://api.scryfall.com/cards/tfin/18/en?format=image"); + put("FIN/Angelo", "https://api.scryfall.com/cards/tfin/19/en?format=image"); + put("FIN/Darkstar", "https://api.scryfall.com/cards/tfin/20/en?format=image"); + put("FIN/Elemental", "https://api.scryfall.com/cards/tfin/21/en?format=image"); put("FIN/Food", "https://api.scryfall.com/cards/tfin/22?format=image"); + put("FIN/Treasure/1", "https://api.scryfall.com/cards/tfin/23/en?format=image"); + put("FIN/Treasure/2", "https://api.scryfall.com/cards/tfin/36/en?format=image"); + put("FIN/Emblem Sephiroth", "https://api.scryfall.com/cards/tfin/24/en?format=image"); + + // FIC + put("FIC/Human Soldier", "https://api.scryfall.com/cards/tfic/1/en?format=image"); + put("FIC/Soldier", "https://api.scryfall.com/cards/tfic/2/en?format=image"); + put("FIC/Spirit", "https://api.scryfall.com/cards/tfic/3/en?format=image"); + put("FIC/Bird", "https://api.scryfall.com/cards/tfic/4/en?format=image"); + put("FIC/Squid", "https://api.scryfall.com/cards/tfic/5/en?format=image"); + put("FIC/Zombie", "https://api.scryfall.com/cards/tfic/6/en?format=image"); + put("FIC/Rebel", "https://api.scryfall.com/cards/tfic/7/en?format=image"); + put("FIC/The Blackjack", "https://api.scryfall.com/cards/tfic/8/en?format=image"); + put("FIC/Clue", "https://api.scryfall.com/cards/tfic/9/en?format=image"); // JVC put("JVC/Elemental Shaman", "https://api.scryfall.com/cards/tjvc/4?format=image"); diff --git a/Mage/src/main/java/mage/cards/repository/TokenRepository.java b/Mage/src/main/java/mage/cards/repository/TokenRepository.java index a3a86c78c9e..75ff94d16bf 100644 --- a/Mage/src/main/java/mage/cards/repository/TokenRepository.java +++ b/Mage/src/main/java/mage/cards/repository/TokenRepository.java @@ -264,10 +264,19 @@ public enum TokenRepository { res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 4, "https://api.scryfall.com/cards/tznr/12/en?format=image")); res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 5, "https://api.scryfall.com/cards/twho/1/en?format=image")); res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 6, "https://api.scryfall.com/cards/tlci/1/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 7, "https://api.scryfall.com/cards/tfin/1/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 8, "https://api.scryfall.com/cards/ttdm/1/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 9, "https://api.scryfall.com/cards/totj/1/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 10, "https://api.scryfall.com/cards/tdsk/1/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 11, "https://api.scryfall.com/cards/tacr/1/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_COPY, 12, "https://api.scryfall.com/cards/tpip/1/en?format=image")); // City's Blessing // https://scryfall.com/search?q=type%3Atoken+include%3Aextras+unique%3Aprints+City%27s+Blessing+&unique=cards&as=grid&order=name + // https://scryfall.com/search?as=grid&order=released&q=oracleid%3A73d60ab9-1c38-4592-a5b5-ab84788bcc84+include%3Aextras&unique=prints res.add(createXmageToken(XMAGE_IMAGE_NAME_CITY_BLESSING, 1, "https://api.scryfall.com/cards/f18/2/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_CITY_BLESSING, 2, "https://api.scryfall.com/cards/tlcc/17/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_CITY_BLESSING, 3, "https://api.scryfall.com/cards/tmkc/28/en?format=image")); // Day // Night // https://scryfall.com/search?q=include%3Aextras+unique%3Aprints+%22Day+%2F%2F+Night%22&unique=cards&as=grid&order=name @@ -280,6 +289,7 @@ public enum TokenRepository { res.add(createXmageToken(XMAGE_IMAGE_NAME_FACE_DOWN_MANIFEST, 2, "https://api.scryfall.com/cards/tc18/1/en?format=image")); res.add(createXmageToken(XMAGE_IMAGE_NAME_FACE_DOWN_MANIFEST, 3, "https://api.scryfall.com/cards/tfrf/4/en?format=image")); res.add(createXmageToken(XMAGE_IMAGE_NAME_FACE_DOWN_MANIFEST, 4, "https://api.scryfall.com/cards/tncc/3/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_FACE_DOWN_MANIFEST, 5, "https://api.scryfall.com/cards/tdsk/18/en?format=image")); // Morph and Megamorph // https://scryfall.com/search?q=Morph+unique%3Aprints+otag%3Aassistant-cards&unique=cards&as=grid&order=name @@ -298,12 +308,14 @@ public enum TokenRepository { // Foretell // https://scryfall.com/search?q=Foretell+unique%3Aprints+otag%3Aassistant-cards&unique=cards&as=grid&order=name res.add(createXmageToken(XMAGE_IMAGE_NAME_FACE_DOWN_FORETELL, 1, "https://api.scryfall.com/cards/tkhm/23/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_FACE_DOWN_FORETELL, 2, "https://api.scryfall.com/cards/tfic/10/en?format=image")); // The Monarch // https://scryfall.com/search?q=Monarch+unique%3Aprints+otag%3Aassistant-cards&unique=cards&as=grid&order=name res.add(createXmageToken(XMAGE_IMAGE_NAME_THE_MONARCH, 1, "https://api.scryfall.com/cards/tonc/22/en?format=image")); res.add(createXmageToken(XMAGE_IMAGE_NAME_THE_MONARCH, 2, "https://api.scryfall.com/cards/tcn2/1/en?format=image")); res.add(createXmageToken(XMAGE_IMAGE_NAME_THE_MONARCH, 3, "https://api.scryfall.com/cards/tltc/15/en?format=image")); + res.add(createXmageToken(XMAGE_IMAGE_NAME_THE_MONARCH, 4, "https://api.scryfall.com/cards/tfic/11/en?format=image")); // Radiation (for trigger) res.add(createXmageToken(XMAGE_IMAGE_NAME_RADIATION, 1, "https://api.scryfall.com/cards/tpip/22/en?format=image")); diff --git a/Mage/src/main/resources/tokens-database.txt b/Mage/src/main/resources/tokens-database.txt index 86e1feb5676..de4f74d413b 100644 --- a/Mage/src/main/resources/tokens-database.txt +++ b/Mage/src/main/resources/tokens-database.txt @@ -145,6 +145,7 @@ |Generate|EMBLEM:INR|Emblem Tamiyo|||TamiyoFieldResearcherEmblem| |Generate|EMBLEM:INR|Emblem Wrenn|||WrennAndSevenEmblem| |Generate|EMBLEM:DFT|Emblem Chandra|||ChandraSparkHunterEmblem| +|Generate|EMBLEM:FIN|Emblem Sephiroth|||SephirothOneWingedAngelEmblem| # ALL PLANES @@ -2774,7 +2775,49 @@ # FIN |Generate|TOK:FIN|Food|||FoodToken| -|Generate|TOK:FIN|Hero|||HeroToken| +|Generate|TOK:FIN|Hero|1||HeroToken| +|Generate|TOK:FIN|Hero|2||HeroToken| +|Generate|TOK:FIN|Hero|3||HeroToken| +|Generate|TOK:FIN|Hero|4||HeroToken| +|Generate|TOK:FIN|Hero|5||HeroToken| +|Generate|TOK:FIN|Hero|6||HeroToken| +|Generate|TOK:FIN|Hero|7||HeroToken| +|Generate|TOK:FIN|Hero|8||HeroToken| +|Generate|TOK:FIN|Hero|9||HeroToken| +|Generate|TOK:FIN|Hero|10||HeroToken| +|Generate|TOK:FIN|Hero|11||HeroToken| +|Generate|TOK:FIN|Hero|12||HeroToken| +|Generate|TOK:FIN|Hero|13||HeroToken| +|Generate|TOK:FIN|Hero|14||HeroToken| +|Generate|TOK:FIN|Hero|15||HeroToken| +|Generate|TOK:FIN|Hero|16||HeroToken| +|Generate|TOK:FIN|Knight|||WaylayToken| +|Generate|TOK:FIN|Moogle|1||MoogleToken| +|Generate|TOK:FIN|Moogle|2||MoogleToken| +|Generate|TOK:FIN|Robot Warrior|||RobotBlueToken| +|Generate|TOK:FIN|Horror|||Horror3Token| +|Generate|TOK:FIN|Wizard|1||BlackWizardToken| +|Generate|TOK:FIN|Wizard|2||BlackWizardToken| +|Generate|TOK:FIN|Wizard|3||BlackWizardToken| +|Generate|TOK:FIN|Bird|1||ChocoboToken| +|Generate|TOK:FIN|Bird|2||ChocoboToken| +|Generate|TOK:FIN|Frog|||FrogGreenToken| +|Generate|TOK:FIN|Angelo|||AngeloToken| +|Generate|TOK:FIN|Darkstar|||DarkstarToken| +|Generate|TOK:FIN|Elemental|||ElementalAllColorsToken| +|Generate|TOK:FIN|Treasure|1||TreasureToken| +|Generate|TOK:FIN|Treasure|2||TreasureToken| + +# FIN +|Generate|TOK:FIC|Human Soldier|||HumanSoldierToken| +|Generate|TOK:FIC|Soldier|||SoldierToken| +|Generate|TOK:FIC|Spirit|||SpiritWhiteToken| +|Generate|TOK:FIC|Bird|||BirdVigilanceToken| +|Generate|TOK:FIC|Squid|||SquidToken| +|Generate|TOK:FIC|Zombie|||ZombieToken| +|Generate|TOK:FIC|Rebel|||RebelRedToken| +|Generate|TOK:FIC|The Blackjack|||TheBlackjackToken| +|Generate|TOK:FIC|Clue|||ClueArtifactToken| # JVC |Generate|TOK:JVC|Elemental Shaman|||ElementalShamanToken|