From d3d99d609b7ce27c9f6e31085995967bf8b0de66 Mon Sep 17 00:00:00 2001 From: PurpleCrowbar <26198472+PurpleCrowbar@users.noreply.github.com> Date: Tue, 18 Apr 2023 15:38:36 +0100 Subject: [PATCH] Add MOM token images (excluding Incubator tokens) --- .../sources/ScryfallImageSupportTokens.java | 22 ++++++++++++++++++ .../src/main/resources/card-pictures-tok.txt | 23 +++++++++++++++++++ .../permanent/token/IxalanVampireToken.java | 2 +- .../game/permanent/token/Kraken11Token.java | 3 ++- .../permanent/token/MonasteryMentorToken.java | 2 +- .../PhyrexianHydraWithLifelinkToken.java | 8 +++++++ .../token/PhyrexianHydraWithReachToken.java | 8 +++++++ .../permanent/token/SoldierLifelinkToken.java | 2 +- .../game/permanent/token/Spirit32Token.java | 11 ++++++++- .../token/ThopterColorlessToken.java | 2 +- .../game/permanent/token/TreasureToken.java | 5 +++- .../token/WhiteBlackSpiritToken.java | 5 +++- .../game/permanent/token/ZombieToken.java | 2 +- 13 files changed, 86 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 e74924e3093..eaea897ba64 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 @@ -1918,6 +1918,28 @@ public class ScryfallImageSupportTokens { put ("30A/Wasp", "https://api.scryfall.com/cards/t30a/16/en?format=image"); put ("30A/Wolf", "https://api.scryfall.com/cards/t30a/9/en?format=image"); + // MOM + put ("MOM/Dinosaur", "https://api.scryfall.com/cards/tmom/7/en?format=image"); + put ("MOM/Elemental", "https://api.scryfall.com/cards/tmom/9/en?format=image"); + put ("MOM/First Mate Ragavan", "https://api.scryfall.com/cards/tmom/6/en?format=image"); + put ("MOM/Knight", "https://api.scryfall.com/cards/tmom/10/en?format=image"); + put ("MOM/Kraken", "https://api.scryfall.com/cards/tmom/4/en?format=image"); + put ("MOM/Monk", "https://api.scryfall.com/cards/tmom/1/en?format=image"); + put ("MOM/Phyrexian Hydra/1", "https://api.scryfall.com/cards/tmom/12/en?format=image"); + put ("MOM/Phyrexian Hydra/2", "https://api.scryfall.com/cards/tmom/11/en?format=image"); + put ("MOM/Phyrexian Saproling", "https://api.scryfall.com/cards/tmom/8/en?format=image"); + put ("MOM/Soldier", "https://api.scryfall.com/cards/tmom/2/en?format=image"); + put ("MOM/Spirit/1", "https://api.scryfall.com/cards/tmom/14/en?format=image"); + put ("MOM/Spirit/2", "https://api.scryfall.com/cards/tmom/13/en?format=image"); + put ("MOM/Emblem Teferi Akosa of Zhalfir", "https://api.scryfall.com/cards/tmom/22/en?format=image"); + put ("MOM/Thopter", "https://api.scryfall.com/cards/tmom/19/en?format=image"); + put ("MOM/Treasure/1", "https://api.scryfall.com/cards/tmom/20/en?format=image"); + put ("MOM/Treasure/2", "https://api.scryfall.com/cards/tmom/21/en?format=image"); + put ("MOM/Vampire", "https://api.scryfall.com/cards/tmom/3/en?format=image"); + put ("MOM/Warrior", "https://api.scryfall.com/cards/tmom/15/en?format=image"); + put ("MOM/Emblem Wrenn and Realmbreaker", "https://api.scryfall.com/cards/tmom/23/en?format=image"); + put ("MOM/Zombie", "https://api.scryfall.com/cards/tmom/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 ab689a6b9f9..a96f680cc54 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -139,6 +139,8 @@ |Generate|EMBLEM:DMU|Jaya, Fiery Negotiator||Emblem Jaya|JayaFieryNegotiatorEmblem| |Generate|EMBLEM:BRO|Saheeli, Filigree Master||Emblem Saheeli|SaheeliFiligreeMasterEmblem| |Generate|EMBLEM:ONE|Koth, Fire of Resistance||Emblem Koth|KothFireOfResistanceEmblem| +|Generate|EMBLEM:MOM|Teferi Akosa of Zhalfir||Emblem Teferi|TeferiAkosaOfZhalfirEmblem| +|Generate|EMBLEM:MOM|Wrenn and Realmbreaker||Emblem Wrenn|WrennAndRealmbreakerEmblem| # Planes |Generate|PLANE:PCA|Plane - Academy at Tolaria West|||AcademyAtTolariaWestPlane| @@ -2033,3 +2035,24 @@ |Generate|TOK:30A|Treasure|3||TreasureToken| |Generate|TOK:30A|Wasp|||WaspToken| |Generate|TOK:30A|Wolf|||WolfToken| + +# MOM +|Generate|TOK:MOM|Dinosaur|||DinosaurXXToken| +|Generate|TOK:MOM|Elemental|||Elemental11BlueRedToken| +|Generate|TOK:MOM|First Mate Ragavan|||FirstMateRagavanToken| +// TODO: Add Incubator token images when the mechanic is implemented +|Generate|TOK:MOM|Knight|||KnightWhiteBlueToken| +|Generate|TOK:MOM|Kraken|||Kraken11Token| +|Generate|TOK:MOM|Monk|||MonasteryMentorToken| +|Generate|TOK:MOM|Phyrexian Hydra|1||PhyrexianHydraWithLifelinkToken| +|Generate|TOK:MOM|Phyrexian Hydra|2||PhyrexianHydraWithReachToken| +|Generate|TOK:MOM|Phyrexian Saproling|||PhyrexianSaprolingToken| +|Generate|TOK:MOM|Soldier|||SoldierLifelinkToken| +|Generate|TOK:MOM|Spirit|1||WhiteBlackSpiritToken| +|Generate|TOK:MOM|Spirit|2||Spirit32Token| +|Generate|TOK:MOM|Thopter|||ThopterColorlessToken| +|Generate|TOK:MOM|Treasure|1||TreasureToken| +|Generate|TOK:MOM|Treasure|2||TreasureToken| +|Generate|TOK:MOM|Vampire|||IxalanVampireToken| +|Generate|TOK:MOM|Warrior|||ValorsReachTagTeamToken| +|Generate|TOK:MOM|Zombie|||ZombieToken| diff --git a/Mage/src/main/java/mage/game/permanent/token/IxalanVampireToken.java b/Mage/src/main/java/mage/game/permanent/token/IxalanVampireToken.java index fea019148ec..d19dfd27f9a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/IxalanVampireToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/IxalanVampireToken.java @@ -23,7 +23,7 @@ public final class IxalanVampireToken extends TokenImpl { toughness = new MageInt(1); addAbility(LifelinkAbility.getInstance()); - availableImageSetCodes = Arrays.asList("XLN", "2X2"); + availableImageSetCodes = Arrays.asList("XLN", "2X2", "MOM"); } public IxalanVampireToken(final IxalanVampireToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/Kraken11Token.java b/Mage/src/main/java/mage/game/permanent/token/Kraken11Token.java index eaba8b3e536..d639c907fd5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/Kraken11Token.java +++ b/Mage/src/main/java/mage/game/permanent/token/Kraken11Token.java @@ -17,8 +17,9 @@ public final class Kraken11Token extends TokenImpl { this.color.setBlue(true); this.power = new MageInt(1); this.toughness = new MageInt(1); - this.addAbility(TrampleAbility.getInstance()); + + this.setExpansionSetCodeForImage("MOM"); } private Kraken11Token(final Kraken11Token token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/MonasteryMentorToken.java b/Mage/src/main/java/mage/game/permanent/token/MonasteryMentorToken.java index 803d3ecd054..138ddbcdb39 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MonasteryMentorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MonasteryMentorToken.java @@ -23,7 +23,7 @@ public final class MonasteryMentorToken extends TokenImpl { toughness = new MageInt(1); this.addAbility(new ProwessAbility()); - availableImageSetCodes = Arrays.asList("FRF", "2X2"); + availableImageSetCodes = Arrays.asList("FRF", "2X2", "MOM"); } public MonasteryMentorToken(final MonasteryMentorToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/PhyrexianHydraWithLifelinkToken.java b/Mage/src/main/java/mage/game/permanent/token/PhyrexianHydraWithLifelinkToken.java index 8a8585c0f26..1d125c1b42f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PhyrexianHydraWithLifelinkToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PhyrexianHydraWithLifelinkToken.java @@ -27,6 +27,14 @@ public final class PhyrexianHydraWithLifelinkToken extends TokenImpl { availableImageSetCodes = Arrays.asList("MOM"); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MOM")) { + this.setTokenType(1); + } + } + public PhyrexianHydraWithLifelinkToken(final PhyrexianHydraWithLifelinkToken token) { super(token); } diff --git a/Mage/src/main/java/mage/game/permanent/token/PhyrexianHydraWithReachToken.java b/Mage/src/main/java/mage/game/permanent/token/PhyrexianHydraWithReachToken.java index 791b7701dd5..9989be035fa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PhyrexianHydraWithReachToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PhyrexianHydraWithReachToken.java @@ -27,6 +27,14 @@ public final class PhyrexianHydraWithReachToken extends TokenImpl { availableImageSetCodes = Arrays.asList("MOM"); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MOM")) { + this.setTokenType(2); + } + } + public PhyrexianHydraWithReachToken(final PhyrexianHydraWithReachToken token) { super(token); } 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 f7acdd8ef97..5ee8234702d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierLifelinkToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierLifelinkToken.java @@ -22,7 +22,7 @@ public final class SoldierLifelinkToken extends TokenImpl { toughness = new MageInt(1); addAbility(LifelinkAbility.getInstance()); - availableImageSetCodes = Arrays.asList("GRN", "NCC"); + availableImageSetCodes = Arrays.asList("GRN", "NCC", "MOM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/Spirit32Token.java b/Mage/src/main/java/mage/game/permanent/token/Spirit32Token.java index b7d4d8e7e29..b31f8b03db4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/Spirit32Token.java +++ b/Mage/src/main/java/mage/game/permanent/token/Spirit32Token.java @@ -20,7 +20,16 @@ public final class Spirit32Token extends TokenImpl { power = new MageInt(3); toughness = new MageInt(2); - availableImageSetCodes = Arrays.asList("STX"); + availableImageSetCodes = Arrays.asList("STX", "MOM"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("MOM")) { + this.setTokenType(2); + } } private Spirit32Token(final Spirit32Token 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 e4b0d30b273..4cc3792caed 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", "KLD", "MBS", "ORI", "VMA", "M19", "ZNC", - "KHC", "C21", "MH2", "AFC", "VOC", "NEC", "2XM", "RNA", "NCC", "DDU", "BRO", "ONC"); + "KHC", "C21", "MH2", "AFC", "VOC", "NEC", "2XM", "RNA", "NCC", "DDU", "BRO", "ONC", "MOM"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java b/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java index e57c9440ff0..b0305afae4c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java @@ -30,7 +30,7 @@ public final class TreasureToken extends TokenImpl { availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20", "M21", "CMR", "KHM", "STX", "MH2", "AFR", "VOW", "NEO", "SLD", "2XM", - "SNC", "CLB", "2X2", "DMC", "GN3", "30A"); + "SNC", "CLB", "2X2", "DMC", "GN3", "30A", "MOM"); } public TreasureToken(final TreasureToken token) { @@ -57,5 +57,8 @@ public final class TreasureToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("30A")) { this.setTokenType(RandomUtil.nextInt(3) + 1); } + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MOM")) { + this.setTokenType(RandomUtil.nextInt(2) + 1); + } } } diff --git a/Mage/src/main/java/mage/game/permanent/token/WhiteBlackSpiritToken.java b/Mage/src/main/java/mage/game/permanent/token/WhiteBlackSpiritToken.java index eee8cbcc76a..facf2b65335 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WhiteBlackSpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WhiteBlackSpiritToken.java @@ -22,7 +22,7 @@ public final class WhiteBlackSpiritToken extends TokenImpl { toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); - availableImageSetCodes.addAll(Arrays.asList("GTC", "EVE", "MH1", "C15", "C21", "UMA", "RNA")); + availableImageSetCodes.addAll(Arrays.asList("GTC", "EVE", "MH1", "C15", "C21", "UMA", "RNA", "MOM")); } @Override @@ -35,6 +35,9 @@ public final class WhiteBlackSpiritToken extends TokenImpl { if (getOriginalExpansionSetCode().equals("C15")) { this.setTokenType(2); } + if (getOriginalExpansionSetCode().equals("MOM")) { + this.setTokenType(1); + } } public WhiteBlackSpiritToken(final WhiteBlackSpiritToken token) { 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 272d7b721a0..f9b054d57b1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java @@ -34,7 +34,7 @@ public final class ZombieToken extends TokenImpl { "MED", "BBD", "M19", "CM2", "PCA", "AVR", "DDQ", "CN2", "2X2", "CC2", "DMC", "GN3", - "DMR"); + "DMR", "MOM"); } @Override