Token images for a couple of sets (#9047)

* Added support for and assigned IMA token images

* Added support for and assigned CM2 token images

* Fixed M19 DragonEggDragonToken not displaying in game
This commit is contained in:
PurpleCrowbar 2022-06-01 21:55:17 +01:00 committed by GitHub
parent e679574a15
commit a8309f38f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 93 additions and 18 deletions

View file

@ -1040,6 +1040,35 @@ public class ScryfallImageSupportTokens {
put ("DDU/Thopter/1", "https://api.scryfall.com/cards/tddu/3/en?format=image");
put ("DDU/Thopter/2", "https://api.scryfall.com/cards/tddu/4/en?format=image");
// IMA
put ("IMA/Angel", "https://api.scryfall.com/cards/tima/1/en?format=image");
put ("IMA/Beast", "https://api.scryfall.com/cards/tima/7/en?format=image");
put ("IMA/Bird", "https://api.scryfall.com/cards/tima/2/en?format=image");
put ("IMA/Djinn Monk", "https://api.scryfall.com/cards/tima/4/en?format=image");
put ("IMA/Dragon/1", "https://api.scryfall.com/cards/tima/5/en?format=image");
put ("IMA/Dragon/2", "https://api.scryfall.com/cards/tima/6/en?format=image");
put ("IMA/Spirit", "https://api.scryfall.com/cards/tima/3/en?format=image");
// CM2
put ("CM2/Bird", "https://api.scryfall.com/cards/tcm2/2/en?format=image");
put ("CM2/Emblem Daretti", "https://api.scryfall.com/cards/tcm2/18/en?format=image");
put ("CM2/Elemental Shaman", "https://api.scryfall.com/cards/tcm2/8/en?format=image");
put ("CM2/Phyrexian Germ", "https://api.scryfall.com/cards/tcm2/6/en?format=image");
put ("CM2/Goat", "https://api.scryfall.com/cards/tcm2/3/en?format=image");
put ("CM2/Goblin", "https://api.scryfall.com/cards/tcm2/9/en?format=image");
put ("CM2/Knight", "https://api.scryfall.com/cards/tcm2/4/en?format=image");
put ("CM2/Lightning Rager", "https://api.scryfall.com/cards/tcm2/10/en?format=image");
put ("CM2/Myr", "https://api.scryfall.com/cards/tcm2/12/en?format=image");
put ("CM2/Pentavite", "https://api.scryfall.com/cards/tcm2/13/en?format=image");
put ("CM2/Saproling", "https://api.scryfall.com/cards/tcm2/11/en?format=image");
put ("CM2/Shapeshifter", "https://api.scryfall.com/cards/tcm2/1/en?format=image");
put ("CM2/Spirit", "https://api.scryfall.com/cards/tcm2/5/en?format=image");
put ("CM2/Triskelavite", "https://api.scryfall.com/cards/tcm2/14/en?format=image");
put ("CM2/Tuktuk the Returned", "https://api.scryfall.com/cards/tcm2/15/en?format=image");
put ("CM2/Phyrexian Wurm/1", "https://api.scryfall.com/cards/tcm2/16/en?format=image");
put ("CM2/Phyrexian Wurm/2", "https://api.scryfall.com/cards/tcm2/17/en?format=image");
put ("CM2/Zombie", "https://api.scryfall.com/cards/tcm2/7/en?format=image");
// generate supported sets
supportedSets.clear();
for (String cardName : this.keySet()) {

View file

@ -51,6 +51,7 @@
|Generate|EMBLEM!:C14|Emblem Nixilis|||ObNixilisOfTheBlackOathEmblem|
|Generate|EMBLEM!:C14|Emblem Teferi|||TeferiTemporalArchmageEmblem|
|Generate|EMBLEM!:C16|Emblem Daretti|||DarettiScrapSavantEmblem|
|Generate|EMBLEM!:CM2|Emblem Daretti|||DarettiScrapSavantEmblem|
|Generate|EMBLEM:C19|Ob Nixilis Reignited||Emblem Nixilis|ObNixilisReignitedEmblem|
|Generate|EMBLEM!:CNS|Emblem Dack Fayden||Emblem Dack|DackFaydenEmblem|
|Generate|EMBLEM!:DTK|Emblem Narset|||NarsetTranscendentEmblem|
@ -1810,3 +1811,31 @@
|Generate|TOK:DDU|Myr|||MyrToken|
|Generate|TOK:DDU|Thopter|1||ThopterColorlessToken|
|Generate|TOK:DDU|Thopter|2||ThopterColorlessToken|
# IMA
|Generate|TOK:IMA|Angel|||AngelToken|
|Generate|TOK:IMA|Beast|||BeastToken2|
|Generate|TOK:IMA|Bird|||BirdToken|
|Generate|TOK:IMA|Djinn Monk|||DjinnMonkToken|
|Generate|TOK:IMA|Dragon|1||DragonEggDragonToken|
|Generate|TOK:IMA|Dragon|2||DragonToken2|
|Generate|TOK:IMA|Spirit|||SpiritWhiteToken|
# CM2
|Generate|TOK:CM2|Bird|||BirdToken|
|Generate|TOK:CM2|Elemental Shaman|||ElementalShamanToken|
|Generate|TOK:CM2|Phyrexian Germ|||PhyrexianGermToken|
|Generate|TOK:CM2|Goat|||GoatToken|
|Generate|TOK:CM2|Goblin|||GoblinToken|
|Generate|TOK:CM2|Knight|||HuntedDragonKnightToken|
|Generate|TOK:CM2|Lightning Rager|||LightningRagerToken|
|Generate|TOK:CM2|Myr|||MyrToken|
|Generate|TOK:CM2|Pentavite|||PentaviteToken|
|Generate|TOK:CM2|Saproling|||SaprolingToken|
|Generate|TOK:CM2|Shapeshifter|||CribSwapShapeshifterWhiteToken|
|Generate|TOK:CM2|Spirit|||SpiritWhiteToken|
|Generate|TOK:CM2|Triskelavite|||TriskelaviteToken|
|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|

View file

@ -26,7 +26,6 @@ public final class DarettiScrapSavantEmblem extends Emblem {
public DarettiScrapSavantEmblem() {
setName("Emblem Daretti");
this.setExpansionSetCodeForImage("C14");
this.getAbilities().add(new DarettiScrapSavantTriggeredAbility());
}

View file

@ -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");
"ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR", "AFC", "VOC", "2XM", "IMA");
}
public AngelToken(final AngelToken token) {

View file

@ -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");
"E01", "ODY", "SCG", "ZEN", "C20", "ZNC", "CMR", "C21", "MH2", "MID", "IMA");
}
public BeastToken2(final BeastToken2 token) {

View file

@ -24,7 +24,7 @@ public final class BirdToken extends TokenImpl {
addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("BNG", "CSP", "DGM", "JUD", "MM3", "RTR", "VMA", "ZEN",
"MH1", "C16", "C20", "M21", "ZNC", "KHC", "MH2");
"MH1", "C16", "C20", "M21", "ZNC", "KHC", "MH2", "IMA", "CM2");
}
public BirdToken(final BirdToken token) {

View file

@ -28,7 +28,7 @@ public final class DragonEggDragonToken extends TokenImpl {
this.addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
availableImageSetCodes = Arrays.asList("C18", "EMA", "M14", "M19", "CMR");
availableImageSetCodes = Arrays.asList("C18", "EMA", "M14", "M19", "CMR", "IMA");
}
public DragonEggDragonToken(final DragonEggDragonToken token) {
@ -42,5 +42,12 @@ public final class DragonEggDragonToken extends TokenImpl {
@Override
public void setExpansionSetCodeForImage(String code) {
super.setExpansionSetCodeForImage(code);
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("IMA")) {
this.setTokenType(1);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M19")) {
this.setTokenType(1);
}
}
}

View file

@ -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");
availableImageSetCodes = Arrays.asList("10E", "BFZ", "C15", "C19", "CMA", "CMD", "ONS", "ROE", "SCG", "WWK", "M19", "KHM", "AFC", "IMA");
}
public DragonToken2(final DragonToken2 token) {
@ -40,5 +40,8 @@ public final class DragonToken2 extends TokenImpl {
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M19")) {
this.setTokenType(2);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("IMA")) {
this.setTokenType(2);
}
}
}

View file

@ -18,7 +18,7 @@ public final class ElementalShamanToken extends TokenImpl {
static final private List<String> tokenImageSets = new ArrayList<>();
static {
tokenImageSets.addAll(Arrays.asList("C15", "JVC", "DD2", "LRW"));
tokenImageSets.addAll(Arrays.asList("C15", "JVC", "DD2", "LRW", "CM2"));
}
public ElementalShamanToken(boolean withHaste) {

View file

@ -16,7 +16,7 @@ public final class GoatToken extends TokenImpl {
static final private List<String> tokenImageSets = new ArrayList<>();
static {
tokenImageSets.addAll(Arrays.asList("EVE", "M13", "M14", "C14", "C16", "ELD", "THB", "NCC"));
tokenImageSets.addAll(Arrays.asList("EVE", "M13", "M14", "C14", "C16", "ELD", "THB", "NCC", "CM2"));
}
public GoatToken() {

View file

@ -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");
"MM3", "EMA", "C16", "DOM", "ANA", "RNA", "WAR", "MH1", "TSR", "MH2", "AFR", "NEC", "M19", "CM2");
}
public GoblinToken(final GoblinToken token) {

View file

@ -21,7 +21,7 @@ public final class HuntedDragonKnightToken extends TokenImpl {
toughness = new MageInt(2);
this.addAbility(FirstStrikeAbility.getInstance());
availableImageSetCodes = Arrays.asList("ORI", "RTR", "C15");
availableImageSetCodes = Arrays.asList("ORI", "RTR", "C15", "CM2");
}
public HuntedDragonKnightToken(final HuntedDragonKnightToken token) {

View file

@ -16,7 +16,7 @@ public final class MyrToken extends TokenImpl {
power = new MageInt(1);
toughness = new MageInt(1);
availableImageSetCodes = Arrays.asList("C14", "C16", "C18", "DST", "MBS", "MM2", "MRD", "NPH", "SOM", "MH1", "C21", "NEC", "2XM", "BBD", "DDU");
availableImageSetCodes = Arrays.asList("C14", "C16", "C18", "DST", "MBS", "MM2", "MRD", "NPH", "SOM", "MH1", "C21", "NEC", "2XM", "BBD", "DDU", "CM2");
}
public MyrToken(final MyrToken token) {

View file

@ -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");
availableImageSetCodes = Arrays.asList("C14", "C15", "C16", "MBS", "MM2", "NPH", "PC2", "MH2", "NEC", "2XM", "CM2");
}
@Override

View file

@ -50,7 +50,8 @@ public final class SaprolingToken extends TokenImpl {
"AFC",
"NEC",
"2XM",
"NCC"
"NCC",
"CM2"
));
}

View file

@ -24,7 +24,7 @@ public final class SpiritWhiteToken extends TokenImpl {
availableImageSetCodes = Arrays.asList("AVR", "C14", "CNS", "DDC", "DDK", "FRF", "ISD", "KTK", "M15", "MM2", "SHM",
"SOI", "EMA", "C16", "MM3", "CMA", "E01", "ANA", "GPT", "RAV", "EMN", "RNA", "M20", "C19", "C20", "CMR", "KHM",
"MID", "VOW", "UMA", "BBD");
"MID", "VOW", "UMA", "BBD", "IMA", "CM2");
}
@Override

View file

@ -12,6 +12,8 @@ import mage.abilities.keyword.FlyingAbility;
import mage.constants.Zone;
import mage.target.common.TargetAnyTarget;
import java.util.Arrays;
/**
*
* @author spjspj
@ -32,6 +34,8 @@ public final class TriskelaviteToken extends TokenImpl {
this.addAbility(ability);
addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("CM2");
}
public TriskelaviteToken(final TriskelaviteToken token) {

View file

@ -22,7 +22,7 @@ public final class WurmWithDeathtouchToken extends TokenImpl {
toughness = new MageInt(3);
this.addAbility(DeathtouchAbility.getInstance());
availableImageSetCodes = Arrays.asList("C14", "SOM", "2XM");
availableImageSetCodes = Arrays.asList("C14", "SOM", "2XM", "CM2");
}
@Override
@ -41,6 +41,9 @@ public final class WurmWithDeathtouchToken extends TokenImpl {
if (getOriginalExpansionSetCode().equals("2XM")) {
this.setTokenType(1);
}
if (getOriginalExpansionSetCode().equals("CM2")) {
this.setTokenType(1);
}
}
public WurmWithDeathtouchToken(final WurmWithDeathtouchToken token) {

View file

@ -22,7 +22,7 @@ public final class WurmWithLifelinkToken extends TokenImpl {
toughness = new MageInt(3);
this.addAbility(LifelinkAbility.getInstance());
availableImageSetCodes = Arrays.asList("C14", "SOM", "2XM");
availableImageSetCodes = Arrays.asList("C14", "SOM", "2XM", "CM2");
}
@Override

View file

@ -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");
"NCC", "MED", "BBD", "M19", "CM2");
}
@Override