forked from External/mage
refactor: improved tokens structure (#13487)
- removed duplicate tokens - fixed names of some tokens - corrected tokens used in tokens database
This commit is contained in:
parent
08135af525
commit
730bd8e63d
33 changed files with 112 additions and 367 deletions
|
|
@ -1,29 +0,0 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class CrushOfTentaclesToken extends TokenImpl {
|
||||
|
||||
public CrushOfTentaclesToken() {
|
||||
super("Octopus Token", "8/8 blue Octopus creature");
|
||||
this.cardType.add(CardType.CREATURE);
|
||||
this.color.setBlue(true);
|
||||
this.subtype.add(SubType.OCTOPUS);
|
||||
this.power = new MageInt(8);
|
||||
this.toughness = new MageInt(8);
|
||||
}
|
||||
|
||||
private CrushOfTentaclesToken(final CrushOfTentaclesToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public CrushOfTentaclesToken copy() {
|
||||
return new CrushOfTentaclesToken(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -11,7 +11,7 @@ import mage.constants.SubType;
|
|||
public final class DinDragonToken extends TokenImpl {
|
||||
|
||||
public DinDragonToken() {
|
||||
super("Dragon Token", "4/4 red Dinosaur Dragon creature token with flying");
|
||||
super("Dinosaur Dragon Token", "4/4 red Dinosaur Dragon creature token with flying");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setRed(true);
|
||||
subtype.add(SubType.DINOSAUR);
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import mage.constants.SubType;
|
|||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class EyesOfTheWisentElementalToken extends TokenImpl {
|
||||
public final class Elemental44GreenToken extends TokenImpl {
|
||||
|
||||
public EyesOfTheWisentElementalToken() {
|
||||
public Elemental44GreenToken() {
|
||||
super("Elemental Token", "4/4 green Elemental creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
|
|
@ -18,11 +18,11 @@ public final class EyesOfTheWisentElementalToken extends TokenImpl {
|
|||
toughness = new MageInt(4);
|
||||
}
|
||||
|
||||
private EyesOfTheWisentElementalToken(final EyesOfTheWisentElementalToken token) {
|
||||
private Elemental44GreenToken(final Elemental44GreenToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public EyesOfTheWisentElementalToken copy() {
|
||||
return new EyesOfTheWisentElementalToken(this);
|
||||
public Elemental44GreenToken copy() {
|
||||
return new Elemental44GreenToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -7,13 +7,13 @@ import mage.constants.SubType;
|
|||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class SeedGuardianToken extends TokenImpl {
|
||||
public final class ElementalXXGreenToken extends TokenImpl {
|
||||
|
||||
public SeedGuardianToken() {
|
||||
public ElementalXXGreenToken() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
public SeedGuardianToken(int xValue) {
|
||||
public ElementalXXGreenToken(int xValue) {
|
||||
super("Elemental Token", "X/X green Elemental creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
|
|
@ -22,11 +22,11 @@ public final class SeedGuardianToken extends TokenImpl {
|
|||
toughness = new MageInt(xValue);
|
||||
}
|
||||
|
||||
private SeedGuardianToken(final SeedGuardianToken token) {
|
||||
private ElementalXXGreenToken(final ElementalXXGreenToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public SeedGuardianToken copy() {
|
||||
return new SeedGuardianToken(this);
|
||||
public ElementalXXGreenToken copy() {
|
||||
return new ElementalXXGreenToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class GrovetenderDruidsPlantToken extends TokenImpl {
|
||||
|
||||
public GrovetenderDruidsPlantToken() {
|
||||
super("Plant Token", "1/1 green Plant creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
subtype.add(SubType.PLANT);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
private GrovetenderDruidsPlantToken(final GrovetenderDruidsPlantToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public GrovetenderDruidsPlantToken copy() {
|
||||
return new GrovetenderDruidsPlantToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -7,13 +7,13 @@ import mage.constants.SubType;
|
|||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class FleshCarverHorrorToken extends TokenImpl {
|
||||
public final class HorrorXXBlackToken extends TokenImpl {
|
||||
|
||||
public FleshCarverHorrorToken() {
|
||||
public HorrorXXBlackToken() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
public FleshCarverHorrorToken(int xValue) {
|
||||
public HorrorXXBlackToken(int xValue) {
|
||||
super("Horror Token", "X/X black Horror creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
|
|
@ -22,11 +22,11 @@ public final class FleshCarverHorrorToken extends TokenImpl {
|
|||
toughness = new MageInt(xValue);
|
||||
}
|
||||
|
||||
private FleshCarverHorrorToken(final FleshCarverHorrorToken token) {
|
||||
private HorrorXXBlackToken(final HorrorXXBlackToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public FleshCarverHorrorToken copy() {
|
||||
return new FleshCarverHorrorToken(this);
|
||||
public HorrorXXBlackToken copy() {
|
||||
return new HorrorXXBlackToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ import mage.constants.SubType;
|
|||
public final class HumanRogueToken extends TokenImpl {
|
||||
|
||||
public HumanRogueToken() {
|
||||
super("Human Token", "1/1 white Human Rogue creature token");
|
||||
super("Human Rogue Token", "1/1 white Human Rogue creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
subtype.add(SubType.HUMAN);
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class MarathWillOfTheWildElementalToken extends TokenImpl {
|
||||
|
||||
public MarathWillOfTheWildElementalToken() {
|
||||
super("Elemental Token", "X/X green Elemental creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.ELEMENTAL);
|
||||
color.setGreen(true);
|
||||
power = new MageInt(0);
|
||||
toughness = new MageInt(0);
|
||||
}
|
||||
|
||||
private MarathWillOfTheWildElementalToken(final MarathWillOfTheWildElementalToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public MarathWillOfTheWildElementalToken copy() {
|
||||
return new MarathWillOfTheWildElementalToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -5,25 +5,20 @@ import mage.constants.CardType;
|
|||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author FenrisulfrX
|
||||
* @author Quercitron
|
||||
*/
|
||||
public final class MinionToken extends TokenImpl {
|
||||
|
||||
public MinionToken() {
|
||||
this("DDE");
|
||||
}
|
||||
|
||||
public MinionToken(String setCode) {
|
||||
super("Phyrexian Minion Token", "X/X black Phyrexian Minion creature token");
|
||||
super("Minion Token", "1/1 black Minion creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.PHYREXIAN);
|
||||
subtype.add(SubType.MINION);
|
||||
color.setBlack(true);
|
||||
power = new MageInt(0);
|
||||
toughness = new MageInt(0);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
private MinionToken(final MinionToken token) {
|
||||
protected MinionToken(final MinionToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author Quercitron
|
||||
*/
|
||||
public final class MinionToken2 extends TokenImpl {
|
||||
|
||||
public MinionToken2() {
|
||||
super("Minion Token", "1/1 black Minion creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.MINION);
|
||||
color.setBlack(true);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
protected MinionToken2(final MinionToken2 token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public MinionToken2 copy() {
|
||||
return new MinionToken2(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.common.TargetCardInGraveyard;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class NighteyesTheDesecratorToken extends TokenImpl {
|
||||
|
||||
public NighteyesTheDesecratorToken() {
|
||||
super("Nighteyes the Desecrator Token", "");
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.RAT);
|
||||
subtype.add(SubType.WIZARD);
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(2);
|
||||
// {4}{B}: Put target creature card from a graveyard onto the battlefield under your control.
|
||||
Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{4}{B}"));
|
||||
ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private NighteyesTheDesecratorToken(final NighteyesTheDesecratorToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public NighteyesTheDesecratorToken copy() {
|
||||
return new NighteyesTheDesecratorToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author FenrisulfrX
|
||||
*/
|
||||
public final class PhyrexianMinionToken extends TokenImpl {
|
||||
|
||||
public PhyrexianMinionToken() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
public PhyrexianMinionToken(int xValue) {
|
||||
super("Phyrexian Minion Token", "X/X black Phyrexian Minion creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.PHYREXIAN);
|
||||
subtype.add(SubType.MINION);
|
||||
color.setBlack(true);
|
||||
power = new MageInt(xValue);
|
||||
toughness = new MageInt(xValue);
|
||||
}
|
||||
|
||||
private PhyrexianMinionToken(final PhyrexianMinionToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public PhyrexianMinionToken copy() {
|
||||
return new PhyrexianMinionToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,9 +4,12 @@ import mage.MageInt;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
public final class GrismoldPlantToken extends TokenImpl {
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class Plant11Token extends TokenImpl {
|
||||
|
||||
public GrismoldPlantToken() {
|
||||
public Plant11Token() {
|
||||
super("Plant Token", "1/1 green Plant creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setGreen(true);
|
||||
|
|
@ -15,11 +18,11 @@ public final class GrismoldPlantToken extends TokenImpl {
|
|||
toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
private GrismoldPlantToken(final GrismoldPlantToken token) {
|
||||
private Plant11Token(final Plant11Token token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public GrismoldPlantToken copy() {
|
||||
return new GrismoldPlantToken(this);
|
||||
public Plant11Token copy() {
|
||||
return new Plant11Token(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.MageInt;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class RallyTheHordeWarriorToken extends TokenImpl {
|
||||
|
||||
public RallyTheHordeWarriorToken() {
|
||||
super("Warrior Token", "1/1 red Warrior creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setRed(true);
|
||||
subtype.add(SubType.WARRIOR);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
private RallyTheHordeWarriorToken(final RallyTheHordeWarriorToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public RallyTheHordeWarriorToken copy() {
|
||||
return new RallyTheHordeWarriorToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class SorinSolemnVisitorVampireToken extends TokenImpl {
|
||||
|
||||
public SorinSolemnVisitorVampireToken() {
|
||||
super("Vampire Token", "2/2 black Vampire creature token with flying");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.VAMPIRE);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
}
|
||||
|
||||
private SorinSolemnVisitorVampireToken(final SorinSolemnVisitorVampireToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public SorinSolemnVisitorVampireToken copy() {
|
||||
return new SorinSolemnVisitorVampireToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class SpoilsOfBloodHorrorToken extends TokenImpl {
|
||||
|
||||
public SpoilsOfBloodHorrorToken() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
public SpoilsOfBloodHorrorToken(int xValue) {
|
||||
super("Horror Token", "X/X black Horror creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.HORROR);
|
||||
power = new MageInt(xValue);
|
||||
toughness = new MageInt(xValue);
|
||||
}
|
||||
|
||||
private SpoilsOfBloodHorrorToken(final SpoilsOfBloodHorrorToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public SpoilsOfBloodHorrorToken copy() {
|
||||
return new SpoilsOfBloodHorrorToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author spjspj
|
||||
*/
|
||||
|
||||
public final class WalkerOfTheGroveToken extends TokenImpl {
|
||||
|
||||
public WalkerOfTheGroveToken() {
|
||||
super("Elemental Token", "4/4 green Elemental creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
this.subtype.add(SubType.ELEMENTAL);
|
||||
this.color.setGreen(true);
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
}
|
||||
|
||||
private WalkerOfTheGroveToken(final WalkerOfTheGroveToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public WalkerOfTheGroveToken copy() {
|
||||
return new WalkerOfTheGroveToken(this);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue