mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 12:31:59 -08:00
* Images: added Commander 2021 tokens;
This commit is contained in:
parent
03b012bc1e
commit
6a3f2ff420
49 changed files with 362 additions and 303 deletions
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.game.command.emblems;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -7,10 +6,9 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
|||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.command.Emblem;
|
||||
import mage.game.permanent.token.KioraKrakenToken;
|
||||
import mage.game.permanent.token.Kraken99Token;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class KioraEmblem extends Emblem {
|
||||
|
|
@ -22,7 +20,7 @@ public final class KioraEmblem extends Emblem {
|
|||
|
||||
public KioraEmblem() {
|
||||
this.setName("Emblem Kiora");
|
||||
Ability ability = new BeginningOfEndStepTriggeredAbility(Zone.COMMAND, new CreateTokenEffect(new KioraKrakenToken()), TargetController.YOU, null, false);
|
||||
Ability ability = new BeginningOfEndStepTriggeredAbility(Zone.COMMAND, new CreateTokenEffect(new Kraken99Token()), TargetController.YOU, null, false);
|
||||
this.getAbilities().add(ability);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
"M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public final class BeastToken2 extends TokenImpl {
|
|||
toughness = new MageInt(4);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C13", "C14", "C15", "C19", "CMA", "CMD", "GVL", "DDD",
|
||||
"E01", "ODY", "SCG", "ZEN", "C20", "ZNC", "CMR");
|
||||
"E01", "ODY", "SCG", "ZEN", "C20", "ZNC", "CMR", "C21");
|
||||
}
|
||||
|
||||
public BeastToken2(final BeastToken2 token) {
|
||||
|
|
@ -59,5 +59,9 @@ public final class BeastToken2 extends TokenImpl {
|
|||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("CMR")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C21")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ public final class Boar2Token extends TokenImpl {
|
|||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("THS", "KHC");
|
||||
availableImageSetCodes = Arrays.asList("THS", "KHC", "C21");
|
||||
}
|
||||
|
||||
public Boar2Token(final Boar2Token token) {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
|
|
@ -18,7 +20,10 @@ public final class CallTheSkyBreakerElementalToken extends TokenImpl {
|
|||
subtype.add(SubType.ELEMENTAL);
|
||||
power = new MageInt(5);
|
||||
toughness = new MageInt(5);
|
||||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C15", "CMD", "EMA", "EVE", "C21");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
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 DemonFlyingToken extends TokenImpl {
|
||||
|
||||
public DemonFlyingToken() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
public DemonFlyingToken(int xValue) {
|
||||
super("Demon", "X/X black Demon creature token with flying");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.DEMON);
|
||||
power = new MageInt(xValue);
|
||||
toughness = new MageInt(xValue);
|
||||
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C14", "C21");
|
||||
}
|
||||
|
||||
public DemonFlyingToken(final DemonFlyingToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public DemonFlyingToken copy() {
|
||||
return new DemonFlyingToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C14")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@ public final class DrakeToken extends TokenImpl {
|
|||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("AKH", "C15", "C19", "M13", "C20", "ZNR");
|
||||
availableImageSetCodes = Arrays.asList("AKH", "C15", "C19", "M13", "C20", "ZNR", "C21");
|
||||
}
|
||||
|
||||
public DrakeToken(final DrakeToken token) {
|
||||
|
|
|
|||
|
|
@ -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 EldraziToken extends TokenImpl {
|
||||
|
|
@ -17,6 +17,8 @@ public final class EldraziToken extends TokenImpl {
|
|||
subtype.add(SubType.ELDRAZI);
|
||||
power = new MageInt(10);
|
||||
toughness = new MageInt(10);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("BFZ", "C19", "C21");
|
||||
}
|
||||
|
||||
public EldraziToken(final EldraziToken token) {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public final class ElephantToken extends TokenImpl {
|
|||
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");
|
||||
"EMA", "INV", "JUD", "MM2", "ODY", "ROE", "TSP", "VMA", "WWK", "MH1", "CMR", "C21");
|
||||
}
|
||||
|
||||
public ElephantToken(final ElephantToken token) {
|
||||
|
|
|
|||
|
|
@ -23,13 +23,8 @@ public final class FoodToken extends TokenImpl {
|
|||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("ELD"));
|
||||
}
|
||||
|
||||
public FoodToken() {
|
||||
super("Food", "Food token");
|
||||
availableImageSetCodes = tokenImageSets;
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
subtype.add(SubType.FOOD);
|
||||
|
||||
|
|
@ -40,6 +35,8 @@ public final class FoodToken extends TokenImpl {
|
|||
cost.setText("Sacrifice this artifact");
|
||||
ability.addCost(cost);
|
||||
this.addAbility(ability);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("ELD", "C21");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import mage.MageInt;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
|
|
@ -12,14 +14,13 @@ public final class FrogLizardToken extends TokenImpl {
|
|||
public FrogLizardToken() {
|
||||
super("Frog Lizard", "3/3 green Frog Lizard creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
|
||||
color.setGreen(true);
|
||||
|
||||
subtype.add(SubType.FROG);
|
||||
subtype.add(SubType.LIZARD);
|
||||
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("RNA", "C21");
|
||||
}
|
||||
|
||||
public FrogLizardToken(final FrogLizardToken token) {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
|
|
@ -18,7 +20,10 @@ public final class FungusBeastToken extends TokenImpl {
|
|||
subtype.add(SubType.BEAST);
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
|
||||
addAbility(TrampleAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C21");
|
||||
}
|
||||
|
||||
private FungusBeastToken(final FungusBeastToken token) {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
|
|
@ -17,7 +19,10 @@ public final class GolemFlyingToken extends TokenImpl {
|
|||
subtype.add(SubType.GOLEM);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C21");
|
||||
}
|
||||
|
||||
private GolemFlyingToken(final GolemFlyingToken token) {
|
||||
|
|
@ -27,4 +32,13 @@ public final class GolemFlyingToken extends TokenImpl {
|
|||
public GolemFlyingToken copy() {
|
||||
return new GolemFlyingToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C21")) {
|
||||
setTokenType(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
|
|
@ -17,7 +19,10 @@ public final class GolemTrampleToken extends TokenImpl {
|
|||
subtype.add(SubType.GOLEM);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
|
||||
addAbility(TrampleAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C21");
|
||||
}
|
||||
|
||||
private GolemTrampleToken(final GolemTrampleToken token) {
|
||||
|
|
@ -27,4 +32,13 @@ public final class GolemTrampleToken extends TokenImpl {
|
|||
public GolemTrampleToken copy() {
|
||||
return new GolemTrampleToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C21")) {
|
||||
setTokenType(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import mage.abilities.keyword.VigilanceAbility;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
|
|
@ -17,7 +19,10 @@ public final class GolemVigilanceToken extends TokenImpl {
|
|||
subtype.add(SubType.GOLEM);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
|
||||
addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C21");
|
||||
}
|
||||
|
||||
private GolemVigilanceToken(final GolemVigilanceToken token) {
|
||||
|
|
@ -27,4 +32,13 @@ public final class GolemVigilanceToken extends TokenImpl {
|
|||
public GolemVigilanceToken copy() {
|
||||
return new GolemVigilanceToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C21")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.DeathtouchAbility;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class HornetNestInsectToken extends TokenImpl {
|
||||
|
||||
public HornetNestInsectToken() {
|
||||
super("Insect", "1/1 green Insect creature tokens with flying and deathtouch");
|
||||
setOriginalExpansionSetCode("M15");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
subtype.add(SubType.INSECT);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
this.addAbility(DeathtouchAbility.getInstance());
|
||||
}
|
||||
|
||||
public HornetNestInsectToken(final HornetNestInsectToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public HornetNestInsectToken copy() {
|
||||
return new HornetNestInsectToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -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 HorrorToken extends TokenImpl {
|
||||
|
|
@ -18,6 +18,8 @@ public final class HorrorToken extends TokenImpl {
|
|||
subtype.add(SubType.HORROR);
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("RAV", "C21");
|
||||
}
|
||||
|
||||
public HorrorToken(final HorrorToken token) {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class HydraBroodmasterToken extends TokenImpl {
|
|||
this.power = new MageInt(power);
|
||||
this.toughness = new MageInt(toughness);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("JOU");
|
||||
availableImageSetCodes = Arrays.asList("JOU", "C21");
|
||||
}
|
||||
|
||||
public HydraBroodmasterToken(final HydraBroodmasterToken token) {
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ import java.util.Arrays;
|
|||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class HornetQueenInsectToken extends TokenImpl {
|
||||
public final class InsectDeathToken extends TokenImpl {
|
||||
|
||||
public HornetQueenInsectToken() {
|
||||
public InsectDeathToken() {
|
||||
super("Insect", "1/1 green Insect creature token with flying and deathtouch");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
|
|
@ -23,14 +23,14 @@ public final class HornetQueenInsectToken extends TokenImpl {
|
|||
addAbility(FlyingAbility.getInstance());
|
||||
addAbility(DeathtouchAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("M15", "C20");
|
||||
availableImageSetCodes = Arrays.asList("M15", "C20", "C21");
|
||||
}
|
||||
|
||||
public HornetQueenInsectToken(final HornetQueenInsectToken token) {
|
||||
public InsectDeathToken(final InsectDeathToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public HornetQueenInsectToken copy() {
|
||||
return new HornetQueenInsectToken(this);
|
||||
public InsectDeathToken copy() {
|
||||
return new InsectDeathToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -8,25 +8,17 @@ import mage.constants.CardType;
|
|||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.util.RandomUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class KarnConstructToken extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("DOM", "MH1"));
|
||||
}
|
||||
|
||||
public KarnConstructToken() {
|
||||
super("Construct", "0/0 colorless Construct artifact creature token with \"This creature gets +1/+1 for each artifact you control.\"");
|
||||
availableImageSetCodes = tokenImageSets;
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.CONSTRUCT);
|
||||
|
|
@ -37,6 +29,8 @@ public final class KarnConstructToken extends TokenImpl {
|
|||
new BoostSourceEffect(ArtifactYouControlCount.instance, ArtifactYouControlCount.instance, Duration.WhileOnBattlefield)
|
||||
.setText("This creature gets +1/+1 for each artifact you control")
|
||||
));
|
||||
|
||||
availableImageSetCodes = Arrays.asList("DOM", "MH1", "C21");
|
||||
}
|
||||
|
||||
public KarnConstructToken(final KarnConstructToken token) {
|
||||
|
|
@ -46,4 +40,13 @@ public final class KarnConstructToken extends TokenImpl {
|
|||
public KarnConstructToken copy() {
|
||||
return new KarnConstructToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C21")) {
|
||||
setTokenType(RandomUtil.nextInt(2) + 1); // from 1 to 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,31 +0,0 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class KioraKrakenToken extends TokenImpl {
|
||||
|
||||
public KioraKrakenToken() {
|
||||
super("Kraken", "9/9 blue Kraken creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlue(true);
|
||||
subtype.add(SubType.KRAKEN);
|
||||
power = new MageInt(9);
|
||||
toughness = new MageInt(9);
|
||||
this.setOriginalExpansionSetCode("BNG");
|
||||
}
|
||||
|
||||
public KioraKrakenToken(final KioraKrakenToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public KioraKrakenToken copy() {
|
||||
return new KioraKrakenToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,31 +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 spjspj
|
||||
*/
|
||||
public final class ReefWormKrakenToken extends TokenImpl {
|
||||
public final class Kraken99Token extends TokenImpl {
|
||||
|
||||
public ReefWormKrakenToken() {
|
||||
public Kraken99Token() {
|
||||
super("Kraken", "9/9 blue Kraken creature token");
|
||||
setOriginalExpansionSetCode("C14");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlue(true);
|
||||
subtype.add(SubType.KRAKEN);
|
||||
power = new MageInt(9);
|
||||
toughness = new MageInt(9);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("BNG", "C14", "DDO", "C21");
|
||||
}
|
||||
|
||||
public ReefWormKrakenToken(final ReefWormKrakenToken token) {
|
||||
public Kraken99Token(final Kraken99Token token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public ReefWormKrakenToken copy() {
|
||||
return new ReefWormKrakenToken(this);
|
||||
public Kraken99Token copy() {
|
||||
return new Kraken99Token(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.effects.common.SacrificeSourceEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class LightningRagerToken extends TokenImpl {
|
||||
|
|
@ -19,15 +19,17 @@ public final class LightningRagerToken extends TokenImpl {
|
|||
public LightningRagerToken() {
|
||||
super("Lightning Rager", "5/1 red Elemental creature token named Lightning Rager."
|
||||
+ "It has trample, haste, and \"At the beginning of the end step, sacrifice this creature.\"");
|
||||
this.setOriginalExpansionSetCode("C15");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setRed(true);
|
||||
subtype.add(SubType.ELEMENTAL);
|
||||
power = new MageInt(5);
|
||||
toughness = new MageInt(1);
|
||||
addAbility(TrampleAbility.getInstance());
|
||||
addAbility(HasteAbility.getInstance());
|
||||
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(new SacrificeSourceEffect(), TargetController.NEXT, false));
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C15");
|
||||
}
|
||||
|
||||
public LightningRagerToken(final LightningRagerToken token) {
|
||||
|
|
@ -37,4 +39,14 @@ public final class LightningRagerToken extends TokenImpl {
|
|||
public LightningRagerToken copy() {
|
||||
return new LightningRagerToken(this);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C15")) {
|
||||
this.setTokenType(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,30 +1,32 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
import mage.util.RandomUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class MetallurgicSummoningsConstructToken extends TokenImpl {
|
||||
|
||||
public MetallurgicSummoningsConstructToken() {
|
||||
this (1);
|
||||
this(1);
|
||||
}
|
||||
|
||||
public MetallurgicSummoningsConstructToken(int xValue) {
|
||||
super("Construct", "X/X colorless Construct artifact creature token");
|
||||
setOriginalExpansionSetCode("KLD");
|
||||
setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.CONSTRUCT);
|
||||
power = new MageInt(xValue);
|
||||
toughness = new MageInt(xValue);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("KLD", "C21");
|
||||
}
|
||||
|
||||
public MetallurgicSummoningsConstructToken(final MetallurgicSummoningsConstructToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
|
@ -32,4 +34,13 @@ public final class MetallurgicSummoningsConstructToken extends TokenImpl {
|
|||
public MetallurgicSummoningsConstructToken copy() {
|
||||
return new MetallurgicSummoningsConstructToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("KLD")) {
|
||||
setTokenType(RandomUtil.nextInt(2) + 3); // from 3 to 4
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,32 +4,19 @@ import mage.MageInt;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public final class MyrToken extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("C14", "MM2", "NPH", "SOM", "MH1"));
|
||||
}
|
||||
|
||||
public MyrToken() {
|
||||
this((String) null);
|
||||
}
|
||||
|
||||
public MyrToken(String expansionSetCode) {
|
||||
super("Myr", "1/1 colorless Myr artifact creature token");
|
||||
this.setOriginalExpansionSetCode(expansionSetCode);
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.MYR);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
|
||||
availableImageSetCodes = tokenImageSets;
|
||||
availableImageSetCodes = Arrays.asList("C13", "C14", "DST", "MBS", "MM2", "MRD", "NPH", "SOM", "MH1", "C21");
|
||||
}
|
||||
|
||||
public MyrToken(final MyrToken token) {
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
import mage.util.RandomUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class OviyaPashiriSageLifecrafterToken extends TokenImpl {
|
||||
|
|
@ -24,10 +23,10 @@ public final class OviyaPashiriSageLifecrafterToken extends TokenImpl {
|
|||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.CONSTRUCT);
|
||||
setOriginalExpansionSetCode("KLD");
|
||||
setTokenType(RandomUtil.nextInt(2) + 1);
|
||||
power = new MageInt(number);
|
||||
toughness = new MageInt(number);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("KLD");
|
||||
}
|
||||
|
||||
public OviyaPashiriSageLifecrafterToken(final OviyaPashiriSageLifecrafterToken token) {
|
||||
|
|
@ -37,4 +36,13 @@ public final class OviyaPashiriSageLifecrafterToken extends TokenImpl {
|
|||
public OviyaPashiriSageLifecrafterToken copy() {
|
||||
return new OviyaPashiriSageLifecrafterToken(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C21")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 PhyrexianBeastToken extends TokenImpl {
|
|||
subtype.add(SubType.BEAST);
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C21");
|
||||
}
|
||||
|
||||
public PhyrexianBeastToken(final PhyrexianBeastToken token) {
|
||||
|
|
|
|||
|
|
@ -1,39 +0,0 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class PromiseOfPowerDemonToken extends TokenImpl {
|
||||
|
||||
public PromiseOfPowerDemonToken() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
public PromiseOfPowerDemonToken(int xValue) {
|
||||
super("Demon", "X/X black Demon creature token with flying");
|
||||
setOriginalExpansionSetCode("C14");
|
||||
setTokenType(2);
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.DEMON);
|
||||
power = new MageInt(xValue);
|
||||
toughness = new MageInt(xValue);
|
||||
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
}
|
||||
|
||||
public PromiseOfPowerDemonToken(final PromiseOfPowerDemonToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public PromiseOfPowerDemonToken copy() {
|
||||
return new PromiseOfPowerDemonToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +1,20 @@
|
|||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.DiesSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class ReefWormFishToken extends TokenImpl {
|
||||
|
||||
public ReefWormFishToken() {
|
||||
super("Fish", "3/3 blue Fish creature token with \"When this creature dies, create a 6/6 blue Whale creature token with \"When this creature dies, create a 9/9 blue Kraken creature token.\"\"");
|
||||
setOriginalExpansionSetCode("C14");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlue(true);
|
||||
subtype.add(SubType.FISH);
|
||||
|
|
@ -23,6 +22,8 @@ public final class ReefWormFishToken extends TokenImpl {
|
|||
toughness = new MageInt(3);
|
||||
|
||||
addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new ReefWormWhaleToken())));
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C14", "C21");
|
||||
}
|
||||
|
||||
public ReefWormFishToken(final ReefWormFishToken token) {
|
||||
|
|
|
|||
|
|
@ -1,28 +1,29 @@
|
|||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.DiesSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class ReefWormWhaleToken extends TokenImpl {
|
||||
|
||||
public ReefWormWhaleToken() {
|
||||
super("Whale", "6/6 blue Whale creature token with \"When this creature dies, create a 9/9 blue Kraken creature token.\"");
|
||||
setOriginalExpansionSetCode("C14");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlue(true);
|
||||
subtype.add(SubType.WHALE);
|
||||
power = new MageInt(6);
|
||||
toughness = new MageInt(6);
|
||||
|
||||
addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new ReefWormKrakenToken())));
|
||||
addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new Kraken99Token())));
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("C14", "C21"));
|
||||
}
|
||||
|
||||
public ReefWormWhaleToken(final ReefWormWhaleToken token) {
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class ReignOfThePitToken extends TokenImpl {
|
||||
|
||||
public ReignOfThePitToken() {
|
||||
this(1);
|
||||
}
|
||||
public ReignOfThePitToken(int xValue) {
|
||||
super("Demon", "X/X black Demon creature token with flying");
|
||||
power = new MageInt(xValue);
|
||||
toughness = new MageInt(xValue);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.DEMON);
|
||||
cardType.add(CardType.CREATURE);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
}
|
||||
public ReignOfThePitToken(final ReignOfThePitToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public ReignOfThePitToken copy() {
|
||||
return new ReignOfThePitToken(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -45,7 +45,8 @@ public final class SaprolingToken extends TokenImpl {
|
|||
"M21",
|
||||
"ZNC",
|
||||
"CMR",
|
||||
"TSR"
|
||||
"TSR",
|
||||
"C21"
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class ThopterColorlessToken extends TokenImpl {
|
|||
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C18", "EXO", "KLD", "MBS", "ORI", "VMA", "M19", "ZNC", "KHC");
|
||||
availableImageSetCodes = Arrays.asList("C18", "EXO", "KLD", "MBS", "ORI", "VMA", "M19", "ZNC", "KHC", "C21");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public final class WhiteBlackSpiritToken extends TokenImpl {
|
|||
toughness = new MageInt(1);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes.addAll(Arrays.asList("MH1"));
|
||||
availableImageSetCodes.addAll(Arrays.asList("MH1", "C21"));
|
||||
}
|
||||
|
||||
public WhiteBlackSpiritToken(final WhiteBlackSpiritToken token) {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ public final class WurmToken extends TokenImpl {
|
|||
power = new MageInt(6);
|
||||
toughness = new MageInt(6);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C19", "EMA", "GPT", "JUD", "M12", "M13", "MM3", "ODY", "VMA");
|
||||
availableImageSetCodes = Arrays.asList("C19", "EMA", "GPT", "JUD", "M12", "M13", "MM3", "ODY", "VMA", "C21");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public final class ZombieToken extends TokenImpl {
|
|||
"CNS", "MMA", "BNG", "KTK", "DTK", "ORI", "OGW",
|
||||
"SOI", "EMN", "EMA", "MM3", "AKH", "CMA", "E01",
|
||||
"RNA", "WAR", "MH1", "M20", "C19", "THB", "M21",
|
||||
"CMR");
|
||||
"CMR", "C21");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue