1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-03-17 17:00:08 -09:00

Refactored more subtypes usages to enum

This commit is contained in:
Evan Kranzler 2017-09-07 21:48:59 -04:00
parent 245bf2f2df
commit c33fe6a7e5
31 changed files with 40 additions and 29 deletions

View file

@ -195,7 +195,7 @@ class AshiokNightmareWeaverAddTypeEffect extends ContinuousEffectImpl {
switch (layer) {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
creature.getSubtype(game).add("Nightmare");
creature.getSubtype(game).add(SubType.NIGHTMARE);
}
break;
}

View file

@ -100,7 +100,7 @@ class BloodMoonEffect extends ContinuousEffectImpl {
// So the ability removing has to be done before Layer 6
land.removeAllAbilities(source.getSourceId(), game);
land.getSubtype(game).removeAll(SubType.getLandTypes(false));
land.getSubtype(game).add("Mountain");
land.getSubtype(game).add(SubType.MOUNTAIN);
break;
case AbilityAddingRemovingEffects_6:
land.addAbility(new RedManaAbility(), source.getSourceId(), game);

View file

@ -113,7 +113,7 @@ class BludgeonBrawlAddSubtypeEffect extends ContinuousEffectImpl {
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game);
for (Permanent permanent : permanents) {
if (permanent != null) {
permanent.getSubtype(game).add("Equipment");
permanent.getSubtype(game).add(SubType.EQUIPMENT);
affectedPermanents.add(permanent.getId());
}
}

View file

@ -119,7 +119,7 @@ class CaptivatingVampireEffect extends ContinuousEffectImpl {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
if (!permanent.hasSubtype(SubType.VAMPIRE, game)) {
permanent.getSubtype(game).add("Vampire");
permanent.getSubtype(game).add(SubType.VAMPIRE);
}
}
break;

View file

@ -116,7 +116,7 @@ class CelestialDawnToPlainsEffect extends ContinuousEffectImpl {
break;
case TypeChangingEffects_4:
land.getSubtype(game).clear();
land.getSubtype(game).add("Plains");
land.getSubtype(game).add(SubType.PLAINS);
break;
}
}

View file

@ -90,7 +90,7 @@ class ChimericCoilsEffect extends ContinuousEffectImpl {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
permanent.addCardType(CardType.CREATURE);
permanent.getSubtype(game).add("Construct");
permanent.getSubtype(game).add(SubType.CONSTRUCT);
}
break;
case PTChangingEffects_7:

View file

@ -85,7 +85,7 @@ class ChimericStaffEffect extends ContinuousEffectImpl {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
permanent.addCardType(CardType.CREATURE);
permanent.getSubtype(game).add("Construct");
permanent.getSubtype(game).add(SubType.CONSTRUCT);
}
break;
case PTChangingEffects_7:

View file

@ -106,7 +106,7 @@ public class Conversion extends CardImpl {
break;
case TypeChangingEffects_4:
land.getSubtype(game).clear();
land.getSubtype(game).add("Plains");
land.getSubtype(game).add(SubType.PLAINS);
break;
}
}

View file

@ -95,6 +95,7 @@ class ConvincingMirageContinousEffect extends ContinuousEffectImpl {
@Override
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
Permanent enchantment = game.getPermanent(source.getSourceId());
// TODO fix to use SubType enum
String choice = (String) game.getState().getValue(source.getSourceId().toString() + ChooseBasicLandTypeEffect.VALUE_KEY);
if (enchantment != null && enchantment.getAttachedTo() != null && choice != null) {
Permanent land = game.getPermanent(enchantment.getAttachedTo());

View file

@ -112,7 +112,7 @@ public class DragonsoulKnight extends CardImpl {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
permanent.getSubtype(game).clear();
permanent.getSubtype(game).add("Dragon");
permanent.getSubtype(game).add(SubType.DRAGON);
}
break;
}

View file

@ -135,6 +135,7 @@ class ElsewhereFlaskContinuousEffect extends ContinuousEffectImpl {
@Override
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
// TODO fix to use SubType enum
String choice = (String) game.getState().getValue(source.getSourceId().toString() + "_ElsewhereFlask");
if (choice != null) {
for (Iterator<MageObjectReference> it = affectedObjectList.iterator(); it.hasNext();) {

View file

@ -42,6 +42,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard;
@ -114,7 +115,7 @@ class GodPharaohsGiftEffect extends OneShotEffect {
token.getToughness().modifyBaseValue(4);
token.getColor(game).setColor(ObjectColor.BLACK);
token.getSubtype(game).clear();
token.getSubtype(game).add("Zombie");
token.getSubtype(game).add(SubType.ZOMBIE);
if (token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())) {
Permanent tokenPermanent = game.getPermanent(token.getLastAddedToken());
if (tokenPermanent != null) {

View file

@ -153,7 +153,7 @@ class GrimoireOfTheDeadEffect2 extends ContinuousEffectImpl {
break;
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
permanent.getSubtype(game).add("Zombie");
permanent.getSubtype(game).add(SubType.ZOMBIE);
}
break;
}

View file

@ -38,6 +38,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard;
import mage.game.Game;
@ -106,7 +107,7 @@ class HourOfEternityEffect extends OneShotEffect {
token.getToughness().modifyBaseValue(4);
token.getColor(game).setColor(ObjectColor.BLACK);
token.getSubtype(game).clear();
token.getSubtype(game).add("Zombie");
token.getSubtype(game).add(SubType.ZOMBIE);
token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId());
}
}

View file

@ -35,6 +35,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.game.permanent.token.Token;
import mage.target.common.TargetLandPermanent;
@ -68,7 +69,7 @@ class HydroformToken extends Token {
public HydroformToken() {
super("", "3/3 Elemental creature with flying");
this.cardType.add(CardType.CREATURE);
this.getSubtype(null).add("Elemental");
this.getSubtype(null).add(SubType.ELEMENTAL);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -121,7 +121,7 @@ class IgnitionTeamToken extends Token {
public IgnitionTeamToken() {
super("", "4/4 red Elemental creature");
this.cardType.add(CardType.CREATURE);
this.getSubtype(null).add("Elemental");
this.getSubtype(null).add(SubType.ELEMENTAL);
this.color.setRed(true);
this.power = new MageInt(4);

View file

@ -36,6 +36,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -92,8 +93,8 @@ class KinTreeInvocationCreateTokenEffect extends OneShotEffect {
}
SubTypeList list = new SubTypeList();
list.add("Spirit");
list.add("Warrior");
list.add(SubType.SPIRIT);
list.add(SubType.WARRIOR);
ObjectColor objectColor = new ObjectColor();
objectColor.setBlack(true);
objectColor.setGreen(true);

View file

@ -106,7 +106,7 @@ public class MagusOfTheMoon extends CardImpl {
// So the ability removing has to be done before Layer 6
land.removeAllAbilities(source.getSourceId(), game);
land.getSubtype(game).removeAll(SubType.getLandTypes(false));
land.getSubtype(game).add("Mountain");
land.getSubtype(game).add(SubType.MOUNTAIN);
break;
case AbilityAddingRemovingEffects_6:
land.addAbility(new RedManaAbility(), source.getSourceId(), game);

View file

@ -204,8 +204,8 @@ class NecromancyChangeAbilityEffect extends ContinuousEffectImpl implements Sour
switch (layer) {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
if (!permanent.getSubtype(game).contains("Aura")) {
permanent.getSubtype(game).add("Aura");
if (!permanent.getSubtype(game).contains(SubType.AURA)) {
permanent.getSubtype(game).add(SubType.AURA);
}
}
break;

View file

@ -112,7 +112,7 @@ public class ParagonOfTheAmesha extends CardImpl {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
permanent.getSubtype(game).clear();
permanent.getSubtype(game).add("Angel");
permanent.getSubtype(game).add(SubType.ANGEL);
}
break;
}

View file

@ -105,6 +105,7 @@ class PhantasmalTerrainContinuousEffect extends ContinuousEffectImpl {
@Override
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
// TODO fix to use SubType enum
Permanent enchantment = game.getPermanent(source.getSourceId());
String choice = (String) game.getState().getValue(source.getSourceId().toString() + ChooseBasicLandTypeEffect.VALUE_KEY);
if (enchantment != null && enchantment.getAttachedTo() != null && choice != null) {

View file

@ -40,6 +40,7 @@ import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -108,7 +109,7 @@ class PolymorphistsJestEffect extends ContinuousEffectImpl {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
permanent.getSubtype(game).clear();
permanent.getSubtype(game).add("Frog");
permanent.getSubtype(game).add(SubType.FROG);
}
break;

View file

@ -56,7 +56,7 @@ public class RazakethTheFoulblooded extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}{B}");
addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DEMON.getDescription());
this.subtype.add(SubType.DEMON);
this.power = new MageInt(8);
this.toughness = new MageInt(8);

View file

@ -103,6 +103,7 @@ class RealmwrightEffect2 extends ContinuousEffectImpl {
@Override
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
// TODO fix to use SubType enum
Player you = game.getPlayer(source.getControllerId());
List<Permanent> lands = game.getBattlefield().getAllActivePermanents(new FilterControlledLandPermanent(), source.getControllerId(), game);
String choice = (String) game.getState().getValue(source.getSourceId().toString() + ChooseBasicLandTypeEffect.VALUE_KEY);

View file

@ -118,7 +118,7 @@ class SarkhanTheDragonspeakerEffect extends ContinuousEffectImpl {
permanent.getCardType().clear();
permanent.addCardType(CardType.CREATURE);
permanent.getSubtype(game).clear();
permanent.getSubtype(game).add("Dragon");
permanent.getSubtype(game).add(SubType.DRAGON);
permanent.getSuperType().clear();
permanent.addSuperType(SuperType.LEGENDARY);
}

View file

@ -116,8 +116,8 @@ class SealockMonsterBecomesIslandTargetEffect extends ContinuousEffectImpl {
}
break;
case TypeChangingEffects_4:
if (!land.getSubtype(game).contains("Island")) {
land.getSubtype(game).add("Island");
if (!land.getSubtype(game).contains(SubType.ISLAND)) {
land.getSubtype(game).add(SubType.ISLAND);
}
break;
}

View file

@ -98,7 +98,7 @@ public class SlumberingTora extends CardImpl {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
permanent.addCardType(CardType.CREATURE);
permanent.getSubtype(game).add("Cat");
permanent.getSubtype(game).add(SubType.CAT);
}
break;
case PTChangingEffects_7:

View file

@ -122,7 +122,7 @@ class BecomesColorlessForestLandEffect extends ContinuousEffectImpl {
permanent.getCardType().clear();
permanent.addCardType(CardType.LAND);
permanent.getSubtype(game).clear();
permanent.getSubtype(game).add("Forest");
permanent.getSubtype(game).add(SubType.FOREST);
break;
}
return true;

View file

@ -114,8 +114,8 @@ class StormtideLeviathanEffect extends ContinuousEffectImpl {
for (Permanent land : game.getBattlefield().getActivePermanents(new FilterLandPermanent(), source.getControllerId(), game)) {
switch (layer) {
case TypeChangingEffects_4:
if (!land.getSubtype(game).contains("Island")) {
land.getSubtype(game).add("Island");
if (!land.getSubtype(game).contains(SubType.ISLAND)) {
land.getSubtype(game).add(SubType.ISLAND);
}
break;
case AbilityAddingRemovingEffects_6:

View file

@ -145,6 +145,7 @@ class TerraformerContinuousEffect extends ContinuousEffectImpl {
@Override
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
// TODO fix to use SubType enum
String choice = (String) game.getState().getValue(source.getSourceId().toString() + "_Terraformer");
if (choice != null) {
for (Iterator<MageObjectReference> it = affectedObjectList.iterator(); it.hasNext();) {

View file

@ -141,6 +141,7 @@ class VisionCharmEffect extends ContinuousEffectImpl {
@Override
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
// TODO fix to use SubType enum
for (Iterator<MageObjectReference> it = affectedObjectList.iterator(); it.hasNext();) {
Permanent land = it.next().getPermanent(game);
if (land != null) {