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 3a1d3b732cd..d6eb58640a0 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 @@ -474,6 +474,27 @@ public class ScryfallImageSupportTokens { put("ZNC/Saproling", "https://api.scryfall.com/cards/tznc/9/en?format=image"); put("ZNC/Thopter", "https://api.scryfall.com/cards/tznc/11/en?format=image"); + // CMR + put("CMR/Angel", "https://api.scryfall.com/cards/tcmr/1/en?format=image"); + put("CMR/Beast/1", "https://api.scryfall.com/cards/tcmr/18/en?format=image"); // 3/3 + put("CMR/Beast/2", "https://api.scryfall.com/cards/tcmr/19/en?format=image"); // 4/4 + put("CMR/Cat", "https://api.scryfall.com/cards/tcmr/15/en?format=image"); + put("CMR/Dragon", "https://api.scryfall.com/cards/tcmr/7/en?format=image"); + put("CMR/Elephant", "https://api.scryfall.com/cards/tcmr/20/en?format=image"); + put("CMR/Elf Warrior", "https://api.scryfall.com/cards/tcmr/8/en?format=image"); + put("CMR/Golem", "https://api.scryfall.com/cards/tcmr/9/en?format=image"); + put("CMR/Horror", "https://api.scryfall.com/cards/tcmr/10/en?format=image"); + put("CMR/Illusion", "https://api.scryfall.com/cards/tcmr/17/en?format=image"); + put("CMR/Plant", "https://api.scryfall.com/cards/tcmr/21/en?format=image"); + put("CMR/Rock", "https://api.scryfall.com/cards/tcmr/11/en?format=image"); + put("CMR/Salamander Warrior", "https://api.scryfall.com/cards/tcmr/4/en?format=image"); + put("CMR/Saproling", "https://api.scryfall.com/cards/tcmr/22/en?format=image"); + put("CMR/Soldier/1", "https://api.scryfall.com/cards/tcmr/16/en?format=image"); + put("CMR/Soldier/2", "https://api.scryfall.com/cards/tcmr/2/en?format=image"); + put("CMR/Spirit", "https://api.scryfall.com/cards/tcmr/3/en?format=image"); + put("CMR/Thrull", "https://api.scryfall.com/cards/tcmr/5/en?format=image"); + put("CMR/Treasure", "https://api.scryfall.com/cards/tcmr/12/en?format=image"); + put("CMR/Zombie", "https://api.scryfall.com/cards/tcmr/6/en?format=image"); // generate supported sets supportedSets.clear(); diff --git a/Mage.Client/src/main/resources/card-pictures-tok.txt b/Mage.Client/src/main/resources/card-pictures-tok.txt index 8955ca81f9d..26ac45230cb 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -270,10 +270,10 @@ |Generate|TOK:BOK|Spirit|||AnotherSpiritToken| |Generate|TOK:BOK|Spirit|||SpiritToken| |Generate|TOK:C13|Assembly-Worker|||AssembleWorkerToken| -|Generate|TOK:C13|Beast|||BeastToken2| -|Generate|TOK:C13|Beast|||CarnivoreToken| -|Generate|TOK:C13|Beast|||OneDozenEyesBeastToken| -|Generate|TOK:C13|Beast|||SpawningGroundsBeastToken| +|Generate|TOK:C13|Beast|1||BeastToken2| +|Generate|TOK:C13|Beast|2||CarnivoreToken| +|Generate|TOK:C13|Beast|3||OneDozenEyesBeastToken| +|Generate|TOK:C13|Beast|4||SpawningGroundsBeastToken| |Generate|TOK:C13|Drake|||LeafdrakeRoostDrakeToken| |Generate|TOK:C13|Elemental|1||SeedGuardianToken| |Generate|TOK:C13|Elemental|2||WalkerOfTheGroveToken| @@ -518,8 +518,8 @@ |Generate|TOK:EVG|Goblin|||GoblinToken| |Generate|TOK:GVL|Ape|||PongifyApeToken| |Generate|TOK:GVL|Bat|||BatToken| -|Generate|TOK:GVL|Beast|||BeastToken2| -|Generate|TOK:GVL|Beast|||BeastToken| +|Generate|TOK:GVL|Beast|1||BeastToken2| +|Generate|TOK:GVL|Beast|2||BeastToken| |Generate|TOK:GVL|Elephant|||ElephantToken| |Generate|TOK:JVC|Elemental Shaman|||ElementalShamanToken| |Generate|TOK:DDC|Demon|||ReignOfThePitToken| @@ -1084,8 +1084,8 @@ |Generate|TOK:SHM|Elemental|2||RedElementalToken| |Generate|TOK:SHM|Elf Warrior|1| |Generate|TOK:SHM|Elf Warrior|2| -|Generate|TOK:SHM|Elf Warrior|||ElfToken| -|Generate|TOK:SHM|Elf Warrior|||RhysTheRedeemedToken| +|Generate|TOK:SHM|Elf Warrior|1||ElfToken| +|Generate|TOK:SHM|Elf Warrior|2||RhysTheRedeemedToken| |Generate|TOK:SHM|Faerie Rogue|||OonaQueenFaerieToken| |Generate|TOK:SHM|Giant Warrior|||GiantBaitingGiantWarriorToken| |Generate|TOK:SHM|Goblin Warrior|||WortTheRaidmotherToken| @@ -1456,4 +1456,26 @@ |Generate|TOK:ZNC|Kor Ally|||KorAllyToken| |Generate|TOK:ZNC|Rat|||RatToken| |Generate|TOK:ZNC|Saproling|||SaprolingToken| -|Generate|TOK:ZNC|Thopter|||ThopterColorlessToken| \ No newline at end of file +|Generate|TOK:ZNC|Thopter|||ThopterColorlessToken| + +# CMR +|Generate|TOK:CMR|Angel|||AngelToken| +|Generate|TOK:CMR|Beast|1||BeastToken| +|Generate|TOK:CMR|Beast|2||BeastToken2| +|Generate|TOK:CMR|Cat|||CatToken| +|Generate|TOK:CMR|Dragon|||DragonEggDragonToken| +|Generate|TOK:CMR|Elephant|||ElephantToken| +|Generate|TOK:CMR|Elf Warrior|||ElfToken| +|Generate|TOK:CMR|Golem|||GolemToken| +|Generate|TOK:CMR|Horror|||PhyrexianRebirthHorrorToken| +|Generate|TOK:CMR|Illusion|||MelokuTheCloudedMirrorToken| +|Generate|TOK:CMR|Plant|||PlantToken| +|Generate|TOK:CMR|Rock|||RockToken| +|Generate|TOK:CMR|Salamander Warrior|||SalamnderWarriorToken| +|Generate|TOK:CMR|Saproling|||SaprolingToken| +|Generate|TOK:CMR|Soldier|1||SoldierToken| +|Generate|TOK:CMR|Soldier|2||SoldierToken| +|Generate|TOK:CMR|Spirit|||SpiritWhiteToken| +|Generate|TOK:CMR|Thrull|||BreedingPitThrullToken| +|Generate|TOK:CMR|Treasure|||TreasureToken| +|Generate|TOK:CMR|Zombie|||ZombieToken| \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/b/BladeSplicer.java b/Mage.Sets/src/mage/cards/b/BladeSplicer.java index f905106a966..535c68b1874 100644 --- a/Mage.Sets/src/mage/cards/b/BladeSplicer.java +++ b/Mage.Sets/src/mage/cards/b/BladeSplicer.java @@ -1,8 +1,5 @@ - - package mage.cards.b; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -18,8 +15,9 @@ import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.game.permanent.token.GolemToken; +import java.util.UUID; + /** - * * @author Loki */ public final class BladeSplicer extends CardImpl { @@ -30,21 +28,21 @@ public final class BladeSplicer extends CardImpl { filter.add(SubType.GOLEM.getPredicate()); } - public BladeSplicer (UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); + public BladeSplicer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); this.subtype.add(SubType.HUMAN, SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); - + // When Blade Splicer enters the battlefield, create a 3/3 colorless Golem artifact creature token. - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken(expansionSetCode)))); - + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken()))); + // Golem creatures you control have first strike. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter))); } - public BladeSplicer (final BladeSplicer card) { + public BladeSplicer(final BladeSplicer card) { super(card); } diff --git a/Mage.Sets/src/mage/cards/c/ConversionChamber.java b/Mage.Sets/src/mage/cards/c/ConversionChamber.java index 2243292f5dc..e1574cee945 100644 --- a/Mage.Sets/src/mage/cards/c/ConversionChamber.java +++ b/Mage.Sets/src/mage/cards/c/ConversionChamber.java @@ -1,8 +1,5 @@ - - package mage.cards.c; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; @@ -20,14 +17,15 @@ import mage.filter.common.FilterArtifactCard; import mage.game.permanent.token.GolemToken; import mage.target.common.TargetCardInGraveyard; +import java.util.UUID; + /** - * * @author Loki */ public final class ConversionChamber extends CardImpl { - public ConversionChamber (UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); + public ConversionChamber(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // {2}, {T}: Exile target artifact card from a graveyard. Put a charge counter on Conversion Chamber. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new GenericManaCost(2)); ability.addEffect(new AddCountersSourceEffect(CounterType.CHARGE.createInstance())); @@ -35,14 +33,14 @@ public final class ConversionChamber extends CardImpl { ability.addCost(new TapSourceCost()); this.addAbility(ability); // {2}, {T}, Remove a charge counter from Conversion Chamber: Create a 3/3 colorless Golem artifact creature token. - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GolemToken(expansionSetCode)), new GenericManaCost(2)); + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GolemToken()), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); this.addAbility(ability); } - public ConversionChamber (final ConversionChamber card) { + public ConversionChamber(final ConversionChamber card) { super(card); } diff --git a/Mage.Sets/src/mage/cards/m/MasterSplicer.java b/Mage.Sets/src/mage/cards/m/MasterSplicer.java index f9d330160b7..298d7dfc20a 100644 --- a/Mage.Sets/src/mage/cards/m/MasterSplicer.java +++ b/Mage.Sets/src/mage/cards/m/MasterSplicer.java @@ -1,4 +1,3 @@ - package mage.cards.m; import mage.MageInt; @@ -32,7 +31,7 @@ public final class MasterSplicer extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken(expansionSetCode)))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken()))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false))); } diff --git a/Mage.Sets/src/mage/cards/m/MaulSplicer.java b/Mage.Sets/src/mage/cards/m/MaulSplicer.java index 7df86001f80..aab90450802 100644 --- a/Mage.Sets/src/mage/cards/m/MaulSplicer.java +++ b/Mage.Sets/src/mage/cards/m/MaulSplicer.java @@ -1,7 +1,5 @@ - package mage.cards.m; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -17,8 +15,9 @@ import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.game.permanent.token.GolemToken; +import java.util.UUID; + /** - * * @author North */ public final class MaulSplicer extends CardImpl { @@ -31,7 +30,7 @@ public final class MaulSplicer extends CardImpl { } public MaulSplicer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.ARTIFICER); @@ -39,8 +38,8 @@ public final class MaulSplicer extends CardImpl { this.toughness = new MageInt(1); // When Maul Splicer enters the battlefield, create two 3/3 colorless Golem artifact creature tokens. - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken(expansionSetCode), 2))); - + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken(), 2))); + // Golem creatures you control have trample. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter))); } diff --git a/Mage.Sets/src/mage/cards/m/MelokuTheCloudedMirror.java b/Mage.Sets/src/mage/cards/m/MelokuTheCloudedMirror.java index e364bb0a1ad..f47aa7a3156 100644 --- a/Mage.Sets/src/mage/cards/m/MelokuTheCloudedMirror.java +++ b/Mage.Sets/src/mage/cards/m/MelokuTheCloudedMirror.java @@ -28,9 +28,9 @@ public final class MelokuTheCloudedMirror extends CardImpl { addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.MOONFOLK); this.subtype.add(SubType.WIZARD); - this.power = new MageInt(2); this.toughness = new MageInt(4); + // Flying this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/SensorSplicer.java b/Mage.Sets/src/mage/cards/s/SensorSplicer.java index a98e971f6ec..41b1a9aabb0 100644 --- a/Mage.Sets/src/mage/cards/s/SensorSplicer.java +++ b/Mage.Sets/src/mage/cards/s/SensorSplicer.java @@ -1,7 +1,5 @@ - package mage.cards.s; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -17,8 +15,9 @@ import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.game.permanent.token.GolemToken; +import java.util.UUID; + /** - * * @author North */ public final class SensorSplicer extends CardImpl { @@ -31,14 +30,14 @@ public final class SensorSplicer extends CardImpl { } public SensorSplicer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); // When Sensor Splicer enters the battlefield, create a 3/3 colorless Golem artifact creature token. - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken(expansionSetCode)))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken()))); // Golem creatures you control have vigilance. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, filter))); diff --git a/Mage.Sets/src/mage/cards/v/VitalSplicer.java b/Mage.Sets/src/mage/cards/v/VitalSplicer.java index 0011ee7bcb0..acae21adf07 100644 --- a/Mage.Sets/src/mage/cards/v/VitalSplicer.java +++ b/Mage.Sets/src/mage/cards/v/VitalSplicer.java @@ -1,7 +1,5 @@ - package mage.cards.v; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; @@ -19,8 +17,9 @@ import mage.filter.common.FilterCreaturePermanent; import mage.game.permanent.token.GolemToken; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author North */ public final class VitalSplicer extends CardImpl { @@ -34,7 +33,7 @@ public final class VitalSplicer extends CardImpl { } public VitalSplicer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.ARTIFICER); @@ -42,7 +41,7 @@ public final class VitalSplicer extends CardImpl { this.toughness = new MageInt(1); // When Vital Splicer enters the battlefield, create a 3/3 colorless Golem artifact creature token. - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken(expansionSetCode)))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken()))); // {1}: Regenerate target Golem you control. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}")); diff --git a/Mage.Sets/src/mage/cards/w/WingSplicer.java b/Mage.Sets/src/mage/cards/w/WingSplicer.java index 7e59bf2d502..30e371471d3 100644 --- a/Mage.Sets/src/mage/cards/w/WingSplicer.java +++ b/Mage.Sets/src/mage/cards/w/WingSplicer.java @@ -1,7 +1,5 @@ - package mage.cards.w; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -17,8 +15,9 @@ import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.game.permanent.token.GolemToken; +import java.util.UUID; + /** - * * @author North */ public final class WingSplicer extends CardImpl { @@ -31,7 +30,7 @@ public final class WingSplicer extends CardImpl { } public WingSplicer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.ARTIFICER); @@ -39,8 +38,8 @@ public final class WingSplicer extends CardImpl { this.toughness = new MageInt(1); // When Wing Splicer enters the battlefield, create a 3/3 colorless Golem artifact creature token. - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken(expansionSetCode)))); - + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken()))); + // Golem creatures you control have flying. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter))); } diff --git a/Mage/src/main/java/mage/game/permanent/PermanentToken.java b/Mage/src/main/java/mage/game/permanent/PermanentToken.java index bba4ac18cce..493c87c24dd 100644 --- a/Mage/src/main/java/mage/game/permanent/PermanentToken.java +++ b/Mage/src/main/java/mage/game/permanent/PermanentToken.java @@ -28,7 +28,9 @@ public class PermanentToken extends PermanentImpl { // token's ZCC must be synced with original token to keep abilities settings // Example: kicker ability and kicked status - this.setZoneChangeCounter(this.token.getZoneChangeCounter(game), game); + if (game != null) { // game == null in GUI for card viewer's tokens + this.setZoneChangeCounter(this.token.getZoneChangeCounter(game), game); + } } public PermanentToken(final PermanentToken permanent) { diff --git a/Mage/src/main/java/mage/game/permanent/token/AngelToken.java b/Mage/src/main/java/mage/game/permanent/token/AngelToken.java index d5e3a3c6548..790828d7a26 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AngelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AngelToken.java @@ -19,7 +19,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"); + "ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR"); } public AngelToken(final AngelToken token) { 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 be61632bf18..4647649321a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken.java @@ -20,9 +20,9 @@ public final class BeastToken extends TokenImpl { power = new MageInt(3); toughness = new MageInt(3); - availableImageSetCodes = Arrays.asList("5DN", "C14", "C16", "C19", "CMA", "CMD", "CN2", + 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"); + "M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR"); } @Override 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 d413539a209..71bc7480f2a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java @@ -4,38 +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 LoneFox */ public final class BeastToken2 extends TokenImpl { - static final private List tokenImageSets = new ArrayList<>(); - - static { - tokenImageSets.addAll(Arrays.asList("ZEN", "C14", "DDD", "C15", "GVL", "MM3", "CMA", "E01", "C19", "C20", "ZNC")); - } - public BeastToken2() { - this(null, 0); - } - - public BeastToken2(String setCode) { - this(setCode, 0); - } - - public BeastToken2(String setCode, int tokenType) { super("Beast", "4/4 green Beast creature token"); - availableImageSetCodes = tokenImageSets; - setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setGreen(true); subtype.add(SubType.BEAST); power = new MageInt(4); toughness = new MageInt(4); + + availableImageSetCodes = Arrays.asList("C13", "C14", "C15", "C19", "CMA", "CMD", "GVL", "DDD", + "E01", "ODY", "SCG", "ZEN", "C20", "ZNC", "CMR"); } public BeastToken2(final BeastToken2 token) { @@ -50,7 +35,28 @@ public final class BeastToken2 extends TokenImpl { @Override public void setExpansionSetCodeForImage(String code) { super.setExpansionSetCodeForImage(code); - if (getOriginalExpansionSetCode().equals("C14") || getOriginalExpansionSetCode().equals("DDD") || getOriginalExpansionSetCode().equals("GVL") || getOriginalExpansionSetCode().equals("MM3")) { + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C14")) { + this.setTokenType(2); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C19")) { + this.setTokenType(2); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMA")) { + this.setTokenType(2); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DDD")) { + this.setTokenType(2); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("E01")) { + this.setTokenType(2); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMR")) { this.setTokenType(2); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/BreedingPitThrullToken.java b/Mage/src/main/java/mage/game/permanent/token/BreedingPitThrullToken.java index 118efd7ea7f..1f5aa8d7b4f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BreedingPitThrullToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BreedingPitThrullToken.java @@ -1,12 +1,12 @@ - package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** - * * @author spjspj */ public final class BreedingPitThrullToken extends TokenImpl { @@ -18,6 +18,8 @@ public final class BreedingPitThrullToken extends TokenImpl { color.setBlack(true); power = new MageInt(0); toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("CMR"); } public BreedingPitThrullToken(final BreedingPitThrullToken token) { @@ -27,4 +29,9 @@ public final class BreedingPitThrullToken extends TokenImpl { public BreedingPitThrullToken copy() { return new BreedingPitThrullToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/CarnivoreToken.java b/Mage/src/main/java/mage/game/permanent/token/CarnivoreToken.java index 4ad88b0f3c7..6c394717c73 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CarnivoreToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CarnivoreToken.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 CarnivoreToken extends TokenImpl { @@ -18,6 +18,8 @@ public final class CarnivoreToken extends TokenImpl { subtype.add(SubType.BEAST); power = new MageInt(3); toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("C13", "EMA", "TMP"); } public CarnivoreToken(final CarnivoreToken token) { @@ -27,4 +29,13 @@ public final class CarnivoreToken extends TokenImpl { public CarnivoreToken copy() { return new CarnivoreToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C13")) { + this.setTokenType(2); + } + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/CatToken.java b/Mage/src/main/java/mage/game/permanent/token/CatToken.java index 9611029dff1..acf05a78f19 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CatToken.java @@ -19,7 +19,7 @@ public final class CatToken extends TokenImpl { power = new MageInt(2); toughness = new MageInt(2); - availableImageSetCodes = Arrays.asList("PMEI", "C14", "C15", "C17", "C18", "M13", "M14", "MBS", "SOM"); + availableImageSetCodes = Arrays.asList("PMEI", "C14", "C15", "C17", "C18", "M13", "M14", "MBS", "SOM", "CMR"); } public CatToken(final CatToken token) { @@ -29,4 +29,9 @@ public final class CatToken extends TokenImpl { public CatToken copy() { return new CatToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/DragonEggDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/DragonEggDragonToken.java index 4d221a01987..04a1155edae 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DragonEggDragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DragonEggDragonToken.java @@ -1,4 +1,3 @@ - package mage.game.permanent.token; import mage.MageInt; @@ -7,27 +6,29 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; -import mage.constants.SubType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; +import java.util.Arrays; + /** - * * @author spjspj */ public final class DragonEggDragonToken extends TokenImpl { public DragonEggDragonToken() { super("Dragon", "2/2 red Dragon creature token with flying and \"{R}: This creature gets +1/+0 until end of turn.\""); - this.setOriginalExpansionSetCode("M14"); cardType.add(CardType.CREATURE); color.setRed(true); subtype.add(SubType.DRAGON); power = new MageInt(2); toughness = new MageInt(2); - addAbility(FlyingAbility.getInstance()); - addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}"))); + 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"); } public DragonEggDragonToken(final DragonEggDragonToken token) { @@ -37,4 +38,9 @@ public final class DragonEggDragonToken extends TokenImpl { public DragonEggDragonToken copy() { return new DragonEggDragonToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } 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 e98809db1cf..abef9785386 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java @@ -4,34 +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 ElephantToken extends TokenImpl { - static final private List tokenImageSets = new ArrayList<>(); - - static { - tokenImageSets.addAll(Arrays.asList("C14", "CNS", "DDD", "MM2", "WWK", "OGW", "C15", "GVL", "MM3", "CMA", "MH1")); - } - public ElephantToken() { - this((String) null); - } - - public ElephantToken(String setCode) { super("Elephant", "3/3 green Elephant creature token"); - availableImageSetCodes = tokenImageSets; - setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setGreen(true); subtype.add(SubType.ELEPHANT); power = new MageInt(3); 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"); } public ElephantToken(final ElephantToken token) { @@ -42,4 +31,8 @@ public final class ElephantToken extends TokenImpl { return new ElephantToken(this); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } \ No newline at end of file diff --git a/Mage/src/main/java/mage/game/permanent/token/ElfToken.java b/Mage/src/main/java/mage/game/permanent/token/ElfToken.java index baad518b72d..dcd8d62e187 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElfToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElfToken.java @@ -1,42 +1,26 @@ - package mage.game.permanent.token; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** - * * @author Loki */ public final class ElfToken extends TokenImpl { - static final private List tokenImageSets = new ArrayList<>(); - - static { - tokenImageSets.addAll(Arrays.asList("C14", "SHM", "EVG", "LRW", "ORI")); - } - public ElfToken() { super("Elf Warrior", "1/1 green Elf Warrior creature token"); - availableImageSetCodes = tokenImageSets; cardType.add(CardType.CREATURE); color.setGreen(true); subtype.add(SubType.ELF); subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); - } - @Override - public void setExpansionSetCodeForImage(String code) { - super.setExpansionSetCodeForImage(code); - if (getOriginalExpansionSetCode().equals("SHM")) { - this.setTokenType(1); - } + availableImageSetCodes = Arrays.asList("C13", "C14", "EVG", "EMA", "LRW", "MOR", "ORI", "SHM", "M19", "CMR"); } public ElfToken(final ElfToken token) { @@ -45,6 +29,11 @@ public final class ElfToken extends TokenImpl { @Override public ElfToken copy() { - return new ElfToken(this); //To change body of generated methods, choose Tools | Templates. + return new ElfToken(this); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/GolemToken.java b/Mage/src/main/java/mage/game/permanent/token/GolemToken.java index 8acd4b64121..4463f181005 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GolemToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GolemToken.java @@ -4,35 +4,22 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; /** * @author North */ public final class GolemToken extends TokenImpl { - static final private List tokenImageSets = new ArrayList<>(); - - static { - tokenImageSets.addAll(Arrays.asList("MM2", "NPH", "SOM", "MM3", "MH1", "M20")); - } - public GolemToken() { - this((String) null); - } - - public GolemToken(String setCode) { super("Golem", "3/3 colorless Golem artifact creature token"); - setOriginalExpansionSetCode(setCode); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); subtype.add(SubType.GOLEM); power = new MageInt(3); toughness = new MageInt(3); - availableImageSetCodes = tokenImageSets; + availableImageSetCodes = Arrays.asList("MM2", "NPH", "SOM", "MH1", "M20", "CMR"); } public GolemToken(final GolemToken token) { @@ -42,4 +29,9 @@ public final class GolemToken extends TokenImpl { public GolemToken copy() { return new GolemToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/MelokuTheCloudedMirrorToken.java b/Mage/src/main/java/mage/game/permanent/token/MelokuTheCloudedMirrorToken.java index c8837d51dcf..e30640b377d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MelokuTheCloudedMirrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MelokuTheCloudedMirrorToken.java @@ -19,8 +19,10 @@ public final class MelokuTheCloudedMirrorToken extends TokenImpl { subtype.add(SubType.ILLUSION); power = new MageInt(1); toughness = new MageInt(1); + addAbility(FlyingAbility.getInstance()); - availableImageSetCodes.addAll(Arrays.asList("CHK", "MMA", "MH1")); + + availableImageSetCodes = Arrays.asList("CHK", "MMA", "MH1", "CMR"); } public MelokuTheCloudedMirrorToken(final MelokuTheCloudedMirrorToken token) { @@ -30,4 +32,9 @@ public final class MelokuTheCloudedMirrorToken extends TokenImpl { public MelokuTheCloudedMirrorToken copy() { return new MelokuTheCloudedMirrorToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/OneDozenEyesBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/OneDozenEyesBeastToken.java index 5eb1c790a24..e19b0e192c5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OneDozenEyesBeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OneDozenEyesBeastToken.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 OneDozenEyesBeastToken extends TokenImpl { @@ -18,6 +18,8 @@ public final class OneDozenEyesBeastToken extends TokenImpl { subtype.add(SubType.BEAST); power = new MageInt(5); toughness = new MageInt(5); + + availableImageSetCodes = Arrays.asList("C13", "MRD"); } public OneDozenEyesBeastToken(final OneDozenEyesBeastToken token) { @@ -28,4 +30,12 @@ public final class OneDozenEyesBeastToken extends TokenImpl { return new OneDozenEyesBeastToken(this); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C13")) { + this.setTokenType(3); + } + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/PhyrexianRebirthHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/PhyrexianRebirthHorrorToken.java index 9d1bf07eb68..ffafe4ca4e5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PhyrexianRebirthHorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PhyrexianRebirthHorrorToken.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 PhyrexianRebirthHorrorToken extends TokenImpl { @@ -18,6 +18,8 @@ public final class PhyrexianRebirthHorrorToken extends TokenImpl { subtype.add(SubType.HORROR); power = new MageInt(0); toughness = new MageInt(0); + + availableImageSetCodes = Arrays.asList("C18", "C19", "MBS", "CMR"); } public PhyrexianRebirthHorrorToken(final PhyrexianRebirthHorrorToken token) { @@ -27,4 +29,9 @@ public final class PhyrexianRebirthHorrorToken extends TokenImpl { public PhyrexianRebirthHorrorToken copy() { return new PhyrexianRebirthHorrorToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/PlantToken.java b/Mage/src/main/java/mage/game/permanent/token/PlantToken.java index 48ac66cea80..b4e5db12667 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PlantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PlantToken.java @@ -16,7 +16,7 @@ public final class PlantToken extends TokenImpl { power = new MageInt(0); toughness = new MageInt(1); - availableImageSetCodes = Arrays.asList("WWK", "DDP", "OGW", "ZNR"); + availableImageSetCodes = Arrays.asList("ARC", "C13", "C18", "DDP", "OGW", "PC2", "WWK", "XLN", "ZEN", "ZNR", "CMR"); } public PlantToken(final PlantToken token) { @@ -26,4 +26,9 @@ public final class PlantToken extends TokenImpl { public PlantToken copy() { return new PlantToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java b/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java index bef552a52e4..3874bea8718 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.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 RhysTheRedeemedToken extends TokenImpl { @@ -20,6 +20,8 @@ public final class RhysTheRedeemedToken extends TokenImpl { subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("SHM"); } public RhysTheRedeemedToken(final RhysTheRedeemedToken token) { @@ -29,4 +31,13 @@ public final class RhysTheRedeemedToken extends TokenImpl { public RhysTheRedeemedToken copy() { return new RhysTheRedeemedToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("SHM")) { + this.setTokenType(2); + } + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/RockToken.java b/Mage/src/main/java/mage/game/permanent/token/RockToken.java index db464197223..915d097614a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RockToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RockToken.java @@ -11,6 +11,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.target.common.TargetAnyTarget; +import java.util.Arrays; + public final class RockToken extends TokenImpl { public RockToken() { @@ -23,6 +25,8 @@ public final class RockToken extends TokenImpl { new DamageTargetEffect(2), new TargetAnyTarget(), new SacrificeAttachmentCost(), new GenericManaCost(1), new TapSourceCost() ))); this.addAbility(new EquipAbility(1)); + + availableImageSetCodes = Arrays.asList("CMR"); } public RockToken(final RockToken token) { @@ -32,4 +36,9 @@ public final class RockToken extends TokenImpl { public RockToken copy() { return new RockToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/SalamnderWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/SalamnderWarriorToken.java index c03d2fa9ed5..57054c4a723 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SalamnderWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SalamnderWarriorToken.java @@ -4,6 +4,8 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author TheElk801 */ @@ -17,6 +19,8 @@ public final class SalamnderWarriorToken extends TokenImpl { subtype.add(SubType.WARRIOR); power = new MageInt(4); toughness = new MageInt(3); + + availableImageSetCodes = Arrays.asList("CMR"); } public SalamnderWarriorToken(final SalamnderWarriorToken token) { @@ -26,4 +30,9 @@ public final class SalamnderWarriorToken extends TokenImpl { public SalamnderWarriorToken copy() { return new SalamnderWarriorToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + } } 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 df6124ae59f..492bc669454 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java @@ -43,7 +43,8 @@ public final class SaprolingToken extends TokenImpl { "C19", "C20", "M21", - "ZNC" + "ZNC", + "CMR" )); } 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 f622eb1b1ca..08d507e0150 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java @@ -21,7 +21,7 @@ public final class SoldierToken extends TokenImpl { toughness = new MageInt(1); availableImageSetCodes = Arrays.asList("10E", "M15", "C14", "ORI", "ALA", "DDF", "THS", "M12", "M13", "MM2", "MMA", "RTR", - "SOM", "DDO", "M10", "ORI", "EMN", "EMA", "CN2", "C16", "MM3", "E01", "DOM", "MH1", "M20", "C20", "M21"); + "SOM", "DDO", "M10", "ORI", "EMN", "EMA", "CN2", "C16", "MM3", "E01", "DOM", "MH1", "M20", "C20", "M21", "CMR"); } public SoldierToken(final SoldierToken token) { @@ -49,5 +49,8 @@ public final class SoldierToken extends TokenImpl { if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("THS")) { this.setTokenType(RandomUtil.nextInt(2) + 1); } + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMR")) { + this.setTokenType(RandomUtil.nextInt(2) + 1); + } } } diff --git a/Mage/src/main/java/mage/game/permanent/token/SpawningGroundsBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/SpawningGroundsBeastToken.java index 5ad16fb45fb..bf19754bdd6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpawningGroundsBeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpawningGroundsBeastToken.java @@ -1,13 +1,13 @@ - - package mage.game.permanent.token; -import mage.constants.CardType; -import mage.constants.SubType; + import mage.MageInt; import mage.abilities.keyword.TrampleAbility; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.Arrays; /** - * * @author spjspj */ public final class SpawningGroundsBeastToken extends TokenImpl { @@ -19,7 +19,10 @@ public final class SpawningGroundsBeastToken extends TokenImpl { subtype.add(SubType.BEAST); power = new MageInt(5); toughness = new MageInt(5); + this.addAbility(TrampleAbility.getInstance()); + + availableImageSetCodes = Arrays.asList("C13", ""); } public SpawningGroundsBeastToken(final SpawningGroundsBeastToken token) { @@ -29,4 +32,13 @@ public final class SpawningGroundsBeastToken extends TokenImpl { public SpawningGroundsBeastToken copy() { return new SpawningGroundsBeastToken(this); } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C13")) { + this.setTokenType(4); + } + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java index 0d1ab1807b1..8a8e6d7b880 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java @@ -5,25 +5,15 @@ import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; import mage.constants.SubType; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; /** * @author nantuko */ public final class SpiritWhiteToken extends TokenImpl { - static final private List tokenImageSets = new ArrayList<>(); - - static { - tokenImageSets.addAll(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", "C20")); - } - public SpiritWhiteToken() { super("Spirit", "1/1 white Spirit creature token with flying"); - availableImageSetCodes = tokenImageSets; cardType.add(CardType.CREATURE); subtype.add(SubType.SPIRIT); color.setWhite(true); @@ -31,6 +21,9 @@ public final class SpiritWhiteToken extends TokenImpl { toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); + + 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", "C20", "CMR"); } @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 21e61a6f396..21c973f9b99 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java @@ -29,7 +29,7 @@ public final class TreasureToken extends TokenImpl { ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); - availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20", "M21"); + availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20", "M21", "CMR"); } public TreasureToken(final TreasureToken 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 5c2d49a6680..0f8ff06a987 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java @@ -24,7 +24,8 @@ public final class ZombieToken extends TokenImpl { "MBS", "ALA", "ISD", "C14", "C15", "C16", "C17", "CNS", "MMA", "BNG", "KTK", "DTK", "ORI", "OGW", "SOI", "EMN", "EMA", "MM3", "AKH", "CMA", "E01", - "RNA", "WAR", "MH1", "M20", "C19", "THB", "M21"); + "RNA", "WAR", "MH1", "M20", "C19", "THB", "M21", + "CMR"); } @Override