From 9f1191f18c898fda7cabeee184eae85b8725c00b Mon Sep 17 00:00:00 2001 From: PurpleCrowbar <26198472+PurpleCrowbar@users.noreply.github.com> Date: Thu, 10 Nov 2022 00:19:08 +0000 Subject: [PATCH] Add 40K token images --- .../sources/ScryfallImageSupportTokens.java | 19 +++++++++++++++++++ .../src/main/resources/card-pictures-tok.txt | 19 +++++++++++++++++++ .../token/BlackAstartesWarriorToken.java | 1 + .../game/permanent/token/BlueHorrorToken.java | 2 ++ .../game/permanent/token/CherubaelToken.java | 2 ++ .../permanent/token/ClueArtifactToken.java | 2 +- .../mage/game/permanent/token/RobotToken.java | 2 ++ .../game/permanent/token/SoldierToken.java | 5 ++++- .../game/permanent/token/Tyranid55Token.java | 1 + .../game/permanent/token/TyranidToken.java | 1 + .../token/WhiteAstartesWarriorToken.java | 1 + 11 files changed, 53 insertions(+), 2 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 c191f101c03..1e416e1a24b 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 @@ -1798,6 +1798,25 @@ public class ScryfallImageSupportTokens { put ("GN3/Treasure", "https://api.scryfall.com/cards/tgn3/10/en?format=image"); put ("GN3/Zombie", "https://api.scryfall.com/cards/tgn3/7/en?format=image"); + // 40K + put ("40K/Astartes Warrior/1", "https://api.scryfall.com/cards/t40k/12/en?format=image"); + put ("40K/Astartes Warrior/2", "https://api.scryfall.com/cards/t40k/1/en?format=image"); + put ("40K/Blue Horror", "https://api.scryfall.com/cards/t40k/20/en?format=image"); + put ("40K/Cherubael", "https://api.scryfall.com/cards/t40k/13/en?format=image"); + put ("40K/Clue", "https://api.scryfall.com/cards/t40k/21/en?format=image"); + put ("40K/Insect", "https://api.scryfall.com/cards/t40k/22/en?format=image"); + put ("40K/Necron Warrior", "https://api.scryfall.com/cards/t40k/14/en?format=image"); + put ("40K/Plaguebearer of Nurgle", "https://api.scryfall.com/cards/t40k/15/en?format=image"); + put ("40K/Robot", "https://api.scryfall.com/cards/t40k/23/en?format=image"); + put ("40K/Soldier/1", "https://api.scryfall.com/cards/t40k/2/en?format=image"); + put ("40K/Soldier/2", "https://api.scryfall.com/cards/t40k/3/en?format=image"); + put ("40K/Soldier/3", "https://api.scryfall.com/cards/t40k/4/en?format=image"); + put ("40K/Spawn", "https://api.scryfall.com/cards/t40k/16/en?format=image"); + put ("40K/Tyranid/1", "https://api.scryfall.com/cards/t40k/17/en?format=image"); + put ("40K/Tyranid/2", "https://api.scryfall.com/cards/t40k/18/en?format=image"); + put ("40K/Tyranid Gargoyle", "https://api.scryfall.com/cards/t40k/9/en?format=image"); + put ("40K/Tyranid Warrior", "https://api.scryfall.com/cards/t40k/19/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 dc390f118b9..2b77d507135 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -1919,3 +1919,22 @@ |Generate|TOK:GN3|Soldier|||SoldierToken| |Generate|TOK:GN3|Treasure|||TreasureToken| |Generate|TOK:GN3|Zombie|||ZombieToken| + +# 40K +|Generate|TOK:40K|Astartes Warrior|1||BlackAstartesWarriorToken| +|Generate|TOK:40K|Astartes Warrior|2||WhiteAstartesWarriorToken| +|Generate|TOK:40K|Blue Horror|||BlueHorrorToken| +|Generate|TOK:40K|Cherubael|||CherubaelToken| +|Generate|TOK:40K|Clue|||ClueArtifactToken| +|Generate|TOK:40K|Insect|||InsectColorlessToken| +|Generate|TOK:40K|Necron Warrior|||NecronWarriorToken| +|Generate|TOK:40K|Plaguebearer of Nurgle|||PlaguebearerOfNurgleToken| +|Generate|TOK:40K|Robot|||RobotToken| +|Generate|TOK:40K|Soldier|1||SoldierToken| +|Generate|TOK:40K|Soldier|2||SoldierToken| +|Generate|TOK:40K|Soldier|3||SoldierToken| +|Generate|TOK:40K|Spawn|||SpawnToken| +|Generate|TOK:40K|Tyranid|1||TyranidToken| +|Generate|TOK:40K|Tyranid|2||Tyranid55Token| +|Generate|TOK:40K|Tyranid Gargoyle|||TyranidGargoyleToken| +|Generate|TOK:40K|Tyranid Warrior|||TyranidWarriorToken| diff --git a/Mage/src/main/java/mage/game/permanent/token/BlackAstartesWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/BlackAstartesWarriorToken.java index 64e3fdc67a8..8ca916a8c0c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BlackAstartesWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BlackAstartesWarriorToken.java @@ -23,6 +23,7 @@ public final class BlackAstartesWarriorToken extends TokenImpl { addAbility(new MenaceAbility()); availableImageSetCodes.addAll(Arrays.asList("40K")); + this.setTokenType(1); } public BlackAstartesWarriorToken(final BlackAstartesWarriorToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/BlueHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/BlueHorrorToken.java index b202518d8ec..980103a1e84 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BlueHorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BlueHorrorToken.java @@ -29,6 +29,8 @@ public final class BlueHorrorToken extends TokenImpl { ); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); + + this.setExpansionSetCodeForImage("40K"); } public BlueHorrorToken(final BlueHorrorToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/CherubaelToken.java b/Mage/src/main/java/mage/game/permanent/token/CherubaelToken.java index 268baf3d0f5..30d23e35d4e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CherubaelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CherubaelToken.java @@ -20,6 +20,8 @@ public final class CherubaelToken extends TokenImpl { power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); + + this.setExpansionSetCodeForImage("40K"); } public CherubaelToken(final CherubaelToken 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 52da8da053d..2cb5c3f8914 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", "NCC", "CLB"); + availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC", "MID", "VOC", "SLD", "2XM", "NCC", "CLB", "40K"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/RobotToken.java b/Mage/src/main/java/mage/game/permanent/token/RobotToken.java index ed8cdae5973..7592f60764c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RobotToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RobotToken.java @@ -23,6 +23,8 @@ public final class RobotToken extends TokenImpl { new CantBlockSourceEffect(Duration.WhileOnBattlefield) .setText("this creature can't block") )); + + this.setExpansionSetCodeForImage("40K"); } public RobotToken(final RobotToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java index 83c9010a969..7890145e17f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java @@ -22,7 +22,7 @@ public final class SoldierToken extends TokenImpl { availableImageSetCodes = Arrays.asList("10E", "M15", "C14", "ORI", "ALA", "DDF", "THS", "M12", "M13", "MM2", "MMA", "RTR", "SOM", "DDO", "M10", "ORI", "EMN", "EMA", "CN2", "C16", "C18", "MM3", "E01", - "DOM", "MH1", "M20", "C20", "M21", "CMR", "KHC", "TSR", "2XM", "MED", "M19", "MD1", "A25", "CLB", "2X2", "DMU", "GN3"); + "DOM", "MH1", "M20", "C20", "M21", "CMR", "KHC", "TSR", "2XM", "MED", "M19", "MD1", "A25", "CLB", "2X2", "DMU", "GN3", "40K"); } public SoldierToken(final SoldierToken token) { @@ -47,5 +47,8 @@ public final class SoldierToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMR")) { this.setTokenType(RandomUtil.nextInt(2) + 1); } + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("40K")) { + this.setTokenType(RandomUtil.nextInt(3) + 1); + } } } diff --git a/Mage/src/main/java/mage/game/permanent/token/Tyranid55Token.java b/Mage/src/main/java/mage/game/permanent/token/Tyranid55Token.java index ea63da4e50e..ee815e0fc4f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/Tyranid55Token.java +++ b/Mage/src/main/java/mage/game/permanent/token/Tyranid55Token.java @@ -20,6 +20,7 @@ public final class Tyranid55Token extends TokenImpl { toughness = new MageInt(5); availableImageSetCodes.addAll(Arrays.asList("40K")); + this.setTokenType(2); } public Tyranid55Token(final Tyranid55Token token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/TyranidToken.java b/Mage/src/main/java/mage/game/permanent/token/TyranidToken.java index 81a5fdaf5a8..42d7f56bf21 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TyranidToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TyranidToken.java @@ -20,6 +20,7 @@ public final class TyranidToken extends TokenImpl { toughness = new MageInt(1); availableImageSetCodes.addAll(Arrays.asList("40K")); + this.setTokenType(1); } public TyranidToken(final TyranidToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WhiteAstartesWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/WhiteAstartesWarriorToken.java index 1e963cf277f..2a8cfaa6d2f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WhiteAstartesWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WhiteAstartesWarriorToken.java @@ -23,6 +23,7 @@ public final class WhiteAstartesWarriorToken extends TokenImpl { addAbility(VigilanceAbility.getInstance()); availableImageSetCodes.addAll(Arrays.asList("40K")); + this.setTokenType(2); } public WhiteAstartesWarriorToken(final WhiteAstartesWarriorToken token) {