Added NCC Token Images (#9026)

* Removed BOK as a token image source as it has no token images

* Fixed zombie tokens from C20 not showing in game

* Fixed alphabetically misplaced C21 token in card viewer

* Added support for and assigned NCC token images
This commit is contained in:
PurpleCrowbar 2022-05-28 23:27:50 +01:00 committed by GitHub
parent a62f29a7c9
commit c667458198
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 210 additions and 42 deletions

View file

@ -22,7 +22,7 @@ public final class AnotherSpiritToken extends TokenImpl {
this.addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("BOK", "VOC");
availableImageSetCodes = Arrays.asList("VOC");
}
@Override

View file

@ -22,7 +22,7 @@ public final class BeastToken extends TokenImpl {
availableImageSetCodes = Arrays.asList("5DN", "C14", "C16", "C19", "CMA", "CMD", "CN2", "GVL",
"DD3C", "DD3GVL", "DDD", "DDL", "DST", "E01", "EVE", "LRW", "M10", "M11", "M12",
"M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC", "MIC", "NEC", "2XM");
"M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC", "MIC", "NEC", "2XM", "NCC");
}
@Override

View file

@ -23,7 +23,7 @@ public final class CallTheSkyBreakerElementalToken extends TokenImpl {
this.addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("C15", "CMD", "EMA", "EVE", "C21");
availableImageSetCodes = Arrays.asList("C15", "CMD", "EMA", "EVE", "C21", "NCC");
}
@Override
@ -33,6 +33,10 @@ public final class CallTheSkyBreakerElementalToken extends TokenImpl {
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) {
setTokenType(2);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) {
setTokenType(2);
}
}
public CallTheSkyBreakerElementalToken(final CallTheSkyBreakerElementalToken token) {

View file

@ -20,7 +20,7 @@ public final class CatBeastToken extends TokenImpl {
power = new MageInt(2);
toughness = new MageInt(2);
availableImageSetCodes = Arrays.asList("ZNR");
availableImageSetCodes = Arrays.asList("ZNR", "NCC");
}
public CatBeastToken(final CatBeastToken token) {

View file

@ -29,7 +29,7 @@ public final class ClueArtifactToken extends TokenImpl {
ability.addCost(cost);
this.addAbility(ability);
availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC", "MID", "VOC", "SLD", "2XM");
availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC", "MID", "VOC", "SLD", "2XM", "NCC");
}
@Override

View file

@ -26,7 +26,7 @@ public final class DemonFlyingToken extends TokenImpl {
addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("C14", "C21");
availableImageSetCodes = Arrays.asList("C14", "C21", "NCC");
}
public DemonFlyingToken(final DemonFlyingToken token) {

View file

@ -34,7 +34,7 @@ public final class DevilToken extends TokenImpl {
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
availableImageSetCodes = Arrays.asList("SOI", "WAR", "AFR", "MID", "SNC");
availableImageSetCodes = Arrays.asList("SOI", "WAR", "AFR", "MID", "SNC", "NCC");
}
public DevilToken(final DevilToken token) {

View file

@ -24,7 +24,7 @@ public final class DrakeToken extends TokenImpl {
this.addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("AKH", "C15", "C19", "M13", "C20", "ZNR", "C21", "UMA");
availableImageSetCodes = Arrays.asList("AKH", "C15", "C19", "M13", "C20", "ZNR", "C21", "UMA", "NCC");
}
public DrakeToken(final DrakeToken token) {

View file

@ -26,7 +26,7 @@ public final class EldraziSpawnToken extends TokenImpl {
toughness = new MageInt(1);
addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(1), new SacrificeSourceCost()));
availableImageSetCodes = Arrays.asList("C17", "CMD", "DDP", "MM2", "PC2", "ROE", "MIC", "2XM");
availableImageSetCodes = Arrays.asList("C17", "CMD", "DDP", "MM2", "PC2", "ROE", "MIC", "2XM", "NCC");
}
@Override

View file

@ -18,7 +18,7 @@ public final class EldraziToken extends TokenImpl {
power = new MageInt(10);
toughness = new MageInt(10);
availableImageSetCodes = Arrays.asList("BFZ", "C19", "C21");
availableImageSetCodes = Arrays.asList("BFZ", "C19", "C21", "NCC");
}
public EldraziToken(final EldraziToken token) {

View file

@ -20,7 +20,7 @@ public final class ElephantToken extends TokenImpl {
toughness = new MageInt(3);
availableImageSetCodes = Arrays.asList("C14", "C15", "CMA", "CMD", "CNS", "GVL", "DDD",
"EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC", "NEC", "2XM");
"EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21", "MIC", "NEC", "2XM", "NCC");
}
public ElephantToken(final ElephantToken token) {

View file

@ -20,7 +20,7 @@ public final class ElfWarriorToken extends TokenImpl {
power = new MageInt(1);
toughness = new MageInt(1);
availableImageSetCodes = Arrays.asList("C14", "C16", "EVG", "EMA", "LRW", "MOR", "ORI", "SHM", "M19", "CMR", "KHM");
availableImageSetCodes = Arrays.asList("C14", "C16", "EVG", "EMA", "LRW", "MOR", "ORI", "SHM", "M19", "CMR", "KHM", "NCC");
}
public ElfWarriorToken(final ElfWarriorToken token) {

View file

@ -5,6 +5,8 @@ import mage.abilities.keyword.FlyingAbility;
import mage.constants.CardType;
import mage.constants.SubType;
import java.util.Arrays;
/**
* @author spjspj
*/
@ -18,6 +20,8 @@ public final class FaerieToken extends TokenImpl {
power = new MageInt(1);
toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("ELD", "NCC");
}
public FaerieToken(final FaerieToken token) {

View file

@ -36,7 +36,7 @@ public final class FoodToken extends TokenImpl {
ability.addCost(cost);
this.addAbility(ability);
availableImageSetCodes = Arrays.asList("ELD", "C21", "MH2");
availableImageSetCodes = Arrays.asList("ELD", "C21", "MH2", "NCC");
}
@Override

View file

@ -16,7 +16,7 @@ public final class GoatToken extends TokenImpl {
static final private List<String> tokenImageSets = new ArrayList<>();
static {
tokenImageSets.addAll(Arrays.asList("EVE", "M13", "M14", "C14", "C16", "ELD", "THB"));
tokenImageSets.addAll(Arrays.asList("EVE", "M13", "M14", "C14", "C16", "ELD", "THB", "NCC"));
}
public GoatToken() {

View file

@ -18,7 +18,7 @@ public final class HumanSoldierToken extends TokenImpl {
power = new MageInt(1);
toughness = new MageInt(1);
availableImageSetCodes = Arrays.asList("SOI", "THB", "IKO", "MIC", "2XM");
availableImageSetCodes = Arrays.asList("SOI", "THB", "IKO", "MIC", "2XM", "NCC");
}
@Override

View file

@ -19,7 +19,7 @@ public final class HumanToken extends TokenImpl {
power = new MageInt(1);
toughness = new MageInt(1);
availableImageSetCodes.addAll(Arrays.asList("DKA", "AVR", "FNMP", "RNA", "ELD", "C19", "C20", "MID", "VOW"));
availableImageSetCodes.addAll(Arrays.asList("DKA", "AVR", "FNMP", "RNA", "ELD", "C19", "C20", "MID", "VOW", "NCC"));
}
public HumanToken(final HumanToken token) {

View file

@ -24,7 +24,7 @@ public final class InsectToken extends TokenImpl {
power = new MageInt(1);
toughness = new MageInt(1);
availableImageSetCodes = Arrays.asList("M10", "MM2", "SOI", "ZNR", "VOW");
availableImageSetCodes = Arrays.asList("M10", "MM2", "SOI", "ZNR", "VOW", "NCC");
}
public InsectToken(final InsectToken token) {

View file

@ -7,6 +7,8 @@ import mage.MageInt;
import mage.abilities.common.DiesSourceTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import java.util.Arrays;
/**
*
* @author spjspj
@ -21,6 +23,25 @@ public final class Ooze2Token extends TokenImpl {
power = new MageInt(2);
toughness = new MageInt(2);
this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new OozeToken(1, 1), 2), false));
availableImageSetCodes = Arrays.asList("M11", "PCA", "NCC");
}
@Override
public void setExpansionSetCodeForImage(String code) {
super.setExpansionSetCodeForImage(code);
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M11")) {
setTokenType(2);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("PCA")) {
setTokenType(2);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) {
setTokenType(2);
}
}
public Ooze2Token(final Ooze2Token token) {

View file

@ -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;
@ -15,6 +16,8 @@ public final class OozeToken extends TokenImpl {
subtype.add(SubType.OOZE);
this.power = new MageInt(power);
this.toughness = new MageInt(toughness);
availableImageSetCodes = Arrays.asList("M11", "PCA", "NCC");
}
public OozeToken() {
@ -28,6 +31,23 @@ public final class OozeToken extends TokenImpl {
availableImageSetCodes = Arrays.asList("ALA", "ROE", "RTR", "MM3", "UMA", "GK2", "2XM");
}
@Override
public void setExpansionSetCodeForImage(String code) {
super.setExpansionSetCodeForImage(code);
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M11")) {
setTokenType(1);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("PCA")) {
setTokenType(1);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) {
setTokenType(1);
}
}
public OozeToken(final OozeToken token) {
super(token);
}

View file

@ -16,7 +16,7 @@ public final class PlantToken extends TokenImpl {
power = new MageInt(0);
toughness = new MageInt(1);
availableImageSetCodes = Arrays.asList("ARC", "C18", "DDP", "OGW", "PC2", "WWK", "XLN", "ZEN", "ZNR", "CMR", "NEC", "2XM");
availableImageSetCodes = Arrays.asList("ARC", "C18", "DDP", "OGW", "PC2", "WWK", "XLN", "ZEN", "ZNR", "CMR", "NEC", "2XM", "NCC");
}
public PlantToken(final PlantToken token) {

View file

@ -16,6 +16,9 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import mage.util.RandomUtil;
import java.util.Arrays;
/**
*
@ -39,6 +42,21 @@ public final class RekindlingPhoenixToken extends TokenImpl {
filter.add(new NamePredicate("Rekindling Phoenix"));
ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability);
availableImageSetCodes = Arrays.asList("RIX", "NCC");
}
@Override
public void setExpansionSetCodeForImage(String code) {
super.setExpansionSetCodeForImage(code);
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("RIX")) {
this.setTokenType(1);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) {
this.setTokenType(1);
}
}
public RekindlingPhoenixToken(final RekindlingPhoenixToken token) {

View file

@ -49,7 +49,8 @@ public final class SaprolingToken extends TokenImpl {
"C21",
"AFC",
"NEC",
"2XM"
"2XM",
"NCC"
));
}

View file

@ -19,7 +19,7 @@ public final class SnakeToken extends TokenImpl {
power = new MageInt(1);
toughness = new MageInt(1);
availableImageSetCodes = Arrays.asList("6ED", "BOK", "C15", "C19", "CHK", "CMD", "KTK", "MM2", "MMQ", "SOK",
availableImageSetCodes = Arrays.asList("6ED", "C15", "C19", "CHK", "CMD", "KTK", "MM2", "MMQ", "SOK",
"VIS", "WWK", "ZEN", "C20", "MIC");
}

View file

@ -5,6 +5,8 @@ import mage.abilities.keyword.LifelinkAbility;
import mage.constants.CardType;
import mage.constants.SubType;
import java.util.Arrays;
/**
*
* @author TheElk801
@ -19,6 +21,17 @@ public final class SoldierLifelinkToken extends TokenImpl {
power = new MageInt(1);
toughness = new MageInt(1);
addAbility(LifelinkAbility.getInstance());
availableImageSetCodes = Arrays.asList("GRN", "NCC");
}
@Override
public void setExpansionSetCodeForImage(String code) {
super.setExpansionSetCodeForImage(code);
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) {
setTokenType(1);
}
}
public SoldierLifelinkToken(final SoldierLifelinkToken token) {

View file

@ -22,7 +22,7 @@ public final class SoldierTokenWithHaste extends TokenImpl {
toughness = new MageInt(1);
addAbility(HasteAbility.getInstance());
availableImageSetCodes = Arrays.asList("GTC", "MM3");
availableImageSetCodes = Arrays.asList("GTC", "MM3", "NCC");
}
@ -36,6 +36,9 @@ public final class SoldierTokenWithHaste extends TokenImpl {
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MM3")) {
setTokenType(2);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) {
setTokenType(2);
}
}
public SoldierTokenWithHaste(final SoldierTokenWithHaste token) {

View file

@ -22,7 +22,7 @@ public final class SpiderToken extends TokenImpl {
this.addAbility(ReachAbility.getInstance());
availableImageSetCodes.addAll(Arrays.asList("C15", "EMN", "ISD", "SHM", "MH1", "THB", "MID", "UMA"));
availableImageSetCodes.addAll(Arrays.asList("C15", "EMN", "ISD", "SHM", "MH1", "THB", "MID", "UMA", "NCC"));
}
public SpiderToken(final SpiderToken token) {

View file

@ -25,10 +25,6 @@ public final class SpiritToken extends TokenImpl {
public void setExpansionSetCodeForImage(String code) {
super.setExpansionSetCodeForImage(code);
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("BOK")) {
setTokenType(2);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) {
setTokenType(2);
}

View file

@ -23,7 +23,7 @@ public final class SquidToken extends TokenImpl {
this.addAbility(new IslandwalkAbility());
availableImageSetCodes = Arrays.asList("M15", "C16");
availableImageSetCodes = Arrays.asList("M15", "C16", "NCC");
}
private SquidToken(final SquidToken token) {

View file

@ -5,6 +5,8 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.MageInt;
import java.util.Arrays;
/**
*
* @author spjspj
@ -22,6 +24,8 @@ public final class SylvanOfferingTreefolkToken extends TokenImpl {
color.setGreen(true);
power = new MageInt(xValue);
toughness = new MageInt(xValue);
availableImageSetCodes = Arrays.asList("C14", "CMA", "NCC");
}
public SylvanOfferingTreefolkToken(final SylvanOfferingTreefolkToken token) {

View file

@ -4,6 +4,8 @@ import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
import java.util.Arrays;
/**
* @author TheElk801
*/
@ -16,6 +18,8 @@ public final class TentacleToken extends TokenImpl {
subtype.add(SubType.TENTACLE);
power = new MageInt(1);
toughness = new MageInt(1);
availableImageSetCodes = Arrays.asList("THB", "NCC");
}
private TentacleToken(final TentacleToken token) {

View file

@ -24,7 +24,7 @@ public final class ThopterColorlessToken extends TokenImpl {
addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("C18", "EXO", "KLD", "MBS", "ORI", "VMA", "M19", "ZNC",
"KHC", "C21", "MH2", "AFC", "VOC", "NEC", "2XM", "RNA");
"KHC", "C21", "MH2", "AFC", "VOC", "NEC", "2XM", "RNA", "NCC");
}
@Override

View file

@ -21,7 +21,7 @@ public final class WhiteElementalToken extends TokenImpl {
toughness = new MageInt(4);
this.addAbility(FlyingAbility.getInstance());
availableImageSetCodes = Arrays.asList("LRW", "C16", "C20", "RTR");
availableImageSetCodes = Arrays.asList("LRW", "C16", "C20", "RTR", "NCC");
}
@Override
@ -35,6 +35,10 @@ public final class WhiteElementalToken extends TokenImpl {
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("LRW")) {
setTokenType(2);
}
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("NCC")) {
setTokenType(3);
}
}
public WhiteElementalToken(final WhiteElementalToken token) {

View file

@ -19,7 +19,7 @@ public final class Wurm55Token extends TokenImpl {
power = new MageInt(5);
toughness = new MageInt(5);
availableImageSetCodes = Arrays.asList("AKH", "DGM");
availableImageSetCodes = Arrays.asList("AKH", "DGM", "NCC");
}
@Override

View file

@ -20,12 +20,18 @@ public final class ZombieToken extends TokenImpl {
power = new MageInt(2);
toughness = new MageInt(2);
availableImageSetCodes = Arrays.asList("10E", "M10", "M11", "M12", "M13", "M14", "M15", "C18",
"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",
"CMR", "C21", "MH2", "AFR", "MIC", "VOW", "UMA");
availableImageSetCodes = Arrays.asList("10E", "M10", "M11", "M12",
"M13", "M14", "M15", "C18",
"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", "C20", "THB",
"M21", "CMR", "C21", "MH2",
"AFR", "MIC", "VOW", "UMA",
"NCC");
}
@Override