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 d1ee540729..e68eddac5f 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 @@ -1559,6 +1559,29 @@ public class ScryfallImageSupportTokens { put ("DDR/Plant", "https://api.scryfall.com/cards/ddr/75/en?format=image"); put ("DDR/Emblem Nixilis", "https://api.scryfall.com/cards/ddr/76/en?format=image"); + // MM3 + put ("MM3/Angel", "https://api.scryfall.com/cards/tmm3/1/en?format=image"); + put ("MM3/Beast/1", "https://api.scryfall.com/cards/tmm3/9/en?format=image"); + put ("MM3/Beast/2", "https://api.scryfall.com/cards/tmm3/10/en?format=image"); + put ("MM3/Bird", "https://api.scryfall.com/cards/tmm3/2/en?format=image"); + put ("MM3/Centaur", "https://api.scryfall.com/cards/tmm3/11/en?format=image"); + put ("MM3/Emblem Domri", "https://api.scryfall.com/cards/tmm3/21/en?format=image"); + put ("MM3/Dragon", "https://api.scryfall.com/cards/tmm3/7/en?format=image"); + put ("MM3/Elemental", "https://api.scryfall.com/cards/tmm3/16/en?format=image"); + put ("MM3/Elephant", "https://api.scryfall.com/cards/tmm3/12/en?format=image"); + put ("MM3/Giant Warrior", "https://api.scryfall.com/cards/tmm3/17/en?format=image"); + put ("MM3/Goblin", "https://api.scryfall.com/cards/tmm3/8/en?format=image"); + put ("MM3/Goblin Warrior", "https://api.scryfall.com/cards/tmm3/18/en?format=image"); + put ("MM3/Phyrexian Golem", "https://api.scryfall.com/cards/tmm3/20/en?format=image"); + put ("MM3/Ooze", "https://api.scryfall.com/cards/tmm3/13/en?format=image"); + put ("MM3/Saproling", "https://api.scryfall.com/cards/tmm3/14/en?format=image"); + put ("MM3/Soldier/1", "https://api.scryfall.com/cards/tmm3/3/en?format=image"); + put ("MM3/Soldier/2", "https://api.scryfall.com/cards/tmm3/19/en?format=image"); + put ("MM3/Spider", "https://api.scryfall.com/cards/tmm3/5/en?format=image"); + put ("MM3/Spirit", "https://api.scryfall.com/cards/tmm3/4/en?format=image"); + put ("MM3/Wurm", "https://api.scryfall.com/cards/tmm3/15/en?format=image"); + put ("MM3/Zombie", "https://api.scryfall.com/cards/tmm3/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 7ff24d32cc..b182db06b0 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -839,26 +839,26 @@ |Generate|TOK:MM2|Thrull|||ThrullToken| |Generate|TOK:MM2|Wolf|||WolfToken| |Generate|TOK:MM2|Worm|||BlackGreenWormToken| -|Generate|TOK:MM3|Angel|| -|Generate|TOK:MM3|Beast|1| -|Generate|TOK:MM3|Beast|2| -|Generate|TOK:MM3|Bird|| -|Generate|TOK:MM3|Centaur|| -|Generate|TOK:MM3|Dragon|| +|Generate|TOK:MM3|Angel|||AngelToken| +|Generate|TOK:MM3|Beast|1||BeastToken| +|Generate|TOK:MM3|Beast|2||BeastToken2| +|Generate|TOK:MM3|Bird|||BirdToken| +|Generate|TOK:MM3|Centaur|||CentaurToken| +|Generate|TOK:MM3|Dragon|||DragonToken| |Generate|TOK:MM3|Elemental|||VoiceOfResurgenceToken| -|Generate|TOK:MM3|Elephant|| -|Generate|TOK:MM3|Giant Warrior|| -|Generate|TOK:MM3|Goblin Warrior|| -|Generate|TOK:MM3|Goblin|| -|Generate|TOK:MM3|Golem|| -|Generate|TOK:MM3|Ooze|| -|Generate|TOK:MM3|Saproling|| -|Generate|TOK:MM3|Soldier|1| -|Generate|TOK:MM3|Soldier|2| -|Generate|TOK:MM3|Spider|| -|Generate|TOK:MM3|Spirit|| -|Generate|TOK:MM3|Wurm|| -|Generate|TOK:MM3|Zombie|| +|Generate|TOK:MM3|Elephant|||ElephantToken| +|Generate|TOK:MM3|Giant Warrior|||GiantBaitingGiantWarriorToken| +|Generate|TOK:MM3|Goblin|||GoblinToken| +|Generate|TOK:MM3|Goblin Warrior|||GoblinWarriorToken| +|Generate|TOK:MM3|Phyrexian Golem|||PhyrexianGolemToken| +|Generate|TOK:MM3|Ooze|||OozeToken| +|Generate|TOK:MM3|Saproling|||SaprolingToken| +|Generate|TOK:MM3|Soldier|1||SoldierToken| +|Generate|TOK:MM3|Soldier|2||SoldierTokenWithHaste| +|Generate|TOK:MM3|Spider|||PenumbraSpiderToken| +|Generate|TOK:MM3|Spirit|||SpiritWhiteToken| +|Generate|TOK:MM3|Wurm|||WurmWithTrampleToken| +|Generate|TOK:MM3|Zombie|||ZombieToken| |Generate|TOK:MMA|Bat|||BatToken| |Generate|TOK:MMA|Dragon|||DragonToken| |Generate|TOK:MMA|Elemental|||WalkerOfTheGroveToken| 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 ec9ea5a6e4..765622a568 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken.java @@ -45,7 +45,7 @@ public final class BeastToken extends TokenImpl { setTokenType(RandomUtil.nextInt(2) + 1); } if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) { - setTokenType(RandomUtil.nextInt(2) + 1); + setTokenType(1); } if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMA")) { setTokenType(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java b/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java index a6b9919705..bc0700efdc 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java @@ -20,7 +20,7 @@ public final class BeastToken2 extends TokenImpl { toughness = new MageInt(4); availableImageSetCodes = Arrays.asList("C14", "C15", "C18", "C19", "CMA", "CMD", "GVL", "DDD", - "E01", "ODY", "SCG", "ZEN", "C20", "ZNC", "CMR", "C21", "MH2", "MID", "IMA"); + "E01", "ODY", "SCG", "ZEN", "C20", "ZNC", "CMR", "C21", "MH2", "MID", "IMA", "MM3"); } public BeastToken2(final BeastToken2 token) { @@ -71,5 +71,9 @@ public final class BeastToken2 extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("GVL")) { this.setTokenType(2); } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) { + this.setTokenType(2); + } } } diff --git a/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java b/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java index 82f728280f..58f632a07c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java @@ -20,7 +20,7 @@ public final class CentaurToken extends TokenImpl { power = new MageInt(3); toughness = new MageInt(3); - availableImageSetCodes = Arrays.asList("C19", "ONS", "RTR", "RNA", "MIC"); + availableImageSetCodes = Arrays.asList("C19", "ONS", "RTR", "RNA", "MIC", "MM3"); } public CentaurToken(final CentaurToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java index 4c0a4c43b4..c51a68421e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java @@ -20,7 +20,7 @@ public final class ElephantToken extends TokenImpl { toughness = new MageInt(3); availableImageSetCodes = Arrays.asList("C14", "C15", "CMA", "CMD", "CNS", "GVL", "DDD", - "EMA", "INV", "JUD", "MM2", "ODY", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC", "NEC", "2XM", "NCC"); + "EMA", "INV", "JUD", "MM2", "ODY", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC", "NEC", "2XM", "NCC", "MM3"); } public ElephantToken(final ElephantToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/GiantBaitingGiantWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/GiantBaitingGiantWarriorToken.java index 6f12de8473..d0eef221d7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GiantBaitingGiantWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GiantBaitingGiantWarriorToken.java @@ -6,6 +6,8 @@ import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; +import java.util.Arrays; + /** * * @author spjspj @@ -22,6 +24,8 @@ public final class GiantBaitingGiantWarriorToken extends TokenImpl { power = new MageInt(4); toughness = new MageInt(4); this.addAbility(HasteAbility.getInstance()); + + availableImageSetCodes = Arrays.asList("SHM", "MM3"); } public GiantBaitingGiantWarriorToken(final GiantBaitingGiantWarriorToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinWarriorToken.java index 28c17966bc..f8141fe31a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoblinWarriorToken.java @@ -21,7 +21,7 @@ public final class GoblinWarriorToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); - availableImageSetCodes.addAll(Arrays.asList("C20")); + availableImageSetCodes = Arrays.asList("SHM", "MM3", "C20"); } public GoblinWarriorToken(final GoblinWarriorToken token) { 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 6674c4e68c..bf7fddf7ab 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", "PCA"); + availableImageSetCodes = Arrays.asList("MMA", "PC2", "TSP", "TSR", "PCA", "MM3"); } public PenumbraSpiderToken(final PenumbraSpiderToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/PhyrexianGolemToken.java b/Mage/src/main/java/mage/game/permanent/token/PhyrexianGolemToken.java index 00acbcd7a6..791860ca83 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PhyrexianGolemToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PhyrexianGolemToken.java @@ -20,7 +20,7 @@ public final class PhyrexianGolemToken extends TokenImpl { power = new MageInt(3); toughness = new MageInt(3); - availableImageSetCodes = Arrays.asList("MM2", "NPH", "SOM", "MH1", "M20", "CMR"); + availableImageSetCodes = Arrays.asList("MM2", "NPH", "SOM", "MH1", "M20", "CMR", "MM3"); } public PhyrexianGolemToken(final PhyrexianGolemToken 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 8d9c6a5895..20ea0086f8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java @@ -32,7 +32,6 @@ public final class SaprolingToken extends TokenImpl { "NEM", "RTR", "C15", - "MM3", "INV", "C16", // 2 different token images... "CMA", 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 11b89aaf5a..8b78d1af26 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java @@ -39,7 +39,7 @@ public final class SoldierToken extends TokenImpl { super.setExpansionSetCodeForImage(code); if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) { - this.setTokenType(RandomUtil.nextInt(2) + 1); + this.setTokenType(1); } if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("THS")) { this.setTokenType(RandomUtil.nextInt(2) + 1); diff --git a/Mage/src/main/java/mage/game/permanent/token/WurmWithTrampleToken.java b/Mage/src/main/java/mage/game/permanent/token/WurmWithTrampleToken.java index ea47aa04be..38467dccfa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WurmWithTrampleToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WurmWithTrampleToken.java @@ -21,7 +21,7 @@ public final class WurmWithTrampleToken extends TokenImpl { toughness = new MageInt(5); addAbility(TrampleAbility.getInstance()); - availableImageSetCodes = Arrays.asList("RTR"); + availableImageSetCodes = Arrays.asList("RTR", "MM3"); } public WurmWithTrampleToken(final WurmWithTrampleToken token) {