diff --git a/Mage.Sets/src/mage/cards/a/AshiokNightmareWeaver.java b/Mage.Sets/src/mage/cards/a/AshiokNightmareWeaver.java index 43b785ac75d..c5cdc0e3a87 100644 --- a/Mage.Sets/src/mage/cards/a/AshiokNightmareWeaver.java +++ b/Mage.Sets/src/mage/cards/a/AshiokNightmareWeaver.java @@ -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; } diff --git a/Mage.Sets/src/mage/cards/b/BloodMoon.java b/Mage.Sets/src/mage/cards/b/BloodMoon.java index 5571f4fb228..ac4c466cf7f 100644 --- a/Mage.Sets/src/mage/cards/b/BloodMoon.java +++ b/Mage.Sets/src/mage/cards/b/BloodMoon.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/b/BludgeonBrawl.java b/Mage.Sets/src/mage/cards/b/BludgeonBrawl.java index 12dfe4090ec..4d0dd92b135 100644 --- a/Mage.Sets/src/mage/cards/b/BludgeonBrawl.java +++ b/Mage.Sets/src/mage/cards/b/BludgeonBrawl.java @@ -113,7 +113,7 @@ class BludgeonBrawlAddSubtypeEffect extends ContinuousEffectImpl { List 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()); } } diff --git a/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java b/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java index 20f676b7cd3..fa95df40510 100644 --- a/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java +++ b/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java @@ -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; diff --git a/Mage.Sets/src/mage/cards/c/CelestialDawn.java b/Mage.Sets/src/mage/cards/c/CelestialDawn.java index 0f3367eae8d..10963e67a7a 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialDawn.java +++ b/Mage.Sets/src/mage/cards/c/CelestialDawn.java @@ -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; } } diff --git a/Mage.Sets/src/mage/cards/c/ChimericCoils.java b/Mage.Sets/src/mage/cards/c/ChimericCoils.java index a81fb795a46..0db1ff9d600 100644 --- a/Mage.Sets/src/mage/cards/c/ChimericCoils.java +++ b/Mage.Sets/src/mage/cards/c/ChimericCoils.java @@ -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: diff --git a/Mage.Sets/src/mage/cards/c/ChimericStaff.java b/Mage.Sets/src/mage/cards/c/ChimericStaff.java index 2c4c4aca3cf..fea9809b785 100644 --- a/Mage.Sets/src/mage/cards/c/ChimericStaff.java +++ b/Mage.Sets/src/mage/cards/c/ChimericStaff.java @@ -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: diff --git a/Mage.Sets/src/mage/cards/c/Conversion.java b/Mage.Sets/src/mage/cards/c/Conversion.java index 04f2f8e294b..b9f7acfc784 100644 --- a/Mage.Sets/src/mage/cards/c/Conversion.java +++ b/Mage.Sets/src/mage/cards/c/Conversion.java @@ -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; } } diff --git a/Mage.Sets/src/mage/cards/c/ConvincingMirage.java b/Mage.Sets/src/mage/cards/c/ConvincingMirage.java index a461b51e031..807b40af3d4 100644 --- a/Mage.Sets/src/mage/cards/c/ConvincingMirage.java +++ b/Mage.Sets/src/mage/cards/c/ConvincingMirage.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/d/DragonsoulKnight.java b/Mage.Sets/src/mage/cards/d/DragonsoulKnight.java index 87c30ce81f2..5d8189be3f1 100644 --- a/Mage.Sets/src/mage/cards/d/DragonsoulKnight.java +++ b/Mage.Sets/src/mage/cards/d/DragonsoulKnight.java @@ -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; } diff --git a/Mage.Sets/src/mage/cards/e/ElsewhereFlask.java b/Mage.Sets/src/mage/cards/e/ElsewhereFlask.java index b1753aa8a0e..4271e123790 100644 --- a/Mage.Sets/src/mage/cards/e/ElsewhereFlask.java +++ b/Mage.Sets/src/mage/cards/e/ElsewhereFlask.java @@ -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 it = affectedObjectList.iterator(); it.hasNext();) { diff --git a/Mage.Sets/src/mage/cards/g/GodPharaohsGift.java b/Mage.Sets/src/mage/cards/g/GodPharaohsGift.java index 3cf278b5922..279e6a85971 100644 --- a/Mage.Sets/src/mage/cards/g/GodPharaohsGift.java +++ b/Mage.Sets/src/mage/cards/g/GodPharaohsGift.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/g/GrimoireOfTheDead.java b/Mage.Sets/src/mage/cards/g/GrimoireOfTheDead.java index ae19f36ff7e..625f2dbc6cd 100644 --- a/Mage.Sets/src/mage/cards/g/GrimoireOfTheDead.java +++ b/Mage.Sets/src/mage/cards/g/GrimoireOfTheDead.java @@ -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; } diff --git a/Mage.Sets/src/mage/cards/h/HourOfEternity.java b/Mage.Sets/src/mage/cards/h/HourOfEternity.java index 540a1a7469d..12c92247f28 100644 --- a/Mage.Sets/src/mage/cards/h/HourOfEternity.java +++ b/Mage.Sets/src/mage/cards/h/HourOfEternity.java @@ -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()); } } diff --git a/Mage.Sets/src/mage/cards/h/Hydroform.java b/Mage.Sets/src/mage/cards/h/Hydroform.java index 7842d055b24..66428d6c02e 100644 --- a/Mage.Sets/src/mage/cards/h/Hydroform.java +++ b/Mage.Sets/src/mage/cards/h/Hydroform.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/i/IgnitionTeam.java b/Mage.Sets/src/mage/cards/i/IgnitionTeam.java index 5276b24e94d..6ccdb84dbd0 100644 --- a/Mage.Sets/src/mage/cards/i/IgnitionTeam.java +++ b/Mage.Sets/src/mage/cards/i/IgnitionTeam.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/k/KinTreeInvocation.java b/Mage.Sets/src/mage/cards/k/KinTreeInvocation.java index 39c8ede38aa..ce2d9bad3cb 100644 --- a/Mage.Sets/src/mage/cards/k/KinTreeInvocation.java +++ b/Mage.Sets/src/mage/cards/k/KinTreeInvocation.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java index ad08dd929a8..6d358863fba 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/n/Necromancy.java b/Mage.Sets/src/mage/cards/n/Necromancy.java index 38f121d5209..6dd2ab4f61e 100644 --- a/Mage.Sets/src/mage/cards/n/Necromancy.java +++ b/Mage.Sets/src/mage/cards/n/Necromancy.java @@ -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; diff --git a/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java b/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java index 65eb6ae4ce8..15269287f1f 100644 --- a/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java +++ b/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java @@ -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; } diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalTerrain.java b/Mage.Sets/src/mage/cards/p/PhantasmalTerrain.java index 0ff76a2cfbe..8e382bdcff8 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalTerrain.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalTerrain.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/p/PolymorphistsJest.java b/Mage.Sets/src/mage/cards/p/PolymorphistsJest.java index 4ad2ea1165d..16075fdc1ff 100644 --- a/Mage.Sets/src/mage/cards/p/PolymorphistsJest.java +++ b/Mage.Sets/src/mage/cards/p/PolymorphistsJest.java @@ -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; diff --git a/Mage.Sets/src/mage/cards/r/RazakethTheFoulblooded.java b/Mage.Sets/src/mage/cards/r/RazakethTheFoulblooded.java index e7f603b99bf..6518edf8d63 100644 --- a/Mage.Sets/src/mage/cards/r/RazakethTheFoulblooded.java +++ b/Mage.Sets/src/mage/cards/r/RazakethTheFoulblooded.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/r/Realmwright.java b/Mage.Sets/src/mage/cards/r/Realmwright.java index 37ad6bc962a..1cbbeb5066b 100644 --- a/Mage.Sets/src/mage/cards/r/Realmwright.java +++ b/Mage.Sets/src/mage/cards/r/Realmwright.java @@ -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 lands = game.getBattlefield().getAllActivePermanents(new FilterControlledLandPermanent(), source.getControllerId(), game); String choice = (String) game.getState().getValue(source.getSourceId().toString() + ChooseBasicLandTypeEffect.VALUE_KEY); diff --git a/Mage.Sets/src/mage/cards/s/SarkhanTheDragonspeaker.java b/Mage.Sets/src/mage/cards/s/SarkhanTheDragonspeaker.java index c054361a0b4..4404763e28b 100644 --- a/Mage.Sets/src/mage/cards/s/SarkhanTheDragonspeaker.java +++ b/Mage.Sets/src/mage/cards/s/SarkhanTheDragonspeaker.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/s/SealockMonster.java b/Mage.Sets/src/mage/cards/s/SealockMonster.java index 3554d516e13..310375ecc07 100644 --- a/Mage.Sets/src/mage/cards/s/SealockMonster.java +++ b/Mage.Sets/src/mage/cards/s/SealockMonster.java @@ -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; } diff --git a/Mage.Sets/src/mage/cards/s/SlumberingTora.java b/Mage.Sets/src/mage/cards/s/SlumberingTora.java index 2f54f978167..2debfd2593c 100644 --- a/Mage.Sets/src/mage/cards/s/SlumberingTora.java +++ b/Mage.Sets/src/mage/cards/s/SlumberingTora.java @@ -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: diff --git a/Mage.Sets/src/mage/cards/s/SongOfTheDryads.java b/Mage.Sets/src/mage/cards/s/SongOfTheDryads.java index 9310e229571..8f5bfb8d897 100644 --- a/Mage.Sets/src/mage/cards/s/SongOfTheDryads.java +++ b/Mage.Sets/src/mage/cards/s/SongOfTheDryads.java @@ -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; diff --git a/Mage.Sets/src/mage/cards/s/StormtideLeviathan.java b/Mage.Sets/src/mage/cards/s/StormtideLeviathan.java index 0033f4b6438..8adbc93f231 100644 --- a/Mage.Sets/src/mage/cards/s/StormtideLeviathan.java +++ b/Mage.Sets/src/mage/cards/s/StormtideLeviathan.java @@ -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: diff --git a/Mage.Sets/src/mage/cards/t/Terraformer.java b/Mage.Sets/src/mage/cards/t/Terraformer.java index 2b902ad5863..5a07c94f168 100644 --- a/Mage.Sets/src/mage/cards/t/Terraformer.java +++ b/Mage.Sets/src/mage/cards/t/Terraformer.java @@ -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 it = affectedObjectList.iterator(); it.hasNext();) { diff --git a/Mage.Sets/src/mage/cards/v/VisionCharm.java b/Mage.Sets/src/mage/cards/v/VisionCharm.java index 242851a45b9..b860692a2cd 100644 --- a/Mage.Sets/src/mage/cards/v/VisionCharm.java +++ b/Mage.Sets/src/mage/cards/v/VisionCharm.java @@ -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 it = affectedObjectList.iterator(); it.hasNext();) { Permanent land = it.next().getPermanent(game); if (land != null) {