mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 21:12:04 -08:00
This commit is contained in:
commit
d79c57b907
120 changed files with 3943 additions and 620 deletions
|
|
@ -1,7 +1,7 @@
|
|||
package mage.abilities.effects;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.common.PutTokenOntoBattlefieldCopyTargetEffect;
|
||||
import mage.abilities.effects.common.CreateTokenCopyTargetEffect;
|
||||
import mage.constants.Outcome;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
|
@ -10,21 +10,21 @@ import mage.target.targetpointer.FixedTarget;
|
|||
/**
|
||||
* Created by glerman on 20/6/15.
|
||||
*/
|
||||
public class PutTokenOntoBattlefieldCopySourceEffect extends OneShotEffect {
|
||||
public class CreateTokenCopySourceEffect extends OneShotEffect {
|
||||
|
||||
private final int number;
|
||||
|
||||
public PutTokenOntoBattlefieldCopySourceEffect() {
|
||||
public CreateTokenCopySourceEffect() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopySourceEffect(int copies) {
|
||||
public CreateTokenCopySourceEffect(int copies) {
|
||||
super(Outcome.PutCreatureInPlay);
|
||||
this.number = copies;
|
||||
staticText = "create a token that's a copy of {this}";
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopySourceEffect(final PutTokenOntoBattlefieldCopySourceEffect effect) {
|
||||
public CreateTokenCopySourceEffect(final CreateTokenCopySourceEffect effect) {
|
||||
super(effect);
|
||||
this.number = effect.number;
|
||||
}
|
||||
|
|
@ -33,7 +33,7 @@ public class PutTokenOntoBattlefieldCopySourceEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
Permanent permanent = game.getPermanentOrLKIBattlefield(source.getSourceId());
|
||||
if (permanent != null) {
|
||||
PutTokenOntoBattlefieldCopyTargetEffect effect = new PutTokenOntoBattlefieldCopyTargetEffect(source.getControllerId(), null, false, number);
|
||||
CreateTokenCopyTargetEffect effect = new CreateTokenCopyTargetEffect(source.getControllerId(), null, false, number);
|
||||
effect.setTargetPointer(new FixedTarget(source.getSourceId()));
|
||||
return effect.apply(game, source);
|
||||
}
|
||||
|
|
@ -41,7 +41,7 @@ public class PutTokenOntoBattlefieldCopySourceEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
@Override
|
||||
public PutTokenOntoBattlefieldCopySourceEffect copy() {
|
||||
return new PutTokenOntoBattlefieldCopySourceEffect(this);
|
||||
public CreateTokenCopySourceEffect copy() {
|
||||
return new CreateTokenCopySourceEffect(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ import mage.util.functions.EmptyApplyToPermanent;
|
|||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public class PutTokenOntoBattlefieldCopyTargetEffect extends OneShotEffect {
|
||||
public class CreateTokenCopyTargetEffect extends OneShotEffect {
|
||||
|
||||
private final UUID playerId;
|
||||
private final CardType additionalCardType;
|
||||
|
|
@ -74,12 +74,12 @@ public class PutTokenOntoBattlefieldCopyTargetEffect extends OneShotEffect {
|
|||
private boolean useLKI = false;
|
||||
private boolean isntLegendary = false;
|
||||
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect(boolean useLKI) {
|
||||
public CreateTokenCopyTargetEffect(boolean useLKI) {
|
||||
this();
|
||||
this.useLKI = useLKI;
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect() {
|
||||
public CreateTokenCopyTargetEffect() {
|
||||
super(Outcome.PutCreatureInPlay);
|
||||
this.playerId = null;
|
||||
this.additionalCardType = null;
|
||||
|
|
@ -95,15 +95,15 @@ public class PutTokenOntoBattlefieldCopyTargetEffect extends OneShotEffect {
|
|||
this.color = null;
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect(UUID playerId) {
|
||||
public CreateTokenCopyTargetEffect(UUID playerId) {
|
||||
this(playerId, null, false);
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste) {
|
||||
public CreateTokenCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste) {
|
||||
this(playerId, additionalCardType, gainsHaste, 1);
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste, int number) {
|
||||
public CreateTokenCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste, int number) {
|
||||
this(playerId, additionalCardType, gainsHaste, number, false, false);
|
||||
}
|
||||
|
||||
|
|
@ -117,15 +117,15 @@ public class PutTokenOntoBattlefieldCopyTargetEffect extends OneShotEffect {
|
|||
* @param tapped
|
||||
* @param attacking
|
||||
*/
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste, int number, boolean tapped, boolean attacking) {
|
||||
public CreateTokenCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste, int number, boolean tapped, boolean attacking) {
|
||||
this(playerId, additionalCardType, gainsHaste, number, tapped, attacking, null);
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste, int number, boolean tapped, boolean attacking, UUID attackedPlayer) {
|
||||
public CreateTokenCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste, int number, boolean tapped, boolean attacking, UUID attackedPlayer) {
|
||||
this(playerId, additionalCardType, gainsHaste, number, tapped, attacking, attackedPlayer, Integer.MIN_VALUE, Integer.MIN_VALUE, false);
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste, int number, boolean tapped, boolean attacking, UUID attackedPlayer, int power, int toughness, boolean gainsFlying) {
|
||||
public CreateTokenCopyTargetEffect(UUID playerId, CardType additionalCardType, boolean gainsHaste, int number, boolean tapped, boolean attacking, UUID attackedPlayer, int power, int toughness, boolean gainsFlying) {
|
||||
super(Outcome.PutCreatureInPlay);
|
||||
this.playerId = playerId;
|
||||
this.additionalCardType = additionalCardType;
|
||||
|
|
@ -140,7 +140,7 @@ public class PutTokenOntoBattlefieldCopyTargetEffect extends OneShotEffect {
|
|||
this.gainsFlying = gainsFlying;
|
||||
}
|
||||
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect(final PutTokenOntoBattlefieldCopyTargetEffect effect) {
|
||||
public CreateTokenCopyTargetEffect(final CreateTokenCopyTargetEffect effect) {
|
||||
super(effect);
|
||||
this.playerId = effect.playerId;
|
||||
this.additionalCardType = effect.additionalCardType;
|
||||
|
|
@ -258,8 +258,8 @@ public class PutTokenOntoBattlefieldCopyTargetEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
@Override
|
||||
public PutTokenOntoBattlefieldCopyTargetEffect copy() {
|
||||
return new PutTokenOntoBattlefieldCopyTargetEffect(this);
|
||||
public CreateTokenCopyTargetEffect copy() {
|
||||
return new CreateTokenCopyTargetEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -267,27 +267,29 @@ public class PutTokenOntoBattlefieldCopyTargetEffect extends OneShotEffect {
|
|||
if (staticText != null && !staticText.isEmpty()) {
|
||||
return staticText;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Put ");
|
||||
StringBuilder sb = new StringBuilder("create ");
|
||||
if (number == 1) {
|
||||
sb.append("a token");
|
||||
sb.append("a ");
|
||||
if (tapped && !attacking) {
|
||||
sb.append("tapped ");
|
||||
}
|
||||
sb.append("token");
|
||||
} else {
|
||||
sb.append(CardUtil.numberToText(number)).append(" tokens");
|
||||
sb.append(number);
|
||||
sb.append(" ");
|
||||
if (tapped && !attacking) {
|
||||
sb.append("tapped ");
|
||||
}
|
||||
sb.append("tokens");
|
||||
}
|
||||
sb.append(" onto the battlefield ");
|
||||
if (tapped && !attacking) {
|
||||
sb.append("tapped ");
|
||||
} else if (!tapped && attacking) {
|
||||
sb.append("attacking ");
|
||||
} else if (tapped && attacking) {
|
||||
sb.append("tapped and attacking ");
|
||||
}
|
||||
sb.append("that's a copy of target ");
|
||||
if (mode.getTargets() != null) {
|
||||
sb.append(mode.getTargets().get(0).getTargetName());
|
||||
if (attacking) {
|
||||
sb.append(" that are");
|
||||
if (tapped) {
|
||||
sb.append(" tapped and");
|
||||
}
|
||||
sb.append(" attacking");
|
||||
}
|
||||
return sb.toString();
|
||||
|
||||
}
|
||||
|
||||
public List<Permanent> getAddedPermanent() {
|
||||
|
|
@ -114,7 +114,7 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
public ArrayList<UUID> getLastAddedTokenIds() {
|
||||
return lastAddedTokenIds;
|
||||
}
|
||||
|
||||
|
||||
public void exileTokensCreatedAtNextEndStep(Game game, Ability source) {
|
||||
for (UUID tokenId : this.getLastAddedTokenIds()) {
|
||||
Permanent tokenPermanent = game.getPermanent(tokenId);
|
||||
|
|
@ -123,7 +123,7 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
exileEffect.setTargetPointer(new FixedTarget(tokenPermanent, game));
|
||||
game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(exileEffect), source);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void exileTokensCreatedAtEndOfCombat(Game game, Ability source) {
|
||||
|
|
@ -134,9 +134,9 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
exileEffect.setTargetPointer(new FixedTarget(tokenPermanent, game));
|
||||
game.addDelayedTriggeredAbility(new AtTheEndOfCombatDelayedTriggeredAbility(exileEffect), source);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void setText() {
|
||||
StringBuilder sb = new StringBuilder("create ");
|
||||
if (amount.toString().equals("1")) {
|
||||
|
|
@ -154,8 +154,13 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
if (token.getDescription().endsWith("token")) {
|
||||
sb.append("s");
|
||||
}
|
||||
int tokenLocation = sb.indexOf("token ");
|
||||
if (tokenLocation != -1) {
|
||||
sb.replace(tokenLocation, tokenLocation + 6, "tokens ");
|
||||
}
|
||||
}
|
||||
if (attacking) {
|
||||
sb.append(" that are");
|
||||
if (tapped) {
|
||||
sb.append(" tapped and");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,25 +67,45 @@ public class CreateTokenTargetEffect extends OneShotEffect {
|
|||
if (staticText != null && !staticText.isEmpty()) {
|
||||
return staticText;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder("put ");
|
||||
sb.append(CardUtil.numberToText(amount.toString(), "a"));
|
||||
sb.append(' ').append(token.getDescription()).append(" onto the battlefield");
|
||||
if (tapped) {
|
||||
sb.append(" tapped");
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("target ").append(mode.getTargets().get(0).getTargetName());
|
||||
sb.append(" creates ");
|
||||
if (amount.toString().equals("1")) {
|
||||
sb.append("a ");
|
||||
if (tapped && !attacking) {
|
||||
sb.append("tapped ");
|
||||
}
|
||||
sb.append(token.getDescription());
|
||||
} else {
|
||||
sb.append(CardUtil.numberToText(amount.toString())).append(' ');
|
||||
if (tapped && !attacking) {
|
||||
sb.append("tapped ");
|
||||
}
|
||||
sb.append(token.getDescription());
|
||||
if (token.getDescription().endsWith("token")) {
|
||||
sb.append("s ");
|
||||
}
|
||||
int tokenLocation = sb.indexOf("token ");
|
||||
if (tokenLocation != -1) {
|
||||
sb.replace(tokenLocation, tokenLocation + 6, "tokens ");
|
||||
}
|
||||
}
|
||||
if (attacking) {
|
||||
sb.append(" that are");
|
||||
if (tapped) {
|
||||
sb.append(" and");
|
||||
sb.append(" tapped and");
|
||||
}
|
||||
sb.append(" attacking");
|
||||
}
|
||||
String message = amount.getMessage();
|
||||
if (!message.isEmpty()) {
|
||||
sb.append(" for each ");
|
||||
if (amount.toString().equals("X")) {
|
||||
sb.append(", where X is ");
|
||||
} else {
|
||||
sb.append(" for each ");
|
||||
}
|
||||
}
|
||||
sb.append(message);
|
||||
sb.append(" under target ").append(mode.getTargets().get(0).getTargetName());
|
||||
sb.append("'s control");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ public class PopulateEffect extends OneShotEffect {
|
|||
if (!game.isSimulation()) {
|
||||
game.informPlayers("Token selected for populate: " + tokenToCopy.getLogName());
|
||||
}
|
||||
Effect effect = new PutTokenOntoBattlefieldCopyTargetEffect();
|
||||
Effect effect = new CreateTokenCopyTargetEffect();
|
||||
effect.setTargetPointer(new FixedTarget(target.getFirstTarget()));
|
||||
return effect.apply(game, source);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,13 +29,16 @@ package mage.abilities.effects.common.continuous;
|
|||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.constants.*;
|
||||
import mage.constants.AttachmentType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Layer;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubLayer;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.util.SubTypeList;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author nantuko
|
||||
*/
|
||||
|
|
@ -44,7 +47,14 @@ public class SetCardSubtypeAttachedEffect extends ContinuousEffectImpl {
|
|||
private SubTypeList setSubtypes = new SubTypeList();
|
||||
private final AttachmentType attachmentType;
|
||||
|
||||
public SetCardSubtypeAttachedEffect(SubType setSubtype, Duration duration, AttachmentType attachmentType) {
|
||||
public SetCardSubtypeAttachedEffect(Duration duration, AttachmentType attachmentType, SubType... setSubtype) {
|
||||
super(duration, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
||||
this.setSubtypes.add(setSubtype);
|
||||
this.attachmentType = attachmentType;
|
||||
this.setText();
|
||||
}
|
||||
|
||||
/*public SetCardSubtypeAttachedEffect(SubType setSubtype, Duration duration, AttachmentType attachmentType) {
|
||||
super(duration, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
||||
this.setSubtypes.add(setSubtype);
|
||||
this.attachmentType = attachmentType;
|
||||
|
|
@ -56,7 +66,7 @@ public class SetCardSubtypeAttachedEffect extends ContinuousEffectImpl {
|
|||
this.setSubtypes.addAll(setSubtypes);
|
||||
this.attachmentType = attachmentType;
|
||||
setText();
|
||||
}
|
||||
}*/
|
||||
|
||||
public SetCardSubtypeAttachedEffect(final SetCardSubtypeAttachedEffect effect) {
|
||||
super(effect);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.abilities.common.AttacksTriggeredAbility;
|
|||
import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.ExileTargetEffect;
|
||||
import mage.abilities.effects.common.PutTokenOntoBattlefieldCopyTargetEffect;
|
||||
import mage.abilities.effects.common.CreateTokenCopyTargetEffect;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SetTargetPointer;
|
||||
import mage.game.Game;
|
||||
|
|
@ -102,7 +102,7 @@ class MyriadEffect extends OneShotEffect {
|
|||
Player opponent = game.getPlayer(playerId);
|
||||
if (opponent != null && controller.chooseUse(Outcome.PutCreatureInPlay,
|
||||
"Put a copy of " + sourceObject.getIdName() + " onto battlefield attacking " + opponent.getName() + '?', source, game)) {
|
||||
PutTokenOntoBattlefieldCopyTargetEffect effect = new PutTokenOntoBattlefieldCopyTargetEffect(controller.getId(), null, false, 1, true, true, playerId);
|
||||
CreateTokenCopyTargetEffect effect = new CreateTokenCopyTargetEffect(controller.getId(), null, false, 1, true, true, playerId);
|
||||
effect.setTargetPointer(new FixedTarget(sourceObject, game));
|
||||
effect.apply(game, source);
|
||||
tokens.addAll(effect.getAddedPermanent());
|
||||
|
|
|
|||
|
|
@ -1,396 +1,410 @@
|
|||
package mage.constants;
|
||||
|
||||
import mage.util.SubTypeList;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import mage.util.SubTypeList;
|
||||
|
||||
public enum SubType {
|
||||
|
||||
//205.3k Instants and sorceries share their lists of subtypes; these subtypes are called spell types.
|
||||
ARCANE("Arcane", SubTypeSet.SpellType, false),
|
||||
TRAP("Trap", SubTypeSet.SpellType, false),
|
||||
ARCANE("Arcane", SubTypeSet.SpellType),
|
||||
TRAP("Trap", SubTypeSet.SpellType),
|
||||
|
||||
// 205.3i: Lands have their own unique set of subtypes; these subtypes are called land types.
|
||||
// Of that list, Forest, Island, Mountain, Plains, and Swamp are the basic land types.
|
||||
FOREST("Forest", SubTypeSet.BasicLandType, false),
|
||||
ISLAND("Island", SubTypeSet.BasicLandType, false),
|
||||
MOUNTAIN("Mountain", SubTypeSet.BasicLandType, false),
|
||||
PLAINS("Plains", SubTypeSet.BasicLandType, false),
|
||||
SWAMP("Swamp", SubTypeSet.BasicLandType, false),
|
||||
DESERT("Desert", SubTypeSet.NonBasicLandType, false),
|
||||
GATE("Gate", SubTypeSet.NonBasicLandType, false),
|
||||
LAIR("Lair", SubTypeSet.NonBasicLandType, false),
|
||||
LOCUS("Locus", SubTypeSet.NonBasicLandType, false),
|
||||
URZAS("Urza's", SubTypeSet.NonBasicLandType, false),
|
||||
MINE("Mine", SubTypeSet.NonBasicLandType, false),
|
||||
POWER_PLANT("Power-Plant", SubTypeSet.NonBasicLandType, false),
|
||||
TOWER("Tower", SubTypeSet.NonBasicLandType, false),
|
||||
FOREST("Forest", SubTypeSet.BasicLandType),
|
||||
ISLAND("Island", SubTypeSet.BasicLandType),
|
||||
MOUNTAIN("Mountain", SubTypeSet.BasicLandType),
|
||||
PLAINS("Plains", SubTypeSet.BasicLandType),
|
||||
SWAMP("Swamp", SubTypeSet.BasicLandType),
|
||||
DESERT("Desert", SubTypeSet.NonBasicLandType),
|
||||
GATE("Gate", SubTypeSet.NonBasicLandType),
|
||||
LAIR("Lair", SubTypeSet.NonBasicLandType),
|
||||
LOCUS("Locus", SubTypeSet.NonBasicLandType),
|
||||
URZAS("Urza's", SubTypeSet.NonBasicLandType),
|
||||
MINE("Mine", SubTypeSet.NonBasicLandType),
|
||||
POWER_PLANT("Power-Plant", SubTypeSet.NonBasicLandType),
|
||||
TOWER("Tower", SubTypeSet.NonBasicLandType),
|
||||
|
||||
// 205.3h Enchantments have their own unique set of subtypes; these subtypes are called enchantment types.
|
||||
AURA("Aura", SubTypeSet.EnchantmentType, false),
|
||||
CARTOUCHE("Cartouche", SubTypeSet.EnchantmentType, false),
|
||||
CURSE("Curse", SubTypeSet.EnchantmentType, false),
|
||||
SHRINE("Shrine", SubTypeSet.EnchantmentType, false),
|
||||
AURA("Aura", SubTypeSet.EnchantmentType),
|
||||
CARTOUCHE("Cartouche", SubTypeSet.EnchantmentType),
|
||||
CURSE("Curse", SubTypeSet.EnchantmentType),
|
||||
SHRINE("Shrine", SubTypeSet.EnchantmentType),
|
||||
|
||||
// 205.3g: Artifacts have their own unique set of subtypes; these subtypes are called artifact types.
|
||||
CLUE("Clue", SubTypeSet.ArtifactType, false),
|
||||
CONTRAPTION("Contraption", SubTypeSet.ArtifactType, false),
|
||||
EQUIPMENT("Equipment", SubTypeSet.ArtifactType, false),
|
||||
FORTIFICATION("Fortification", SubTypeSet.ArtifactType, false),
|
||||
TREASURE("Treasure", SubTypeSet.ArtifactType, false),
|
||||
VEHICLE("Vehicle", SubTypeSet.ArtifactType, false),
|
||||
CLUE("Clue", SubTypeSet.ArtifactType),
|
||||
CONTRAPTION("Contraption", SubTypeSet.ArtifactType),
|
||||
EQUIPMENT("Equipment", SubTypeSet.ArtifactType),
|
||||
FORTIFICATION("Fortification", SubTypeSet.ArtifactType),
|
||||
TREASURE("Treasure", SubTypeSet.ArtifactType),
|
||||
VEHICLE("Vehicle", SubTypeSet.ArtifactType),
|
||||
|
||||
// 205.3m : Creatures and tribals share their lists of subtypes; these subtypes are called creature types.
|
||||
// A
|
||||
ADVISOR("Advisor", SubTypeSet.CreatureType, false),
|
||||
AETHERBORN("Aetherborn", SubTypeSet.CreatureType, false),
|
||||
ALLY("Ally", SubTypeSet.CreatureType, false),
|
||||
ANGEL("Angel", SubTypeSet.CreatureType, false),
|
||||
ANTELOPE("Antelope", SubTypeSet.CreatureType, false),
|
||||
ADVISOR("Advisor", SubTypeSet.CreatureType),
|
||||
AETHERBORN("Aetherborn", SubTypeSet.CreatureType),
|
||||
ALLY("Ally", SubTypeSet.CreatureType),
|
||||
ANGEL("Angel", SubTypeSet.CreatureType),
|
||||
ANTELOPE("Antelope", SubTypeSet.CreatureType),
|
||||
AQUALISH("Aqualish", SubTypeSet.CreatureType, true), // Star Wars
|
||||
APE("Ape", SubTypeSet.CreatureType, false),
|
||||
APE("Ape", SubTypeSet.CreatureType),
|
||||
ARCONA("Arcona", SubTypeSet.CreatureType, true),
|
||||
ARCHER("Archer", SubTypeSet.CreatureType, false),
|
||||
ARCHON("Archon", SubTypeSet.CreatureType, false),
|
||||
ARTIFICER("Artificer", SubTypeSet.CreatureType, false),
|
||||
ARCHER("Archer", SubTypeSet.CreatureType),
|
||||
ARCHON("Archon", SubTypeSet.CreatureType),
|
||||
ARTIFICER("Artificer", SubTypeSet.CreatureType),
|
||||
ARTIFICIER("Artificier", SubTypeSet.CreatureType, true),
|
||||
ASSASSIN("Assassin", SubTypeSet.CreatureType, false),
|
||||
ASSEMBLY_WORKER("Assembly-Worker", SubTypeSet.CreatureType, false),
|
||||
ATOG("Atog", SubTypeSet.CreatureType, false),
|
||||
ASSASSIN("Assassin", SubTypeSet.CreatureType),
|
||||
ASSEMBLY_WORKER("Assembly-Worker", SubTypeSet.CreatureType),
|
||||
ATOG("Atog", SubTypeSet.CreatureType),
|
||||
ATAT("AT-AT", SubTypeSet.CreatureType, true),
|
||||
AUROCHS("Aurochs", SubTypeSet.CreatureType, false),
|
||||
AUROCHS("Aurochs", SubTypeSet.CreatureType),
|
||||
AUTOBOT("Autobot", SubTypeSet.CreatureType, true), // H17, Grimlock
|
||||
AVATAR("Avatar", SubTypeSet.CreatureType, false),
|
||||
AVATAR("Avatar", SubTypeSet.CreatureType),
|
||||
// B
|
||||
BADGER("Badger", SubTypeSet.CreatureType, false),
|
||||
BARBARIAN("Barbarian", SubTypeSet.CreatureType, false),
|
||||
BASILISK("Basilisk", SubTypeSet.CreatureType, false),
|
||||
BAT("Bat", SubTypeSet.CreatureType, false),
|
||||
BEAR("Bear", SubTypeSet.CreatureType, false),
|
||||
BEAST("Beast", SubTypeSet.CreatureType, false),
|
||||
BEEBLE("Beeble", SubTypeSet.CreatureType, false),
|
||||
BERSERKER("Berserker", SubTypeSet.CreatureType, false),
|
||||
BIRD("Bird", SubTypeSet.CreatureType, false),
|
||||
BADGER("Badger", SubTypeSet.CreatureType),
|
||||
BARBARIAN("Barbarian", SubTypeSet.CreatureType),
|
||||
BASILISK("Basilisk", SubTypeSet.CreatureType),
|
||||
BAT("Bat", SubTypeSet.CreatureType),
|
||||
BEAR("Bear", SubTypeSet.CreatureType),
|
||||
BEAST("Beast", SubTypeSet.CreatureType),
|
||||
BEEBLE("Beeble", SubTypeSet.CreatureType),
|
||||
BERSERKER("Berserker", SubTypeSet.CreatureType),
|
||||
BIRD("Bird", SubTypeSet.CreatureType),
|
||||
BITH("Bith", SubTypeSet.CreatureType, true), // Star Wars
|
||||
BLINKMOTH("Blinkmoth", SubTypeSet.CreatureType, false),
|
||||
BOAR("Boar", SubTypeSet.CreatureType, false),
|
||||
BRINGER("Bringer", SubTypeSet.CreatureType, false),
|
||||
BRUSHWAGG("Brushwagg", SubTypeSet.CreatureType, false),
|
||||
BLINKMOTH("Blinkmoth", SubTypeSet.CreatureType),
|
||||
BOAR("Boar", SubTypeSet.CreatureType),
|
||||
BRINGER("Bringer", SubTypeSet.CreatureType),
|
||||
BRUSHWAGG("Brushwagg", SubTypeSet.CreatureType),
|
||||
// C
|
||||
CALAMARI("Calamari", SubTypeSet.CreatureType, true), // Star Wars
|
||||
CAMARID("Camarid", SubTypeSet.CreatureType, false),
|
||||
CAMEL("Camel", SubTypeSet.CreatureType, false),
|
||||
CARIBOU("Caribou", SubTypeSet.CreatureType, false),
|
||||
CARRIER("Carrier", SubTypeSet.CreatureType, false),
|
||||
CAT("Cat", SubTypeSet.CreatureType, false),
|
||||
CENTAUR("Centaur", SubTypeSet.CreatureType, false),
|
||||
CAMARID("Camarid", SubTypeSet.CreatureType),
|
||||
CAMEL("Camel", SubTypeSet.CreatureType),
|
||||
CARIBOU("Caribou", SubTypeSet.CreatureType),
|
||||
CARRIER("Carrier", SubTypeSet.CreatureType),
|
||||
CAT("Cat", SubTypeSet.CreatureType),
|
||||
CENTAUR("Centaur", SubTypeSet.CreatureType),
|
||||
CEREAN("Cerean", SubTypeSet.CreatureType, true), // Star Wars
|
||||
CEPHALID("Cephalid", SubTypeSet.CreatureType, false),
|
||||
CHIMERA("Chimera", SubTypeSet.CreatureType, false),
|
||||
CEPHALID("Cephalid", SubTypeSet.CreatureType),
|
||||
CHIMERA("Chimera", SubTypeSet.CreatureType),
|
||||
CHISS("Chiss", SubTypeSet.CreatureType, true),
|
||||
CITIZEN("Citizen", SubTypeSet.CreatureType, false),
|
||||
CLERIC("Cleric", SubTypeSet.CreatureType, false),
|
||||
COCKATRICE("Cockatrice", SubTypeSet.CreatureType, false),
|
||||
CONSTRUCT("Construct", SubTypeSet.CreatureType, false),
|
||||
COWARD("Coward", SubTypeSet.CreatureType, false),
|
||||
CRAB("Crab", SubTypeSet.CreatureType, false),
|
||||
CROCODILE("Crocodile", SubTypeSet.CreatureType, false),
|
||||
CITIZEN("Citizen", SubTypeSet.CreatureType),
|
||||
CLERIC("Cleric", SubTypeSet.CreatureType),
|
||||
COCKATRICE("Cockatrice", SubTypeSet.CreatureType),
|
||||
CONSTRUCT("Construct", SubTypeSet.CreatureType),
|
||||
COWARD("Coward", SubTypeSet.CreatureType),
|
||||
CRAB("Crab", SubTypeSet.CreatureType),
|
||||
CROCODILE("Crocodile", SubTypeSet.CreatureType),
|
||||
CYBORG("Cyborg", SubTypeSet.CreatureType, true), // Star Wars
|
||||
CYCLOPS("Cyclops", SubTypeSet.CreatureType, false),
|
||||
CYCLOPS("Cyclops", SubTypeSet.CreatureType),
|
||||
// D
|
||||
DATHOMIRIAN("Dathomirian", SubTypeSet.CreatureType, true), // Star Wars
|
||||
DAUTHI("Dauthi", SubTypeSet.CreatureType, false),
|
||||
DEMON("Demon", SubTypeSet.CreatureType, false),
|
||||
DESERTER("Deserter", SubTypeSet.CreatureType, false),
|
||||
DEVIL("Devil", SubTypeSet.CreatureType, false),
|
||||
DINOSAUR("Dinosaur", SubTypeSet.CreatureType, false), // With Ixalan now being spoiled, need this to be selectable
|
||||
DJINN("Djinn", SubTypeSet.CreatureType, false),
|
||||
DRAGON("Dragon", SubTypeSet.CreatureType, false),
|
||||
DRAKE("Drake", SubTypeSet.CreatureType, false),
|
||||
DREADNOUGHT("Dreadnought", SubTypeSet.CreatureType, false),
|
||||
DRONE("Drone", SubTypeSet.CreatureType, false),
|
||||
DRUID("Druid", SubTypeSet.CreatureType, false),
|
||||
DAUTHI("Dauthi", SubTypeSet.CreatureType),
|
||||
DEMON("Demon", SubTypeSet.CreatureType),
|
||||
DESERTER("Deserter", SubTypeSet.CreatureType),
|
||||
DEVIL("Devil", SubTypeSet.CreatureType),
|
||||
DINOSAUR("Dinosaur", SubTypeSet.CreatureType), // With Ixalan now being spoiled, need this to be selectable
|
||||
DJINN("Djinn", SubTypeSet.CreatureType),
|
||||
DRAGON("Dragon", SubTypeSet.CreatureType),
|
||||
DRAKE("Drake", SubTypeSet.CreatureType),
|
||||
DREADNOUGHT("Dreadnought", SubTypeSet.CreatureType),
|
||||
DRONE("Drone", SubTypeSet.CreatureType),
|
||||
DRUID("Druid", SubTypeSet.CreatureType),
|
||||
DROID("Droid", SubTypeSet.CreatureType, true), // Star Wars
|
||||
DRYAD("Dryad", SubTypeSet.CreatureType, false),
|
||||
DWARF("Dwarf", SubTypeSet.CreatureType, false),
|
||||
DRYAD("Dryad", SubTypeSet.CreatureType),
|
||||
DWARF("Dwarf", SubTypeSet.CreatureType),
|
||||
// E
|
||||
EFREET("Efreet", SubTypeSet.CreatureType, false),
|
||||
ELDER("Elder", SubTypeSet.CreatureType, false),
|
||||
ELDRAZI("Eldrazi", SubTypeSet.CreatureType, false),
|
||||
ELEMENTAL("Elemental", SubTypeSet.CreatureType, false),
|
||||
ELEPHANT("Elephant", SubTypeSet.CreatureType, false),
|
||||
ELF("Elf", SubTypeSet.CreatureType, false),
|
||||
ELK("Elk", SubTypeSet.CreatureType, false),
|
||||
EYE("Eye", SubTypeSet.CreatureType, false),
|
||||
EFREET("Efreet", SubTypeSet.CreatureType),
|
||||
ELDER("Elder", SubTypeSet.CreatureType),
|
||||
ELDRAZI("Eldrazi", SubTypeSet.CreatureType),
|
||||
ELEMENTAL("Elemental", SubTypeSet.CreatureType),
|
||||
ELEPHANT("Elephant", SubTypeSet.CreatureType),
|
||||
ELF("Elf", SubTypeSet.CreatureType),
|
||||
ELK("Elk", SubTypeSet.CreatureType),
|
||||
EYE("Eye", SubTypeSet.CreatureType),
|
||||
EWOK("Ewok", SubTypeSet.CreatureType, true), // Star Wars
|
||||
// F
|
||||
FAERIE("Faerie", SubTypeSet.CreatureType, false),
|
||||
FERRET("Ferret", SubTypeSet.CreatureType, false),
|
||||
FISH("Fish", SubTypeSet.CreatureType, false),
|
||||
FLAGBEARER("Flagbearer", SubTypeSet.CreatureType, false),
|
||||
FOX("Fox", SubTypeSet.CreatureType, false),
|
||||
FROG("Frog", SubTypeSet.CreatureType, false),
|
||||
FUNGUS("Fungus", SubTypeSet.CreatureType, false),
|
||||
FAERIE("Faerie", SubTypeSet.CreatureType),
|
||||
FERRET("Ferret", SubTypeSet.CreatureType),
|
||||
FISH("Fish", SubTypeSet.CreatureType),
|
||||
FLAGBEARER("Flagbearer", SubTypeSet.CreatureType),
|
||||
FOX("Fox", SubTypeSet.CreatureType),
|
||||
FROG("Frog", SubTypeSet.CreatureType),
|
||||
FUNGUS("Fungus", SubTypeSet.CreatureType),
|
||||
// G
|
||||
GAMORREAN("Gamorrean", SubTypeSet.CreatureType, true), // Star Wars
|
||||
GAND("Gand", SubTypeSet.CreatureType, true), // Star Wars
|
||||
GARGOYLE("Gargoyle", SubTypeSet.CreatureType, false),
|
||||
GERM("Germ", SubTypeSet.CreatureType, false),
|
||||
GIANT("Giant", SubTypeSet.CreatureType, false),
|
||||
GNOME("Gnome", SubTypeSet.CreatureType, false),
|
||||
GOLEM("Golem", SubTypeSet.CreatureType, false),
|
||||
GOAT("Goat", SubTypeSet.CreatureType, false),
|
||||
GOBLIN("Goblin", SubTypeSet.CreatureType, false),
|
||||
GOD("God", SubTypeSet.CreatureType, false),
|
||||
GORGON("Gorgon", SubTypeSet.CreatureType, false),
|
||||
GRAVEBORN("Graveborn", SubTypeSet.CreatureType, false),
|
||||
GREMLIN("Gremlin", SubTypeSet.CreatureType, false),
|
||||
GRIFFIN("Griffin", SubTypeSet.CreatureType, false),
|
||||
GARGOYLE("Gargoyle", SubTypeSet.CreatureType),
|
||||
GERM("Germ", SubTypeSet.CreatureType),
|
||||
GIANT("Giant", SubTypeSet.CreatureType),
|
||||
GNOME("Gnome", SubTypeSet.CreatureType),
|
||||
GOLEM("Golem", SubTypeSet.CreatureType),
|
||||
GOAT("Goat", SubTypeSet.CreatureType),
|
||||
GOBLIN("Goblin", SubTypeSet.CreatureType),
|
||||
GOD("God", SubTypeSet.CreatureType),
|
||||
GORGON("Gorgon", SubTypeSet.CreatureType),
|
||||
GRAVEBORN("Graveborn", SubTypeSet.CreatureType),
|
||||
GREMLIN("Gremlin", SubTypeSet.CreatureType),
|
||||
GRIFFIN("Griffin", SubTypeSet.CreatureType),
|
||||
GUNGAN("Gungan", SubTypeSet.CreatureType, true), // Star Wars
|
||||
// H
|
||||
HAG("Hag", SubTypeSet.CreatureType, false),
|
||||
HARPY("Harpy", SubTypeSet.CreatureType, false),
|
||||
HELLION("Hellion", SubTypeSet.CreatureType, false),
|
||||
HIPPO("Hippo", SubTypeSet.CreatureType, false),
|
||||
HIPPOGRIFF("Hippogriff", SubTypeSet.CreatureType, false),
|
||||
HOMARID("Homarid", SubTypeSet.CreatureType, false),
|
||||
HOMUNCULUS("Homunculus", SubTypeSet.CreatureType, false),
|
||||
HORROR("Horror", SubTypeSet.CreatureType, false),
|
||||
HORSE("Horse", SubTypeSet.CreatureType, false),
|
||||
HOUND("Hound", SubTypeSet.CreatureType, false),
|
||||
HUMAN("Human", SubTypeSet.CreatureType, false),
|
||||
HUNTER("Hunter", SubTypeSet.CreatureType, false),
|
||||
HAG("Hag", SubTypeSet.CreatureType),
|
||||
HARPY("Harpy", SubTypeSet.CreatureType),
|
||||
HELLION("Hellion", SubTypeSet.CreatureType),
|
||||
HIPPO("Hippo", SubTypeSet.CreatureType),
|
||||
HIPPOGRIFF("Hippogriff", SubTypeSet.CreatureType),
|
||||
HOMARID("Homarid", SubTypeSet.CreatureType),
|
||||
HOMUNCULUS("Homunculus", SubTypeSet.CreatureType),
|
||||
HORROR("Horror", SubTypeSet.CreatureType),
|
||||
HORSE("Horse", SubTypeSet.CreatureType),
|
||||
HOUND("Hound", SubTypeSet.CreatureType),
|
||||
HUMAN("Human", SubTypeSet.CreatureType),
|
||||
HUNTER("Hunter", SubTypeSet.CreatureType),
|
||||
HUTT("Hutt", SubTypeSet.CreatureType, true), // Star Wars
|
||||
HYDRA("Hydra", SubTypeSet.CreatureType, false),
|
||||
HYENA("Hyena", SubTypeSet.CreatureType, false),
|
||||
HYDRA("Hydra", SubTypeSet.CreatureType),
|
||||
HYENA("Hyena", SubTypeSet.CreatureType),
|
||||
// I
|
||||
ILLUSION("Illusion", SubTypeSet.CreatureType, false),
|
||||
IMP("Imp", SubTypeSet.CreatureType, false),
|
||||
INCARNATION("Incarnation", SubTypeSet.CreatureType, false),
|
||||
INSECT("Insect", SubTypeSet.CreatureType, false),
|
||||
ILLUSION("Illusion", SubTypeSet.CreatureType),
|
||||
IMP("Imp", SubTypeSet.CreatureType),
|
||||
INCARNATION("Incarnation", SubTypeSet.CreatureType),
|
||||
INSECT("Insect", SubTypeSet.CreatureType),
|
||||
ITHORIAN("Ithorian", SubTypeSet.CreatureType, true), // Star Wars
|
||||
// J
|
||||
JACKAL("Jackal", SubTypeSet.CreatureType, false),
|
||||
JACKAL("Jackal", SubTypeSet.CreatureType),
|
||||
JAWA("Jawa", SubTypeSet.CreatureType, true),
|
||||
JEDI("Jedi", SubTypeSet.CreatureType, true), // Star Wars
|
||||
JELLYFISH("Jellyfish", SubTypeSet.CreatureType, false),
|
||||
JUGGERNAUT("Juggernaut", SubTypeSet.CreatureType, false),
|
||||
JELLYFISH("Jellyfish", SubTypeSet.CreatureType),
|
||||
JUGGERNAUT("Juggernaut", SubTypeSet.CreatureType),
|
||||
// K
|
||||
KALEESH("Kaleesh", SubTypeSet.CreatureType, true), // Star Wars
|
||||
KAVU("Kavu", SubTypeSet.CreatureType, false),
|
||||
KAVU("Kavu", SubTypeSet.CreatureType),
|
||||
KELDOR("KelDor", SubTypeSet.CreatureType, true),
|
||||
KIRIN("Kirin", SubTypeSet.CreatureType, false),
|
||||
KITHKIN("Kithkin", SubTypeSet.CreatureType, false),
|
||||
KNIGHT("Knight", SubTypeSet.CreatureType, false),
|
||||
KOBOLD("Kobold", SubTypeSet.CreatureType, false),
|
||||
KIRIN("Kirin", SubTypeSet.CreatureType),
|
||||
KITHKIN("Kithkin", SubTypeSet.CreatureType),
|
||||
KNIGHT("Knight", SubTypeSet.CreatureType),
|
||||
KOBOLD("Kobold", SubTypeSet.CreatureType),
|
||||
KOORIVAR("Koorivar", SubTypeSet.CreatureType, true),
|
||||
KOR("Kor", SubTypeSet.CreatureType, false),
|
||||
KRAKEN("Kraken", SubTypeSet.CreatureType, false),
|
||||
KOR("Kor", SubTypeSet.CreatureType),
|
||||
KRAKEN("Kraken", SubTypeSet.CreatureType),
|
||||
// L
|
||||
LAMIA("Lamia", SubTypeSet.CreatureType, false),
|
||||
LAMMASU("Lammasu", SubTypeSet.CreatureType, false),
|
||||
LEECH("Leech", SubTypeSet.CreatureType, false),
|
||||
LEVIATHAN("Leviathan", SubTypeSet.CreatureType, false),
|
||||
LHURGOYF("Lhurgoyf", SubTypeSet.CreatureType, false),
|
||||
LICID("Licid", SubTypeSet.CreatureType, false),
|
||||
LIZARD("Lizard", SubTypeSet.CreatureType, false),
|
||||
LAMIA("Lamia", SubTypeSet.CreatureType),
|
||||
LAMMASU("Lammasu", SubTypeSet.CreatureType),
|
||||
LEECH("Leech", SubTypeSet.CreatureType),
|
||||
LEVIATHAN("Leviathan", SubTypeSet.CreatureType),
|
||||
LHURGOYF("Lhurgoyf", SubTypeSet.CreatureType),
|
||||
LICID("Licid", SubTypeSet.CreatureType),
|
||||
LIZARD("Lizard", SubTypeSet.CreatureType),
|
||||
// M
|
||||
MANTELLIAN("Mantellian", SubTypeSet.CreatureType, true), // Star Wars
|
||||
MANTICORE("Manticore", SubTypeSet.CreatureType, false),
|
||||
MASTICORE("Masticore", SubTypeSet.CreatureType, false),
|
||||
MERCENARY("Mercenary", SubTypeSet.CreatureType, false),
|
||||
MERFOLK("Merfolk", SubTypeSet.CreatureType, false),
|
||||
METATHRAN("Metathran", SubTypeSet.CreatureType, false),
|
||||
MINION("Minion", SubTypeSet.CreatureType, false),
|
||||
MINOTAUR("Minotaur", SubTypeSet.CreatureType, false),
|
||||
MANTICORE("Manticore", SubTypeSet.CreatureType),
|
||||
MASTICORE("Masticore", SubTypeSet.CreatureType),
|
||||
MERCENARY("Mercenary", SubTypeSet.CreatureType),
|
||||
MERFOLK("Merfolk", SubTypeSet.CreatureType),
|
||||
METATHRAN("Metathran", SubTypeSet.CreatureType),
|
||||
MINION("Minion", SubTypeSet.CreatureType),
|
||||
MINOTAUR("Minotaur", SubTypeSet.CreatureType),
|
||||
MIRIALAN("Mirialan", SubTypeSet.CreatureType, true), // Star Wars
|
||||
MOLE("Mole", SubTypeSet.CreatureType, false),
|
||||
MONGER("Monger", SubTypeSet.CreatureType, false),
|
||||
MONGOOSE("Mongoose", SubTypeSet.CreatureType, false),
|
||||
MONK("Monk", SubTypeSet.CreatureType, false),
|
||||
MONKEY("Monkey", SubTypeSet.CreatureType, false),
|
||||
MOONFOLK("Moonfolk", SubTypeSet.CreatureType, false),
|
||||
MUTANT("Mutant", SubTypeSet.CreatureType, false),
|
||||
MYR("Myr", SubTypeSet.CreatureType, false),
|
||||
MYSTIC("Mystic", SubTypeSet.CreatureType, false),
|
||||
MOLE("Mole", SubTypeSet.CreatureType),
|
||||
MONGER("Monger", SubTypeSet.CreatureType),
|
||||
MONGOOSE("Mongoose", SubTypeSet.CreatureType),
|
||||
MONK("Monk", SubTypeSet.CreatureType),
|
||||
MONKEY("Monkey", SubTypeSet.CreatureType),
|
||||
MOONFOLK("Moonfolk", SubTypeSet.CreatureType),
|
||||
MUTANT("Mutant", SubTypeSet.CreatureType),
|
||||
MYR("Myr", SubTypeSet.CreatureType),
|
||||
MYSTIC("Mystic", SubTypeSet.CreatureType),
|
||||
// N
|
||||
NAGA("Naga", SubTypeSet.CreatureType, false),
|
||||
NAUTILUS("Nautilus", SubTypeSet.CreatureType, false),
|
||||
NAGA("Naga", SubTypeSet.CreatureType),
|
||||
NAUTILUS("Nautilus", SubTypeSet.CreatureType),
|
||||
NAUTOLAN("Nautolan", SubTypeSet.CreatureType, true), // Star Wars
|
||||
NEIMOIDIAN("Neimoidian", SubTypeSet.CreatureType, true), // Star Wars
|
||||
NEPHILIM("Nephilim", SubTypeSet.CreatureType, false),
|
||||
NIGHTMARE("Nightmare", SubTypeSet.CreatureType, false),
|
||||
NIGHTSTALKER("Nightstalker", SubTypeSet.CreatureType, false),
|
||||
NINJA("Ninja", SubTypeSet.CreatureType, false),
|
||||
NOGGLE("Noggle", SubTypeSet.CreatureType, false),
|
||||
NOMAD("Nomad", SubTypeSet.CreatureType, false),
|
||||
NYMPH("Nymph", SubTypeSet.CreatureType, false),
|
||||
NEPHILIM("Nephilim", SubTypeSet.CreatureType),
|
||||
NIGHTMARE("Nightmare", SubTypeSet.CreatureType),
|
||||
NIGHTSTALKER("Nightstalker", SubTypeSet.CreatureType),
|
||||
NINJA("Ninja", SubTypeSet.CreatureType),
|
||||
NOGGLE("Noggle", SubTypeSet.CreatureType),
|
||||
NOMAD("Nomad", SubTypeSet.CreatureType),
|
||||
NYMPH("Nymph", SubTypeSet.CreatureType),
|
||||
// O
|
||||
OCTOPUS("Octopus", SubTypeSet.CreatureType, false),
|
||||
OGRE("Ogre", SubTypeSet.CreatureType, false),
|
||||
OOZE("Ooze", SubTypeSet.CreatureType, false),
|
||||
ORB("Orb", SubTypeSet.CreatureType, false),
|
||||
ORC("Orc", SubTypeSet.CreatureType, false),
|
||||
ORGG("Orgg", SubTypeSet.CreatureType, false),
|
||||
OCTOPUS("Octopus", SubTypeSet.CreatureType),
|
||||
OGRE("Ogre", SubTypeSet.CreatureType),
|
||||
OOZE("Ooze", SubTypeSet.CreatureType),
|
||||
ORB("Orb", SubTypeSet.CreatureType),
|
||||
ORC("Orc", SubTypeSet.CreatureType),
|
||||
ORGG("Orgg", SubTypeSet.CreatureType),
|
||||
ORTOLAN("Ortolan", SubTypeSet.CreatureType, true),
|
||||
OUPHE("Ouphe", SubTypeSet.CreatureType, false),
|
||||
OX("Ox", SubTypeSet.CreatureType, false),
|
||||
OYSTER("Oyster", SubTypeSet.CreatureType, false),
|
||||
OUPHE("Ouphe", SubTypeSet.CreatureType),
|
||||
OX("Ox", SubTypeSet.CreatureType),
|
||||
OYSTER("Oyster", SubTypeSet.CreatureType),
|
||||
// P
|
||||
PEGASUS("Pegasus", SubTypeSet.CreatureType, false),
|
||||
PENTAVITE("Pentavite", SubTypeSet.CreatureType, false),
|
||||
PEST("Pest", SubTypeSet.CreatureType, false),
|
||||
PHELDDAGRIF("Phelddagrif", SubTypeSet.CreatureType, false),
|
||||
PHOENIX("Phoenix", SubTypeSet.CreatureType, false),
|
||||
PILOT("Pilot", SubTypeSet.CreatureType, false),
|
||||
PINCHER("Pincher", SubTypeSet.CreatureType, false),
|
||||
PIRATE("Pirate", SubTypeSet.CreatureType, false),
|
||||
PLANT("Plant", SubTypeSet.CreatureType, false),
|
||||
PRAETOR("Praetor", SubTypeSet.CreatureType, false),
|
||||
PRISM("Prism", SubTypeSet.CreatureType, false),
|
||||
PROCESSOR("Processor", SubTypeSet.CreatureType, false),
|
||||
PEGASUS("Pegasus", SubTypeSet.CreatureType),
|
||||
PENTAVITE("Pentavite", SubTypeSet.CreatureType),
|
||||
PEST("Pest", SubTypeSet.CreatureType),
|
||||
PHELDDAGRIF("Phelddagrif", SubTypeSet.CreatureType),
|
||||
PHOENIX("Phoenix", SubTypeSet.CreatureType),
|
||||
PILOT("Pilot", SubTypeSet.CreatureType),
|
||||
PINCHER("Pincher", SubTypeSet.CreatureType),
|
||||
PIRATE("Pirate", SubTypeSet.CreatureType),
|
||||
PLANT("Plant", SubTypeSet.CreatureType),
|
||||
PRAETOR("Praetor", SubTypeSet.CreatureType),
|
||||
PRISM("Prism", SubTypeSet.CreatureType),
|
||||
PROCESSOR("Processor", SubTypeSet.CreatureType),
|
||||
PUREBLOOD("Pureblood", SubTypeSet.CreatureType, true),
|
||||
// Q
|
||||
QUARREN("Quarren", SubTypeSet.CreatureType, true), // Star Wars
|
||||
// R
|
||||
RABBIT("Rabbit", SubTypeSet.CreatureType, false),
|
||||
RAT("Rat", SubTypeSet.CreatureType, false),
|
||||
REBEL("Rebel", SubTypeSet.CreatureType, false),
|
||||
REFLECTION("Reflection", SubTypeSet.CreatureType, false),
|
||||
RHINO("Rhino", SubTypeSet.CreatureType, false),
|
||||
RIGGER("Rigger", SubTypeSet.CreatureType, false),
|
||||
RABBIT("Rabbit", SubTypeSet.CreatureType),
|
||||
RAT("Rat", SubTypeSet.CreatureType),
|
||||
REBEL("Rebel", SubTypeSet.CreatureType),
|
||||
REFLECTION("Reflection", SubTypeSet.CreatureType),
|
||||
RHINO("Rhino", SubTypeSet.CreatureType),
|
||||
RIGGER("Rigger", SubTypeSet.CreatureType),
|
||||
RODIAN("Rodian", SubTypeSet.CreatureType, true), // Star Wars
|
||||
ROGUE("Rogue", SubTypeSet.CreatureType, false),
|
||||
ROGUE("Rogue", SubTypeSet.CreatureType),
|
||||
// S
|
||||
SABLE("Sable", SubTypeSet.CreatureType, false),
|
||||
SALAMANDER("Salamander", SubTypeSet.CreatureType, false),
|
||||
SAMURAI("Samurai", SubTypeSet.CreatureType, false),
|
||||
SAND("Sand", SubTypeSet.CreatureType, false),
|
||||
SAPROLING("Saproling", SubTypeSet.CreatureType, false),
|
||||
SATYR("Satyr", SubTypeSet.CreatureType, false),
|
||||
SCARECROW("Scarecrow", SubTypeSet.CreatureType, false),
|
||||
SCION("Scion", SubTypeSet.CreatureType, false),
|
||||
SCORPION("Scorpion", SubTypeSet.CreatureType, false),
|
||||
SCOUT("Scout", SubTypeSet.CreatureType, false),
|
||||
SERF("Serf", SubTypeSet.CreatureType, false),
|
||||
SERPENT("Serpent", SubTypeSet.CreatureType, false),
|
||||
SERVO("Servo", SubTypeSet.CreatureType, false),
|
||||
SHADE("Shade", SubTypeSet.CreatureType, false),
|
||||
SHAMAN("Shaman", SubTypeSet.CreatureType, false),
|
||||
SHAPESHIFTER("Shapeshifter", SubTypeSet.CreatureType, false),
|
||||
SHEEP("Sheep", SubTypeSet.CreatureType, false),
|
||||
SIREN("Siren", SubTypeSet.CreatureType, false),
|
||||
SITH("Sith", SubTypeSet.CreatureType, false),
|
||||
SKELETON("Skeleton", SubTypeSet.CreatureType, false),
|
||||
SLITH("Slith", SubTypeSet.CreatureType, false),
|
||||
SLIVER("Sliver", SubTypeSet.CreatureType, false),
|
||||
SLUG("Slug", SubTypeSet.CreatureType, false),
|
||||
SNAKE("Snake", SubTypeSet.CreatureType, false),
|
||||
SOLDIER("Soldier", SubTypeSet.CreatureType, false),
|
||||
SOLTARI("Soltari", SubTypeSet.CreatureType, false),
|
||||
SPAWN("Spawn", SubTypeSet.CreatureType, false),
|
||||
SPECTER("Specter", SubTypeSet.CreatureType, false),
|
||||
SPELLSHAPER("Spellshaper", SubTypeSet.CreatureType, false),
|
||||
SPHINX("Sphinx", SubTypeSet.CreatureType, false),
|
||||
SPIDER("Spider", SubTypeSet.CreatureType, false),
|
||||
SPIKE("Spike", SubTypeSet.CreatureType, false),
|
||||
SPIRIT("Spirit", SubTypeSet.CreatureType, false),
|
||||
SPLITTER("Splitter", SubTypeSet.CreatureType, false),
|
||||
SPONGE("Sponge", SubTypeSet.CreatureType, false),
|
||||
SQUID("Squid", SubTypeSet.CreatureType, false),
|
||||
SQUIRREL("Squirrel", SubTypeSet.CreatureType, false),
|
||||
STARFISH("Starfish", SubTypeSet.CreatureType, false),
|
||||
SABLE("Sable", SubTypeSet.CreatureType),
|
||||
SALAMANDER("Salamander", SubTypeSet.CreatureType),
|
||||
SAMURAI("Samurai", SubTypeSet.CreatureType),
|
||||
SAND("Sand", SubTypeSet.CreatureType),
|
||||
SAPROLING("Saproling", SubTypeSet.CreatureType),
|
||||
SATYR("Satyr", SubTypeSet.CreatureType),
|
||||
SCARECROW("Scarecrow", SubTypeSet.CreatureType),
|
||||
SCION("Scion", SubTypeSet.CreatureType),
|
||||
SCORPION("Scorpion", SubTypeSet.CreatureType),
|
||||
SCOUT("Scout", SubTypeSet.CreatureType),
|
||||
SERF("Serf", SubTypeSet.CreatureType),
|
||||
SERPENT("Serpent", SubTypeSet.CreatureType),
|
||||
SERVO("Servo", SubTypeSet.CreatureType),
|
||||
SHADE("Shade", SubTypeSet.CreatureType),
|
||||
SHAMAN("Shaman", SubTypeSet.CreatureType),
|
||||
SHAPESHIFTER("Shapeshifter", SubTypeSet.CreatureType),
|
||||
SHEEP("Sheep", SubTypeSet.CreatureType),
|
||||
SIREN("Siren", SubTypeSet.CreatureType),
|
||||
SITH("Sith", SubTypeSet.CreatureType),
|
||||
SKELETON("Skeleton", SubTypeSet.CreatureType),
|
||||
SLITH("Slith", SubTypeSet.CreatureType),
|
||||
SLIVER("Sliver", SubTypeSet.CreatureType),
|
||||
SLUG("Slug", SubTypeSet.CreatureType),
|
||||
SNAKE("Snake", SubTypeSet.CreatureType),
|
||||
SOLDIER("Soldier", SubTypeSet.CreatureType),
|
||||
SOLTARI("Soltari", SubTypeSet.CreatureType),
|
||||
SPAWN("Spawn", SubTypeSet.CreatureType),
|
||||
SPECTER("Specter", SubTypeSet.CreatureType),
|
||||
SPELLSHAPER("Spellshaper", SubTypeSet.CreatureType),
|
||||
SPHINX("Sphinx", SubTypeSet.CreatureType),
|
||||
SPIDER("Spider", SubTypeSet.CreatureType),
|
||||
SPIKE("Spike", SubTypeSet.CreatureType),
|
||||
SPIRIT("Spirit", SubTypeSet.CreatureType),
|
||||
SPLITTER("Splitter", SubTypeSet.CreatureType),
|
||||
SPONGE("Sponge", SubTypeSet.CreatureType),
|
||||
SQUID("Squid", SubTypeSet.CreatureType),
|
||||
SQUIRREL("Squirrel", SubTypeSet.CreatureType),
|
||||
STARFISH("Starfish", SubTypeSet.CreatureType),
|
||||
STARSHIP("Starship", SubTypeSet.CreatureType, true), // Star Wars
|
||||
SULLUSTAN("Sullustan", SubTypeSet.CreatureType, true), // Star Wars
|
||||
SURRAKAR("Surrakar", SubTypeSet.CreatureType, false),
|
||||
SURVIVOR("Survivor", SubTypeSet.CreatureType, false),
|
||||
SURRAKAR("Surrakar", SubTypeSet.CreatureType),
|
||||
SURVIVOR("Survivor", SubTypeSet.CreatureType),
|
||||
// T
|
||||
TETRAVITE("Tetravite", SubTypeSet.CreatureType, false),
|
||||
THALAKOS("Thalakos", SubTypeSet.CreatureType, false),
|
||||
THOPTER("Thopter", SubTypeSet.CreatureType, false),
|
||||
TETRAVITE("Tetravite", SubTypeSet.CreatureType),
|
||||
THALAKOS("Thalakos", SubTypeSet.CreatureType),
|
||||
THOPTER("Thopter", SubTypeSet.CreatureType),
|
||||
TRANDOSHAN("Trandoshan", SubTypeSet.CreatureType, true), // Star Wars
|
||||
THRULL("Thrull", SubTypeSet.CreatureType, false),
|
||||
TREEFOLK("Treefolk", SubTypeSet.CreatureType, false),
|
||||
TRISKELAVITE("Triskelavite", SubTypeSet.CreatureType, false),
|
||||
TROLL("Troll", SubTypeSet.CreatureType, false),
|
||||
TURTLE("Turtle", SubTypeSet.CreatureType, false),
|
||||
THRULL("Thrull", SubTypeSet.CreatureType),
|
||||
TREEFOLK("Treefolk", SubTypeSet.CreatureType),
|
||||
TRISKELAVITE("Triskelavite", SubTypeSet.CreatureType),
|
||||
TROLL("Troll", SubTypeSet.CreatureType),
|
||||
TURTLE("Turtle", SubTypeSet.CreatureType),
|
||||
TROOPER("Trooper", SubTypeSet.CreatureType, true), // Star Wars
|
||||
TWILEK("Twi'lek", SubTypeSet.CreatureType, true), // Star Wars
|
||||
|
||||
// U
|
||||
UGNAUGHT("Ugnaught", SubTypeSet.CreatureType, true),
|
||||
UNICORN("Unicorn", SubTypeSet.CreatureType, false),
|
||||
UNICORN("Unicorn", SubTypeSet.CreatureType),
|
||||
//V
|
||||
VAMPIRE("Vampire", SubTypeSet.CreatureType, false),
|
||||
VEDALKEN("Vedalken", SubTypeSet.CreatureType, false),
|
||||
VIASHINO("Viashino", SubTypeSet.CreatureType, false),
|
||||
VOLVER("Volver", SubTypeSet.CreatureType, false),
|
||||
VAMPIRE("Vampire", SubTypeSet.CreatureType),
|
||||
VEDALKEN("Vedalken", SubTypeSet.CreatureType),
|
||||
VIASHINO("Viashino", SubTypeSet.CreatureType),
|
||||
VOLVER("Volver", SubTypeSet.CreatureType),
|
||||
//W
|
||||
WALL("Wall", SubTypeSet.CreatureType, false),
|
||||
WARRIOR("Warrior", SubTypeSet.CreatureType, false),
|
||||
WALL("Wall", SubTypeSet.CreatureType),
|
||||
WARRIOR("Warrior", SubTypeSet.CreatureType),
|
||||
WEEQUAY("Weequay", SubTypeSet.CreatureType, true),
|
||||
WEIRD("Weird", SubTypeSet.CreatureType, false),
|
||||
WEREWOLF("Werewolf", SubTypeSet.CreatureType, false),
|
||||
WHALE("Whale", SubTypeSet.CreatureType, false),
|
||||
WIZARD("Wizard", SubTypeSet.CreatureType, false),
|
||||
WOLF("Wolf", SubTypeSet.CreatureType, false),
|
||||
WOLVERINE("Wolverine", SubTypeSet.CreatureType, false),
|
||||
WOMBAT("Wombat", SubTypeSet.CreatureType, false),
|
||||
WEIRD("Weird", SubTypeSet.CreatureType),
|
||||
WEREWOLF("Werewolf", SubTypeSet.CreatureType),
|
||||
WHALE("Whale", SubTypeSet.CreatureType),
|
||||
WIZARD("Wizard", SubTypeSet.CreatureType),
|
||||
WOLF("Wolf", SubTypeSet.CreatureType),
|
||||
WOLVERINE("Wolverine", SubTypeSet.CreatureType),
|
||||
WOMBAT("Wombat", SubTypeSet.CreatureType),
|
||||
WOOKIEE("Wookiee", SubTypeSet.CreatureType, true), // Star Wars
|
||||
WORM("Worm", SubTypeSet.CreatureType, false),
|
||||
WRAITH("Wraith", SubTypeSet.CreatureType, false),
|
||||
WURM("Wurm", SubTypeSet.CreatureType, false),
|
||||
WORM("Worm", SubTypeSet.CreatureType),
|
||||
WRAITH("Wraith", SubTypeSet.CreatureType),
|
||||
WURM("Wurm", SubTypeSet.CreatureType),
|
||||
// Y
|
||||
YETI("Yeti", SubTypeSet.CreatureType, false),
|
||||
YETI("Yeti", SubTypeSet.CreatureType),
|
||||
// Z
|
||||
ZABRAK("Zabrak", SubTypeSet.CreatureType, true), // Star Wars
|
||||
ZOMBIE("Zombie", SubTypeSet.CreatureType, false),
|
||||
ZUBERA("Zubera", SubTypeSet.CreatureType, false),
|
||||
ZOMBIE("Zombie", SubTypeSet.CreatureType),
|
||||
ZUBERA("Zubera", SubTypeSet.CreatureType),
|
||||
// Planeswalker
|
||||
AJANI("Ajani", SubTypeSet.PlaneswalkerType, false),
|
||||
ARLINN("Arlinn", SubTypeSet.PlaneswalkerType, false),
|
||||
ASHIOK("Ashiok", SubTypeSet.PlaneswalkerType, false),
|
||||
AJANI("Ajani", SubTypeSet.PlaneswalkerType),
|
||||
ARLINN("Arlinn", SubTypeSet.PlaneswalkerType),
|
||||
ASHIOK("Ashiok", SubTypeSet.PlaneswalkerType),
|
||||
AURRA("Aurra", SubTypeSet.PlaneswalkerType, true), // Star Wars
|
||||
BOLAS("Bolas", SubTypeSet.PlaneswalkerType, false),
|
||||
CHANDRA("Chandra", SubTypeSet.PlaneswalkerType, false),
|
||||
DACK("Dack", SubTypeSet.PlaneswalkerType, false),
|
||||
DARETTI("Daretti", SubTypeSet.PlaneswalkerType, false),
|
||||
DOMRI("Domri", SubTypeSet.PlaneswalkerType, false),
|
||||
BOLAS("Bolas", SubTypeSet.PlaneswalkerType),
|
||||
CHANDRA("Chandra", SubTypeSet.PlaneswalkerType),
|
||||
DACK("Dack", SubTypeSet.PlaneswalkerType),
|
||||
DARETTI("Daretti", SubTypeSet.PlaneswalkerType),
|
||||
DOMRI("Domri", SubTypeSet.PlaneswalkerType),
|
||||
DOOKU("Dooku", SubTypeSet.PlaneswalkerType, true), // Star Wars
|
||||
DOVIN("Dovin", SubTypeSet.PlaneswalkerType, false),
|
||||
ELSPETH("Elspeth", SubTypeSet.PlaneswalkerType, false),
|
||||
FREYALISE("Freyalise", SubTypeSet.PlaneswalkerType, false),
|
||||
GARRUK("Garruk", SubTypeSet.PlaneswalkerType, false),
|
||||
GIDEON("Gideon", SubTypeSet.PlaneswalkerType, false),
|
||||
HUATLI("Huatli", SubTypeSet.PlaneswalkerType, false),
|
||||
JACE("Jace", SubTypeSet.PlaneswalkerType, false),
|
||||
KARN("Karn", SubTypeSet.PlaneswalkerType, false),
|
||||
KAYA("Kaya", SubTypeSet.PlaneswalkerType, false),
|
||||
KIORA("Kiora", SubTypeSet.PlaneswalkerType, false),
|
||||
KOTH("Koth", SubTypeSet.PlaneswalkerType, false),
|
||||
LILIANA("Liliana", SubTypeSet.PlaneswalkerType, false),
|
||||
NAHIRI("Nahiri", SubTypeSet.PlaneswalkerType, false),
|
||||
NARSET("Narset", SubTypeSet.PlaneswalkerType, false),
|
||||
NISSA("Nissa", SubTypeSet.PlaneswalkerType, false),
|
||||
NIXILIS("Nixilis", SubTypeSet.PlaneswalkerType, false),
|
||||
DOVIN("Dovin", SubTypeSet.PlaneswalkerType),
|
||||
ELSPETH("Elspeth", SubTypeSet.PlaneswalkerType),
|
||||
FREYALISE("Freyalise", SubTypeSet.PlaneswalkerType),
|
||||
GARRUK("Garruk", SubTypeSet.PlaneswalkerType),
|
||||
GIDEON("Gideon", SubTypeSet.PlaneswalkerType),
|
||||
HUATLI("Huatli", SubTypeSet.PlaneswalkerType),
|
||||
JACE("Jace", SubTypeSet.PlaneswalkerType),
|
||||
KARN("Karn", SubTypeSet.PlaneswalkerType),
|
||||
KAYA("Kaya", SubTypeSet.PlaneswalkerType),
|
||||
KIORA("Kiora", SubTypeSet.PlaneswalkerType),
|
||||
KOTH("Koth", SubTypeSet.PlaneswalkerType),
|
||||
LILIANA("Liliana", SubTypeSet.PlaneswalkerType),
|
||||
NAHIRI("Nahiri", SubTypeSet.PlaneswalkerType),
|
||||
NARSET("Narset", SubTypeSet.PlaneswalkerType),
|
||||
NISSA("Nissa", SubTypeSet.PlaneswalkerType),
|
||||
NIXILIS("Nixilis", SubTypeSet.PlaneswalkerType),
|
||||
OBI_WAN("Obi-Wan", SubTypeSet.PlaneswalkerType, true), // Star Wars
|
||||
RAL("Ral", SubTypeSet.PlaneswalkerType, false),
|
||||
SAHEELI("Saheeli", SubTypeSet.PlaneswalkerType, false),
|
||||
SAMUT("Samut", SubTypeSet.PlaneswalkerType, false),
|
||||
SARKHAN("Sarkhan", SubTypeSet.PlaneswalkerType, false),
|
||||
RAL("Ral", SubTypeSet.PlaneswalkerType),
|
||||
SAHEELI("Saheeli", SubTypeSet.PlaneswalkerType),
|
||||
SAMUT("Samut", SubTypeSet.PlaneswalkerType),
|
||||
SARKHAN("Sarkhan", SubTypeSet.PlaneswalkerType),
|
||||
SIDIOUS("Sidious", SubTypeSet.PlaneswalkerType, true), // Star Wars
|
||||
SORIN("Sorin", SubTypeSet.PlaneswalkerType, false),
|
||||
TAMIYO("Tamiyo", SubTypeSet.PlaneswalkerType, false),
|
||||
TEFERI("Teferi", SubTypeSet.PlaneswalkerType, false),
|
||||
TEZZERET("Tezzeret", SubTypeSet.PlaneswalkerType, false),
|
||||
TIBALT("Tibalt", SubTypeSet.PlaneswalkerType, false),
|
||||
UGIN("Ugin", SubTypeSet.PlaneswalkerType, false),
|
||||
VENSER("Venser", SubTypeSet.PlaneswalkerType, false),
|
||||
VRASKA("Vraska", SubTypeSet.PlaneswalkerType, false),
|
||||
XENAGOS("Xenagos", SubTypeSet.PlaneswalkerType, false),
|
||||
SORIN("Sorin", SubTypeSet.PlaneswalkerType),
|
||||
TAMIYO("Tamiyo", SubTypeSet.PlaneswalkerType),
|
||||
TEFERI("Teferi", SubTypeSet.PlaneswalkerType),
|
||||
TEZZERET("Tezzeret", SubTypeSet.PlaneswalkerType),
|
||||
TIBALT("Tibalt", SubTypeSet.PlaneswalkerType),
|
||||
UGIN("Ugin", SubTypeSet.PlaneswalkerType),
|
||||
VENSER("Venser", SubTypeSet.PlaneswalkerType),
|
||||
VRASKA("Vraska", SubTypeSet.PlaneswalkerType),
|
||||
XENAGOS("Xenagos", SubTypeSet.PlaneswalkerType),
|
||||
YODA("Yoda", SubTypeSet.PlaneswalkerType, true); // Star Wars
|
||||
|
||||
private final SubTypeSet subTypeSet;
|
||||
|
||||
SubType(String description, SubTypeSet subTypeSet) {
|
||||
this(description, subTypeSet, false);
|
||||
}
|
||||
|
||||
SubType(String description, SubTypeSet subTypeSet, boolean customSet) {
|
||||
this.description = description;
|
||||
this.subTypeSet = subTypeSet;
|
||||
this.customSet = customSet;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
|
@ -404,12 +418,6 @@ public enum SubType {
|
|||
return description;
|
||||
}
|
||||
|
||||
SubType(String description, SubTypeSet subTypeSet, boolean customSet) {
|
||||
this.description = description;
|
||||
this.subTypeSet = subTypeSet;
|
||||
this.customSet = customSet;
|
||||
}
|
||||
|
||||
public static SubType byDescription(String subType) {
|
||||
for (SubType s : values()) {
|
||||
if (s.getDescription().equals(subType)) {
|
||||
|
|
@ -434,7 +442,10 @@ public enum SubType {
|
|||
}
|
||||
|
||||
public static Set<SubType> getBasicLands(boolean customSet) {
|
||||
return Arrays.stream(values()).filter(s -> s.customSet == customSet).filter(p -> p.getSubTypeSet() == SubTypeSet.BasicLandType).collect(Collectors.toSet());
|
||||
return Arrays.stream(values())
|
||||
.filter(p -> p.getSubTypeSet() == SubTypeSet.BasicLandType)
|
||||
.filter(s -> s.customSet == customSet)
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
public static SubTypeList getLandTypes(boolean customSet) {
|
||||
|
|
|
|||
|
|
@ -5,42 +5,43 @@
|
|||
*/
|
||||
package mage.game;
|
||||
|
||||
import java.io.Serializable;
|
||||
import mage.ObjectColor;
|
||||
import mage.cards.Card;
|
||||
import mage.util.SubTypeList;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* This class saves changed attributes of cards (e.g. in graveyard, exile or player hands or libraries).
|
||||
*
|
||||
* This class saves changed attributes of cards (e.g. in graveyard, exile or
|
||||
* player hands or libraries).
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public class CardAttribute implements Serializable {
|
||||
|
||||
public class CardAttribute implements Serializable {
|
||||
|
||||
protected ObjectColor color;
|
||||
protected SubTypeList subtype;
|
||||
|
||||
public CardAttribute(Card card) {
|
||||
color = card.getColor(null).copy();
|
||||
subtype = card.getSubtype(null);
|
||||
subtype = new SubTypeList();
|
||||
subtype.addAll(subtype);
|
||||
}
|
||||
|
||||
public CardAttribute(CardAttribute cardAttribute) {
|
||||
this.color = cardAttribute.color;
|
||||
this.subtype = cardAttribute.subtype;
|
||||
}
|
||||
|
||||
|
||||
public CardAttribute copy() {
|
||||
return new CardAttribute(this);
|
||||
}
|
||||
|
||||
|
||||
public ObjectColor getColor() {
|
||||
return color;
|
||||
return color;
|
||||
}
|
||||
|
||||
|
||||
public SubTypeList getSubtype() {
|
||||
return subtype;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com AS IS AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.game.permanent.token;
|
||||
|
||||
import mage.constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.MenaceAbility;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public class PirateToken extends Token {
|
||||
|
||||
public PirateToken() {
|
||||
super("Pirate", "2/2 black Pirate creature token with menace");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.PIRATE);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
addAbility(new MenaceAbility());
|
||||
}
|
||||
}
|
||||
|
|
@ -1,20 +1,27 @@
|
|||
package mage.util;
|
||||
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import mage.constants.SubType;
|
||||
|
||||
public class SubTypeList extends ArrayList<SubType> {
|
||||
|
||||
@Deprecated
|
||||
public boolean addAll(List<String> subtypes) {
|
||||
return addAll(subtypes.stream().map(SubType::byDescription).collect(Collectors.toList()));
|
||||
return addAll(subtypes.stream()
|
||||
.map(SubType::byDescription)
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean removeAll(List<String> subtypes){
|
||||
return removeAll(subtypes.stream().map(SubType::byDescription).collect(Collectors.toList()));
|
||||
return removeAll(subtypes.stream()
|
||||
.map(SubType::byDescription)
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -22,10 +29,17 @@ public class SubTypeList extends ArrayList<SubType> {
|
|||
return Collections.addAll(this, subTypes);
|
||||
}
|
||||
|
||||
public boolean removeAll(SubType... subTypes) {
|
||||
return super.removeAll(Arrays.stream(subTypes)
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean add(String s) {
|
||||
return add(SubType.byDescription(s));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean contains(String s) {
|
||||
return contains(SubType.byDescription(s));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue