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 1c30281c888..03c49f8be47 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 @@ -650,6 +650,19 @@ public class ScryfallImageSupportTokens { put("AFC/Servo", "https://api.scryfall.com/cards/tafc/11/en?format=image"); put("AFC/Thopter", "https://api.scryfall.com/cards/tafc/12/en?format=image"); + // MIC + put("MIC/Beast", "https://api.scryfall.com/cards/tmic/7/en?format=image"); + put("MIC/Centaur", "https://api.scryfall.com/cards/tmic/8/en?format=image"); + put("MIC/Eldrazi Spawn", "https://api.scryfall.com/cards/tmic/1/en?format=image"); + put("MIC/Elephant", "https://api.scryfall.com/cards/tmic/9/en?format=image"); + put("MIC/Human Soldier", "https://api.scryfall.com/cards/tmic/2/en?format=image"); + put("MIC/Knight", "https://api.scryfall.com/cards/tmic/3/en?format=image"); + put("MIC/Rhino", "https://api.scryfall.com/cards/tmic/10/en?format=image"); + put("MIC/Snake", "https://api.scryfall.com/cards/tmic/11/en?format=image"); + put("MIC/Zombie Army", "https://api.scryfall.com/cards/tmic/6/en?format=image"); + put("MIC/Zombie/1", "https://api.scryfall.com/cards/tmic/5/en?format=image"); // 2/2 + put("MIC/Zombie/2", "https://api.scryfall.com/cards/tmic/4/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 f5842a8e162..63b533d159e 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -282,8 +282,8 @@ |Generate|TOK:BNG|Wolf|||WolfToken| |Generate|TOK:BNG|Zombie|||ForlornPseudammaZombieToken| |Generate|TOK:BOK|Snake|||SnakeToken| -|Generate|TOK:BOK|Spirit|||AnotherSpiritToken| -|Generate|TOK:BOK|Spirit|||SpiritToken| +|Generate|TOK:BOK|Spirit|1||AnotherSpiritToken| +|Generate|TOK:BOK|Spirit|2||SpiritToken| |Generate|TOK:C13|Assembly-Worker|||AssembleWorkerToken| |Generate|TOK:C13|Beast|1||BeastToken2| |Generate|TOK:C13|Beast|2||CarnivoreToken| @@ -889,10 +889,9 @@ |Generate|TOK:MIR|Wall|||TidalWaveWallToken| |Generate|TOK:MIR|Wall|||WoodToken| |Generate|TOK:MIR|Zombie|||ZombieToken| -|Generate|TOK:MM2|Eldrazi Spawn|1| -|Generate|TOK:MM2|Eldrazi Spawn|2| -|Generate|TOK:MM2|Eldrazi Spawn|3| -|Generate|TOK:MM2|Eldrazi Spawn|||EldraziSpawnToken| +|Generate|TOK:MM2|Eldrazi Spawn|1||EldraziSpawnToken| +|Generate|TOK:MM2|Eldrazi Spawn|2||EldraziSpawnToken| +|Generate|TOK:MM2|Eldrazi Spawn|3||EldraziSpawnToken| |Generate|TOK:MM2|Elephant|||ElephantToken| |Generate|TOK:MM2|Faerie Rogue|||FaerieRogueToken| |Generate|TOK:MM2|Germ|||PhyrexianGermToken| @@ -1603,4 +1602,17 @@ |Generate|TOK:AFC|Rat|||RatToken| |Generate|TOK:AFC|Saproling|||SaprolingToken| |Generate|TOK:AFC|Servo|||ServoToken| -|Generate|TOK:AFC|Thopter|||ThopterColorlessToken| \ No newline at end of file +|Generate|TOK:AFC|Thopter|||ThopterColorlessToken| + +# MIC +|Generate|TOK:MIC|Beast|||BeastToken| +|Generate|TOK:MIC|Centaur|||CentaurToken| +|Generate|TOK:MIC|Eldrazi Spawn|||EldraziSpawnToken| +|Generate|TOK:MIC|Elephant|||ElephantToken| +|Generate|TOK:MIC|Human Soldier|||HumanSoldierToken| +|Generate|TOK:MIC|Knight|||KnightToken| +|Generate|TOK:MIC|Rhino|||RhinoToken| +|Generate|TOK:MIC|Snake|||SnakeToken| +|Generate|TOK:MIC|Zombie|1||ZombieToken| +|Generate|TOK:MIC|Zombie|2||StitcherGeralfZombieToken| +|Generate|TOK:MIC|Zombie Army|||ZombieArmyToken| \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/b/BestialMenace.java b/Mage.Sets/src/mage/cards/b/BestialMenace.java index 75e1740db7d..4486ec31b81 100644 --- a/Mage.Sets/src/mage/cards/b/BestialMenace.java +++ b/Mage.Sets/src/mage/cards/b/BestialMenace.java @@ -18,6 +18,7 @@ public final class BestialMenace extends CardImpl { public BestialMenace(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}{G}"); + // Create a 1/1 green Snake creature token, a 2/2 green Wolf creature token, and a 3/3 green Elephant creature token. this.getSpellAbility().addEffect(new CreateTokenEffect(new SnakeToken())); this.getSpellAbility().addEffect(new CreateTokenEffect(new WolfToken()).setText(", a 2/2 green Wolf creature token")); this.getSpellAbility().addEffect(new CreateTokenEffect(new ElephantToken()).setText(", and a 3/3 green Elephant creature token")); diff --git a/Mage.Sets/src/mage/cards/g/GrowthSpasm.java b/Mage.Sets/src/mage/cards/g/GrowthSpasm.java index 2b29137e3e2..6fc18f011ce 100644 --- a/Mage.Sets/src/mage/cards/g/GrowthSpasm.java +++ b/Mage.Sets/src/mage/cards/g/GrowthSpasm.java @@ -1,4 +1,3 @@ - package mage.cards.g; import mage.abilities.effects.common.CreateTokenEffect; @@ -21,8 +20,10 @@ public final class GrowthSpasm extends CardImpl { public GrowthSpasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}"); - + // Search your library for a basic land card, put it onto the battlefield tapped, then shuffle. this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true)); + + // Create a 0/1 colorless Eldrazi Spawn creature token. It has “Sacrifice this creature: Add {C}.” this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken())); } diff --git a/Mage.Sets/src/mage/cards/h/HoodedHydra.java b/Mage.Sets/src/mage/cards/h/HoodedHydra.java index 06612e909f6..514b447d9b6 100644 --- a/Mage.Sets/src/mage/cards/h/HoodedHydra.java +++ b/Mage.Sets/src/mage/cards/h/HoodedHydra.java @@ -41,7 +41,7 @@ public final class HoodedHydra extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance()))); // When Hooded Hydra dies, create a 1/1 green Snake creature token for each +1/+1 counter on it. - this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new SnakeToken("KTK"), new CountersSourceCount(CounterType.P1P1)), false)); + this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new SnakeToken(), new CountersSourceCount(CounterType.P1P1)), false)); // Morph {3}{G}{G} this.addAbility(new MorphAbility(this, new ManaCostsImpl("{3}{G}{G}"))); diff --git a/Mage.Sets/src/mage/cards/p/PristineAngel.java b/Mage.Sets/src/mage/cards/p/PristineAngel.java index 46bb964dc3a..51ac8ae3a7f 100644 --- a/Mage.Sets/src/mage/cards/p/PristineAngel.java +++ b/Mage.Sets/src/mage/cards/p/PristineAngel.java @@ -1,4 +1,3 @@ - package mage.cards.p; import java.util.UUID; diff --git a/Mage.Sets/src/mage/cards/r/RiteOfTheSerpent.java b/Mage.Sets/src/mage/cards/r/RiteOfTheSerpent.java index 9d89ab814d9..beaf1149ddd 100644 --- a/Mage.Sets/src/mage/cards/r/RiteOfTheSerpent.java +++ b/Mage.Sets/src/mage/cards/r/RiteOfTheSerpent.java @@ -63,7 +63,7 @@ class RiteOfTheSerpentEffect extends OneShotEffect { Permanent targetCreature = getTargetPointer().getFirstTargetPermanentOrLKI(game, source); if (targetCreature != null) { if (targetCreature.getCounters(game).containsKey(CounterType.P1P1)) { - new CreateTokenEffect(new SnakeToken("KTK")).apply(game, source); + new CreateTokenEffect(new SnakeToken()).apply(game, source); } return true; } diff --git a/Mage.Sets/src/mage/cards/s/SigardaHeronsGrace.java b/Mage.Sets/src/mage/cards/s/SigardaHeronsGrace.java index 5f7673ef045..656252d0343 100644 --- a/Mage.Sets/src/mage/cards/s/SigardaHeronsGrace.java +++ b/Mage.Sets/src/mage/cards/s/SigardaHeronsGrace.java @@ -1,4 +1,3 @@ - package mage.cards.s; import java.util.UUID; 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 78382179b77..ae7bd504d88 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken.java @@ -22,7 +22,7 @@ public final class BeastToken extends TokenImpl { availableImageSetCodes = Arrays.asList("5DN", "C14", "C16", "C19", "CMA", "CMD", "CN2", "GVL", "DD3C", "DD3GVL", "DDD", "DDL", "DST", "E01", "EVE", "LRW", "M10", "M11", "M12", - "M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC"); + "M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC", "MIC"); } @Override 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 2af5a0e77f3..03a8c83ca71 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java @@ -5,32 +5,22 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.util.RandomUtil; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; /** * @author LevelX2 */ public final class CentaurToken extends TokenImpl { - static final private List tokenImageSets = new ArrayList<>(); - - static { - tokenImageSets.addAll(Arrays.asList("RTR", "MM3", "RNA", "C19")); - } - public CentaurToken() { super("Centaur", "3/3 green Centaur creature token"); cardType.add(CardType.CREATURE); - availableImageSetCodes = tokenImageSets; - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("RNA")) { - setTokenType(RandomUtil.nextInt(2) + 1); // randomly take image 1 or 2 - } color.setGreen(true); subtype.add(SubType.CENTAUR); power = new MageInt(3); toughness = new MageInt(3); + + availableImageSetCodes = Arrays.asList("C19", "DGM", "ONS", "RTR", "RNA", "MIC"); } public CentaurToken(final CentaurToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java index dbbc9dcbdad..01f5e695fdd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java @@ -1,10 +1,6 @@ package mage.game.permanent.token; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - import mage.MageInt; import mage.Mana; import mage.abilities.costs.common.SacrificeSourceCost; @@ -14,18 +10,13 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.util.RandomUtil; +import java.util.Arrays; + /** - * * @author BetaSteward_at_googlemail.com */ public final class EldraziSpawnToken extends TokenImpl { - static final private List tokenImageSets = new ArrayList<>(); - - static { - tokenImageSets.addAll(Arrays.asList("ROE", "MM2", "DDP", "C17")); - } - public EldraziSpawnToken() { super("Eldrazi Spawn", "0/1 colorless Eldrazi Spawn creature with \"Sacrifice this creature: Add {C}.\""); cardType.add(CardType.CREATURE); @@ -35,9 +26,24 @@ public final class EldraziSpawnToken extends TokenImpl { toughness = new MageInt(1); addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(1), new SacrificeSourceCost())); - availableImageSetCodes = tokenImageSets; - // Get one of the four possible token images - this.setTokenType(RandomUtil.nextInt(4) + 1); + availableImageSetCodes = Arrays.asList("CMD", "DDP", "MM2", "PC2", "ROE", "MIC"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DDP")) { + this.setTokenType(RandomUtil.nextInt(3) + 1); // randomly take image 1, 2 or 3 + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM2")) { + this.setTokenType(RandomUtil.nextInt(3) + 1); // randomly take image 1, 2 or 3 + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("ROE")) { + this.setTokenType(RandomUtil.nextInt(3) + 1); // randomly take image 1, 2 or 3 + } } public EldraziSpawnToken(final EldraziSpawnToken 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 e317c6583d2..b7884146289 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("C13", "C14", "C15", "CMA", "CMD", "CNS", "GVL", "DDD", - "EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21"); + "EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC"); } public ElephantToken(final ElephantToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java index d331b634d5b..8d6dbe2daaa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java @@ -5,6 +5,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.util.RandomUtil; +import java.util.Arrays; + public final class HumanSoldierToken extends TokenImpl { public HumanSoldierToken() { @@ -15,6 +17,8 @@ public final class HumanSoldierToken extends TokenImpl { color.setWhite(true); power = new MageInt(1); toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("SOI", "THB", "IKO", "MIC"); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/KnightToken.java b/Mage/src/main/java/mage/game/permanent/token/KnightToken.java index e3c601dc3c8..7c3adb84c41 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KnightToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KnightToken.java @@ -23,7 +23,7 @@ public final class KnightToken extends TokenImpl { toughness = new MageInt(2); this.addAbility(VigilanceAbility.getInstance()); - availableImageSetCodes = Arrays.asList("C13", "C15", "CMA", "DGM", "ORI", "RTR", "M19", "ELD", "M21", "AFC"); + availableImageSetCodes = Arrays.asList("C13", "C15", "CMA", "DGM", "ORI", "RTR", "M19", "ELD", "M21", "AFC", "MIC"); } public KnightToken(final KnightToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/RhinoToken.java b/Mage/src/main/java/mage/game/permanent/token/RhinoToken.java index 3c08fd7f262..259f3e846f8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RhinoToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RhinoToken.java @@ -21,7 +21,7 @@ public final class RhinoToken extends TokenImpl { toughness = new MageInt(4); addAbility(TrampleAbility.getInstance()); - availableImageSetCodes.addAll(Arrays.asList("DGM", "RTR", "MH1", "C19")); + availableImageSetCodes = Arrays.asList("DGM", "RTR", "MH1", "C19", "MIC"); } public RhinoToken(final RhinoToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java b/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java index 2b7069db4e4..20b5308cf11 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java @@ -4,37 +4,23 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; /** * @author BetaSteward_at_googlemail.com */ public final class SnakeToken extends TokenImpl { - static final private List tokenImageSets = new ArrayList<>(); - - static { - tokenImageSets.addAll(Arrays.asList("ZEN", "KTK", "MM2", "C15", "C19")); - } - public SnakeToken() { - this((String) null); - } - - public SnakeToken(String setCode) { super("Snake", "1/1 green Snake creature token"); - availableImageSetCodes = tokenImageSets; - setOriginalExpansionSetCode(setCode); - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C15")) { - setTokenType(1); - } cardType.add(CardType.CREATURE); color.setGreen(true); subtype.add(SubType.SNAKE); power = new MageInt(1); toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("6ED", "BOK", "C15", "C19", "CHK", "CMD", "KTK", "MM2", "MMQ", "SOK", + "VIS", "WWK", "ZEN", "C20", "MIC"); } public SnakeToken(final SnakeToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java index 7f64cfe9208..6ef5d1d4a68 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java @@ -43,11 +43,9 @@ public final class SpiritToken extends TokenImpl { @Override public void setExpansionSetCodeForImage(String code) { super.setExpansionSetCodeForImage(code); - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { - setTokenType(1); - } - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C16")) { - setTokenType(1); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("BOK")) { + setTokenType(2); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/StitcherGeralfZombieToken.java b/Mage/src/main/java/mage/game/permanent/token/StitcherGeralfZombieToken.java index bff1d69f124..5d50c2bdeb8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/StitcherGeralfZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/StitcherGeralfZombieToken.java @@ -1,12 +1,12 @@ - - package mage.game.permanent.token; + +import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; -import mage.MageInt; + +import java.util.Arrays; /** - * * @author spjspj */ public final class StitcherGeralfZombieToken extends TokenImpl { @@ -14,15 +14,29 @@ public final class StitcherGeralfZombieToken extends TokenImpl { public StitcherGeralfZombieToken() { this(1); } + public StitcherGeralfZombieToken(int xValue) { super("Zombie", "X/X blue Zombie creature token"); - setOriginalExpansionSetCode("C14"); - setTokenType(1); cardType.add(CardType.CREATURE); color.setBlue(true); subtype.add(SubType.ZOMBIE); power = new MageInt(xValue); toughness = new MageInt(xValue); + + availableImageSetCodes = Arrays.asList("C14", "MIC"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("C14")) { + this.setTokenType(2); + } + + if (getOriginalExpansionSetCode().equals("MIC")) { + this.setTokenType(2); + } } public StitcherGeralfZombieToken(final StitcherGeralfZombieToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ZombieArmyToken.java b/Mage/src/main/java/mage/game/permanent/token/ZombieArmyToken.java index dda369ef8ce..723d84dd17f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieArmyToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieArmyToken.java @@ -22,7 +22,7 @@ public final class ZombieArmyToken extends TokenImpl { power = new MageInt(0); toughness = new MageInt(0); - availableImageSetCodes = Arrays.asList("WAR", "MH2"); + availableImageSetCodes = Arrays.asList("WAR", "MH2", "MIC"); } private ZombieArmyToken(final ZombieArmyToken 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 b16714cc806..03ec5ca8f0d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java @@ -25,7 +25,7 @@ public final class ZombieToken extends TokenImpl { "CNS", "MMA", "BNG", "KTK", "DTK", "ORI", "OGW", "SOI", "EMN", "EMA", "MM3", "AKH", "CMA", "E01", "RNA", "WAR", "MH1", "M20", "C19", "THB", "M21", - "CMR", "C21", "MH2", "AFR"); + "CMR", "C21", "MH2", "AFR", "MIC"); } @Override