mirror of
https://github.com/correl/mage.git
synced 2024-11-14 19:19:32 +00:00
[CMR] added tokens support, added tokens download
This commit is contained in:
parent
92f9bc0c65
commit
9dd09c970a
34 changed files with 281 additions and 168 deletions
|
@ -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();
|
||||
|
|
|
@ -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|
|
||||
|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|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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)));
|
||||
}
|
||||
|
||||
|
|
|
@ -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)));
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
||||
|
|
|
@ -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)));
|
||||
|
|
|
@ -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}"));
|
||||
|
|
|
@ -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)));
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<String> 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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<String> 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);
|
||||
}
|
||||
}
|
|
@ -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<String> 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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<String> 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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,8 @@ public final class SaprolingToken extends TokenImpl {
|
|||
"C19",
|
||||
"C20",
|
||||
"M21",
|
||||
"ZNC"
|
||||
"ZNC",
|
||||
"CMR"
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<String> 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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue