mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 21:12:04 -08:00
Tokens improves:
* [M21] added tokens; * [M21] added tokens download support; * Fixed wrong images for some tokens (Angel, Beast, Bird, Cat, etc);
This commit is contained in:
parent
4dc99fbb58
commit
99ceeb5076
26 changed files with 298 additions and 206 deletions
|
|
@ -1,13 +1,13 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class AkroanSoldierToken extends TokenImpl {
|
||||
|
|
@ -21,6 +21,8 @@ public final class AkroanSoldierToken extends TokenImpl {
|
|||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("THS");
|
||||
}
|
||||
|
||||
public AkroanSoldierToken(final AkroanSoldierToken token) {
|
||||
|
|
@ -30,4 +32,13 @@ public final class AkroanSoldierToken extends TokenImpl {
|
|||
public AkroanSoldierToken copy() {
|
||||
return new AkroanSoldierToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("THS")) {
|
||||
this.setTokenType(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,36 +1,29 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import mage.MageInt;
|
||||
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;
|
||||
|
||||
public final class AngelToken extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("AVR", "C14", "CFX", "GTC", "ISD", "M14", "ORI", "SOI", "ZEN", "C15", "MM3"));
|
||||
}
|
||||
|
||||
public AngelToken() {
|
||||
this((String)null);
|
||||
}
|
||||
|
||||
public AngelToken(String setCode) {
|
||||
super("Angel", "4/4 white Angel creature token with flying");
|
||||
availableImageSetCodes = tokenImageSets;
|
||||
setOriginalExpansionSetCode(setCode);
|
||||
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
subtype.add(SubType.ANGEL);
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
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");
|
||||
}
|
||||
|
||||
public AngelToken(final AngelToken token) {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package mage.game.permanent.token;
|
|||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.util.RandomUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
|
|
@ -12,34 +13,37 @@ import java.util.Arrays;
|
|||
public final class BeastToken extends TokenImpl {
|
||||
|
||||
public BeastToken() {
|
||||
this(null, 0);
|
||||
}
|
||||
|
||||
public BeastToken(String setCode) {
|
||||
this(setCode, 0);
|
||||
}
|
||||
|
||||
public BeastToken(String setCode, int tokenType) {
|
||||
super("Beast", "3/3 green Beast creature token");
|
||||
setOriginalExpansionSetCode(setCode);
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
subtype.add(SubType.BEAST);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C14", "LRW", "M15", "M14", "DDL", "M13", "M12", "DD3GVL", "NPH", "M11", "M10", "EVE", "MM3", "CMA", "E01", "C19", "IKO");
|
||||
availableImageSetCodes = Arrays.asList("5DN", "C14", "C16", "C19", "CMA", "CMD", "CN2",
|
||||
"DD3C", "DD3GVL", "DDD", "DDL", "DST", "E01", "EVE", "LRW", "M10", "M11", "M12",
|
||||
"M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode().equals("M15")) {
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M15")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
if (getOriginalExpansionSetCode().equals("DD3GVL") || getOriginalExpansionSetCode().equals("C14") || getOriginalExpansionSetCode().equals("DDD") || getOriginalExpansionSetCode().equals("MM3")) {
|
||||
this.setTokenType(1);
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMD")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DD3GVL")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DD3C")) {
|
||||
setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) {
|
||||
setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -49,6 +53,6 @@ public final class BeastToken extends TokenImpl {
|
|||
|
||||
@Override
|
||||
public BeastToken copy() {
|
||||
return new BeastToken(this); //To change body of generated methods, choose Tools | Templates.
|
||||
return new BeastToken(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import mage.MageInt;
|
|||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.util.RandomUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
|
|
@ -21,7 +22,7 @@ public final class BirdToken extends TokenImpl {
|
|||
toughness = new MageInt(1);
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("BNG", "RTR", "ZEN", "C16", "MM3", "DGM"));
|
||||
availableImageSetCodes.addAll(Arrays.asList("BNG", "CSP", "DGM", "JUD", "MM3", "RTR", "VMA", "ZEN", "MH1", "C20", "M21"));
|
||||
}
|
||||
|
||||
public BirdToken(final BirdToken token) {
|
||||
|
|
@ -36,11 +37,9 @@ public final class BirdToken extends TokenImpl {
|
|||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("BNG")) {
|
||||
this.setTokenType(1);
|
||||
}
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C16")) {
|
||||
this.setTokenType(1);
|
||||
setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,34 +1,32 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class RetrofitterFoundryToken extends TokenImpl {
|
||||
public final class Construct4Token extends TokenImpl {
|
||||
|
||||
public RetrofitterFoundryToken() {
|
||||
this("C18");
|
||||
}
|
||||
|
||||
public RetrofitterFoundryToken(String setCode) {
|
||||
public Construct4Token() {
|
||||
super("Construct", "4/4 colorless Construct artifact creature token");
|
||||
this.setOriginalExpansionSetCode(setCode);
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.CONSTRUCT);
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("C18", "M21"));
|
||||
}
|
||||
|
||||
public RetrofitterFoundryToken(final RetrofitterFoundryToken token) {
|
||||
public Construct4Token(final Construct4Token token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public RetrofitterFoundryToken copy() {
|
||||
return new RetrofitterFoundryToken(this);
|
||||
public Construct4Token copy() {
|
||||
return new Construct4Token(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +1,13 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import java.util.Arrays;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LoneFox
|
||||
*/
|
||||
public final class DemonToken extends TokenImpl {
|
||||
|
|
@ -22,7 +20,8 @@ public final class DemonToken extends TokenImpl {
|
|||
power = new MageInt(5);
|
||||
toughness = new MageInt(5);
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
availableImageSetCodes.addAll(Arrays.asList("ISD", "AVR", "C14", "ORI", "M20"));
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("AVR", "C14", "DD3A", "ISD", "ORI", "M20", "M21"));
|
||||
}
|
||||
|
||||
public DemonToken(final DemonToken token) {
|
||||
|
|
@ -30,15 +29,7 @@ public final class DemonToken extends TokenImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
public DemonToken copy() {
|
||||
public DemonToken copy() {
|
||||
return new DemonToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
if (getOriginalExpansionSetCode().equals("C14")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import mage.abilities.keyword.ProwessAbility;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
|
|
@ -19,6 +21,8 @@ public final class GoblinWizardToken extends TokenImpl {
|
|||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
this.addAbility(new ProwessAbility());
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("M21"));
|
||||
}
|
||||
|
||||
private GoblinWizardToken(final GoblinWizardToken token) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class GreenCat2Token extends TokenImpl {
|
||||
|
||||
public GreenCat2Token() {
|
||||
super("Cat", "2/2 green Cat creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
subtype.add(SubType.CAT);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("M21"));
|
||||
}
|
||||
|
||||
private GreenCat2Token(final GreenCat2Token token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public GreenCat2Token copy() {
|
||||
return new GreenCat2Token(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M21")) {
|
||||
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 GreenCatToken extends TokenImpl {
|
||||
|
|
@ -18,8 +18,10 @@ public final class GreenCatToken extends TokenImpl {
|
|||
subtype.add(SubType.CAT);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("6ED", "M21"));
|
||||
}
|
||||
|
||||
|
||||
public GreenCatToken(final GreenCatToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class GreenCatToken2 extends TokenImpl {
|
||||
|
||||
public GreenCatToken2() {
|
||||
super("Cat", "2/2 green Cat creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
subtype.add(SubType.CAT);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
}
|
||||
|
||||
private GreenCatToken2(final GreenCatToken2 token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public GreenCatToken2 copy() {
|
||||
return new GreenCatToken2(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class GriffinToken extends TokenImpl {
|
||||
|
|
@ -16,11 +16,12 @@ public final class GriffinToken extends TokenImpl {
|
|||
super("Griffin", "2/2 white Griffin creature token with flying");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
|
||||
subtype.add(SubType.GRIFFIN);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("DDG", "DDH", "DDL", "TSP", "M21"));
|
||||
}
|
||||
|
||||
public GriffinToken(final GriffinToken token) {
|
||||
|
|
|
|||
|
|
@ -1,34 +1,27 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FirstStrikeAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class HuntedDragonKnightToken extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("ORI", "RTR", "C15"));
|
||||
}
|
||||
|
||||
public HuntedDragonKnightToken() {
|
||||
super("Knight", "2/2 white Knight creature tokens with first strike");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
|
||||
subtype.add(SubType.KNIGHT);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("ORI", "RTR", "C15");
|
||||
}
|
||||
|
||||
public HuntedDragonKnightToken(final HuntedDragonKnightToken token) {
|
||||
|
|
@ -38,4 +31,13 @@ public final class HuntedDragonKnightToken extends TokenImpl {
|
|||
public HuntedDragonKnightToken copy() {
|
||||
return new HuntedDragonKnightToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C15")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,29 +6,16 @@ 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 KnightToken extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("ORI", "RTR", "C15", "CMA", "DOM", "ELD"));
|
||||
}
|
||||
|
||||
public KnightToken() {
|
||||
super("Knight", "2/2 white Knight creature token with vigilance");
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C15")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DOM")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
subtype.add(SubType.KNIGHT);
|
||||
|
|
@ -36,7 +23,7 @@ public final class KnightToken extends TokenImpl {
|
|||
toughness = new MageInt(2);
|
||||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = tokenImageSets;
|
||||
availableImageSetCodes = Arrays.asList("C13", "C15", "CMA", "DGM", "ORI", "RTR", "M19", "ELD", "M21");
|
||||
}
|
||||
|
||||
public KnightToken(final KnightToken token) {
|
||||
|
|
@ -46,4 +33,17 @@ public final class KnightToken extends TokenImpl {
|
|||
public KnightToken copy() {
|
||||
return new KnightToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C15")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DOM")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ import mage.constants.SubType;
|
|||
import mage.constants.TargetController;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
|
|
@ -34,6 +36,8 @@ public final class PursuedWhaleToken extends TokenImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new AttacksIfAbleAllEffect(
|
||||
filter, Duration.WhileOnBattlefield, true
|
||||
)));
|
||||
|
||||
availableImageSetCodes = Arrays.asList("M21");
|
||||
}
|
||||
|
||||
private PursuedWhaleToken(final PursuedWhaleToken token) {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ public final class SaprolingToken extends TokenImpl {
|
|||
"MM2",
|
||||
"MM3",
|
||||
"MMA",
|
||||
"NEM",
|
||||
"RTR",
|
||||
"C15",
|
||||
"MM3",
|
||||
|
|
@ -40,7 +41,8 @@ public final class SaprolingToken extends TokenImpl {
|
|||
"RIX",
|
||||
"DOM", // 3 different token images
|
||||
"C19",
|
||||
"C20"
|
||||
"C20",
|
||||
"M21"
|
||||
));
|
||||
}
|
||||
|
||||
|
|
@ -52,13 +54,6 @@ public final class SaprolingToken extends TokenImpl {
|
|||
subtype.add(SubType.SAPROLING);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C16")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DOM")) {
|
||||
this.setTokenType(RandomUtil.nextInt(3) + 1);
|
||||
}
|
||||
}
|
||||
|
||||
public SaprolingToken(final SaprolingToken token) {
|
||||
|
|
@ -68,4 +63,23 @@ public final class SaprolingToken extends TokenImpl {
|
|||
public SaprolingToken copy() {
|
||||
return new SaprolingToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NEM")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("VMA")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C16")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("DOM")) {
|
||||
this.setTokenType(RandomUtil.nextInt(3) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,42 +5,23 @@ 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 BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public final class SoldierToken extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(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"));
|
||||
}
|
||||
|
||||
public SoldierToken() {
|
||||
super("Soldier", "1/1 white Soldier creature token");
|
||||
availableImageSetCodes = tokenImageSets;
|
||||
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
subtype.add(SubType.SOLDIER);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("THS")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && (getOriginalExpansionSetCode().equals("CN2") || getOriginalExpansionSetCode().equals("MM3"))) {
|
||||
setTokenType(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");
|
||||
}
|
||||
|
||||
public SoldierToken(final SoldierToken token) {
|
||||
|
|
@ -49,6 +30,24 @@ public final class SoldierToken extends TokenImpl {
|
|||
|
||||
@Override
|
||||
public SoldierToken copy() {
|
||||
return new SoldierToken(this); //To change body of generated methods, choose Tools | Templates.
|
||||
return new SoldierToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CN2")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CN2")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("THS")) {
|
||||
this.setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,17 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LoneFox
|
||||
*/
|
||||
public final class SoldierTokenWithHaste extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("GTC", "MM3"));
|
||||
}
|
||||
|
||||
public SoldierTokenWithHaste() {
|
||||
super("Soldier", "1/1 red and white Soldier creature token with haste");
|
||||
cardType.add(CardType.CREATURE);
|
||||
|
|
@ -31,12 +21,18 @@ public final class SoldierTokenWithHaste extends TokenImpl {
|
|||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
addAbility(HasteAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("GTC", "MM3");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("GTC")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import mage.abilities.mana.SimpleManaAbility;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.util.RandomUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
|
@ -24,11 +25,11 @@ public final class TreasureToken extends TokenImpl {
|
|||
super("Treasure", "Treasure token");
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
subtype.add(SubType.TREASURE);
|
||||
availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20");
|
||||
|
||||
Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20", "M21");
|
||||
}
|
||||
|
||||
public TreasureToken(final TreasureToken token) {
|
||||
|
|
@ -38,4 +39,13 @@ public final class TreasureToken extends TokenImpl {
|
|||
public TreasureToken copy() {
|
||||
return new TreasureToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("XLN")) {
|
||||
this.setTokenType(RandomUtil.nextInt(4) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import mage.MageInt;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
|
|
@ -21,6 +23,8 @@ public final class WeirdToken2 extends TokenImpl {
|
|||
subtype.add(SubType.WEIRD);
|
||||
power = new MageInt(xValue);
|
||||
toughness = new MageInt(xValue);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("M21");
|
||||
}
|
||||
|
||||
private WeirdToken2(final WeirdToken2 token) {
|
||||
|
|
|
|||
|
|
@ -4,8 +4,9 @@ import mage.MageInt;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author htrajan
|
||||
*/
|
||||
public final class WhiteDogToken extends TokenImpl {
|
||||
|
|
@ -18,6 +19,8 @@ public final class WhiteDogToken extends TokenImpl {
|
|||
color.setWhite(true);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("M21", "JMP"));
|
||||
}
|
||||
|
||||
private WhiteDogToken(final WhiteDogToken token) {
|
||||
|
|
|
|||
|
|
@ -5,30 +5,26 @@ 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 BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public final class ZombieToken extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("10E", "M10", "M11", "M12", "M13", "M14", "M15", "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"));
|
||||
}
|
||||
|
||||
public ZombieToken() {
|
||||
super("Zombie", "2/2 black Zombie creature token");
|
||||
availableImageSetCodes = tokenImageSets;
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.ZOMBIE);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("10E", "M10", "M11", "M12", "M13", "M14", "M15",
|
||||
"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");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -55,6 +51,6 @@ public final class ZombieToken extends TokenImpl {
|
|||
|
||||
@Override
|
||||
public ZombieToken copy() {
|
||||
return new ZombieToken(this); //To change body of generated methods, choose Tools | Templates.
|
||||
return new ZombieToken(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue