diff --git a/Mage.Sets/src/mage/cards/b/BalduvianTradingPost.java b/Mage.Sets/src/mage/cards/b/BalduvianTradingPost.java index 09ddfe4c5e4..494cb6aa9d5 100644 --- a/Mage.Sets/src/mage/cards/b/BalduvianTradingPost.java +++ b/Mage.Sets/src/mage/cards/b/BalduvianTradingPost.java @@ -40,6 +40,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -59,7 +60,7 @@ public class BalduvianTradingPost extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("an untapped Mountain"); static { - filter.add(new SubtypePredicate("Mountain")); + filter.add(new SubtypePredicate(SubType.MOUNTAIN)); filter.add(Predicates.not(new TappedPredicate())); } diff --git a/Mage.Sets/src/mage/cards/b/BantPanorama.java b/Mage.Sets/src/mage/cards/b/BantPanorama.java index 8a516cdacc5..5f0fc0751a2 100644 --- a/Mage.Sets/src/mage/cards/b/BantPanorama.java +++ b/Mage.Sets/src/mage/cards/b/BantPanorama.java @@ -36,10 +36,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -60,9 +57,9 @@ public class BantPanorama extends CardImpl { filter.add(new CardTypePredicate(CardType.LAND)); filter.add(new SupertypePredicate(SuperType.BASIC)); filter.add(Predicates.or( - new SubtypePredicate("Forest"), - new SubtypePredicate("Plains"), - new SubtypePredicate("Island"))); + new SubtypePredicate(SubType.FOREST), + new SubtypePredicate(SubType.PLAINS), + new SubtypePredicate(SubType.ISLAND))); } public BantPanorama(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BaronSengir.java b/Mage.Sets/src/mage/cards/b/BaronSengir.java index bee4ca06eec..757d4ef3ceb 100644 --- a/Mage.Sets/src/mage/cards/b/BaronSengir.java +++ b/Mage.Sets/src/mage/cards/b/BaronSengir.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -57,7 +58,7 @@ public class BaronSengir extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target Vampire"); static { - filter.add(new SubtypePredicate("Vampire")); + filter.add(new SubtypePredicate(SubType.VAMPIRE)); filter.add(new AnotherPredicate()); } diff --git a/Mage.Sets/src/mage/cards/b/BladeSplicer.java b/Mage.Sets/src/mage/cards/b/BladeSplicer.java index 2a51a479724..5ead2fb96bb 100644 --- a/Mage.Sets/src/mage/cards/b/BladeSplicer.java +++ b/Mage.Sets/src/mage/cards/b/BladeSplicer.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,7 +56,7 @@ public class BladeSplicer extends CardImpl { static { filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new SubtypePredicate("Golem")); + filter.add(new SubtypePredicate(SubType.GOLEM)); } public BladeSplicer (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BlanchwoodArmor.java b/Mage.Sets/src/mage/cards/b/BlanchwoodArmor.java index 4feed5616c5..08e5520afca 100644 --- a/Mage.Sets/src/mage/cards/b/BlanchwoodArmor.java +++ b/Mage.Sets/src/mage/cards/b/BlanchwoodArmor.java @@ -35,10 +35,7 @@ import mage.abilities.effects.common.continuous.BoostEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.TargetPermanent; @@ -55,7 +52,7 @@ public class BlanchwoodArmor extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("Forest you control"); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); } public BlanchwoodArmor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BloodlineKeeper.java b/Mage.Sets/src/mage/cards/b/BloodlineKeeper.java index ba7c64371c3..1d5bdff0bdf 100644 --- a/Mage.Sets/src/mage/cards/b/BloodlineKeeper.java +++ b/Mage.Sets/src/mage/cards/b/BloodlineKeeper.java @@ -44,6 +44,7 @@ import mage.cards.CardSetInfo; import mage.cards.l.LordOfLineage; import mage.constants.CardType; import mage.constants.ComparisonType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -58,7 +59,7 @@ public class BloodlineKeeper extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control five or more Vampires"); static { - filter.add(new SubtypePredicate("Vampire")); + filter.add(new SubtypePredicate(SubType.VAMPIRE)); } public BloodlineKeeper(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BogGlider.java b/Mage.Sets/src/mage/cards/b/BogGlider.java index 4f5c07a420c..8f624dc5869 100644 --- a/Mage.Sets/src/mage/cards/b/BogGlider.java +++ b/Mage.Sets/src/mage/cards/b/BogGlider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -59,7 +60,7 @@ public class BogGlider extends CardImpl { private static final FilterPermanentCard filter = new FilterPermanentCard("Mercenary permanent card with converted mana cost 2 or less"); static { - filter.add(new SubtypePredicate("Mercenary")); + filter.add(new SubtypePredicate(SubType.MERCENARY)); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 3)); } diff --git a/Mage.Sets/src/mage/cards/b/BoggartHarbinger.java b/Mage.Sets/src/mage/cards/b/BoggartHarbinger.java index 6db78c932a2..e82fff30435 100644 --- a/Mage.Sets/src/mage/cards/b/BoggartHarbinger.java +++ b/Mage.Sets/src/mage/cards/b/BoggartHarbinger.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutOnLibraryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInLibrary; @@ -48,7 +49,7 @@ public class BoggartHarbinger extends CardImpl { private static final FilterCard filter = new FilterCard("Goblin card"); static { - filter.add(new SubtypePredicate("Goblin")); + filter.add(new SubtypePredicate(SubType.GOBLIN)); } public BoggartHarbinger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/Broodwarden.java b/Mage.Sets/src/mage/cards/b/Broodwarden.java index 46af2fc33ba..477f268948e 100644 --- a/Mage.Sets/src/mage/cards/b/Broodwarden.java +++ b/Mage.Sets/src/mage/cards/b/Broodwarden.java @@ -34,6 +34,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,8 +50,8 @@ public class Broodwarden extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Eldrazi Spawn creatures"); static { - filter.add(new SubtypePredicate("Eldrazi")); - filter.add(new SubtypePredicate("Spawn")); + filter.add(new SubtypePredicate(SubType.ELDRAZI)); + filter.add(new SubtypePredicate(SubType.SPAWN)); } public Broodwarden(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BrunaLightOfAlabaster.java b/Mage.Sets/src/mage/cards/b/BrunaLightOfAlabaster.java index 9d5f7f5a447..a6294d520f8 100644 --- a/Mage.Sets/src/mage/cards/b/BrunaLightOfAlabaster.java +++ b/Mage.Sets/src/mage/cards/b/BrunaLightOfAlabaster.java @@ -36,10 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -109,7 +106,7 @@ class BrunaLightOfAlabasterEffect extends OneShotEffect { FilterCard filterAuraCard = new FilterCard("Aura card"); filterAura.add(new CardTypePredicate(CardType.ENCHANTMENT)); - filterAura.add(new SubtypePredicate("Aura")); + filterAura.add(new SubtypePredicate(SubType.AURA)); filterAura.add(new AuraPermanentCanAttachToPermanentId(bruna)); filterAuraCard.add(new CardTypePredicate(CardType.ENCHANTMENT)); filterAuraCard.add(new SubtypePredicate("Aura")); diff --git a/Mage.Sets/src/mage/cards/c/CatapultMaster.java b/Mage.Sets/src/mage/cards/c/CatapultMaster.java index 9b43eaf3ec6..e951c2358e0 100644 --- a/Mage.Sets/src/mage/cards/c/CatapultMaster.java +++ b/Mage.Sets/src/mage/cards/c/CatapultMaster.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -55,7 +56,7 @@ public class CatapultMaster extends CardImpl { static { filter.add(Predicates.not(new TappedPredicate())); - filter.add(new SubtypePredicate("Soldier")); + filter.add(new SubtypePredicate(SubType.SOLDIER)); } public CatapultMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); diff --git a/Mage.Sets/src/mage/cards/c/CatapultSquad.java b/Mage.Sets/src/mage/cards/c/CatapultSquad.java index 7c8bd69d1e3..e92faf35fd7 100644 --- a/Mage.Sets/src/mage/cards/c/CatapultSquad.java +++ b/Mage.Sets/src/mage/cards/c/CatapultSquad.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class CatapultSquad extends CardImpl { static { filter.add(Predicates.not(new TappedPredicate())); - filter.add(new SubtypePredicate("Soldier")); + filter.add(new SubtypePredicate(SubType.SOLDIER)); } public CatapultSquad(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CateranPersuader.java b/Mage.Sets/src/mage/cards/c/CateranPersuader.java index 2c5b03af298..40868251c2d 100644 --- a/Mage.Sets/src/mage/cards/c/CateranPersuader.java +++ b/Mage.Sets/src/mage/cards/c/CateranPersuader.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -55,7 +56,7 @@ public class CateranPersuader extends CardImpl { private static final FilterPermanentCard filter = new FilterPermanentCard("Mercenary permanent card with converted mana cost 1 or less"); static { - filter.add(new SubtypePredicate("Mercenary")); + filter.add(new SubtypePredicate(SubType.MERCENARY)); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 2)); } diff --git a/Mage.Sets/src/mage/cards/c/CavalryPegasus.java b/Mage.Sets/src/mage/cards/c/CavalryPegasus.java index 1801682ff96..20451c1c264 100644 --- a/Mage.Sets/src/mage/cards/c/CavalryPegasus.java +++ b/Mage.Sets/src/mage/cards/c/CavalryPegasus.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.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -50,7 +51,7 @@ public class CavalryPegasus extends CardImpl { private static final FilterPermanent filter = new FilterCreaturePermanent("each attacking Human"); static { - filter.add(new SubtypePredicate("Human")); + filter.add(new SubtypePredicate(SubType.HUMAN)); filter.add(new AttackingPredicate()); } diff --git a/Mage.Sets/src/mage/cards/c/ChainerDementiaMaster.java b/Mage.Sets/src/mage/cards/c/ChainerDementiaMaster.java index 925a56dd944..17cc2ac5bc6 100644 --- a/Mage.Sets/src/mage/cards/c/ChainerDementiaMaster.java +++ b/Mage.Sets/src/mage/cards/c/ChainerDementiaMaster.java @@ -68,8 +68,8 @@ public class ChainerDementiaMaster extends CardImpl { private static final FilterCreaturePermanent filterCreature = new FilterCreaturePermanent("Nightmare creatures"); private static final FilterPermanent filterPermanent = new FilterPermanent("Nightmares"); static { - filterCreature.add(new SubtypePredicate("Nightmare")); - filterPermanent.add(new SubtypePredicate("Nightmare")); + filterCreature.add(new SubtypePredicate(SubType.NIGHTMARE)); + filterPermanent.add(new SubtypePredicate(SubType.NIGHTMARE)); } public ChainerDementiaMaster(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/ChiefOfTheEdge.java b/Mage.Sets/src/mage/cards/c/ChiefOfTheEdge.java index 82a0fd95122..5df0b5220ae 100644 --- a/Mage.Sets/src/mage/cards/c/ChiefOfTheEdge.java +++ b/Mage.Sets/src/mage/cards/c/ChiefOfTheEdge.java @@ -34,6 +34,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,7 +50,7 @@ public class ChiefOfTheEdge extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Warrior creatures"); static { - filter.add(new SubtypePredicate("Warrior")); + filter.add(new SubtypePredicate(SubType.WARRIOR)); } public ChiefOfTheEdge(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/ChokingSands.java b/Mage.Sets/src/mage/cards/c/ChokingSands.java index 43ffc50b911..74effdcd6d0 100644 --- a/Mage.Sets/src/mage/cards/c/ChokingSands.java +++ b/Mage.Sets/src/mage/cards/c/ChokingSands.java @@ -34,6 +34,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.FilterLandPermanent; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class ChokingSands extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("non-Swamp land"); static { - filter.add(Predicates.not(new SubtypePredicate("Swamp"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.SWAMP))); } public ChokingSands(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CloakAndDagger.java b/Mage.Sets/src/mage/cards/c/CloakAndDagger.java index f862bf77b06..16a4f71ab97 100644 --- a/Mage.Sets/src/mage/cards/c/CloakAndDagger.java +++ b/Mage.Sets/src/mage/cards/c/CloakAndDagger.java @@ -53,7 +53,7 @@ public class CloakAndDagger extends CardImpl { private static final FilterPermanent filter = new FilterCreaturePermanent("a Rogue creature"); static { - filter.add(new SubtypePredicate("Rogue")); + filter.add(new SubtypePredicate(SubType.ROGUE)); } public CloakAndDagger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java b/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java index c312b410f95..e2e4ab4b6b8 100644 --- a/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java +++ b/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -61,7 +62,7 @@ public class CloudgoatRanger extends CardImpl { static { filter.add(Predicates.not(new TappedPredicate())); - filter.add(new SubtypePredicate("Kithkin")); + filter.add(new SubtypePredicate(SubType.KITHKIN)); } public CloudgoatRanger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/ContestedCliffs.java b/Mage.Sets/src/mage/cards/c/ContestedCliffs.java index b5a55967551..b10fbf21cca 100644 --- a/Mage.Sets/src/mage/cards/c/ContestedCliffs.java +++ b/Mage.Sets/src/mage/cards/c/ContestedCliffs.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class ContestedCliffs extends CardImpl { private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creature an opponent controls"); static { filter1.add(new ControllerPredicate(TargetController.YOU)); - filter1.add(new SubtypePredicate("Beast")); + filter1.add(new SubtypePredicate(SubType.BEAST)); filter2.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/c/CoralAtoll.java b/Mage.Sets/src/mage/cards/c/CoralAtoll.java index f0c26e72495..92ec8b950bf 100644 --- a/Mage.Sets/src/mage/cards/c/CoralAtoll.java +++ b/Mage.Sets/src/mage/cards/c/CoralAtoll.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.Predicates; @@ -55,7 +56,7 @@ public class CoralAtoll extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("an untapped Island"); static { - filter.add(new SubtypePredicate("Island")); + filter.add(new SubtypePredicate(SubType.ISLAND)); filter.add(Predicates.not(new TappedPredicate())); } diff --git a/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java b/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java index 230f82b3fcd..7d85eecb76a 100644 --- a/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java +++ b/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java @@ -41,6 +41,7 @@ import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -56,7 +57,7 @@ public class CoralhelmCommander extends LevelerCard { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Merfolk creatures"); static { - filter.add(new SubtypePredicate("Merfolk")); + filter.add(new SubtypePredicate(SubType.MERFOLK)); } public CoralhelmCommander(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/Crash.java b/Mage.Sets/src/mage/cards/c/Crash.java index 336a895961f..54c03693832 100644 --- a/Mage.Sets/src/mage/cards/c/Crash.java +++ b/Mage.Sets/src/mage/cards/c/Crash.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -54,7 +55,7 @@ public class Crash extends CardImpl { static { effectFilter.add(new CardTypePredicate(CardType.ARTIFACT)); - alternativeCostFilter.add(new SubtypePredicate("Mountain")); + alternativeCostFilter.add(new SubtypePredicate(SubType.MOUNTAIN)); } public Crash(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CrownOfTheAges.java b/Mage.Sets/src/mage/cards/c/CrownOfTheAges.java index df45382d5fe..2a88e6f3455 100644 --- a/Mage.Sets/src/mage/cards/c/CrownOfTheAges.java +++ b/Mage.Sets/src/mage/cards/c/CrownOfTheAges.java @@ -37,6 +37,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.FilterCreaturePermanent; import mage.filter.common.FilterEnchantmentPermanent; @@ -62,7 +63,7 @@ public class CrownOfTheAges extends CardImpl { static { filter.add(new AttachmentAttachedToCardTypePredicate(CardType.CREATURE)); - filter.add(new SubtypePredicate("Aura")); + filter.add(new SubtypePredicate(SubType.AURA)); } public CrownOfTheAges(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CruelRevival.java b/Mage.Sets/src/mage/cards/c/CruelRevival.java index 581a3b0307f..49eaa27da4c 100644 --- a/Mage.Sets/src/mage/cards/c/CruelRevival.java +++ b/Mage.Sets/src/mage/cards/c/CruelRevival.java @@ -34,6 +34,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.FilterCard; import mage.filter.common.FilterCreaturePermanent; @@ -58,8 +59,8 @@ public class CruelRevival extends CardImpl { static { filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(Predicates.not(new SubtypePredicate("Zombie"))); - filter2.add(new SubtypePredicate("Zombie")); + filter.add(Predicates.not(new SubtypePredicate(SubType.ZOMBIE))); + filter2.add(new SubtypePredicate(SubType.ZOMBIE)); } public CruelRevival(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DaringDemolition.java b/Mage.Sets/src/mage/cards/d/DaringDemolition.java index 94e3022dd94..d735eb3ef51 100644 --- a/Mage.Sets/src/mage/cards/d/DaringDemolition.java +++ b/Mage.Sets/src/mage/cards/d/DaringDemolition.java @@ -31,6 +31,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -48,7 +49,7 @@ public class DaringDemolition extends CardImpl { private final static FilterPermanent filter = new FilterPermanent("creature or Vehicle"); static { - filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new SubtypePredicate("Vehicle"))); + filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new SubtypePredicate(SubType.VEHICLE))); } public DaringDemolition(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DayOfTheDragons.java b/Mage.Sets/src/mage/cards/d/DayOfTheDragons.java index 389724f51b6..7c6e5bd03c5 100644 --- a/Mage.Sets/src/mage/cards/d/DayOfTheDragons.java +++ b/Mage.Sets/src/mage/cards/d/DayOfTheDragons.java @@ -35,10 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -129,7 +126,7 @@ class DayOfTheDragonsLeavesEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); } public DayOfTheDragonsLeavesEffect() { diff --git a/Mage.Sets/src/mage/cards/d/Daze.java b/Mage.Sets/src/mage/cards/d/Daze.java index 1c63ae7ba48..9b82aa7716b 100644 --- a/Mage.Sets/src/mage/cards/d/Daze.java +++ b/Mage.Sets/src/mage/cards/d/Daze.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -51,7 +52,7 @@ public class Daze extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("an Island"); static { - filter.add(new SubtypePredicate("Island")); + filter.add(new SubtypePredicate(SubType.ISLAND)); filter.add(new CardTypePredicate(CardType.LAND)); } diff --git a/Mage.Sets/src/mage/cards/d/DerangedOutcast.java b/Mage.Sets/src/mage/cards/d/DerangedOutcast.java index efc11c02444..59f18bdfb82 100644 --- a/Mage.Sets/src/mage/cards/d/DerangedOutcast.java +++ b/Mage.Sets/src/mage/cards/d/DerangedOutcast.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; @@ -53,7 +54,7 @@ public class DerangedOutcast extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Human"); static { - filter.add(new SubtypePredicate("Human")); + filter.add(new SubtypePredicate(SubType.HUMAN)); } public DerangedOutcast(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DevouringGreed.java b/Mage.Sets/src/mage/cards/d/DevouringGreed.java index aba420ed719..747891db623 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringGreed.java +++ b/Mage.Sets/src/mage/cards/d/DevouringGreed.java @@ -35,6 +35,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -53,7 +54,7 @@ public class DevouringGreed extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("any number of Spirits"); static { - filter.add(new SubtypePredicate("Spirit")); + filter.add(new SubtypePredicate(SubType.SPIRIT)); } public DevouringGreed(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DevouringRage.java b/Mage.Sets/src/mage/cards/d/DevouringRage.java index 4e1badea7a0..540b9ce7c6e 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringRage.java +++ b/Mage.Sets/src/mage/cards/d/DevouringRage.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -57,7 +58,7 @@ public class DevouringRage extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("any number of Spirits"); static { - filter.add(new SubtypePredicate("Spirit")); + filter.add(new SubtypePredicate(SubType.SPIRIT)); } public DevouringRage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DevoutHarpist.java b/Mage.Sets/src/mage/cards/d/DevoutHarpist.java index 746e0c9bfef..f2c6bb5c1a0 100644 --- a/Mage.Sets/src/mage/cards/d/DevoutHarpist.java +++ b/Mage.Sets/src/mage/cards/d/DevoutHarpist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterEnchantmentPermanent; import mage.filter.predicate.ObjectPlayer; @@ -54,7 +55,7 @@ public class DevoutHarpist extends CardImpl { private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("Auras attached to a creature"); static { - filter.add(new SubtypePredicate("Aura")); + filter.add(new SubtypePredicate(SubType.AURA)); filter.add(new DevoutHarpistPredicate()); } public DevoutHarpist(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DiffusionSliver.java b/Mage.Sets/src/mage/cards/d/DiffusionSliver.java index a0560d77471..7da051755c5 100644 --- a/Mage.Sets/src/mage/cards/d/DiffusionSliver.java +++ b/Mage.Sets/src/mage/cards/d/DiffusionSliver.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -78,7 +79,7 @@ class DiffusionSliverTriggeredAbility extends TriggeredAbilityImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Sliver creature you control"); static { - filter.add(new SubtypePredicate("Sliver")); + filter.add(new SubtypePredicate(SubType.SLIVER)); } public DiffusionSliverTriggeredAbility(Effect effect) { diff --git a/Mage.Sets/src/mage/cards/d/DormantVolcano.java b/Mage.Sets/src/mage/cards/d/DormantVolcano.java index 996bb0181a9..eae940b5c32 100644 --- a/Mage.Sets/src/mage/cards/d/DormantVolcano.java +++ b/Mage.Sets/src/mage/cards/d/DormantVolcano.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.Predicates; @@ -55,7 +56,7 @@ public class DormantVolcano extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("an untapped Mountain"); static { - filter.add(new SubtypePredicate("Mountain")); + filter.add(new SubtypePredicate(SubType.MOUNTAIN)); filter.add(Predicates.not(new TappedPredicate())); } diff --git a/Mage.Sets/src/mage/cards/d/DragonlordsPrerogative.java b/Mage.Sets/src/mage/cards/d/DragonlordsPrerogative.java index 0bfc8768dbe..ade8b2444ce 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlordsPrerogative.java +++ b/Mage.Sets/src/mage/cards/d/DragonlordsPrerogative.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.InfoEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterControlledPermanent; @@ -60,7 +61,7 @@ public class DragonlordsPrerogative extends CardImpl { private static final FilterCard filter = new FilterCard("a Dragon card from your hand"); static { - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); } public DragonlordsPrerogative(UUID ownerId, CardSetInfo setInfo) { @@ -107,7 +108,7 @@ class DragonlordsPrerogativeCondition implements Condition { private final static FilterControlledPermanent filter = new FilterControlledPermanent("Dragon"); static { - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); } @Override diff --git a/Mage.Sets/src/mage/cards/d/Dragonstorm.java b/Mage.Sets/src/mage/cards/d/Dragonstorm.java index ab637eeb29e..2c667ea77f6 100644 --- a/Mage.Sets/src/mage/cards/d/Dragonstorm.java +++ b/Mage.Sets/src/mage/cards/d/Dragonstorm.java @@ -32,6 +32,7 @@ import mage.abilities.keyword.StormAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInLibrary; @@ -47,7 +48,7 @@ public class Dragonstorm extends CardImpl { private static final FilterPermanentCard filter = new FilterPermanentCard("Dragon permanent card"); static { - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); } public Dragonstorm(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DwarvenRecruiter.java b/Mage.Sets/src/mage/cards/d/DwarvenRecruiter.java index d8b4514a27a..cdc2001dea0 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenRecruiter.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenRecruiter.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.RecruiterEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -47,7 +48,7 @@ public class DwarvenRecruiter extends CardImpl { private static final FilterCard filter = new FilterCard("Dwarf cards"); static { - filter.add(new SubtypePredicate("Dwarf")); + filter.add(new SubtypePredicate(SubType.DWARF)); } public DwarvenRecruiter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java b/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java index a4364612f0f..176b9a51710 100644 --- a/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java +++ b/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class EidolonOfCountlessBattles extends CardImpl { static { filter.add(Predicates.or( new CardTypePredicate(CardType.CREATURE), - new SubtypePredicate("Aura"))); + new SubtypePredicate(SubType.AURA))); } public EidolonOfCountlessBattles(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/ElvishChampion.java b/Mage.Sets/src/mage/cards/e/ElvishChampion.java index a35f9069c0a..0f81295ec56 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishChampion.java +++ b/Mage.Sets/src/mage/cards/e/ElvishChampion.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -50,7 +51,7 @@ public class ElvishChampion extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Elf creatures"); static { - filter.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); } public ElvishChampion(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EmeriaTheSkyRuin.java b/Mage.Sets/src/mage/cards/e/EmeriaTheSkyRuin.java index 66a60f58ad3..2741e297ae7 100644 --- a/Mage.Sets/src/mage/cards/e/EmeriaTheSkyRuin.java +++ b/Mage.Sets/src/mage/cards/e/EmeriaTheSkyRuin.java @@ -34,6 +34,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterLandPermanent; @@ -78,7 +79,7 @@ class EmeriaTheSkyRuinTriggeredAbility extends TriggeredAbilityImpl { static final FilterLandPermanent filter = new FilterLandPermanent("Plains"); static { - filter.add(new SubtypePredicate("Plains")); + filter.add(new SubtypePredicate(SubType.PLAINS)); } public EmeriaTheSkyRuinTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/e/EndlessHorizons.java b/Mage.Sets/src/mage/cards/e/EndlessHorizons.java index 02cb8b4b952..3e0a72e02d4 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessHorizons.java +++ b/Mage.Sets/src/mage/cards/e/EndlessHorizons.java @@ -35,10 +35,7 @@ import mage.abilities.effects.SearchEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.common.FilterLandCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -83,7 +80,7 @@ class EndlessHorizonsEffect extends SearchEffect { private static final FilterLandCard filter = new FilterLandCard("Plains card"); static { - filter.add(new SubtypePredicate("Plains")); + filter.add(new SubtypePredicate(SubType.PLAINS)); } public EndlessHorizonsEffect() { diff --git a/Mage.Sets/src/mage/cards/e/Ensnare.java b/Mage.Sets/src/mage/cards/e/Ensnare.java index 0a0f7e7e29e..e81ff02574f 100644 --- a/Mage.Sets/src/mage/cards/e/Ensnare.java +++ b/Mage.Sets/src/mage/cards/e/Ensnare.java @@ -35,6 +35,8 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; + +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetControlledPermanent; @@ -48,7 +50,7 @@ public class Ensnare extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("Islands"); static { - filter.add(new SubtypePredicate("Island")); + filter.add(new SubtypePredicate(SubType.ISLAND)); } public Ensnare(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EverbarkShaman.java b/Mage.Sets/src/mage/cards/e/EverbarkShaman.java index f13e85f2e4d..d1742dbed51 100644 --- a/Mage.Sets/src/mage/cards/e/EverbarkShaman.java +++ b/Mage.Sets/src/mage/cards/e/EverbarkShaman.java @@ -37,6 +37,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.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -55,8 +56,8 @@ public class EverbarkShaman extends CardImpl { private static final FilterCard filterTreefolk = new FilterCard("Treefolk from your graveyard"); static { - filterForest.add(new SubtypePredicate("Forest")); - filterTreefolk.add(new SubtypePredicate("Treefolk")); + filterForest.add(new SubtypePredicate(SubType.FOREST)); + filterTreefolk.add(new SubtypePredicate(SubType.TREEFOLK)); } public EverbarkShaman(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/Evershrike.java b/Mage.Sets/src/mage/cards/e/Evershrike.java index 37db61cb5fc..fe2f0428ac5 100644 --- a/Mage.Sets/src/mage/cards/e/Evershrike.java +++ b/Mage.Sets/src/mage/cards/e/Evershrike.java @@ -29,7 +29,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.constants.ComparisonType; +import mage.constants.*; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -40,10 +40,6 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -116,7 +112,7 @@ class EvershrikeEffect extends OneShotEffect { } FilterCard filterAuraCard = new FilterCard("Aura card with converted mana cost X or less from your hand"); filterAuraCard.add(new CardTypePredicate(CardType.ENCHANTMENT)); - filterAuraCard.add(new SubtypePredicate("Aura")); + filterAuraCard.add(new SubtypePredicate(SubType.AURA)); filterAuraCard.add(new AuraCardCanAttachToPermanentId(evershrikePermanent.getId())); filterAuraCard.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, xAmount)); int count = controller.getHand().count(filterAuraCard, game); diff --git a/Mage.Sets/src/mage/cards/e/EzuriRenegadeLeader.java b/Mage.Sets/src/mage/cards/e/EzuriRenegadeLeader.java index cfb039a5588..b2f06395f94 100644 --- a/Mage.Sets/src/mage/cards/e/EzuriRenegadeLeader.java +++ b/Mage.Sets/src/mage/cards/e/EzuriRenegadeLeader.java @@ -37,10 +37,7 @@ import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -60,9 +57,9 @@ public class EzuriRenegadeLeader extends CardImpl { private static final FilterControlledCreaturePermanent notEzuri = new FilterControlledCreaturePermanent(); static { - elfFilter.add(new SubtypePredicate("Elf")); + elfFilter.add(new SubtypePredicate(SubType.ELF)); - notEzuri.add(new SubtypePredicate("Elf")); + notEzuri.add(new SubtypePredicate(SubType.ELF)); notEzuri.add(Predicates.not(new NamePredicate("Ezuri, Renegade Leader"))); } diff --git a/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java b/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java index 1b0be4f318e..625b171fd77 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java +++ b/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInLibrary; @@ -49,7 +50,7 @@ public class FaerieHarbinger extends CardImpl { public static final FilterCard filter = new FilterCard("Faerie card"); static { - filter.add(new SubtypePredicate("Faerie")); + filter.add(new SubtypePredicate(SubType.FAERIE)); } public FaerieHarbinger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/Farseek.java b/Mage.Sets/src/mage/cards/f/Farseek.java index 660389d2cd2..fb33efc49dc 100644 --- a/Mage.Sets/src/mage/cards/f/Farseek.java +++ b/Mage.Sets/src/mage/cards/f/Farseek.java @@ -32,6 +32,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,10 +50,10 @@ public class Farseek extends CardImpl { static { filter.add(Predicates.or( - new SubtypePredicate("Plains"), - new SubtypePredicate("Island"), - new SubtypePredicate("Swamp"), - new SubtypePredicate("Mountain"))); + new SubtypePredicate(SubType.PLAINS), + new SubtypePredicate(SubType.ISLAND), + new SubtypePredicate(SubType.SWAMP), + new SubtypePredicate(SubType.MOUNTAIN))); } public Farseek(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FelhideBrawler.java b/Mage.Sets/src/mage/cards/f/FelhideBrawler.java index a8b97ba311a..b7160c37b41 100644 --- a/Mage.Sets/src/mage/cards/f/FelhideBrawler.java +++ b/Mage.Sets/src/mage/cards/f/FelhideBrawler.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.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -76,7 +77,7 @@ class FelhideBrawlerRestrictionEffect extends RestrictionEffect { private static final FilterControlledPermanent filter = new FilterControlledPermanent("another Minotaur"); static { - filter.add(new SubtypePredicate("Minotaur")); + filter.add(new SubtypePredicate(SubType.MINOTAUR)); filter.add(new AnotherPredicate()); } diff --git a/Mage.Sets/src/mage/cards/f/FeverCharm.java b/Mage.Sets/src/mage/cards/f/FeverCharm.java index ccf23f0ae65..eea31c5a177 100644 --- a/Mage.Sets/src/mage/cards/f/FeverCharm.java +++ b/Mage.Sets/src/mage/cards/f/FeverCharm.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class FeverCharm extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Wizard creature"); static { - filter.add(new SubtypePredicate("Wizard")); + filter.add(new SubtypePredicate(SubType.WIZARD)); } public FeverCharm(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FlagstonesOfTrokair.java b/Mage.Sets/src/mage/cards/f/FlagstonesOfTrokair.java index b2d44a7e737..0d64eb9f90d 100644 --- a/Mage.Sets/src/mage/cards/f/FlagstonesOfTrokair.java +++ b/Mage.Sets/src/mage/cards/f/FlagstonesOfTrokair.java @@ -33,6 +33,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterLandCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,7 +50,7 @@ public class FlagstonesOfTrokair extends CardImpl { private static final FilterLandCard FILTER = new FilterLandCard("Plains card"); static { - FILTER.add(new SubtypePredicate("Plains")); + FILTER.add(new SubtypePredicate(SubType.PLAINS)); } public FlagstonesOfTrokair(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FlowOfIdeas.java b/Mage.Sets/src/mage/cards/f/FlowOfIdeas.java index f54f2b547b4..e538c147bb4 100644 --- a/Mage.Sets/src/mage/cards/f/FlowOfIdeas.java +++ b/Mage.Sets/src/mage/cards/f/FlowOfIdeas.java @@ -32,6 +32,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -46,7 +47,7 @@ public class FlowOfIdeas extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("Island you control"); static { - filter.add(new SubtypePredicate("Island")); + filter.add(new SubtypePredicate(SubType.ISLAND)); } public FlowOfIdeas(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FromBeyond.java b/Mage.Sets/src/mage/cards/f/FromBeyond.java index f48d824e41b..78d56bb7404 100644 --- a/Mage.Sets/src/mage/cards/f/FromBeyond.java +++ b/Mage.Sets/src/mage/cards/f/FromBeyond.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,7 +57,7 @@ public class FromBeyond extends CardImpl { private static final FilterCard filter = new FilterCard("Eldrazi card"); static { - filter.add(new SubtypePredicate("Eldrazi")); + filter.add(new SubtypePredicate(SubType.ELDRAZI)); } public FromBeyond(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GallowsAtWillowHill.java b/Mage.Sets/src/mage/cards/g/GallowsAtWillowHill.java index 6b461fe3fa2..05c8e4a1f9b 100644 --- a/Mage.Sets/src/mage/cards/g/GallowsAtWillowHill.java +++ b/Mage.Sets/src/mage/cards/g/GallowsAtWillowHill.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.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -61,7 +62,7 @@ public class GallowsAtWillowHill extends CardImpl { static { humanFilter.add(Predicates.not(new TappedPredicate())); - humanFilter.add(new SubtypePredicate("Human")); + humanFilter.add(new SubtypePredicate(SubType.HUMAN)); } public GallowsAtWillowHill(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GatewayShade.java b/Mage.Sets/src/mage/cards/g/GatewayShade.java index 064dbb7d4af..2ea21c1b532 100644 --- a/Mage.Sets/src/mage/cards/g/GatewayShade.java +++ b/Mage.Sets/src/mage/cards/g/GatewayShade.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.Predicates; @@ -53,7 +54,7 @@ public class GatewayShade extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("untapped Gate you control"); static { - filter.add(new SubtypePredicate("Gate")); + filter.add(new SubtypePredicate(SubType.GATE)); filter.add(Predicates.not(new TappedPredicate())); } diff --git a/Mage.Sets/src/mage/cards/g/GiltLeafPalace.java b/Mage.Sets/src/mage/cards/g/GiltLeafPalace.java index 850c51098ab..2712f715836 100644 --- a/Mage.Sets/src/mage/cards/g/GiltLeafPalace.java +++ b/Mage.Sets/src/mage/cards/g/GiltLeafPalace.java @@ -35,6 +35,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInHand; @@ -49,7 +50,7 @@ public class GiltLeafPalace extends CardImpl { private static final FilterCard filter = new FilterCard("a Elf from your hand"); static { - filter.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); } public GiltLeafPalace(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/Glorybringer.java b/Mage.Sets/src/mage/cards/g/Glorybringer.java index d65e9804399..c8f0e9a6f0f 100644 --- a/Mage.Sets/src/mage/cards/g/Glorybringer.java +++ b/Mage.Sets/src/mage/cards/g/Glorybringer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class Glorybringer extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-Dragon creature an opponent controls"); static { - filter.add(Predicates.not(new SubtypePredicate("Dragon"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.DRAGON))); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/g/GoblinRecruiter.java b/Mage.Sets/src/mage/cards/g/GoblinRecruiter.java index 460f961332b..57cd3609a52 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRecruiter.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRecruiter.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.RecruiterEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -48,7 +49,7 @@ public class GoblinRecruiter extends CardImpl { private static final FilterCard filter = new FilterCard("Goblin cards"); static { - filter.add(new SubtypePredicate("Goblin")); + filter.add(new SubtypePredicate(SubType.GOBLIN)); } public GoblinRecruiter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GoblinWarStrike.java b/Mage.Sets/src/mage/cards/g/GoblinWarStrike.java index 5448931a733..0fe7da78e91 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWarStrike.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWarStrike.java @@ -32,6 +32,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,7 +50,7 @@ public class GoblinWarStrike extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Goblins you control"); static { - filter.add(new SubtypePredicate("Goblin")); + filter.add(new SubtypePredicate(SubType.GOBLIN)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/g/GoldmeadowStalwart.java b/Mage.Sets/src/mage/cards/g/GoldmeadowStalwart.java index b8d5a937e93..b71188f5ccb 100644 --- a/Mage.Sets/src/mage/cards/g/GoldmeadowStalwart.java +++ b/Mage.Sets/src/mage/cards/g/GoldmeadowStalwart.java @@ -34,6 +34,7 @@ import mage.abilities.costs.mana.GenericManaCost; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInHand; @@ -48,7 +49,7 @@ public class GoldmeadowStalwart extends CardImpl { private static final FilterCard filter = new FilterCard("a Kithkin card from your hand"); static { - filter.add(new SubtypePredicate("Kithkin")); + filter.add(new SubtypePredicate(SubType.KITHKIN)); } public GoldmeadowStalwart(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GrasslandCrusader.java b/Mage.Sets/src/mage/cards/g/GrasslandCrusader.java index 2fa213f12bb..470de0db27a 100644 --- a/Mage.Sets/src/mage/cards/g/GrasslandCrusader.java +++ b/Mage.Sets/src/mage/cards/g/GrasslandCrusader.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -53,7 +54,7 @@ public class GrasslandCrusader extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Elf or Soldier creature"); static { - filter.add(Predicates.or(new SubtypePredicate("Elf"), new SubtypePredicate("Soldier"))); + filter.add(Predicates.or(new SubtypePredicate(SubType.ELF), new SubtypePredicate(SubType.SOLDIER))); } public GrasslandCrusader(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java b/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java index 7ca415b5d25..90f2712597d 100644 --- a/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java +++ b/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java @@ -57,7 +57,7 @@ public class GreatbowDoyen extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new SubtypePredicate("Archer")); + filter.add(new SubtypePredicate(SubType.ARCHER)); } public GreatbowDoyen(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java index a00a5181ba4..d198fae7a20 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,7 +58,7 @@ public class GuardianOfTheGreatConduit extends CardImpl { static { filter.add(new CardTypePredicate(CardType.PLANESWALKER)); - filter.add(new SubtypePredicate("Nissa")); + filter.add(new SubtypePredicate(SubType.NISSA)); } public GuardianOfTheGreatConduit(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java b/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java index f21a73b86c4..263dcee9635 100644 --- a/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java +++ b/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -57,8 +58,8 @@ public class GwyllionHedgeMage extends CardImpl { private static final FilterLandPermanent filter2 = new FilterLandPermanent("Swamps"); static { - filter.add(new SubtypePredicate("Plains")); - filter2.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.PLAINS)); + filter2.add(new SubtypePredicate(SubType.SWAMP)); } private static final String rule1 = "When {this} enters the battlefield, if you control two or more Plains, you may create a 1/1 white Kithkin Soldier creature token."; diff --git a/Mage.Sets/src/mage/cards/h/HaazdaExonerator.java b/Mage.Sets/src/mage/cards/h/HaazdaExonerator.java index da5aadf98de..a254a7a201a 100644 --- a/Mage.Sets/src/mage/cards/h/HaazdaExonerator.java +++ b/Mage.Sets/src/mage/cards/h/HaazdaExonerator.java @@ -38,6 +38,7 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -52,7 +53,7 @@ public class HaazdaExonerator extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("Aura"); static { - filter.add(new SubtypePredicate("Aura")); + filter.add(new SubtypePredicate(SubType.AURA)); } public HaazdaExonerator(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HagraDiabolist.java b/Mage.Sets/src/mage/cards/h/HagraDiabolist.java index 95e7ca65603..eae3d548750 100644 --- a/Mage.Sets/src/mage/cards/h/HagraDiabolist.java +++ b/Mage.Sets/src/mage/cards/h/HagraDiabolist.java @@ -37,6 +37,7 @@ import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -52,7 +53,7 @@ public class HagraDiabolist extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Allies you control"); static { - filter.add(new SubtypePredicate("Ally")); + filter.add(new SubtypePredicate(SubType.ALLY)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/h/HalimarExcavator.java b/Mage.Sets/src/mage/cards/h/HalimarExcavator.java index 7a5e9e950f7..c8939bfd9a5 100644 --- a/Mage.Sets/src/mage/cards/h/HalimarExcavator.java +++ b/Mage.Sets/src/mage/cards/h/HalimarExcavator.java @@ -30,6 +30,7 @@ package mage.cards.h; import java.util.UUID; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.MageInt; import mage.abilities.Ability; @@ -52,7 +53,7 @@ public class HalimarExcavator extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Allies you control"); static { - filter.add(new SubtypePredicate("Ally")); + filter.add(new SubtypePredicate(SubType.ALLY)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/h/HarborBandit.java b/Mage.Sets/src/mage/cards/h/HarborBandit.java index ee173010f74..05939d9bd11 100644 --- a/Mage.Sets/src/mage/cards/h/HarborBandit.java +++ b/Mage.Sets/src/mage/cards/h/HarborBandit.java @@ -30,6 +30,7 @@ package mage.cards.h; import java.util.UUID; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; @@ -54,7 +55,7 @@ public class HarborBandit extends CardImpl { private static final String rule = "{this} gets +1/+1 as long as you control an Island"; static { - filter.add(new SubtypePredicate("Island")); + filter.add(new SubtypePredicate(SubType.ISLAND)); } public HarborBandit(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HavengulRunebinder.java b/Mage.Sets/src/mage/cards/h/HavengulRunebinder.java index 150c314c8fe..0a6173e4594 100644 --- a/Mage.Sets/src/mage/cards/h/HavengulRunebinder.java +++ b/Mage.Sets/src/mage/cards/h/HavengulRunebinder.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class HavengulRunebinder extends CardImpl { private static final FilterControlledCreaturePermanent filterPermanent = new FilterControlledCreaturePermanent("Zombie creature you control"); static { - filterPermanent.add(new SubtypePredicate("Zombie")); + filterPermanent.add(new SubtypePredicate(SubType.ZOMBIE)); } public HavengulRunebinder(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeartSliver.java b/Mage.Sets/src/mage/cards/h/HeartSliver.java index c9e52ca5d28..01c6e89028b 100644 --- a/Mage.Sets/src/mage/cards/h/HeartSliver.java +++ b/Mage.Sets/src/mage/cards/h/HeartSliver.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,7 +50,7 @@ public class HeartSliver extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("All sliver creatures"); static { - filter.add(new SubtypePredicate("Sliver")); + filter.add(new SubtypePredicate(SubType.SLIVER)); } public HeartSliver(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeartwoodGiant.java b/Mage.Sets/src/mage/cards/h/HeartwoodGiant.java index 7ed8726f09c..0f073d042b1 100644 --- a/Mage.Sets/src/mage/cards/h/HeartwoodGiant.java +++ b/Mage.Sets/src/mage/cards/h/HeartwoodGiant.java @@ -38,6 +38,7 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -53,7 +54,7 @@ public class HeartwoodGiant extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Forest"); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); } public HeartwoodGiant(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeavyTrooper.java b/Mage.Sets/src/mage/cards/h/HeavyTrooper.java index bf7afbaa0c1..d4cf4c21500 100644 --- a/Mage.Sets/src/mage/cards/h/HeavyTrooper.java +++ b/Mage.Sets/src/mage/cards/h/HeavyTrooper.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.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -48,7 +49,7 @@ public class HeavyTrooper extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); static { - filter.add(new SubtypePredicate("Trooper")); + filter.add(new SubtypePredicate(SubType.TROOPER)); } public HeavyTrooper(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeedlessOne.java b/Mage.Sets/src/mage/cards/h/HeedlessOne.java index d9810d221ea..eef539dc683 100644 --- a/Mage.Sets/src/mage/cards/h/HeedlessOne.java +++ b/Mage.Sets/src/mage/cards/h/HeedlessOne.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -50,7 +51,7 @@ public class HeedlessOne extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("Elves on the battlefield"); static { - filter.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); } public HeedlessOne(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeroOfIroas.java b/Mage.Sets/src/mage/cards/h/HeroOfIroas.java index d5e88faa2ba..b95601205a8 100644 --- a/Mage.Sets/src/mage/cards/h/HeroOfIroas.java +++ b/Mage.Sets/src/mage/cards/h/HeroOfIroas.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterCard; @@ -49,7 +50,7 @@ public class HeroOfIroas extends CardImpl { private static final FilterCard filter = new FilterCard("Aura spells"); static { - filter.add(new SubtypePredicate("Aura")); + filter.add(new SubtypePredicate(SubType.AURA)); } public HeroOfIroas(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HighTide.java b/Mage.Sets/src/mage/cards/h/HighTide.java index 73da9890260..5f03a27c418 100644 --- a/Mage.Sets/src/mage/cards/h/HighTide.java +++ b/Mage.Sets/src/mage/cards/h/HighTide.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; +import mage.constants.SubType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -75,7 +76,7 @@ class HighTideTriggeredAbility extends DelayedTriggeredManaAbility { private static final FilterLandPermanent filter = new FilterLandPermanent("Island"); static { - filter.add(new SubtypePredicate("Island")); + filter.add(new SubtypePredicate(SubType.ISLAND)); } public HighTideTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/h/HomingSliver.java b/Mage.Sets/src/mage/cards/h/HomingSliver.java index 4d2782825d7..1c789daa134 100644 --- a/Mage.Sets/src/mage/cards/h/HomingSliver.java +++ b/Mage.Sets/src/mage/cards/h/HomingSliver.java @@ -38,12 +38,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -59,7 +54,7 @@ public class HomingSliver extends CardImpl { private static final FilterCard filter = new FilterCard("Sliver card"); static { - filter.add(new SubtypePredicate("Sliver")); + filter.add(new SubtypePredicate(SubType.SLIVER)); } public HomingSliver(UUID ownerId, CardSetInfo setInfo) { @@ -90,7 +85,7 @@ class HomingSliverEffect extends ContinuousEffectImpl { private static final FilterCard filter = new FilterCard("Sliver card"); static { - filter.add(new SubtypePredicate("Sliver")); + filter.add(new SubtypePredicate(SubType.SLIVER)); } public HomingSliverEffect() { diff --git a/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java b/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java index b605484bf52..4ca535f25cf 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; @@ -49,7 +50,7 @@ public class HondenOfCleansingFire extends CardImpl { final static FilterControlledPermanent filter = new FilterControlledPermanent("Shrine"); static { - filter.add(new SubtypePredicate("Shrine")); + filter.add(new SubtypePredicate(SubType.SHRINE)); } public HondenOfCleansingFire(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HorrorOfHorrors.java b/Mage.Sets/src/mage/cards/h/HorrorOfHorrors.java index 202434ecf49..06a8f902edc 100644 --- a/Mage.Sets/src/mage/cards/h/HorrorOfHorrors.java +++ b/Mage.Sets/src/mage/cards/h/HorrorOfHorrors.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; @@ -54,7 +55,7 @@ public class HorrorOfHorrors extends CardImpl { private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("black creature"); static { - filter1.add(new SubtypePredicate("Swamp")); + filter1.add(new SubtypePredicate(SubType.SWAMP)); filter2.add(new ColorPredicate(ObjectColor.BLACK)); } diff --git a/Mage.Sets/src/mage/cards/h/HowlpackWolf.java b/Mage.Sets/src/mage/cards/h/HowlpackWolf.java index 11a2789ab94..7f380773e38 100644 --- a/Mage.Sets/src/mage/cards/h/HowlpackWolf.java +++ b/Mage.Sets/src/mage/cards/h/HowlpackWolf.java @@ -76,7 +76,7 @@ class HowlpackWolfRestrictionEffect extends RestrictionEffect { private static final FilterControlledPermanent filter = new FilterControlledPermanent("another Wolf or Werewolf"); static { - filter.add(Predicates.or(new SubtypePredicate("Wolf"), new SubtypePredicate(SubType.WEREWOLF))); + filter.add(Predicates.or(new SubtypePredicate(SubType.WOLF), new SubtypePredicate(SubType.WEREWOLF))); filter.add(new AnotherPredicate()); } diff --git a/Mage.Sets/src/mage/cards/i/Immerwolf.java b/Mage.Sets/src/mage/cards/i/Immerwolf.java index 091049eb497..ba779f9ce8c 100644 --- a/Mage.Sets/src/mage/cards/i/Immerwolf.java +++ b/Mage.Sets/src/mage/cards/i/Immerwolf.java @@ -90,7 +90,7 @@ class ImmerwolfEffect extends ContinuousRuleModifyingEffectImpl { static { filter.add(new SubtypePredicate(SubType.WEREWOLF)); - filter.add(Predicates.not(new SubtypePredicate("Human"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.HUMAN))); } public ImmerwolfEffect() { diff --git a/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java b/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java index d702bcfc9b0..2da37a70b4d 100644 --- a/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java +++ b/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,7 +55,7 @@ public class IndulgentAristocrat extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("Vampire you control"); static { - filter.add(new SubtypePredicate("Vampire")); + filter.add(new SubtypePredicate(SubType.VAMPIRE)); } public IndulgentAristocrat(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/InspiredSprite.java b/Mage.Sets/src/mage/cards/i/InspiredSprite.java index bd06b26460f..17684270dd0 100644 --- a/Mage.Sets/src/mage/cards/i/InspiredSprite.java +++ b/Mage.Sets/src/mage/cards/i/InspiredSprite.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlashAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -53,7 +54,7 @@ public class InspiredSprite extends CardImpl { private static final FilterSpell filter = new FilterSpell("Wizard"); static { - filter.add(new SubtypePredicate("Wizard")); + filter.add(new SubtypePredicate(SubType.WIZARD)); } public InspiredSprite(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IsaoEnlightenedBushi.java b/Mage.Sets/src/mage/cards/i/IsaoEnlightenedBushi.java index 728e13015b3..d637c169d89 100644 --- a/Mage.Sets/src/mage/cards/i/IsaoEnlightenedBushi.java +++ b/Mage.Sets/src/mage/cards/i/IsaoEnlightenedBushi.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -54,7 +55,7 @@ public class IsaoEnlightenedBushi extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("Samurai"); static { - filter.add(new SubtypePredicate("Samurai")); + filter.add(new SubtypePredicate(SubType.SAMURAI)); } public IsaoEnlightenedBushi(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JediEnclave.java b/Mage.Sets/src/mage/cards/j/JediEnclave.java index 487da2a49c3..84635dbac83 100644 --- a/Mage.Sets/src/mage/cards/j/JediEnclave.java +++ b/Mage.Sets/src/mage/cards/j/JediEnclave.java @@ -35,10 +35,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; @@ -89,9 +86,9 @@ public class JediEnclave extends CardImpl { FilterCard filter = new FilterCard("basic Forest, Plains or Island"); filter.add(new CardTypePredicate(CardType.LAND)); ArrayList> subtypePredicates = new ArrayList<>(); - subtypePredicates.add(new SubtypePredicate("Forest")); - subtypePredicates.add(new SubtypePredicate("Plains")); - subtypePredicates.add(new SubtypePredicate("Island")); + subtypePredicates.add(new SubtypePredicate(SubType.FOREST)); + subtypePredicates.add(new SubtypePredicate(SubType.PLAINS)); + subtypePredicates.add(new SubtypePredicate(SubType.ISLAND)); filter.add(Predicates.or(subtypePredicates)); filter.add(new SupertypePredicate(SuperType.BASIC)); TargetCardInLibrary target = new TargetCardInLibrary(filter); diff --git a/Mage.Sets/src/mage/cards/j/JoragaBard.java b/Mage.Sets/src/mage/cards/j/JoragaBard.java index a7a170995f8..63a8fac9a74 100644 --- a/Mage.Sets/src/mage/cards/j/JoragaBard.java +++ b/Mage.Sets/src/mage/cards/j/JoragaBard.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -51,7 +52,7 @@ public class JoragaBard extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Ally creatures you control"); static { - filter.add(new SubtypePredicate("Ally")); + filter.add(new SubtypePredicate(SubType.ALLY)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java b/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java index f071b30fc55..826b51f206e 100644 --- a/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java +++ b/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java @@ -44,6 +44,7 @@ import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -60,7 +61,7 @@ public class JoragaTreespeaker extends LevelerCard { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Elves"); static { - filter.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); } public JoragaTreespeaker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JoragaWarcaller.java b/Mage.Sets/src/mage/cards/j/JoragaWarcaller.java index 5caa2aa2e51..9faa24d351d 100644 --- a/Mage.Sets/src/mage/cards/j/JoragaWarcaller.java +++ b/Mage.Sets/src/mage/cards/j/JoragaWarcaller.java @@ -58,7 +58,7 @@ public class JoragaWarcaller extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); filter.add(new AnotherPredicate()); } diff --git a/Mage.Sets/src/mage/cards/j/JorubaiMurkLurker.java b/Mage.Sets/src/mage/cards/j/JorubaiMurkLurker.java index 3c15e017da2..9c69b05b832 100644 --- a/Mage.Sets/src/mage/cards/j/JorubaiMurkLurker.java +++ b/Mage.Sets/src/mage/cards/j/JorubaiMurkLurker.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -57,7 +58,7 @@ public class JorubaiMurkLurker extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("a Swamp"); static { - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); } public JorubaiMurkLurker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JumpTrooper.java b/Mage.Sets/src/mage/cards/j/JumpTrooper.java index d0aab306407..f46e350095d 100644 --- a/Mage.Sets/src/mage/cards/j/JumpTrooper.java +++ b/Mage.Sets/src/mage/cards/j/JumpTrooper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreatureCard; @@ -54,7 +55,7 @@ public class JumpTrooper extends CardImpl { private static final FilterCreatureCard filter = new FilterCreatureCard("Trooper creatures"); static { - filter.add(new SubtypePredicate("Trooper")); + filter.add(new SubtypePredicate(SubType.TROOPER)); } public JumpTrooper(UUID ownerId, CardSetInfo setInfo) { @@ -84,7 +85,7 @@ class JumpTrooperTriggeredAbility extends TriggeredAbilityImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Trooper creature you control"); static { - filter.add(new SubtypePredicate("Trooper")); + filter.add(new SubtypePredicate(SubType.TROOPER)); } public JumpTrooperTriggeredAbility(Effect effect) { diff --git a/Mage.Sets/src/mage/cards/j/JungleVillage.java b/Mage.Sets/src/mage/cards/j/JungleVillage.java index 31ae6d1200d..2eec405fae4 100644 --- a/Mage.Sets/src/mage/cards/j/JungleVillage.java +++ b/Mage.Sets/src/mage/cards/j/JungleVillage.java @@ -35,10 +35,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; @@ -89,9 +86,9 @@ public class JungleVillage extends CardImpl { FilterCard filter = new FilterCard("basic Mountain, Forest or Plains"); filter.add(new CardTypePredicate(CardType.LAND)); ArrayList> subtypePredicates = new ArrayList<>(); - subtypePredicates.add(new SubtypePredicate("Plains")); - subtypePredicates.add(new SubtypePredicate("Mountain")); - subtypePredicates.add(new SubtypePredicate("Forest")); + subtypePredicates.add(new SubtypePredicate(SubType.PLAINS)); + subtypePredicates.add(new SubtypePredicate(SubType.MOUNTAIN)); + subtypePredicates.add(new SubtypePredicate(SubType.FAERIE)); filter.add(Predicates.or(subtypePredicates)); filter.add(new SupertypePredicate(SuperType.BASIC)); TargetCardInLibrary target = new TargetCardInLibrary(filter); diff --git a/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java b/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java index 2c7a8ecbe6f..29aee887848 100644 --- a/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java +++ b/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CopyPermanentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -48,7 +49,7 @@ public class JwariShapeshifter extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("Ally creature"); static { - filter.add(new SubtypePredicate("Ally")); + filter.add(new SubtypePredicate(SubType.ALLY)); filter.add(new CardTypePredicate(CardType.CREATURE)); filter.add(new AnotherPredicate()); // needed because during enters_the_battlefield event the creature is already targetable although it shouldn't } diff --git a/Mage.Sets/src/mage/cards/k/KalitasTraitorOfGhet.java b/Mage.Sets/src/mage/cards/k/KalitasTraitorOfGhet.java index aae6f58ee21..139863de5bb 100644 --- a/Mage.Sets/src/mage/cards/k/KalitasTraitorOfGhet.java +++ b/Mage.Sets/src/mage/cards/k/KalitasTraitorOfGhet.java @@ -65,8 +65,8 @@ public class KalitasTraitorOfGhet extends CardImpl { static { filter.add(new AnotherPredicate()); - filter.add(Predicates.or(new SubtypePredicate("Vampire"), - (new SubtypePredicate("Zombie")))); + filter.add(Predicates.or(new SubtypePredicate(SubType.VAMPIRE), + (new SubtypePredicate(SubType.ZOMBIE)))); } public KalitasTraitorOfGhet(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KarrthusTyrantOfJund.java b/Mage.Sets/src/mage/cards/k/KarrthusTyrantOfJund.java index 97b7998584f..fd60e7eab5c 100644 --- a/Mage.Sets/src/mage/cards/k/KarrthusTyrantOfJund.java +++ b/Mage.Sets/src/mage/cards/k/KarrthusTyrantOfJund.java @@ -60,7 +60,7 @@ public class KarrthusTyrantOfJund extends CardImpl { static { filter.add(new AnotherPredicate()); - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); } public KarrthusTyrantOfJund(UUID ownerId, CardSetInfo setInfo) { @@ -113,7 +113,7 @@ class KarrthusEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { FilterPermanent filter = new FilterPermanent(); - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); List dragons = game.getBattlefield().getAllActivePermanents(filter, game); for (Permanent dragon : dragons) { ContinuousEffect effect = new KarrthusControlEffect(source.getControllerId()); diff --git a/Mage.Sets/src/mage/cards/k/KazuulsTollCollector.java b/Mage.Sets/src/mage/cards/k/KazuulsTollCollector.java index 807d1d16630..4be7819518d 100644 --- a/Mage.Sets/src/mage/cards/k/KazuulsTollCollector.java +++ b/Mage.Sets/src/mage/cards/k/KazuulsTollCollector.java @@ -37,6 +37,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.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -53,7 +54,7 @@ public class KazuulsTollCollector extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("Equipment you control"); static { - filter.add(new SubtypePredicate("Equipment")); + filter.add(new SubtypePredicate(SubType.EQUIPMENT)); } public KazuulsTollCollector(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KingSuleiman.java b/Mage.Sets/src/mage/cards/k/KingSuleiman.java index 8221425c301..4d54c4037e9 100644 --- a/Mage.Sets/src/mage/cards/k/KingSuleiman.java +++ b/Mage.Sets/src/mage/cards/k/KingSuleiman.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -52,8 +53,8 @@ public class KingSuleiman extends CardImpl { static { filter.add( Predicates.or( - new SubtypePredicate("Djinn"), - new SubtypePredicate("Efreet"))); + new SubtypePredicate(SubType.DJINN), + new SubtypePredicate(SubType.EFREET))); } public KingSuleiman(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KothOfTheHammer.java b/Mage.Sets/src/mage/cards/k/KothOfTheHammer.java index bf601081f7a..d90528b80d6 100644 --- a/Mage.Sets/src/mage/cards/k/KothOfTheHammer.java +++ b/Mage.Sets/src/mage/cards/k/KothOfTheHammer.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterLandPermanent; import mage.game.command.emblems.KothOfTheHammerEmblem; @@ -56,11 +57,11 @@ import mage.target.common.TargetLandPermanent; */ public class KothOfTheHammer extends CardImpl { - static final FilterLandPermanent filter = new FilterLandPermanent("Mountain", "Mountain"); + static final FilterLandPermanent filter = new FilterLandPermanent(SubType.MOUNTAIN, "Mountain"); static final FilterLandPermanent filterCount = new FilterLandPermanent("Mountain you control"); static { - filterCount.add(new SubtypePredicate("Mountain")); + filterCount.add(new SubtypePredicate(SubType.MOUNTAIN)); filterCount.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/k/KozileksReturn.java b/Mage.Sets/src/mage/cards/k/KozileksReturn.java index dafa3a0b05d..f348e49adba 100644 --- a/Mage.Sets/src/mage/cards/k/KozileksReturn.java +++ b/Mage.Sets/src/mage/cards/k/KozileksReturn.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.common.FilterCreaturePermanent; @@ -54,7 +55,7 @@ public class KozileksReturn extends CardImpl { private static final FilterSpell filter = new FilterSpell("an Eldrazi creature spell with converted mana cost 7 or greater"); static { - filter.add(new SubtypePredicate("Eldrazi")); + filter.add(new SubtypePredicate(SubType.ELDRAZI)); filter.add(new CardTypePredicate(CardType.CREATURE)); filter.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, 6)); } diff --git a/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java b/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java index 2716a697d19..55b495ca974 100644 --- a/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java +++ b/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,7 +53,7 @@ public class LamplighterOfSelhoff extends CardImpl { static { filter.add(new AnotherPredicate()); - filter.add(new SubtypePredicate("Zombie")); + filter.add(new SubtypePredicate(SubType.ZOMBIE)); } public LamplighterOfSelhoff(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LandGrant.java b/Mage.Sets/src/mage/cards/l/LandGrant.java index ffe11d1f31b..79abb871222 100644 --- a/Mage.Sets/src/mage/cards/l/LandGrant.java +++ b/Mage.Sets/src/mage/cards/l/LandGrant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -52,7 +53,7 @@ public class LandGrant extends CardImpl { private static final FilterLandCard filter = new FilterLandCard("Forest card"); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); } public LandGrant(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LandbindRitual.java b/Mage.Sets/src/mage/cards/l/LandbindRitual.java index 0558018b0e3..1f0415bba53 100644 --- a/Mage.Sets/src/mage/cards/l/LandbindRitual.java +++ b/Mage.Sets/src/mage/cards/l/LandbindRitual.java @@ -29,6 +29,7 @@ package mage.cards.l; import java.util.UUID; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.GainLifeEffect; @@ -47,7 +48,7 @@ public class LandbindRitual extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("Plains you control"); static { - filter.add(new SubtypePredicate("Plains")); + filter.add(new SubtypePredicate(SubType.PLAINS)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/l/LifeAndLimb.java b/Mage.Sets/src/mage/cards/l/LifeAndLimb.java index aadf632181b..193a1aeb244 100644 --- a/Mage.Sets/src/mage/cards/l/LifeAndLimb.java +++ b/Mage.Sets/src/mage/cards/l/LifeAndLimb.java @@ -28,6 +28,7 @@ package mage.cards.l; import java.util.UUID; + import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -35,12 +36,7 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,13 +45,12 @@ import mage.game.permanent.Permanent; import mage.players.Player; /** - * * @author emerald000 */ public class LifeAndLimb extends CardImpl { public LifeAndLimb(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}"); // All Forests and all Saprolings are 1/1 green Saproling creatures and Forest lands in addition to their other types. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LifeAndLimbEffect())); @@ -72,10 +67,11 @@ public class LifeAndLimb extends CardImpl { } class LifeAndLimbEffect extends ContinuousEffectImpl { - + private static final FilterPermanent filter = new FilterPermanent("All Forests and all Saprolings"); + static { - filter.add(Predicates.or(new SubtypePredicate("Forest"), new SubtypePredicate("Saproling"))); + filter.add(Predicates.or(new SubtypePredicate(SubType.FOREST), new SubtypePredicate(SubType.SAPROLING))); } LifeAndLimbEffect() { @@ -99,11 +95,11 @@ class LifeAndLimbEffect extends ContinuousEffectImpl { for (Permanent permanent : game.getState().getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { switch (layer) { case TypeChangingEffects_4: - permanent.addCardType(CardType.CREATURE); + permanent.addCardType(CardType.CREATURE); if (!permanent.hasSubtype("Saproling", game)) { permanent.getSubtype(game).add("Saproling"); } - permanent.addCardType(CardType.LAND); + permanent.addCardType(CardType.LAND); if (!permanent.hasSubtype("Forest", game)) { permanent.getSubtype(game).add("Forest"); } @@ -145,7 +141,7 @@ class LifeAndLimbEffect extends ContinuousEffectImpl { public boolean hasLayer(Layer layer) { return layer == Layer.TypeChangingEffects_4 || layer == Layer.ColorChangingEffects_5 - || layer == Layer.AbilityAddingRemovingEffects_6 + || layer == Layer.AbilityAddingRemovingEffects_6 || layer == Layer.PTChangingEffects_7; } } diff --git a/Mage.Sets/src/mage/cards/l/Lifetap.java b/Mage.Sets/src/mage/cards/l/Lifetap.java index 82eec0eb440..9029273a891 100644 --- a/Mage.Sets/src/mage/cards/l/Lifetap.java +++ b/Mage.Sets/src/mage/cards/l/Lifetap.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -47,7 +48,7 @@ public class Lifetap extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("a Forest an opponent controls"); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/l/LilianaOfTheDarkRealms.java b/Mage.Sets/src/mage/cards/l/LilianaOfTheDarkRealms.java index 46fa6485c17..2521d7f3436 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaOfTheDarkRealms.java +++ b/Mage.Sets/src/mage/cards/l/LilianaOfTheDarkRealms.java @@ -36,12 +36,7 @@ import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.TargetController; +import mage.constants.*; import mage.filter.common.FilterLandCard; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -62,7 +57,7 @@ public class LilianaOfTheDarkRealms extends CardImpl { private static final FilterLandCard filter = new FilterLandCard("Swamp card"); static { - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); } public LilianaOfTheDarkRealms(UUID ownerId, CardSetInfo setInfo) { @@ -116,7 +111,7 @@ class LilianaOfTheDarkRealmsEffect extends ContinuousEffectImpl { super.init(source, game); FilterLandPermanent filter = new FilterLandPermanent("Swamps"); - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); filter.add(new ControllerPredicate(TargetController.YOU)); this.amount = game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game); diff --git a/Mage.Sets/src/mage/cards/l/Lithophage.java b/Mage.Sets/src/mage/cards/l/Lithophage.java index e4e319c8ff4..aea5572a74d 100644 --- a/Mage.Sets/src/mage/cards/l/Lithophage.java +++ b/Mage.Sets/src/mage/cards/l/Lithophage.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -50,7 +51,7 @@ public class Lithophage extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("a Mountain"); static { - filter.add(new SubtypePredicate("Mountain")); + filter.add(new SubtypePredicate(SubType.MOUNTAIN)); } public Lithophage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LlanowarDruid.java b/Mage.Sets/src/mage/cards/l/LlanowarDruid.java index 73b6776a5fd..b79505a1b57 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarDruid.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarDruid.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.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -82,7 +83,7 @@ class LlanowarDruidEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent(); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); } public LlanowarDruidEffect() { diff --git a/Mage.Sets/src/mage/cards/l/LoamLion.java b/Mage.Sets/src/mage/cards/l/LoamLion.java index d5fa5c89ac5..ba6438bc966 100644 --- a/Mage.Sets/src/mage/cards/l/LoamLion.java +++ b/Mage.Sets/src/mage/cards/l/LoamLion.java @@ -30,6 +30,7 @@ package mage.cards.l; import java.util.UUID; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; @@ -51,7 +52,7 @@ public class LoamLion extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("a Forest"); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); } public LoamLion(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LordOfAtlantis.java b/Mage.Sets/src/mage/cards/l/LordOfAtlantis.java index d61498668a2..71af483bbb2 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfAtlantis.java +++ b/Mage.Sets/src/mage/cards/l/LordOfAtlantis.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -52,7 +53,7 @@ public class LordOfAtlantis extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Merfolk creatures"); static { - filter.add(new SubtypePredicate("Merfolk")); + filter.add(new SubtypePredicate(SubType.MERFOLK)); } public LordOfAtlantis(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LordOfTheUndead.java b/Mage.Sets/src/mage/cards/l/LordOfTheUndead.java index c4bbdf07ccb..a12fe4025c7 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfTheUndead.java +++ b/Mage.Sets/src/mage/cards/l/LordOfTheUndead.java @@ -30,6 +30,7 @@ package mage.cards.l; import java.util.UUID; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.MageInt; import mage.abilities.Ability; @@ -55,8 +56,8 @@ public class LordOfTheUndead extends CardImpl { private static final FilterCard filterCard = new FilterCard("Zombie card from your graveyard"); static { - filter.add(new SubtypePredicate("Zombie")); - filterCard.add(new SubtypePredicate("Zombie")); + filter.add(new SubtypePredicate(SubType.ZOMBIE)); + filterCard.add(new SubtypePredicate(SubType.ZOMBIE)); } public LordOfTheUndead(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LordOfTheUnreal.java b/Mage.Sets/src/mage/cards/l/LordOfTheUnreal.java index c7f5692ac3b..238ca53119c 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfTheUnreal.java +++ b/Mage.Sets/src/mage/cards/l/LordOfTheUnreal.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -52,7 +53,7 @@ public class LordOfTheUnreal extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Illusion creatures"); static { - filter.add(new SubtypePredicate("Illusion")); + filter.add(new SubtypePredicate(SubType.ILLUSION)); } public LordOfTheUnreal(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LysAlanaScarblade.java b/Mage.Sets/src/mage/cards/l/LysAlanaScarblade.java index 7c45c7f7350..0411df864a5 100644 --- a/Mage.Sets/src/mage/cards/l/LysAlanaScarblade.java +++ b/Mage.Sets/src/mage/cards/l/LysAlanaScarblade.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterControlledPermanent; @@ -57,8 +58,8 @@ public class LysAlanaScarblade extends CardImpl { private static final FilterCard filter2 = new FilterCard("an Elf card"); static { - filter1.add(new SubtypePredicate("Elf")); - filter2.add(new SubtypePredicate("Elf")); + filter1.add(new SubtypePredicate(SubType.ELF)); + filter2.add(new SubtypePredicate(SubType.ELF)); } public LysAlanaScarblade(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MalakirBloodwitch.java b/Mage.Sets/src/mage/cards/m/MalakirBloodwitch.java index 196ca3c7bef..86eeb67891c 100644 --- a/Mage.Sets/src/mage/cards/m/MalakirBloodwitch.java +++ b/Mage.Sets/src/mage/cards/m/MalakirBloodwitch.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -98,7 +99,7 @@ class MalakirBloodwitchEffect extends OneShotEffect { } FilterControlledPermanent filter = new FilterControlledPermanent("Vampire"); - filter.add(new SubtypePredicate("Vampire")); + filter.add(new SubtypePredicate(SubType.VAMPIRE)); int amount = game.getBattlefield().countAll(filter, source.getControllerId(), game); Set opponents = game.getOpponents(source.getControllerId()); diff --git a/Mage.Sets/src/mage/cards/m/MarchFromTheTomb.java b/Mage.Sets/src/mage/cards/m/MarchFromTheTomb.java index 73bd0c16eba..91c42ab0bc6 100644 --- a/Mage.Sets/src/mage/cards/m/MarchFromTheTomb.java +++ b/Mage.Sets/src/mage/cards/m/MarchFromTheTomb.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -57,7 +58,7 @@ public class MarchFromTheTomb extends CardImpl { effect.setText("Return any number of target Ally creature cards with total converted mana cost of 8 or less from your graveyard to the battlefield"); this.getSpellAbility().addEffect(effect); FilterCard filter = new FilterCreatureCard(); - filter.add(new SubtypePredicate("Ally")); + filter.add(new SubtypePredicate(SubType.ALLY)); this.getSpellAbility().addTarget(new MarchFromTheTombTarget(0, Integer.MAX_VALUE, filter)); } diff --git a/Mage.Sets/src/mage/cards/m/MassAppeal.java b/Mage.Sets/src/mage/cards/m/MassAppeal.java index 31a94b6576b..693ca52bb1c 100644 --- a/Mage.Sets/src/mage/cards/m/MassAppeal.java +++ b/Mage.Sets/src/mage/cards/m/MassAppeal.java @@ -32,6 +32,7 @@ import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -46,7 +47,7 @@ public class MassAppeal extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("Human you control"); static { - filter.add(new SubtypePredicate("Human")); + filter.add(new SubtypePredicate(SubType.HUMAN)); } public MassAppeal(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MasterApothecary.java b/Mage.Sets/src/mage/cards/m/MasterApothecary.java index 9a64524f7ec..a5a60802b20 100644 --- a/Mage.Sets/src/mage/cards/m/MasterApothecary.java +++ b/Mage.Sets/src/mage/cards/m/MasterApothecary.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class MasterApothecary extends CardImpl { public static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped Cleric you control"); static { - filter.add(new SubtypePredicate("Cleric")); + filter.add(new SubtypePredicate(SubType.CLERIC)); filter.add(Predicates.not(new TappedPredicate())); } diff --git a/Mage.Sets/src/mage/cards/m/MidnightEntourage.java b/Mage.Sets/src/mage/cards/m/MidnightEntourage.java index 1cdfcafe738..e8b3f3eb061 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightEntourage.java +++ b/Mage.Sets/src/mage/cards/m/MidnightEntourage.java @@ -38,10 +38,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,7 +52,7 @@ public class MidnightEntourage extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Aetherborn you control"); static { - filter.add(new SubtypePredicate("Aetherborn")); + filter.add(new SubtypePredicate(SubType.AETHERBORN)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/m/MoggAlarm.java b/Mage.Sets/src/mage/cards/m/MoggAlarm.java index e31640f1059..f6f52d3afd4 100644 --- a/Mage.Sets/src/mage/cards/m/MoggAlarm.java +++ b/Mage.Sets/src/mage/cards/m/MoggAlarm.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.permanent.token.GoblinToken; @@ -47,7 +48,7 @@ public class MoggAlarm extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("two Mountains"); static { - filter.add(new SubtypePredicate("Mountain")); + filter.add(new SubtypePredicate(SubType.MOUNTAIN)); } public MoggAlarm(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MurmuringBosk.java b/Mage.Sets/src/mage/cards/m/MurmuringBosk.java index 6ddc50df3fe..c8b8f5cd5ae 100644 --- a/Mage.Sets/src/mage/cards/m/MurmuringBosk.java +++ b/Mage.Sets/src/mage/cards/m/MurmuringBosk.java @@ -39,6 +39,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInHand; @@ -52,7 +53,7 @@ public class MurmuringBosk extends CardImpl { private static final FilterCard filter = new FilterCard("a Treefolk card from your hand"); static { - filter.add(new SubtypePredicate("Treefolk")); + filter.add(new SubtypePredicate(SubType.TREEFOLK)); } public MurmuringBosk(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/Mutilate.java b/Mage.Sets/src/mage/cards/m/Mutilate.java index 028fdbb2a29..2adcec92131 100644 --- a/Mage.Sets/src/mage/cards/m/Mutilate.java +++ b/Mage.Sets/src/mage/cards/m/Mutilate.java @@ -30,6 +30,7 @@ package mage.cards.m; import java.util.UUID; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.TargetController; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.ContinuousEffect; @@ -53,7 +54,7 @@ public class Mutilate extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("Swamp you control"); static { - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/m/MwonvuliAcidMoss.java b/Mage.Sets/src/mage/cards/m/MwonvuliAcidMoss.java index df8afddc24b..0b59350e95c 100644 --- a/Mage.Sets/src/mage/cards/m/MwonvuliAcidMoss.java +++ b/Mage.Sets/src/mage/cards/m/MwonvuliAcidMoss.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,7 +50,7 @@ public class MwonvuliAcidMoss extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}{G}"); FilterLandCard filterForest = new FilterLandCard(); - filterForest.add(new SubtypePredicate("Forest")); + filterForest.add(new SubtypePredicate(SubType.FOREST)); // Destroy target land. Search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library. this.getSpellAbility().addEffect(new DestroyTargetEffect(true)); diff --git a/Mage.Sets/src/mage/cards/m/MyrMatrix.java b/Mage.Sets/src/mage/cards/m/MyrMatrix.java index 253530a9023..d981c721e75 100644 --- a/Mage.Sets/src/mage/cards/m/MyrMatrix.java +++ b/Mage.Sets/src/mage/cards/m/MyrMatrix.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -54,7 +55,7 @@ public class MyrMatrix extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Myr"); static { - filter.add(new SubtypePredicate("Myr")); + filter.add(new SubtypePredicate(SubType.MYR)); } public MyrMatrix (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NecromancersCovenant.java b/Mage.Sets/src/mage/cards/n/NecromancersCovenant.java index bb49cf925a1..1a70f7526d0 100644 --- a/Mage.Sets/src/mage/cards/n/NecromancersCovenant.java +++ b/Mage.Sets/src/mage/cards/n/NecromancersCovenant.java @@ -37,10 +37,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -58,7 +55,7 @@ public class NecromancersCovenant extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Zombies you control"); static { - filter.add(new SubtypePredicate("Zombie")); + filter.add(new SubtypePredicate(SubType.ZOMBIE)); } public NecromancersCovenant(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NightfireGiant.java b/Mage.Sets/src/mage/cards/n/NightfireGiant.java index 1076cfbd3b7..a159603fc69 100644 --- a/Mage.Sets/src/mage/cards/n/NightfireGiant.java +++ b/Mage.Sets/src/mage/cards/n/NightfireGiant.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceWhileControlsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -52,7 +53,7 @@ public class NightfireGiant extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("a Mountain"); static { - filter.add(new SubtypePredicate("Mountain")); + filter.add(new SubtypePredicate(SubType.MOUNTAIN)); } diff --git a/Mage.Sets/src/mage/cards/n/NightmareIncursion.java b/Mage.Sets/src/mage/cards/n/NightmareIncursion.java index 10bcf9ba468..f1460e7f007 100644 --- a/Mage.Sets/src/mage/cards/n/NightmareIncursion.java +++ b/Mage.Sets/src/mage/cards/n/NightmareIncursion.java @@ -36,10 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -82,7 +79,7 @@ class NightmareIncursionEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); } boolean exiled = false; diff --git a/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java b/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java index fb9cc80fdd3..2fb3008c3e0 100644 --- a/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java +++ b/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java @@ -36,10 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; +import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -60,7 +57,7 @@ public class OgreGeargrabber extends CardImpl { static { filter.add(new CardTypePredicate(CardType.ARTIFACT)); - filter.add(new SubtypePredicate("Equipment")); + filter.add(new SubtypePredicate(SubType.EQUIPMENT)); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/o/OgreSlumlord.java b/Mage.Sets/src/mage/cards/o/OgreSlumlord.java index 7ee90b22ef5..d92da32c387 100644 --- a/Mage.Sets/src/mage/cards/o/OgreSlumlord.java +++ b/Mage.Sets/src/mage/cards/o/OgreSlumlord.java @@ -30,6 +30,7 @@ package mage.cards.o; import java.util.UUID; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.DiesCreatureTriggeredAbility; @@ -58,7 +59,7 @@ public class OgreSlumlord extends CardImpl { static { filter.add(Predicates.not(new TokenPredicate())); filter.add(new AnotherPredicate()); - filter2.add(new SubtypePredicate("Rat")); + filter2.add(new SubtypePredicate(SubType.RAT)); } diff --git a/Mage.Sets/src/mage/cards/o/OliviasBloodsworn.java b/Mage.Sets/src/mage/cards/o/OliviasBloodsworn.java index 9c785d269df..01dd864fdd3 100644 --- a/Mage.Sets/src/mage/cards/o/OliviasBloodsworn.java +++ b/Mage.Sets/src/mage/cards/o/OliviasBloodsworn.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -54,7 +55,7 @@ public class OliviasBloodsworn extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Vampire"); static { - filter.add(new SubtypePredicate("Vampire")); + filter.add(new SubtypePredicate(SubType.VAMPIRE)); } public OliviasBloodsworn(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OozeGarden.java b/Mage.Sets/src/mage/cards/o/OozeGarden.java index 0ee1d42328d..a9c0d423485 100644 --- a/Mage.Sets/src/mage/cards/o/OozeGarden.java +++ b/Mage.Sets/src/mage/cards/o/OozeGarden.java @@ -42,6 +42,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -58,7 +59,7 @@ public class OozeGarden extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("non-Ooze creature"); static{ - filter.add(Predicates.not(new SubtypePredicate("Ooze"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.OOZE))); } public OozeGarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); diff --git a/Mage.Sets/src/mage/cards/o/OreskosExplorer.java b/Mage.Sets/src/mage/cards/o/OreskosExplorer.java index 2b0b6582cab..f94c034c601 100644 --- a/Mage.Sets/src/mage/cards/o/OreskosExplorer.java +++ b/Mage.Sets/src/mage/cards/o/OreskosExplorer.java @@ -37,10 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterBasicLandCard; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -114,7 +111,7 @@ class OreskosExplorerEffect extends OneShotEffect { if (landsToSearch > 0) { FilterBasicLandCard filterPlains = new FilterBasicLandCard("up to " + landsToSearch + " Plains cards"); filterPlains.add(new ControllerPredicate(TargetController.YOU)); - filterPlains.add(new SubtypePredicate("Plains")); + filterPlains.add(new SubtypePredicate(SubType.PLAINS)); TargetCardInLibrary target = new TargetCardInLibrary(0, landsToSearch, filterPlains); if (controller.searchLibrary(target, game)) { Cards cards = new CardsImpl(target.getTargets()); diff --git a/Mage.Sets/src/mage/cards/p/PortTown.java b/Mage.Sets/src/mage/cards/p/PortTown.java index 28882a4ec67..04dcf4fc5fc 100644 --- a/Mage.Sets/src/mage/cards/p/PortTown.java +++ b/Mage.Sets/src/mage/cards/p/PortTown.java @@ -36,6 +36,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -50,8 +51,8 @@ public class PortTown extends CardImpl { private static final FilterCard filter = new FilterCard("a Plains or Island card from your hand"); static { - filter.add(Predicates.or(new SubtypePredicate("Plains"), - new SubtypePredicate("Island"))); + filter.add(Predicates.or(new SubtypePredicate(SubType.ISLAND), + new SubtypePredicate(SubType.ISLAND))); } public PortTown(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/ProwlersHelm.java b/Mage.Sets/src/mage/cards/p/ProwlersHelm.java index de9ebe6ed95..929b8230421 100644 --- a/Mage.Sets/src/mage/cards/p/ProwlersHelm.java +++ b/Mage.Sets/src/mage/cards/p/ProwlersHelm.java @@ -48,7 +48,7 @@ public class ProwlersHelm extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("except by Walls"); static { - filter.add(Predicates.not(new SubtypePredicate("Wall"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.WALL))); } public ProwlersHelm(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PureSimple.java b/Mage.Sets/src/mage/cards/p/PureSimple.java index b1ef05c5b20..3dc4bc1f41a 100644 --- a/Mage.Sets/src/mage/cards/p/PureSimple.java +++ b/Mage.Sets/src/mage/cards/p/PureSimple.java @@ -34,6 +34,7 @@ import mage.cards.CardSetInfo; import mage.cards.SplitCard; import mage.constants.CardType; import mage.constants.SpellAbilityType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.MulticoloredPredicate; @@ -50,7 +51,7 @@ public class PureSimple extends SplitCard { private static final FilterPermanent filterMulticolor = new FilterPermanent("multicolor permanent"); static { - filterDestroy.add(Predicates.or(new SubtypePredicate("Aura"), new SubtypePredicate("Equipment"))); + filterDestroy.add(Predicates.or(new SubtypePredicate(SubType.AURA), new SubtypePredicate(SubType.EQUIPMENT))); filterMulticolor.add(new MulticoloredPredicate()); } diff --git a/Mage.Sets/src/mage/cards/r/Ragemonger.java b/Mage.Sets/src/mage/cards/r/Ragemonger.java index e2b4fd4e1b6..f4a79925283 100644 --- a/Mage.Sets/src/mage/cards/r/Ragemonger.java +++ b/Mage.Sets/src/mage/cards/r/Ragemonger.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -47,7 +48,7 @@ public class Ragemonger extends CardImpl { private static final FilterCard filter = new FilterCard("Minotaur spells"); static { - filter.add(new SubtypePredicate("Minotaur")); + filter.add(new SubtypePredicate(SubType.MINOTAUR)); } public Ragemonger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RampartCrawler.java b/Mage.Sets/src/mage/cards/r/RampartCrawler.java index 7893ec5bb20..ff5537efe10 100644 --- a/Mage.Sets/src/mage/cards/r/RampartCrawler.java +++ b/Mage.Sets/src/mage/cards/r/RampartCrawler.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -48,7 +49,7 @@ public class RampartCrawler extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Walls"); static { - filter.add(new SubtypePredicate("Wall")); + filter.add(new SubtypePredicate(SubType.WALL)); } public RampartCrawler(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RashidaScalebane.java b/Mage.Sets/src/mage/cards/r/RashidaScalebane.java index e1a356ec978..366574cfffb 100644 --- a/Mage.Sets/src/mage/cards/r/RashidaScalebane.java +++ b/Mage.Sets/src/mage/cards/r/RashidaScalebane.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -59,7 +60,7 @@ public class RashidaScalebane extends CardImpl { static { filter.add(Predicates.or(new AttackingPredicate(), new BlockingPredicate())); - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); } public RashidaScalebane(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RathiAssassin.java b/Mage.Sets/src/mage/cards/r/RathiAssassin.java index 7c316e0f2be..c46c4bdd5eb 100644 --- a/Mage.Sets/src/mage/cards/r/RathiAssassin.java +++ b/Mage.Sets/src/mage/cards/r/RathiAssassin.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterPermanentCard; @@ -63,7 +64,7 @@ public class RathiAssassin extends CardImpl { private static final FilterCreaturePermanent destroyFilter = new FilterCreaturePermanent("tapped nonblack creature"); static { - filter.add(new SubtypePredicate("Mercenary")); + filter.add(new SubtypePredicate(SubType.MERCENARY)); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4)); destroyFilter.add(new TappedPredicate()); destroyFilter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); diff --git a/Mage.Sets/src/mage/cards/r/RathiDragon.java b/Mage.Sets/src/mage/cards/r/RathiDragon.java index 7cc6c3cf396..3d23d796d5a 100644 --- a/Mage.Sets/src/mage/cards/r/RathiDragon.java +++ b/Mage.Sets/src/mage/cards/r/RathiDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetControlledPermanent; @@ -49,7 +50,7 @@ public class RathiDragon extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("two Mountains"); static{ - filter.add(new SubtypePredicate("Mountain")); + filter.add(new SubtypePredicate(SubType.MOUNTAIN)); } public RathiDragon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RathiFiend.java b/Mage.Sets/src/mage/cards/r/RathiFiend.java index 60f3ef88889..5a71e8d83f5 100644 --- a/Mage.Sets/src/mage/cards/r/RathiFiend.java +++ b/Mage.Sets/src/mage/cards/r/RathiFiend.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -56,7 +57,7 @@ public class RathiFiend extends CardImpl { private static final FilterPermanentCard filter = new FilterPermanentCard("Mercenary permanent card with converted mana cost 3 or less"); static { - filter.add(new SubtypePredicate("Mercenary")); + filter.add(new SubtypePredicate(SubType.MERCENARY)); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4)); } diff --git a/Mage.Sets/src/mage/cards/r/RavenousBaloth.java b/Mage.Sets/src/mage/cards/r/RavenousBaloth.java index 2f63cd450de..d39cba906d8 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousBaloth.java +++ b/Mage.Sets/src/mage/cards/r/RavenousBaloth.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -48,7 +49,7 @@ public class RavenousBaloth extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a Beast"); static { - filter.add(new SubtypePredicate("Beast")); + filter.add(new SubtypePredicate(SubType.BEAST)); } public RavenousBaloth(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/ReaperFromTheAbyss.java b/Mage.Sets/src/mage/cards/r/ReaperFromTheAbyss.java index 03d8472e308..20d4d70bb86 100644 --- a/Mage.Sets/src/mage/cards/r/ReaperFromTheAbyss.java +++ b/Mage.Sets/src/mage/cards/r/ReaperFromTheAbyss.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class ReaperFromTheAbyss extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-Demon creature"); static { - filter.add(Predicates.not(new SubtypePredicate("Demon"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.DEMON))); } public ReaperFromTheAbyss(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RebelInformer.java b/Mage.Sets/src/mage/cards/r/RebelInformer.java index b9df3c1fbda..f02fd52d01e 100644 --- a/Mage.Sets/src/mage/cards/r/RebelInformer.java +++ b/Mage.Sets/src/mage/cards/r/RebelInformer.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterObject; import mage.filter.FilterPermanent; @@ -62,7 +63,7 @@ public class RebelInformer extends CardImpl { static { filterWhite.add(new ColorPredicate(ObjectColor.WHITE)); filterRebel.add(Predicates.not(new TokenPredicate())); - filterRebel.add(new SubtypePredicate("Rebel")); + filterRebel.add(new SubtypePredicate(SubType.REBEL)); } public RebelInformer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RepelTheAbominable.java b/Mage.Sets/src/mage/cards/r/RepelTheAbominable.java index 3637dd13a5f..39f4828d6e2 100644 --- a/Mage.Sets/src/mage/cards/r/RepelTheAbominable.java +++ b/Mage.Sets/src/mage/cards/r/RepelTheAbominable.java @@ -33,6 +33,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.filter.FilterObject; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -46,7 +47,7 @@ public class RepelTheAbominable extends CardImpl { private static final FilterObject filter = new FilterObject("non-Human sources"); static { - filter.add(Predicates.not(new SubtypePredicate("Human"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.HUMAN))); } public RepelTheAbominable(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RhysTheExiled.java b/Mage.Sets/src/mage/cards/r/RhysTheExiled.java index 3ed9cb825b2..fc93764c05f 100644 --- a/Mage.Sets/src/mage/cards/r/RhysTheExiled.java +++ b/Mage.Sets/src/mage/cards/r/RhysTheExiled.java @@ -38,10 +38,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.ColoredManaSymbol; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetControlledCreaturePermanent; @@ -57,8 +54,8 @@ public class RhysTheExiled extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Elf"); private static final FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("Elf you control"); static { - filter.add(new SubtypePredicate("Elf")); - filter2.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); + filter2.add(new SubtypePredicate(SubType.ELF)); } public RhysTheExiled(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RibbonsOfTheReikai.java b/Mage.Sets/src/mage/cards/r/RibbonsOfTheReikai.java index 1c08443cadb..16fc72bf136 100644 --- a/Mage.Sets/src/mage/cards/r/RibbonsOfTheReikai.java +++ b/Mage.Sets/src/mage/cards/r/RibbonsOfTheReikai.java @@ -33,6 +33,7 @@ import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -45,7 +46,7 @@ public class RibbonsOfTheReikai extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("Spirit you control"); static { - filter.add(new SubtypePredicate("Spirit")); + filter.add(new SubtypePredicate(SubType.SPIRIT)); } public RibbonsOfTheReikai(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RiptideDirector.java b/Mage.Sets/src/mage/cards/r/RiptideDirector.java index 89ef9db7bcb..008e92d2bdc 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideDirector.java +++ b/Mage.Sets/src/mage/cards/r/RiptideDirector.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledPermanent; @@ -52,7 +53,7 @@ public class RiptideDirector extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledCreaturePermanent("Wizard you control"); static { - filter.add(new SubtypePredicate("Wizard")); + filter.add(new SubtypePredicate(SubType.WIZARD)); } public RiptideDirector(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SacredMesa.java b/Mage.Sets/src/mage/cards/s/SacredMesa.java index 8f37975c14a..feb2ec060d9 100644 --- a/Mage.Sets/src/mage/cards/s/SacredMesa.java +++ b/Mage.Sets/src/mage/cards/s/SacredMesa.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -52,7 +53,7 @@ public class SacredMesa extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Pegasus"); static { - filter.add(new SubtypePredicate("Pegasus")); + filter.add(new SubtypePredicate(SubType.PEGASUS)); } public SacredMesa(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SavaenElves.java b/Mage.Sets/src/mage/cards/s/SavaenElves.java index 6ca3f523f0f..fa7100e6840 100644 --- a/Mage.Sets/src/mage/cards/s/SavaenElves.java +++ b/Mage.Sets/src/mage/cards/s/SavaenElves.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterEnchantmentPermanent; import mage.filter.predicate.ObjectPlayer; @@ -56,7 +57,7 @@ public class SavaenElves extends CardImpl { private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("Auras attached to a land"); static { - filter.add(new SubtypePredicate("Aura")); + filter.add(new SubtypePredicate(SubType.AURA)); filter.add(new SavaenElvesPredicate()); } diff --git a/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java b/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java index 2854fdeebc2..a41a458e702 100644 --- a/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java +++ b/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java @@ -84,7 +84,7 @@ class ScionOfTheUrDragonEffect extends SearchEffect { private static final FilterCard filter = new FilterPermanentCard("Dragon permanent card"); static { - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); } public ScionOfTheUrDragonEffect() { diff --git a/Mage.Sets/src/mage/cards/s/Seahunter.java b/Mage.Sets/src/mage/cards/s/Seahunter.java index 029b807c9bf..53118821005 100644 --- a/Mage.Sets/src/mage/cards/s/Seahunter.java +++ b/Mage.Sets/src/mage/cards/s/Seahunter.java @@ -29,6 +29,7 @@ package mage.cards.s; import java.util.UUID; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.MageInt; import mage.abilities.Ability; @@ -51,7 +52,7 @@ public class Seahunter extends CardImpl { private static final FilterPermanentCard filter = new FilterPermanentCard("Merfolk permanent card"); static { - filter.add(new SubtypePredicate("Merfolk")); + filter.add(new SubtypePredicate(SubType.MERFOLK)); } public Seahunter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SedgeTroll.java b/Mage.Sets/src/mage/cards/s/SedgeTroll.java index 3f7713b7975..d9bc6a31134 100644 --- a/Mage.Sets/src/mage/cards/s/SedgeTroll.java +++ b/Mage.Sets/src/mage/cards/s/SedgeTroll.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceWhileControlsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -50,7 +51,7 @@ public class SedgeTroll extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("Swamp"); static { - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); } public SedgeTroll(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java b/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java index 9db22ce1748..522953efc93 100644 --- a/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java +++ b/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java @@ -35,10 +35,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -57,7 +54,7 @@ public class SeshiroTheAnointed extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Snakes"); static { - filter.add(new SubtypePredicate("Snake")); + filter.add(new SubtypePredicate(SubType.SNAKE)); } public SeshiroTheAnointed(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShadowSliver.java b/Mage.Sets/src/mage/cards/s/ShadowSliver.java index 43f1ff893c6..17595d1ec90 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowSliver.java +++ b/Mage.Sets/src/mage/cards/s/ShadowSliver.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,7 +50,7 @@ public class ShadowSliver extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("All Sliver creatures"); static { - filter.add(new SubtypePredicate("Sliver")); + filter.add(new SubtypePredicate(SubType.SLIVER)); } public ShadowSliver(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java b/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java index 2e38e74de39..d5f71de6741 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java +++ b/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class ShadowbornDemon extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-Demon creature"); static { - filter.add(Predicates.not(new SubtypePredicate("Demon"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.DEMON))); } public ShadowbornDemon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java b/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java index 8b810162dc1..79637f18ff1 100644 --- a/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java +++ b/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.filter.common.FilterAttackingCreature; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; @@ -51,7 +52,7 @@ public class ShaleskinBruiser extends CardImpl { private static final FilterAttackingCreature filter = new FilterAttackingCreature("other attacking Beast"); static { - filter.add(new SubtypePredicate("Beast")); + filter.add(new SubtypePredicate(SubType.BEAST)); filter.add(new AnotherPredicate()); } diff --git a/Mage.Sets/src/mage/cards/s/ShamanOfThePack.java b/Mage.Sets/src/mage/cards/s/ShamanOfThePack.java index 1c09721a5a3..a4d850a2d5f 100644 --- a/Mage.Sets/src/mage/cards/s/ShamanOfThePack.java +++ b/Mage.Sets/src/mage/cards/s/ShamanOfThePack.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -53,7 +54,7 @@ public class ShamanOfThePack extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); } public ShamanOfThePack(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShiftingSliver.java b/Mage.Sets/src/mage/cards/s/ShiftingSliver.java index d38f2f60043..f7c21d6ca79 100644 --- a/Mage.Sets/src/mage/cards/s/ShiftingSliver.java +++ b/Mage.Sets/src/mage/cards/s/ShiftingSliver.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.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -50,8 +51,8 @@ public class ShiftingSliver extends CardImpl { private static final FilterCreaturePermanent filterBlockedBy = new FilterCreaturePermanent("except by Slivers"); static { - filterCreatures.add(new SubtypePredicate("Sliver")); - filterBlockedBy.add(Predicates.not(new SubtypePredicate("Sliver"))); + filterCreatures.add(new SubtypePredicate(SubType.SLIVER)); + filterBlockedBy.add(Predicates.not(new SubtypePredicate(SubType.SLIVER))); } public ShiftingSliver(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShorelineRaider.java b/Mage.Sets/src/mage/cards/s/ShorelineRaider.java index adbada30feb..c3bb24f9116 100644 --- a/Mage.Sets/src/mage/cards/s/ShorelineRaider.java +++ b/Mage.Sets/src/mage/cards/s/ShorelineRaider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -46,7 +47,7 @@ public class ShorelineRaider extends CardImpl { private static final FilterCard filter = new FilterCard("Kavu"); static { - filter.add(new SubtypePredicate("Kavu")); + filter.add(new SubtypePredicate(SubType.KAVU)); } diff --git a/Mage.Sets/src/mage/cards/s/SidewinderSliver.java b/Mage.Sets/src/mage/cards/s/SidewinderSliver.java index ebc30ae137b..0eb39d1d3ee 100644 --- a/Mage.Sets/src/mage/cards/s/SidewinderSliver.java +++ b/Mage.Sets/src/mage/cards/s/SidewinderSliver.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -50,7 +51,7 @@ public class SidewinderSliver extends CardImpl { static final private FilterCreaturePermanent filter = new FilterCreaturePermanent("All Sliver creatures"); static{ - filter.add(new SubtypePredicate("Sliver")); + filter.add(new SubtypePredicate(SubType.SLIVER)); } public SidewinderSliver(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SiegeDragon.java b/Mage.Sets/src/mage/cards/s/SiegeDragon.java index 2002d82c24f..fef983d4471 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeDragon.java +++ b/Mage.Sets/src/mage/cards/s/SiegeDragon.java @@ -38,10 +38,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -62,7 +59,7 @@ public class SiegeDragon extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Walls your opponents control"); static { - filter.add(new SubtypePredicate("Wall")); + filter.add(new SubtypePredicate(SubType.WALL)); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } @@ -98,7 +95,7 @@ class SiegeDragonAttacksTriggeredAbility extends TriggeredAbilityImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("wall"); static { - filter.add(new SubtypePredicate("Wall")); + filter.add(new SubtypePredicate(SubType.WALL)); } public SiegeDragonAttacksTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/s/SiegeModification.java b/Mage.Sets/src/mage/cards/s/SiegeModification.java index 874b878ad90..19321c3f067 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeModification.java +++ b/Mage.Sets/src/mage/cards/s/SiegeModification.java @@ -38,10 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -59,7 +56,7 @@ public class SiegeModification extends CardImpl { static { filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), - new SubtypePredicate("Vehicle"))); + new SubtypePredicate(SubType.VEHICLE))); } public SiegeModification(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SigardasAid.java b/Mage.Sets/src/mage/cards/s/SigardasAid.java index 5c0d2582d86..7e7815a6a3d 100644 --- a/Mage.Sets/src/mage/cards/s/SigardasAid.java +++ b/Mage.Sets/src/mage/cards/s/SigardasAid.java @@ -35,11 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.SetTargetPointer; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.Predicates; @@ -59,8 +55,8 @@ public class SigardasAid extends CardImpl { private static final FilterCard filterCard = new FilterCard("Aura and Equipment spells"); static { - filter.add(new SubtypePredicate("Equipment")); - filterCard.add(Predicates.or(new SubtypePredicate("Aura"), new SubtypePredicate("Equipment"))); + filter.add(new SubtypePredicate(SubType.EQUIPMENT)); + filterCard.add(Predicates.or(new SubtypePredicate(SubType.AURA), new SubtypePredicate(SubType.EQUIPMENT))); } public SigardasAid(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SilvergladeElemental.java b/Mage.Sets/src/mage/cards/s/SilvergladeElemental.java index 9dc12d6aef9..1801b6e23db 100644 --- a/Mage.Sets/src/mage/cards/s/SilvergladeElemental.java +++ b/Mage.Sets/src/mage/cards/s/SilvergladeElemental.java @@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInLibrary; @@ -47,7 +48,7 @@ public class SilvergladeElemental extends CardImpl { private static final FilterLandCard filter = new FilterLandCard("Forest card"); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); } public SilvergladeElemental(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java b/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java index 492a48cf039..decfcb6ab99 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -51,7 +52,7 @@ public class SkyshroudPoacher extends CardImpl { private static final FilterPermanentCard filter = new FilterPermanentCard("Elf permanent card"); static { - filter.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); } public SkyshroudPoacher(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SlaveringNulls.java b/Mage.Sets/src/mage/cards/s/SlaveringNulls.java index af6e782a9ee..39ace40874c 100644 --- a/Mage.Sets/src/mage/cards/s/SlaveringNulls.java +++ b/Mage.Sets/src/mage/cards/s/SlaveringNulls.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -79,7 +80,7 @@ class SlaveringNullsTriggeredAbility extends TriggeredAbilityImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); } public SlaveringNullsTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/s/SliverHive.java b/Mage.Sets/src/mage/cards/s/SliverHive.java index 83d51a30fbd..45375085e98 100644 --- a/Mage.Sets/src/mage/cards/s/SliverHive.java +++ b/Mage.Sets/src/mage/cards/s/SliverHive.java @@ -46,6 +46,7 @@ import mage.abilities.mana.conditional.CreatureCastManaCondition; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.common.FilterControlledPermanent; @@ -66,8 +67,8 @@ public class SliverHive extends CardImpl { } static { - filter.add(new SubtypePredicate("Sliver")); - filterSpell.add(new SubtypePredicate("Sliver")); + filter.add(new SubtypePredicate(SubType.SLIVER)); + filterSpell.add(new SubtypePredicate(SubType.SLIVER)); } public SliverHive(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SovereignsOfLostAlara.java b/Mage.Sets/src/mage/cards/s/SovereignsOfLostAlara.java index e4066b25542..ef4e48e3365 100644 --- a/Mage.Sets/src/mage/cards/s/SovereignsOfLostAlara.java +++ b/Mage.Sets/src/mage/cards/s/SovereignsOfLostAlara.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.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -136,7 +137,7 @@ class SovereignsOfLostAlaraEffect extends OneShotEffect { Permanent attackingCreature = game.getPermanent(getTargetPointer().getFirst(game, source)); if (you != null && attackingCreature != null) { FilterCard filter = new FilterCard("aura that could enchant the lone attacking creature"); - filter.add(new SubtypePredicate("Aura")); + filter.add(new SubtypePredicate(SubType.AURA)); filter.add(new AuraCardCanAttachToPermanentId(attackingCreature.getId())); if (you.chooseUse(Outcome.Benefit, "Do you want to search your library?", source, game)) { TargetCardInLibrary target = new TargetCardInLibrary(filter); diff --git a/Mage.Sets/src/mage/cards/s/SpawnOfThraxes.java b/Mage.Sets/src/mage/cards/s/SpawnOfThraxes.java index f87676a4d9d..dd4acd18ce3 100644 --- a/Mage.Sets/src/mage/cards/s/SpawnOfThraxes.java +++ b/Mage.Sets/src/mage/cards/s/SpawnOfThraxes.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCreatureOrPlayer; @@ -50,7 +51,7 @@ public class SpawnOfThraxes extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("Mountains you control"); static { - filter.add(new SubtypePredicate("Mountain")); + filter.add(new SubtypePredicate(SubType.MOUNTAIN)); } public SpawnOfThraxes(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpectralShepherd.java b/Mage.Sets/src/mage/cards/s/SpectralShepherd.java index 13d6d9a1163..b093cf03a6c 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralShepherd.java +++ b/Mage.Sets/src/mage/cards/s/SpectralShepherd.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -54,7 +55,7 @@ public class SpectralShepherd extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new SubtypePredicate("Spirit")); + filter.add(new SubtypePredicate(SubType.SPIRIT)); } public SpectralShepherd(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpinneretSliver.java b/Mage.Sets/src/mage/cards/s/SpinneretSliver.java index 762af8d08c6..7523c01a54e 100644 --- a/Mage.Sets/src/mage/cards/s/SpinneretSliver.java +++ b/Mage.Sets/src/mage/cards/s/SpinneretSliver.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -49,7 +50,7 @@ public class SpinneretSliver extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new SubtypePredicate("Sliver")); + filter.add(new SubtypePredicate(SubType.SLIVER)); } public SpinneretSliver(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpiritBonds.java b/Mage.Sets/src/mage/cards/s/SpiritBonds.java index 6a6dfc83f0a..e3380aca590 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritBonds.java +++ b/Mage.Sets/src/mage/cards/s/SpiritBonds.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledPermanent; @@ -62,8 +63,8 @@ public class SpiritBonds extends CardImpl { private static final FilterControlledCreaturePermanent filterNontoken = new FilterControlledCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new SubtypePredicate("Spirit"))); - filterSpirit.add(new SubtypePredicate("Spirit")); + filter.add(Predicates.not(new SubtypePredicate(SubType.SPIRIT))); + filterSpirit.add(new SubtypePredicate(SubType.SPIRIT)); filterNontoken.add(Predicates.not(new TokenPredicate())); } diff --git a/Mage.Sets/src/mage/cards/s/SqueakingPieSneak.java b/Mage.Sets/src/mage/cards/s/SqueakingPieSneak.java index 5822e60aea1..67d4dbbd751 100644 --- a/Mage.Sets/src/mage/cards/s/SqueakingPieSneak.java +++ b/Mage.Sets/src/mage/cards/s/SqueakingPieSneak.java @@ -36,6 +36,7 @@ import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInHand; @@ -48,7 +49,7 @@ public class SqueakingPieSneak extends CardImpl { private static final FilterCard filter = new FilterCard("a Goblin card from your hand"); static { - filter.add(new SubtypePredicate("Goblin")); + filter.add(new SubtypePredicate(SubType.GOBLIN)); } public SqueakingPieSneak(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SramSeniorEdificer.java b/Mage.Sets/src/mage/cards/s/SramSeniorEdificer.java index 927f94f6dae..4ae7d966a83 100644 --- a/Mage.Sets/src/mage/cards/s/SramSeniorEdificer.java +++ b/Mage.Sets/src/mage/cards/s/SramSeniorEdificer.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -49,9 +50,9 @@ public class SramSeniorEdificer extends CardImpl { private static final FilterSpell filter = new FilterSpell("an Aura, Equipment, or Vehicle spell"); static { - filter.add(Predicates.or(new SubtypePredicate("Aura"), - new SubtypePredicate("Equipment"), - new SubtypePredicate("Vehicle"))); + filter.add(Predicates.or(new SubtypePredicate(SubType.AURA), + new SubtypePredicate(SubType.EQUIPMENT), + new SubtypePredicate(SubType.VEHICLE))); } public SramSeniorEdificer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java b/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java index fb47c9e549e..13d9875e755 100644 --- a/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java +++ b/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java @@ -107,7 +107,7 @@ class StarfieldOfNyxEffect extends ContinuousEffectImpl { private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("Each other non-Aura enchantment you control"); static { - filter.add(Predicates.not(new SubtypePredicate("Aura"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.AURA))); filter.add(new AnotherPredicate()); filter.add(new OwnerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/s/SteelshapersGift.java b/Mage.Sets/src/mage/cards/s/SteelshapersGift.java index 9b0b9765afe..4c775a1f5d8 100644 --- a/Mage.Sets/src/mage/cards/s/SteelshapersGift.java +++ b/Mage.Sets/src/mage/cards/s/SteelshapersGift.java @@ -32,6 +32,7 @@ import mage.constants.CardType; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -47,7 +48,7 @@ public class SteelshapersGift extends CardImpl { static { filter.add(new CardTypePredicate(CardType.ARTIFACT)); - filter.add(new SubtypePredicate("Equipment")); + filter.add(new SubtypePredicate(SubType.EQUIPMENT)); } public SteelshapersGift(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/StrongarmThug.java b/Mage.Sets/src/mage/cards/s/StrongarmThug.java index d82a68c8f3f..3074e34d96b 100644 --- a/Mage.Sets/src/mage/cards/s/StrongarmThug.java +++ b/Mage.Sets/src/mage/cards/s/StrongarmThug.java @@ -36,6 +36,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -49,7 +50,7 @@ public class StrongarmThug extends CardImpl { private static final FilterCreatureCard filter = new FilterCreatureCard("Mercenary card"); static { - filter.add(new SubtypePredicate("Mercenary")); + filter.add(new SubtypePredicate(SubType.MERCENARY)); } public StrongarmThug(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SurgeOfThoughtweft.java b/Mage.Sets/src/mage/cards/s/SurgeOfThoughtweft.java index 9950bd2f83d..fdd22cf1cbd 100644 --- a/Mage.Sets/src/mage/cards/s/SurgeOfThoughtweft.java +++ b/Mage.Sets/src/mage/cards/s/SurgeOfThoughtweft.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -48,7 +49,7 @@ public class SurgeOfThoughtweft extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("Kithkin"); static { - filter.add(new SubtypePredicate("Kithkin")); + filter.add(new SubtypePredicate(SubType.KITHKIN)); } public SurgeOfThoughtweft(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TaintedIsle.java b/Mage.Sets/src/mage/cards/t/TaintedIsle.java index 9b8ebb155c0..2ec06baf229 100644 --- a/Mage.Sets/src/mage/cards/t/TaintedIsle.java +++ b/Mage.Sets/src/mage/cards/t/TaintedIsle.java @@ -31,6 +31,7 @@ import java.util.UUID; import mage.constants.ComparisonType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.Mana; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -51,7 +52,7 @@ public class TaintedIsle extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("you control a swamp"); static { - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); } public TaintedIsle(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TaintedWood.java b/Mage.Sets/src/mage/cards/t/TaintedWood.java index afd783fafb1..ed15941aac0 100644 --- a/Mage.Sets/src/mage/cards/t/TaintedWood.java +++ b/Mage.Sets/src/mage/cards/t/TaintedWood.java @@ -39,6 +39,7 @@ import mage.abilities.mana.ActivateIfConditionManaAbility; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -51,7 +52,7 @@ public class TaintedWood extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("you control a swamp"); static { - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); } public TaintedWood(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TakenosCavalry.java b/Mage.Sets/src/mage/cards/t/TakenosCavalry.java index d00af15b080..4c74fa3db02 100644 --- a/Mage.Sets/src/mage/cards/t/TakenosCavalry.java +++ b/Mage.Sets/src/mage/cards/t/TakenosCavalry.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -52,7 +53,7 @@ public class TakenosCavalry extends CardImpl { private static final FilterAttackingOrBlockingCreature filter = new FilterAttackingOrBlockingCreature("attacking or blocking Spirit"); static { - filter.add(new SubtypePredicate("Spirit")); + filter.add(new SubtypePredicate(SubType.SPIRIT)); } public TakenosCavalry(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TawnossCoffin.java b/Mage.Sets/src/mage/cards/t/TawnossCoffin.java index 399ea34b413..168887ac1aa 100644 --- a/Mage.Sets/src/mage/cards/t/TawnossCoffin.java +++ b/Mage.Sets/src/mage/cards/t/TawnossCoffin.java @@ -41,6 +41,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.counters.Counter; import mage.counters.Counters; @@ -130,7 +131,7 @@ class TawnossCoffinEffect extends OneShotEffect { private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent(); static { - filter.add(new SubtypePredicate("Aura")); + filter.add(new SubtypePredicate(SubType.AURA)); } public TawnossCoffinEffect() { @@ -196,7 +197,7 @@ class TawnossCoffinReturnEffect extends OneShotEffect { static { filterAura.add(new CardTypePredicate(CardType.ENCHANTMENT)); - filterAura.add(new SubtypePredicate("Aura")); + filterAura.add(new SubtypePredicate(SubType.AURA)); } public TawnossCoffinReturnEffect() { diff --git a/Mage.Sets/src/mage/cards/t/TeferisRealm.java b/Mage.Sets/src/mage/cards/t/TeferisRealm.java index eb3d2c2cd04..1e5dcf732b9 100644 --- a/Mage.Sets/src/mage/cards/t/TeferisRealm.java +++ b/Mage.Sets/src/mage/cards/t/TeferisRealm.java @@ -36,10 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SuperType; -import mage.constants.TargetController; +import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -130,7 +127,7 @@ class TeferisRealmEffect extends OneShotEffect { break; case NON_AURA_ENCHANTMENT: filter.add(new CardTypePredicate(CardType.ENCHANTMENT)); - filter.add(Predicates.not(new SubtypePredicate("Aura"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.AURA))); break; default: return false; diff --git a/Mage.Sets/src/mage/cards/t/Tek.java b/Mage.Sets/src/mage/cards/t/Tek.java index aefd16cf556..11c019e003d 100644 --- a/Mage.Sets/src/mage/cards/t/Tek.java +++ b/Mage.Sets/src/mage/cards/t/Tek.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -60,11 +61,11 @@ public class Tek extends CardImpl { private static final FilterControlledPermanent filterForest = new FilterControlledPermanent("Forest"); static { - filterPlains.add(new SubtypePredicate("Plains")); - filterIsland.add(new SubtypePredicate("Island")); - filterSwamp.add(new SubtypePredicate("Swamp")); - filterMountain.add(new SubtypePredicate("Mountain")); - filterForest.add(new SubtypePredicate("Forest")); + filterPlains.add(new SubtypePredicate(SubType.PLAINS)); + filterIsland.add(new SubtypePredicate(SubType.ISLAND)); + filterSwamp.add(new SubtypePredicate(SubType.SWAMP)); + filterMountain.add(new SubtypePredicate(SubType.MERCENARY)); + filterForest.add(new SubtypePredicate(SubType.FOREST)); } diff --git a/Mage.Sets/src/mage/cards/t/TelJiladLifebreather.java b/Mage.Sets/src/mage/cards/t/TelJiladLifebreather.java index c2348f24b87..1a3defb5280 100644 --- a/Mage.Sets/src/mage/cards/t/TelJiladLifebreather.java +++ b/Mage.Sets/src/mage/cards/t/TelJiladLifebreather.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -53,7 +54,7 @@ public class TelJiladLifebreather extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledLandPermanent("Forest"); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); } public TelJiladLifebreather(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); diff --git a/Mage.Sets/src/mage/cards/t/TheloniteDruid.java b/Mage.Sets/src/mage/cards/t/TheloniteDruid.java index 8cee5436dd3..4d75d0f1045 100644 --- a/Mage.Sets/src/mage/cards/t/TheloniteDruid.java +++ b/Mage.Sets/src/mage/cards/t/TheloniteDruid.java @@ -38,10 +38,7 @@ import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.DependencyType; -import mage.constants.Duration; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.permanent.token.Token; @@ -56,7 +53,7 @@ public class TheloniteDruid extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("Forests you control"); static { - filter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); } public TheloniteDruid(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TheloniteHermit.java b/Mage.Sets/src/mage/cards/t/TheloniteHermit.java index 134ce29bc3c..15f212b46f5 100644 --- a/Mage.Sets/src/mage/cards/t/TheloniteHermit.java +++ b/Mage.Sets/src/mage/cards/t/TheloniteHermit.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -53,7 +54,7 @@ public class TheloniteHermit extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Saproling creatures"); static { - filter.add(new SubtypePredicate("Saproling")); + filter.add(new SubtypePredicate(SubType.SAPROLING)); } public TheloniteHermit(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ThicketBasilisk.java b/Mage.Sets/src/mage/cards/t/ThicketBasilisk.java index 08c1b342358..e1e41a11ce0 100644 --- a/Mage.Sets/src/mage/cards/t/ThicketBasilisk.java +++ b/Mage.Sets/src/mage/cards/t/ThicketBasilisk.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -50,7 +51,7 @@ public class ThicketBasilisk extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-Wall creature"); static { - filter.add(Predicates.not(new SubtypePredicate("Wall"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.WALL))); } public ThicketBasilisk(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ThornbowArcher.java b/Mage.Sets/src/mage/cards/t/ThornbowArcher.java index 371211092f3..fe7febfb6eb 100644 --- a/Mage.Sets/src/mage/cards/t/ThornbowArcher.java +++ b/Mage.Sets/src/mage/cards/t/ThornbowArcher.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.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -73,7 +74,7 @@ class ThornbowArcherEffect extends OneShotEffect { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new SubtypePredicate("Elf")); + filter.add(new SubtypePredicate(SubType.ELF)); } public ThornbowArcherEffect() { diff --git a/Mage.Sets/src/mage/cards/t/Tithe.java b/Mage.Sets/src/mage/cards/t/Tithe.java index dbb62e16f95..78e98c48569 100644 --- a/Mage.Sets/src/mage/cards/t/Tithe.java +++ b/Mage.Sets/src/mage/cards/t/Tithe.java @@ -35,6 +35,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -70,7 +71,7 @@ class TitheEffect extends OneShotEffect { private static final FilterCard filter = new FilterCard("Plains"); static { - filter.add(new SubtypePredicate("Plains")); + filter.add(new SubtypePredicate(SubType.PLAINS)); } TitheEffect() { diff --git a/Mage.Sets/src/mage/cards/t/TotemSpeaker.java b/Mage.Sets/src/mage/cards/t/TotemSpeaker.java index 4ab125b7595..4c235262a68 100644 --- a/Mage.Sets/src/mage/cards/t/TotemSpeaker.java +++ b/Mage.Sets/src/mage/cards/t/TotemSpeaker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -47,7 +48,7 @@ public class TotemSpeaker extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("a Beast"); static { - filter.add(new SubtypePredicate("Beast")); + filter.add(new SubtypePredicate(SubType.BEAST)); } public TotemSpeaker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TranquilDomain.java b/Mage.Sets/src/mage/cards/t/TranquilDomain.java index f586478b6b5..cd3c4580cb1 100644 --- a/Mage.Sets/src/mage/cards/t/TranquilDomain.java +++ b/Mage.Sets/src/mage/cards/t/TranquilDomain.java @@ -32,6 +32,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterEnchantmentPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -45,7 +46,7 @@ public class TranquilDomain extends CardImpl { private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("non-Aura enchantments"); static { - filter.add(Predicates.not(new SubtypePredicate("Aura"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.AURA))); } public TranquilDomain(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UgnaughtScrapWorker.java b/Mage.Sets/src/mage/cards/u/UgnaughtScrapWorker.java index ec5192469b4..6a9cf171e84 100644 --- a/Mage.Sets/src/mage/cards/u/UgnaughtScrapWorker.java +++ b/Mage.Sets/src/mage/cards/u/UgnaughtScrapWorker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -47,7 +48,7 @@ public class UgnaughtScrapWorker extends CardImpl { private static final FilterCard filter = new FilterCard("Droid spells"); static { - filter.add(new SubtypePredicate("Droid")); + filter.add(new SubtypePredicate(SubType.DROID)); } public UgnaughtScrapWorker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UktabiWildcats.java b/Mage.Sets/src/mage/cards/u/UktabiWildcats.java index 1144c2b65ea..5ae906fe8de 100644 --- a/Mage.Sets/src/mage/cards/u/UktabiWildcats.java +++ b/Mage.Sets/src/mage/cards/u/UktabiWildcats.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -56,8 +57,8 @@ public class UktabiWildcats extends CardImpl { private static final FilterControlledPermanent sacrificeFilter = new FilterControlledPermanent("a Forest"); static { - filter.add(new SubtypePredicate("Forest")); - sacrificeFilter.add(new SubtypePredicate("Forest")); + filter.add(new SubtypePredicate(SubType.FOREST)); + sacrificeFilter.add(new SubtypePredicate(SubType.FOREST)); } public UktabiWildcats(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UndeadWarchief.java b/Mage.Sets/src/mage/cards/u/UndeadWarchief.java index 7a4e3c99905..7c94a020bae 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadWarchief.java +++ b/Mage.Sets/src/mage/cards/u/UndeadWarchief.java @@ -30,6 +30,7 @@ package mage.cards.u; import java.util.UUID; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; @@ -51,8 +52,8 @@ public class UndeadWarchief extends CardImpl { private static final FilterCreaturePermanent filterCreatures = new FilterCreaturePermanent("Zombie creatures"); static { - filter.add(new SubtypePredicate("Zombie")); - filterCreatures.add(new SubtypePredicate("Zombie")); + filter.add(new SubtypePredicate(SubType.ZOMBIE)); + filterCreatures.add(new SubtypePredicate(SubType.ZOMBIE)); } public UndeadWarchief(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/Unforge.java b/Mage.Sets/src/mage/cards/u/Unforge.java index 53d96b6a3d1..14fee63ca92 100644 --- a/Mage.Sets/src/mage/cards/u/Unforge.java +++ b/Mage.Sets/src/mage/cards/u/Unforge.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.common.FilterArtifactPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -51,7 +52,7 @@ public class Unforge extends CardImpl { private static FilterArtifactPermanent filter = new FilterArtifactPermanent("equipment"); static{ - filter.add(new SubtypePredicate("Equipment")); + filter.add(new SubtypePredicate(SubType.EQUIPMENT)); } public Unforge(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UrgeToFeed.java b/Mage.Sets/src/mage/cards/u/UrgeToFeed.java index b474079cbc3..095e17ac33d 100644 --- a/Mage.Sets/src/mage/cards/u/UrgeToFeed.java +++ b/Mage.Sets/src/mage/cards/u/UrgeToFeed.java @@ -33,10 +33,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; +import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -81,7 +78,7 @@ class UrgeToFeedEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); filter.add(Predicates.not(new TappedPredicate())); - filter.add(new SubtypePredicate("Vampire")); + filter.add(new SubtypePredicate(SubType.VAMPIRE)); } public UrgeToFeedEffect() { diff --git a/Mage.Sets/src/mage/cards/u/UtopiaMycon.java b/Mage.Sets/src/mage/cards/u/UtopiaMycon.java index 0b44c8aa657..f519df1ec8e 100644 --- a/Mage.Sets/src/mage/cards/u/UtopiaMycon.java +++ b/Mage.Sets/src/mage/cards/u/UtopiaMycon.java @@ -40,6 +40,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,7 +59,7 @@ public class UtopiaMycon extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Saproling"); static { - filter.add(new SubtypePredicate("Saproling")); + filter.add(new SubtypePredicate(SubType.SAPROLING)); } public UtopiaMycon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java b/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java index 52c854f4ba4..3a24c082596 100644 --- a/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java +++ b/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.permanent.token.UtvaraHellkiteDragonToken; @@ -48,7 +49,7 @@ public class UtvaraHellkite extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Dragon you control"); static { - filter.add(new SubtypePredicate("Dragon")); + filter.add(new SubtypePredicate(SubType.DRAGON)); } public UtvaraHellkite(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WarrenInstigator.java b/Mage.Sets/src/mage/cards/w/WarrenInstigator.java index 7ff79bed492..f4f97d7f79d 100644 --- a/Mage.Sets/src/mage/cards/w/WarrenInstigator.java +++ b/Mage.Sets/src/mage/cards/w/WarrenInstigator.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -47,7 +48,7 @@ public class WarrenInstigator extends CardImpl { private static final FilterCreatureCard filter = new FilterCreatureCard("a Goblin creature card"); static { - filter.add(new SubtypePredicate("Goblin")); + filter.add(new SubtypePredicate(SubType.GOBLIN)); } public WarrenInstigator(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WayOfTheThief.java b/Mage.Sets/src/mage/cards/w/WayOfTheThief.java index 16eed54fdb8..675bd63a4d4 100644 --- a/Mage.Sets/src/mage/cards/w/WayOfTheThief.java +++ b/Mage.Sets/src/mage/cards/w/WayOfTheThief.java @@ -29,10 +29,7 @@ package mage.cards.w; import java.util.UUID; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; +import mage.constants.*; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -44,7 +41,6 @@ import mage.abilities.effects.common.continuous.BoostEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.Outcome; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.TargetPermanent; @@ -59,7 +55,7 @@ public class WayOfTheThief extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("Gate"); static { - filter.add(new SubtypePredicate("Gate")); + filter.add(new SubtypePredicate(SubType.GATE)); } private static final String rule = "Enchanted creature can't be blocked as long as you control a Gate"; diff --git a/Mage.Sets/src/mage/cards/w/WhelmingWave.java b/Mage.Sets/src/mage/cards/w/WhelmingWave.java index 54c18e38bbf..479e78eee5f 100644 --- a/Mage.Sets/src/mage/cards/w/WhelmingWave.java +++ b/Mage.Sets/src/mage/cards/w/WhelmingWave.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -47,10 +48,10 @@ public class WhelmingWave extends CardImpl { static { filter.add(Predicates.not( Predicates.or( - new SubtypePredicate("Kraken"), - new SubtypePredicate("Leviathan"), - new SubtypePredicate("Octopus"), - new SubtypePredicate("Serpent")))); + new SubtypePredicate(SubType.KRAKEN), + new SubtypePredicate(SubType.LEVIATHAN), + new SubtypePredicate(SubType.OCTOPUS), + new SubtypePredicate(SubType.SERPENT)))); } public WhelmingWave(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/x/XathridNecromancer.java b/Mage.Sets/src/mage/cards/x/XathridNecromancer.java index 89a5af9ec21..83d82c5eca8 100644 --- a/Mage.Sets/src/mage/cards/x/XathridNecromancer.java +++ b/Mage.Sets/src/mage/cards/x/XathridNecromancer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -52,7 +53,7 @@ public class XathridNecromancer extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new SubtypePredicate("Human")); + filter.add(new SubtypePredicate(SubType.HUMAN)); } public XathridNecromancer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/y/YukoraThePrisoner.java b/Mage.Sets/src/mage/cards/y/YukoraThePrisoner.java index 34d20948ceb..53a6f88d8a7 100644 --- a/Mage.Sets/src/mage/cards/y/YukoraThePrisoner.java +++ b/Mage.Sets/src/mage/cards/y/YukoraThePrisoner.java @@ -35,6 +35,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class YukoraThePrisoner extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("non-Ogre creatures"); static { - filter.add(Predicates.not(new SubtypePredicate("Ogre"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.OGRE))); } public YukoraThePrisoner(UUID ownerId, CardSetInfo setInfo) { @@ -86,7 +87,7 @@ class YukoraThePrisonerEffect extends OneShotEffect { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("non-Ogre creatures"); static { - filter.add(Predicates.not(new SubtypePredicate("Ogre"))); + filter.add(Predicates.not(new SubtypePredicate(SubType.OGRE))); } public YukoraThePrisonerEffect() { diff --git a/Mage.Sets/src/mage/cards/z/ZombieMaster.java b/Mage.Sets/src/mage/cards/z/ZombieMaster.java index 409f16d0630..a601b5d735f 100644 --- a/Mage.Sets/src/mage/cards/z/ZombieMaster.java +++ b/Mage.Sets/src/mage/cards/z/ZombieMaster.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -54,7 +55,7 @@ public class ZombieMaster extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("Zombie creatures"); static { - filter.add(new SubtypePredicate("Zombie")); + filter.add(new SubtypePredicate(SubType.ZOMBIE)); } public ZombieMaster(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/z/ZombieTrailblazer.java b/Mage.Sets/src/mage/cards/z/ZombieTrailblazer.java index 3135c4ab0a6..703e72474fb 100644 --- a/Mage.Sets/src/mage/cards/z/ZombieTrailblazer.java +++ b/Mage.Sets/src/mage/cards/z/ZombieTrailblazer.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class ZombieTrailblazer extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("an untapped Zombie you control"); static { - filter.add(new SubtypePredicate("Zombie")); + filter.add(new SubtypePredicate(SubType.ZOMBIE)); filter.add(Predicates.not(new TappedPredicate())); } diff --git a/Mage.Tests/src/test/java/org/mage/test/multiplayer/SimpleGameTest.java b/Mage.Tests/src/test/java/org/mage/test/multiplayer/SimpleGameTest.java index afc664c8f03..d4090015b89 100644 --- a/Mage.Tests/src/test/java/org/mage/test/multiplayer/SimpleGameTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/multiplayer/SimpleGameTest.java @@ -1,6 +1,7 @@ package org.mage.test.multiplayer; import mage.constants.PhaseStep; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterLandPermanent; @@ -35,7 +36,7 @@ public class SimpleGameTest extends CardTestMultiPlayerBase { assertLife(playerD, 20); FilterPermanent filterPermanent = new FilterLandPermanent(); - filterPermanent.add(new SubtypePredicate("Forest")); + filterPermanent.add(new SubtypePredicate(SubType.FOREST)); List forestCards = currentGame.getBattlefield().getAllActivePermanents(filterPermanent, currentGame); Assert.assertEquals(4, forestCards.size()); } diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index 6a691255f61..a6ae5fbea74 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -6,9 +6,13 @@ import java.util.Set; import java.util.stream.Collectors; 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), + // 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), @@ -23,105 +27,284 @@ public enum SubType { POWER_PLANT("Power-Plant", SubTypeSet.NonBasicLandType, false), TOWER("Tower", SubTypeSet.NonBasicLandType, false), + // 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), + // 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), VEHICLE("Vehicle", SubTypeSet.ArtifactType, false), + // 205.3m : Creatures and tribals share their lists of subtypes; these subtypes are called creature types. + 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), + APE("Ape", SubTypeSet.CreatureType, false), + ARCHER("Archer", SubTypeSet.CreatureType, false), + ARCHON("Archon", SubTypeSet.CreatureType, false), ARTIFICER("Artificer", SubTypeSet.CreatureType, false), - ASSEMBLY_WORKER("Assembly-Worker", SubTypeSet.CreatureType, false), ASSASSIN("Assassin", SubTypeSet.CreatureType, false), + ASSEMBLY_WORKER("Assembly-Worker", SubTypeSet.CreatureType, false), ATOG("Atog", SubTypeSet.CreatureType, false), AUROCHS("Aurochs", SubTypeSet.CreatureType, false), + + 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), BLINKMOTH("Blinkmoth", SubTypeSet.CreatureType, false), + BOARD("Boar", SubTypeSet.CreatureType, false), + BRINGER("Bringer", SubTypeSet.CreatureType, false), + BRUSHWAGG("Brushwagg", SubTypeSet.CreatureType, false), + + 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), CEPHALID("Cephalid", SubTypeSet.CreatureType, false), - CENTAUR("Centaur" ,SubTypeSet.CreatureType, false), + CHIMERA("Chimera", SubTypeSet.CreatureType, false), + 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), + CYCLOPS("Cyclops", SubTypeSet.CreatureType, false), + + DAUTHI("Dauthi", SubTypeSet.CreatureType, false), DEMON("Demon", SubTypeSet.CreatureType, false), + DESERTER("Deserter", SubTypeSet.CreatureType, false), + DEVIL("Devil", SubTypeSet.CreatureType, false), + 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), DROID("Droid", SubTypeSet.CreatureType, true), + DRYAD("Dryad", SubTypeSet.CreatureType, true), DWARF("Dwarf", SubTypeSet.CreatureType, false), + + 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), + EWOK("Ewok", SubTypeSet.CreatureType, true), + 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), + + 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), + + 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), + HYDRA("Hydra", SubTypeSet.CreatureType, false), + HYENA("Hyena", SubTypeSet.CreatureType, false), + + ILLUSION("Illusion", SubTypeSet.CreatureType, false), + IMP("Imp", SubTypeSet.CreatureType, false), + INCARNATION("Incarnation", SubTypeSet.CreatureType, false), INSECT("Insect", SubTypeSet.CreatureType, false), + JEDI("Jedi", SubTypeSet.CreatureType, true), + JELLYFISH("Jellyfish", SubTypeSet.CreatureType, true), + JUGGERNAUT("Juggernaut", SubTypeSet.CreatureType, true), + + KAVU("Kavu", SubTypeSet.CreatureType, true), + KIRIN("Kirin", SubTypeSet.CreatureType, true), KITHKIN("Kithkin", SubTypeSet.CreatureType, false), KNIGHT("Knight", SubTypeSet.CreatureType, false), KOBOLD("Kobold", SubTypeSet.CreatureType, false), KOR("Kor", SubTypeSet.CreatureType, false), - GOLEM("Golem", SubTypeSet.CreatureType, false), - KAVU("Kavu", SubTypeSet.CreatureType, false), + KRAKEN("Kraken", SubTypeSet.CreatureType, false), + + LAMIA("Lamia", SubTypeSet.CreatureType, true), + LAMMASU("Lammasu", SubTypeSet.CreatureType, true), + LEECH("Leech", SubTypeSet.CreatureType, true), + LEVIATHAN("Leviathan", SubTypeSet.CreatureType, false), + LHURGOYF("Lhurgoyf", SubTypeSet.CreatureType, false), + LICID("Licid", SubTypeSet.CreatureType, false), + LIZARD("Lizard", SubTypeSet.CreatureType, false), + + 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), + 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), + + + NAGA("Naga", SubTypeSet.CreatureType, false), + NAUTILUS("Nautilus", SubTypeSet.CreatureType, false), + 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), + + 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), + OUPHE("Ouphe", SubTypeSet.CreatureType, false), + OX("Ox", SubTypeSet.CreatureType, false), + OYSTER("Oyster", SubTypeSet.CreatureType, false), + + PEGASUS("Pegasus", SubTypeSet.CreatureType, false), PENTAVITE("Pentavite", SubTypeSet.CreatureType, false), + PEST("Pest", SubTypeSet.CreatureType, false), + PHELDAGRIFF("Pheldagriff", 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), + + 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), ROGUE("Rogue", SubTypeSet.CreatureType, false), - SAPROLING("Saproling", SubTypeSet.CreatureType, false), + + + 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), 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("Sphix", 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), STARSHIP("Starship", SubTypeSet.CreatureType, true), + SURRAKAR("Surrakar", SubTypeSet.CreatureType, false), + SURVIVOR("Survivor", SubTypeSet.CreatureType, false), + + TETRAVITE("Tetravite", SubTypeSet.CreatureType, false), + THALAKOS("Thalakos", SubTypeSet.CreatureType, false), THOPTER("Thopter", SubTypeSet.CreatureType, false), 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), + TROOPER("Trooper", SubTypeSet.CreatureType, true), + + UNICORN("Unicorn", SubTypeSet.CreatureType, false), + VAMPIRE("Vampire", SubTypeSet.CreatureType, false), + VEDALKEN("Vedalken", SubTypeSet.CreatureType, false), + VIASHINO("Viashino", SubTypeSet.CreatureType, false), + VOLVER("Volver", SubTypeSet.CreatureType, false), WALL("Wall", SubTypeSet.CreatureType, false), WARRIOR("Warrior", SubTypeSet.CreatureType, false), + 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), + WRAITH("Wraith", SubTypeSet.CreatureType, false), + WURM("Wurm", SubTypeSet.CreatureType, false), + + YETI("Yeti", SubTypeSet.CreatureType, false), + ZOMBIE("Zombie", SubTypeSet.CreatureType, false), + ZUBERA("Zubera", SubTypeSet.CreatureType, false), AJANI("Ajani", SubTypeSet.PlaneswalkerType, false), CHANDRA("Chandra", SubTypeSet.PlaneswalkerType, false), @@ -169,7 +352,7 @@ public enum SubType { } public static Set getBasicLands(boolean customSet) { - return Arrays.stream(values()).filter(s->s.customSet == customSet).filter(p->p.getSubTypeSet() == SubTypeSet.BasicLandType).map(SubType::getDescription).collect(Collectors.toSet()); + return Arrays.stream(values()).filter(s -> s.customSet == customSet).filter(p -> p.getSubTypeSet() == SubTypeSet.BasicLandType).map(SubType::getDescription).collect(Collectors.toSet()); } } diff --git a/Mage/src/main/java/mage/game/command/emblems/GideonOfTheTrialsEmblem.java b/Mage/src/main/java/mage/game/command/emblems/GideonOfTheTrialsEmblem.java index 1a167019db8..7c9fa13d682 100644 --- a/Mage/src/main/java/mage/game/command/emblems/GideonOfTheTrialsEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/GideonOfTheTrialsEmblem.java @@ -32,6 +32,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.constants.Duration; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterPlaneswalkerPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -57,7 +58,7 @@ class GideonOfTheTrialsCantLoseEffect extends ContinuousRuleModifyingEffectImpl private static final FilterPlaneswalkerPermanent filter = new FilterPlaneswalkerPermanent("a Gideon planeswalker"); static { - filter.add(new SubtypePredicate("Gideon")); + filter.add(new SubtypePredicate(SubType.GIDEON)); } public GideonOfTheTrialsCantLoseEffect() { diff --git a/Mage/src/main/java/mage/game/command/emblems/LilianaOfTheDarkRealmsEmblem.java b/Mage/src/main/java/mage/game/command/emblems/LilianaOfTheDarkRealmsEmblem.java index c7231a43660..499bdfb0d08 100644 --- a/Mage/src/main/java/mage/game/command/emblems/LilianaOfTheDarkRealmsEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/LilianaOfTheDarkRealmsEmblem.java @@ -34,6 +34,7 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.mana.SimpleManaAbility; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -48,7 +49,7 @@ public class LilianaOfTheDarkRealmsEmblem extends Emblem { private static final FilterLandPermanent filter = new FilterLandPermanent("Swamps"); static { - filter.add(new SubtypePredicate("Swamp")); + filter.add(new SubtypePredicate(SubType.SWAMP)); } public LilianaOfTheDarkRealmsEmblem() {