mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00: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
|
@ -426,6 +426,29 @@ public class ScryfallImageSupportTokens {
|
|||
put("C20/Treasure", "https://api.scryfall.com/cards/tc20/19/en?format=image");
|
||||
put("C20/Zombie", "https://api.scryfall.com/cards/tc20/9/en?format=image");
|
||||
|
||||
// M21
|
||||
put("M21/Angel", "https://api.scryfall.com/cards/tm21/1/en?format=image");
|
||||
put("M21/Emblem Basri Ket", "https://api.scryfall.com/cards/tm21/16/en?format=image");
|
||||
put("M21/Beast", "https://api.scryfall.com/cards/tm21/10/en?format=image");
|
||||
put("M21/Bird", "https://api.scryfall.com/cards/tm21/2/en?format=image");
|
||||
put("M21/Cat/1", "https://api.scryfall.com/cards/tm21/20/en?format=image"); // 1/1
|
||||
put("M21/Cat/2", "https://api.scryfall.com/cards/tm21/11/en?format=image"); // 2/2
|
||||
put("M21/Construct", "https://api.scryfall.com/cards/tm21/14/en?format=image");
|
||||
put("M21/Demon", "https://api.scryfall.com/cards/tm21/6/en?format=image");
|
||||
put("M21/Dog", "https://api.scryfall.com/cards/tm21/19/en?format=image");
|
||||
put("M21/Emblem Garruk, Unleashed", "https://api.scryfall.com/cards/tm21/17/en?format=image");
|
||||
put("M21/Goblin Wizard", "https://api.scryfall.com/cards/tm21/8/en?format=image");
|
||||
put("M21/Griffin", "https://api.scryfall.com/cards/tm21/3/en?format=image");
|
||||
put("M21/Knight", "https://api.scryfall.com/cards/tm21/4/en?format=image");
|
||||
put("M21/Emblem Liliana, Waker of the Dead", "https://api.scryfall.com/cards/tm21/18/en?format=image");
|
||||
put("M21/Pirate", "https://api.scryfall.com/cards/tm21/9/en?format=image");
|
||||
put("M21/Saproling", "https://api.scryfall.com/cards/tm21/12/en?format=image");
|
||||
put("M21/Soldier", "https://api.scryfall.com/cards/tm21/5/en?format=image");
|
||||
put("M21/Treasure", "https://api.scryfall.com/cards/tm21/15/en?format=image");
|
||||
put("M21/Weird", "https://api.scryfall.com/cards/tm21/13/en?format=image");
|
||||
put("M21/Zombie", "https://api.scryfall.com/cards/tm21/7/en?format=image");
|
||||
|
||||
|
||||
// generate supported sets
|
||||
supportedSets.clear();
|
||||
for (String cardName : this.keySet()) {
|
||||
|
|
|
@ -45,6 +45,8 @@
|
|||
#|Generate|TOK:PTC|Wolf||
|
||||
#|Generate|TOK:PTC|Wurm||
|
||||
#|Generate|TOK:WMCQ|Angel||
|
||||
|
||||
# Emblems
|
||||
|Generate|EMBLEM!:BFZ|Emblem Gideon|||GideonAllyOfZendikarEmblem|
|
||||
|Generate|EMBLEM!:BFZ|Emblem Kiora|||KioraMasterOfTheDepthsEmblem|
|
||||
|Generate|EMBLEM!:BFZ|Emblem Nixilis|||ObNixilisReignitedEmblem|
|
||||
|
@ -102,6 +104,11 @@
|
|||
|Generate|EMBLEM:AER|Tezzeret the Schemer||Emblem Tezzeret|TezzeretTheSchemerEmblem|
|
||||
|Generate|EMBLEM:ELD|Garruk, Cursed Huntsman||Emblem Garruk|GarrukCursedHuntsmanEmblem|
|
||||
|Generate|EMBLEM:IKO|Narset Of The Ancient Way||Emblem Narset|NarsetOfTheAncientWayEmblem|
|
||||
|Generate|EMBLEM:M21|Basri Ket||Emblem Basri|BasriKetEmblem|
|
||||
|Generate|EMBLEM:M21|Garruk, Unleashed||Emblem Garruk|GarrukUnleashedEmblem|
|
||||
|Generate|EMBLEM:M21|Liliana, Waker of the Dead||Emblem Liliana|LilianaWakerOfTheDeadEmblem|
|
||||
|
||||
# Planes
|
||||
|Generate|PLANE:PCA|Plane - Academy at Tolaria West|||AcademyAtTolariaWestPlane|
|
||||
|Generate|PLANE:PCA|Plane - Agyrem|||AgyremPlane|
|
||||
|Generate|PLANE:PCA|Plane - Akoum|||AkoumPlane|
|
||||
|
@ -237,7 +244,6 @@
|
|||
|Generate|TOK:ATQ|Assembly-Worker|||AssemblyWorkerToken|
|
||||
|Generate|TOK:ATQ|Tetravite|||TetraviteToken|
|
||||
|Generate|TOK:AVR|Angel|||AngelToken|
|
||||
|Generate|TOK:AVR|Angel|||AngelTombToken|
|
||||
|Generate|TOK:AVR|Demon|||DemonToken|
|
||||
|Generate|TOK:AVR|Human|1||HumanToken|
|
||||
|Generate|TOK:AVR|Human|2||RedHumanToken|
|
||||
|
@ -388,7 +394,7 @@
|
|||
|Generate|TOK:C18|Cat|||CatToken|
|
||||
|Generate|TOK:C18|Cat Warrior|||CatWarriorToken|
|
||||
|Generate|TOK:C18|Clue|||ClueArtifactToken|
|
||||
|Generate|TOK:C18|Construct|1||RetrofitterFoundryToken|
|
||||
|Generate|TOK:C18|Construct|1||Construct4Token|
|
||||
|Generate|TOK:C18|Construct|2||StoneTrapIdolToken|
|
||||
|Generate|TOK:C18|Dragon|||DragonEggDragonToken|
|
||||
|Generate|TOK:C18|Dragon Egg|||NestingDragonToken|
|
||||
|
@ -451,8 +457,8 @@
|
|||
|Generate|TOK:CMA|Treefolk|||SylvanOfferingTreefolkToken|
|
||||
|Generate|TOK:CMA|Wolf|||WolfToken|
|
||||
|Generate|TOK:CMA|Zombie|||ZombieToken|
|
||||
|Generate|TOK:CMD|Beast|||BeastToken2|
|
||||
|Generate|TOK:CMD|Beast|||BeastToken|
|
||||
|Generate|TOK:CMD|Beast|1||BeastToken2|
|
||||
|Generate|TOK:CMD|Beast|2||BeastToken|
|
||||
|Generate|TOK:CMD|Dragon|||DragonToken2|
|
||||
|Generate|TOK:CMD|Eldrazi Spawn|||EldraziSpawnToken|
|
||||
|Generate|TOK:CMD|Elemental|||CallTheSkyBreakerElementalToken|
|
||||
|
@ -517,8 +523,8 @@
|
|||
|Generate|TOK:DD3EVG|Goblin|||GoblinToken|
|
||||
|Generate|TOK:DD3GVL|Ape|||PongifyApeToken|
|
||||
|Generate|TOK:DD3GVL|Bat|||BatToken|
|
||||
|Generate|TOK:DD3GVL|Beast|||BeastToken2|
|
||||
|Generate|TOK:DD3GVL|Beast|||BeastToken|
|
||||
|Generate|TOK:DD3GVL|Beast|1||BeastToken2|
|
||||
|Generate|TOK:DD3GVL|Beast|2||BeastToken|
|
||||
|Generate|TOK:DD3GVL|Elephant|||ElephantToken|
|
||||
|Generate|TOK:DD3JVC|Elemental Shaman|||ElementalShamanToken|
|
||||
|Generate|TOK:DDC|Demon|||ReignOfThePitToken|
|
||||
|
@ -969,8 +975,8 @@
|
|||
|Generate|TOK:MRD|Spirit|||SpiritWhiteToken|
|
||||
|Generate|TOK:NEM|Angel|||AngelToken|
|
||||
|Generate|TOK:NEM|Goblin|||GoblinToken|
|
||||
|Generate|TOK:NEM|Saproling|||SaprolingBurstToken|
|
||||
|Generate|TOK:NEM|Saproling|||SaprolingToken|
|
||||
|Generate|TOK:NEM|Saproling|1||SaprolingBurstToken|
|
||||
|Generate|TOK:NEM|Saproling|2||SaprolingToken|
|
||||
|Generate|TOK:NPH|Beast|||BeastToken|
|
||||
|Generate|TOK:NPH|Germ|||GermToken|
|
||||
|Generate|TOK:NPH|Goblin|||GoblinTokenWithHaste|
|
||||
|
@ -1007,7 +1013,6 @@
|
|||
|Generate|TOK:ONS|Soldier|||SoldierToken|
|
||||
|Generate|TOK:ONS|Zombie|||ZombieToken|
|
||||
|Generate|TOK:ORI|Angel|||AngelToken|
|
||||
|Generate|TOK:ORI|Angel|||AngelTombToken|
|
||||
|Generate|TOK:ORI|Ashaya, the Awoken World|||NissaSageAnimistToken|
|
||||
|Generate|TOK:ORI|Demon|||DemonToken|
|
||||
|Generate|TOK:ORI|Elemental|||ZendikarsRoilElementalToken|
|
||||
|
@ -1147,9 +1152,9 @@
|
|||
|Generate|TOK:THS|Golem|||HammerOfPurphorosGolemToken|
|
||||
|Generate|TOK:THS|Harpy|||AbhorrentOverlordHarpyToken|
|
||||
|Generate|TOK:THS|Satyr|||XenagosSatyrToken|
|
||||
|Generate|TOK:THS|Soldier|||AkroanSoldierToken|
|
||||
|Generate|TOK:THS|Soldier|1||SoldierToken|
|
||||
|Generate|TOK:THS|Soldier|2||SoldierToken|
|
||||
|Generate|TOK:THS|Soldier|3||AkroanSoldierToken|
|
||||
|Generate|TOK:TMP|Beast|||CarnivoreToken|
|
||||
|Generate|TOK:TMP|Dog|||GreenDogToken|
|
||||
|Generate|TOK:TMP|Pegasus|||PegasusToken|
|
||||
|
@ -1212,8 +1217,8 @@
|
|||
|Generate|TOK:VMA|Goblin|||GoblinToken|
|
||||
|Generate|TOK:VMA|Insect|||InsectToken|
|
||||
|Generate|TOK:VMA|Reflection|||ReflectionToken|
|
||||
|Generate|TOK:VMA|Saproling|||SaprolingBurstToken|
|
||||
|Generate|TOK:VMA|Saproling|||SaprolingToken|
|
||||
|Generate|TOK:VMA|Saproling|1||SaprolingBurstToken|
|
||||
|Generate|TOK:VMA|Saproling|2||SaprolingToken|
|
||||
|Generate|TOK:VMA|Soldier|||SoldierToken|
|
||||
|Generate|TOK:VMA|Spirit|||SpiritWhiteToken|
|
||||
|Generate|TOK:VMA|Squirrel|||SquirrelToken|
|
||||
|
@ -1403,5 +1408,25 @@
|
|||
|Generate|TOK:C20|Treasure|||TreasureToken|
|
||||
|Generate|TOK:C20|Zombie|||ZombieToken|
|
||||
|
||||
# M21
|
||||
|Generate|TOK:M21|Angel|||AngelToken|
|
||||
|Generate|TOK:M21|Beast|||BeastToken|
|
||||
|Generate|TOK:M21|Bird|||BirdToken|
|
||||
|Generate|TOK:M21|Cat|1||GreenCatToken|
|
||||
|Generate|TOK:M21|Cat|2||GreenCat2Token|
|
||||
|Generate|TOK:M21|Construct|||Construct4Token|
|
||||
|Generate|TOK:M21|Demon|||DemonToken|
|
||||
|Generate|TOK:M21|Dog|||WhiteDogToken|
|
||||
|Generate|TOK:M21|Goblin Wizard|||GoblinWizardToken|
|
||||
|Generate|TOK:M21|Griffin|||GriffinToken|
|
||||
|Generate|TOK:M21|Knight|||KnightToken|
|
||||
|Generate|TOK:M21|Pirate|||PursuedWhaleToken|
|
||||
|Generate|TOK:M21|Saproling|||SaprolingToken|
|
||||
|Generate|TOK:M21|Soldier|||SoldierToken|
|
||||
|Generate|TOK:M21|Treasure|||TreasureToken|
|
||||
|Generate|TOK:M21|Weird|||WeirdToken2|
|
||||
|Generate|TOK:M21|Zombie|||ZombieToken|
|
||||
|
||||
# JMP
|
||||
|Generate|TOK:JMP|Unicorn|||UnicornToken|
|
||||
|Generate|TOK:JMP|Unicorn|||UnicornToken|
|
||||
|Generate|TOK:JMP|Dog|||WhiteDogToken|
|
|
@ -16,7 +16,7 @@ import mage.filter.common.FilterControlledPermanent;
|
|||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.permanent.TokenPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.token.RetrofitterFoundryToken;
|
||||
import mage.game.permanent.token.Construct4Token;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -37,7 +37,7 @@ public final class ChromeReplicator extends CardImpl {
|
|||
|
||||
// When Chrome Replicator enters the battlefield, if you control two or more nonland, nontoken permanents with the same name as one another, create a 4/4 colorless Construct artifact creature token.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new RetrofitterFoundryToken())),
|
||||
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new Construct4Token())),
|
||||
ChromeReplicatorCondition.instance, "When {this} enters the battlefield, " +
|
||||
"if you control two or more nonland, nontoken permanents with the same name as one another, " +
|
||||
"create a 4/4 colorless Construct artifact creature token."
|
||||
|
|
|
@ -14,7 +14,7 @@ import mage.constants.Duration;
|
|||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.permanent.token.GreenCatToken2;
|
||||
import mage.game.permanent.token.GreenCat2Token;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -33,7 +33,7 @@ public final class JolraelMwonvuliRecluse extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Whenever you draw your second card each turn, create a 2/2 green Cat creature token.
|
||||
this.addAbility(new DrawSecondCardTriggeredAbility(new CreateTokenEffect(new GreenCatToken2()), false));
|
||||
this.addAbility(new DrawSecondCardTriggeredAbility(new CreateTokenEffect(new GreenCat2Token()), false));
|
||||
|
||||
// {4}{G}{G}: Until end of turn, creatures you control have base power and toughness X/X, where X is the number of cards in your hand.
|
||||
this.addAbility(new SimpleActivatedAbility(new SetPowerToughnessAllEffect(
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.r;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
|
@ -14,13 +13,14 @@ import mage.constants.CardType;
|
|||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.game.permanent.token.RetrofitterFoundryToken;
|
||||
import mage.game.permanent.token.Construct4Token;
|
||||
import mage.game.permanent.token.ServoToken;
|
||||
import mage.game.permanent.token.ThopterColorlessToken;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class RetrofitterFoundry extends CardImpl {
|
||||
|
@ -62,7 +62,7 @@ public final class RetrofitterFoundry extends CardImpl {
|
|||
|
||||
// {T}, Sacrifice a Thopter: Create a 4/4 colorless Construct artifact creature token.
|
||||
ability = new SimpleActivatedAbility(
|
||||
new CreateTokenEffect(new RetrofitterFoundryToken()),
|
||||
new CreateTokenEffect(new Construct4Token()),
|
||||
new TapSourceCost()
|
||||
);
|
||||
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter2)));
|
||||
|
|
|
@ -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…
Reference in a new issue