From f244f9d6bca45da55801933801699734b3cd0a45 Mon Sep 17 00:00:00 2001 From: igoudt Date: Sat, 20 May 2017 23:09:56 +0200 Subject: [PATCH] fix last compile issues --- Mage.Sets/src/mage/cards/b/BloodlineShaman.java | 3 ++- Mage.Sets/src/mage/cards/c/CallToTheKindred.java | 3 ++- Mage.Sets/src/mage/cards/c/ChoArrimLegate.java | 5 +++-- Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java | 5 +++-- Mage.Sets/src/mage/cards/c/CorpseHarvester.java | 3 ++- Mage.Sets/src/mage/cards/c/CrypticGateway.java | 5 +++-- Mage.Sets/src/mage/cards/d/DeepwoodLegate.java | 5 +++-- Mage.Sets/src/mage/cards/d/DistantMelody.java | 3 ++- Mage.Sets/src/mage/cards/d/DoorOfDestinies.java | 2 +- Mage.Sets/src/mage/cards/e/Extinction.java | 5 +++-- Mage.Sets/src/mage/cards/g/GemOfBecoming.java | 3 ++- Mage.Sets/src/mage/cards/g/GoblinBurrows.java | 3 ++- Mage.Sets/src/mage/cards/k/KaronaFalseGod.java | 2 +- Mage.Sets/src/mage/cards/k/KyrenLegate.java | 5 +++-- Mage.Sets/src/mage/cards/m/MoggSalvage.java | 5 +++-- Mage.Sets/src/mage/cards/p/PacksDisdain.java | 3 ++- Mage.Sets/src/mage/cards/p/PatriarchsBidding.java | 3 ++- Mage.Sets/src/mage/cards/p/PlanarOverlay.java | 9 +++------ Mage.Sets/src/mage/cards/r/RefreshingRain.java | 5 +++-- Mage.Sets/src/mage/cards/r/RiptideChronologist.java | 5 +++-- Mage.Sets/src/mage/cards/r/RushwoodLegate.java | 5 +++-- Mage.Sets/src/mage/cards/s/ShardConvergence.java | 3 ++- Mage.Sets/src/mage/cards/s/SharedAnimosity.java | 8 ++------ Mage.Sets/src/mage/cards/v/VisionCharm.java | 8 ++------ 24 files changed, 57 insertions(+), 49 deletions(-) diff --git a/Mage.Sets/src/mage/cards/b/BloodlineShaman.java b/Mage.Sets/src/mage/cards/b/BloodlineShaman.java index bcfb5017d98..7d7675a5497 100644 --- a/Mage.Sets/src/mage/cards/b/BloodlineShaman.java +++ b/Mage.Sets/src/mage/cards/b/BloodlineShaman.java @@ -39,6 +39,7 @@ import mage.choices.Choice; import mage.choices.ChoiceImpl; 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; @@ -113,7 +114,7 @@ class BloodlineShamanEffect extends OneShotEffect { } FilterCard filterSubtype = new FilterCard(); - filterSubtype.add(new SubtypePredicate(typeChoice.getChoice())); + filterSubtype.add(new SubtypePredicate(SubType.byDescription(typeChoice.getChoice()))); // Reveal the top card of your library. if (controller.getLibrary().hasCards()) { diff --git a/Mage.Sets/src/mage/cards/c/CallToTheKindred.java b/Mage.Sets/src/mage/cards/c/CallToTheKindred.java index effdb2c78c0..3b1c1611c0c 100644 --- a/Mage.Sets/src/mage/cards/c/CallToTheKindred.java +++ b/Mage.Sets/src/mage/cards/c/CallToTheKindred.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.Predicate; @@ -124,7 +125,7 @@ class CallToTheKindredEffect extends OneShotEffect { StringBuilder sb = new StringBuilder("creature card with at least one subtype from: "); ArrayList> subtypes = new ArrayList<>(); for (String subtype : creature.getSubtype(game)) { - subtypes.add(new SubtypePredicate(subtype)); + subtypes.add(new SubtypePredicate(SubType.byDescription(subtype))); sb.append(subtype).append(", "); } filter.add(Predicates.or(subtypes)); diff --git a/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java b/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java index 58ccf05ebe1..d641af08c86 100644 --- a/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java +++ b/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java @@ -38,6 +38,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.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -53,8 +54,8 @@ public class ChoArrimLegate extends CardImpl { private static final FilterPermanent filterSwamp = new FilterPermanent(); static { - filterPlains.add(new SubtypePredicate(("Plains"))); - filterSwamp.add(new SubtypePredicate(("Swamp"))); + filterPlains.add(new SubtypePredicate(SubType.PLAINS)); + filterSwamp.add(new SubtypePredicate(SubType.SWAMP)); } public ChoArrimLegate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java b/Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java index fe7cd9f403c..e235f5a94bf 100644 --- a/Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java +++ b/Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java @@ -36,6 +36,7 @@ import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -91,11 +92,11 @@ class CoordinatedBarrageEffect extends OneShotEffect { if (controller != null) { Choice choice = new ChoiceImpl(true); choice.setMessage("Choose a creature type"); - choice.setChoices(CardRepository.instance.getCreatureTypes()); + choice.setChoices(SubType.getCreatureTypes(false)); if (controller.choose(Outcome.Damage, choice, game)) { String chosenType = choice.getChoice(); FilterControlledPermanent filter = new FilterControlledPermanent(); - filter.add(new SubtypePredicate(chosenType)); + filter.add(new SubtypePredicate(SubType.byDescription(chosenType))); int damageDealt = game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game); Permanent permanent = game.getPermanent(this.getTargetPointer().getFirst(game, source)); if (permanent != null) { diff --git a/Mage.Sets/src/mage/cards/c/CorpseHarvester.java b/Mage.Sets/src/mage/cards/c/CorpseHarvester.java index 4eeab321574..0c88c43b69b 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseHarvester.java +++ b/Mage.Sets/src/mage/cards/c/CorpseHarvester.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterControlledPermanent; @@ -113,7 +114,7 @@ class CorpseHarvesterEffect extends OneShotEffect { private void searchCard(Player player, Ability source, Game game, Cards cards, String subtype) { FilterCard filter = new FilterCard(subtype); - filter.add(new SubtypePredicate(subtype)); + filter.add(new SubtypePredicate(SubType.byDescription(subtype))); TargetCardInLibrary target = new TargetCardInLibrary(filter); if (player.searchLibrary(target, game)) { Card card = player.getLibrary().remove(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/cards/c/CrypticGateway.java b/Mage.Sets/src/mage/cards/c/CrypticGateway.java index beca9ec21b3..7d54ab99399 100644 --- a/Mage.Sets/src/mage/cards/c/CrypticGateway.java +++ b/Mage.Sets/src/mage/cards/c/CrypticGateway.java @@ -39,6 +39,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.FilterControlledCreaturePermanent; @@ -203,14 +204,14 @@ class CrypticGatewayEffect extends OneShotEffect { for (String subtype : creature.getSubtype(game)) { if (creature2.getSubtype(game).contains(subtype) || changeling2) { - subtypes.add(new SubtypePredicate(subtype)); + subtypes.add(new SubtypePredicate(SubType.byDescription(subtype))); commonSubType = true; } } for (String subtype : creature2.getSubtype(game)) { if (creature.getSubtype(game).contains(subtype) || changeling) { - subtypes.add(new SubtypePredicate(subtype)); + subtypes.add(new SubtypePredicate(SubType.byDescription(subtype))); commonSubType = true; } } diff --git a/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java b/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java index dca7edda604..a04e82c68d4 100644 --- a/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java +++ b/Mage.Sets/src/mage/cards/d/DeepwoodLegate.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; @@ -56,8 +57,8 @@ public class DeepwoodLegate extends CardImpl { private static final FilterPermanent filterSwamp = new FilterPermanent(); static { - filterForest.add(new SubtypePredicate(("Forest"))); - filterSwamp.add(new SubtypePredicate(("Swamp"))); + filterForest.add(new SubtypePredicate(SubType.FOREST)); + filterSwamp.add(new SubtypePredicate(SubType.SWAMP)); } public DeepwoodLegate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DistantMelody.java b/Mage.Sets/src/mage/cards/d/DistantMelody.java index 95b64f2e0e5..4a3eab27577 100644 --- a/Mage.Sets/src/mage/cards/d/DistantMelody.java +++ b/Mage.Sets/src/mage/cards/d/DistantMelody.java @@ -38,6 +38,7 @@ import mage.choices.Choice; import mage.choices.ChoiceImpl; 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; @@ -98,7 +99,7 @@ class DistantMelodyEffect extends OneShotEffect { } } FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); - filter.add(new SubtypePredicate(typeChoice.getChoice())); + filter.add(new SubtypePredicate(SubType.byDescription(typeChoice.getChoice()))); return new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)).apply(game, source); } return false; diff --git a/Mage.Sets/src/mage/cards/d/DoorOfDestinies.java b/Mage.Sets/src/mage/cards/d/DoorOfDestinies.java index f2908393a7a..46c5aae4333 100644 --- a/Mage.Sets/src/mage/cards/d/DoorOfDestinies.java +++ b/Mage.Sets/src/mage/cards/d/DoorOfDestinies.java @@ -106,7 +106,7 @@ class AddCounterAbility extends TriggeredAbilityImpl { if (subtype != null) { FilterSpell filter = new FilterSpell(); filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new SubtypePredicate(subtype)); + filter.add(new SubtypePredicate(SubType.byDescription(subtype))); Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null && filter.match(spell, getSourceId(), getControllerId(), game)) { return true; diff --git a/Mage.Sets/src/mage/cards/e/Extinction.java b/Mage.Sets/src/mage/cards/e/Extinction.java index 4d0739cbc10..5de59569514 100644 --- a/Mage.Sets/src/mage/cards/e/Extinction.java +++ b/Mage.Sets/src/mage/cards/e/Extinction.java @@ -37,6 +37,7 @@ import mage.choices.Choice; import mage.choices.ChoiceImpl; 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; @@ -86,7 +87,7 @@ class ExtinctionEffect extends OneShotEffect { if (player != null) { Choice typeChoice = new ChoiceImpl(true); typeChoice.setMessage("Choose a creature type:"); - typeChoice.setChoices(CardRepository.instance.getCreatureTypes()); + typeChoice.setChoices(SubType.getCreatureTypes(false)); while (!player.choose(outcome, typeChoice, game)) { if (!player.canRespond()) { return false; @@ -96,7 +97,7 @@ class ExtinctionEffect extends OneShotEffect { game.informPlayers(sourceObject.getLogName() + " chosen type: " + typeChoice.getChoice()); } FilterCreaturePermanent filterCreaturePermanent = new FilterCreaturePermanent(); - filterCreaturePermanent.add(new SubtypePredicate(typeChoice.getChoice())); + filterCreaturePermanent.add(new SubtypePredicate(SubType.byDescription(typeChoice.getChoice()))); for (Permanent creature : game.getBattlefield().getActivePermanents(filterCreaturePermanent, source.getSourceId(), game)) { creature.destroy(source.getSourceId(), game, true); } diff --git a/Mage.Sets/src/mage/cards/g/GemOfBecoming.java b/Mage.Sets/src/mage/cards/g/GemOfBecoming.java index c73e94ac6a8..f36e50ace81 100644 --- a/Mage.Sets/src/mage/cards/g/GemOfBecoming.java +++ b/Mage.Sets/src/mage/cards/g/GemOfBecoming.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -109,7 +110,7 @@ class GemOfBecomingEffect extends OneShotEffect { private void searchLand(Player player, Ability source, Game game, Cards cards, String subtype) { FilterLandCard filter = new FilterLandCard(subtype); - filter.add(new SubtypePredicate(subtype)); + filter.add(new SubtypePredicate(SubType.byDescription(subtype))); TargetCardInLibrary target = new TargetCardInLibrary(filter); if (player.searchLibrary(target, game)) { Card card = player.getLibrary().remove(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBurrows.java b/Mage.Sets/src/mage/cards/g/GoblinBurrows.java index abdfebcaa0e..1f33e112e85 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBurrows.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBurrows.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.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -53,7 +54,7 @@ public class GoblinBurrows extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Goblin creature"); static { - filter.add(new SubtypePredicate(("Goblin"))); + filter.add(new SubtypePredicate(SubType.GOBLIN)); } public GoblinBurrows(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java b/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java index c90e50cde75..381cd1c82f8 100644 --- a/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java +++ b/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java @@ -165,7 +165,7 @@ class KaronaFalseGodEffect extends OneShotEffect { if (!typeChosen.isEmpty()) { game.informPlayers(controller.getLogName() + " has chosen " + typeChosen); FilterCreaturePermanent filter = new FilterCreaturePermanent(); - filter.add(new SubtypePredicate(typeChosen)); + filter.add(new SubtypePredicate(SubType.byDescription(typeChosen))); game.addEffect(new BoostAllEffect(3, 3, Duration.EndOfTurn, filter, false), source); } return true; diff --git a/Mage.Sets/src/mage/cards/k/KyrenLegate.java b/Mage.Sets/src/mage/cards/k/KyrenLegate.java index 27ecabb8282..92378237c6e 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenLegate.java +++ b/Mage.Sets/src/mage/cards/k/KyrenLegate.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.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -51,8 +52,8 @@ public class KyrenLegate extends CardImpl { private static final FilterPermanent filterMountain = new FilterPermanent(); static { - filterPlains.add(new SubtypePredicate(("Plains"))); - filterMountain.add(new SubtypePredicate(("Mountain"))); + filterPlains.add(new SubtypePredicate(SubType.PLAINS)); + filterMountain.add(new SubtypePredicate(SubType.MOUNTAIN)); } public KyrenLegate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MoggSalvage.java b/Mage.Sets/src/mage/cards/m/MoggSalvage.java index 70a35c91da5..8ec4a4d5544 100644 --- a/Mage.Sets/src/mage/cards/m/MoggSalvage.java +++ b/Mage.Sets/src/mage/cards/m/MoggSalvage.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.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetArtifactPermanent; @@ -51,8 +52,8 @@ public class MoggSalvage extends CardImpl { private static final FilterPermanent filterIsland = new FilterPermanent(); static { - filterMountain.add(new SubtypePredicate(("Mountain"))); - filterIsland.add(new SubtypePredicate(("Island"))); + filterMountain.add(new SubtypePredicate(SubType.MOUNTAIN)); + filterIsland.add(new SubtypePredicate(SubType.ISLAND)); } public MoggSalvage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PacksDisdain.java b/Mage.Sets/src/mage/cards/p/PacksDisdain.java index 2d832e3ad14..e8cc2b1ded4 100644 --- a/Mage.Sets/src/mage/cards/p/PacksDisdain.java +++ b/Mage.Sets/src/mage/cards/p/PacksDisdain.java @@ -42,6 +42,7 @@ import mage.choices.ChoiceImpl; 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; @@ -102,7 +103,7 @@ class PacksDisdainEffect extends OneShotEffect { } } FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); - filter.add(new SubtypePredicate(typeChoice.getChoice())); + filter.add(new SubtypePredicate(SubType.byDescription(typeChoice.getChoice()))); DynamicValue negativePermanentsCount = new PermanentsOnBattlefieldCount(filter, -1); ContinuousEffect effect = new BoostTargetEffect(negativePermanentsCount, negativePermanentsCount, Duration.EndOfTurn, true); effect.setTargetPointer(new FixedTarget(source.getFirstTarget())); diff --git a/Mage.Sets/src/mage/cards/p/PatriarchsBidding.java b/Mage.Sets/src/mage/cards/p/PatriarchsBidding.java index ebec1afb7a1..265ad05b7a1 100644 --- a/Mage.Sets/src/mage/cards/p/PatriarchsBidding.java +++ b/Mage.Sets/src/mage/cards/p/PatriarchsBidding.java @@ -42,6 +42,7 @@ import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; @@ -113,7 +114,7 @@ class PatriarchsBiddingEffect extends OneShotEffect { List predicates = new ArrayList<>(); for (String type : chosenTypes) { - predicates.add(new SubtypePredicate(type)); + predicates.add(new SubtypePredicate(SubType.byDescription(type))); } FilterCard filter = new FilterCreatureCard(); filter.add(Predicates.or(predicates)); diff --git a/Mage.Sets/src/mage/cards/p/PlanarOverlay.java b/Mage.Sets/src/mage/cards/p/PlanarOverlay.java index c52593e50fd..e51c8ae44cd 100644 --- a/Mage.Sets/src/mage/cards/p/PlanarOverlay.java +++ b/Mage.Sets/src/mage/cards/p/PlanarOverlay.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.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; @@ -94,9 +91,9 @@ class PlanarOverlayEffect extends OneShotEffect { for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { Player player = game.getPlayer(playerId); if (player != null) { - for (String landName : new String[]{"Plains", "Island", "Mountain", "Swamp", "Forest"}) { + for (String landName : SubType.getBasicLands(false)) { FilterLandPermanent filter = new FilterLandPermanent(landName + " to return to hand"); - filter.add(new SubtypePredicate(landName)); + filter.add(new SubtypePredicate(SubType.byDescription(landName))); filter.add(new ControllerPredicate(TargetController.YOU)); Target target = new TargetLandPermanent(1, 1, filter, true); if (target.canChoose(source.getSourceId(), player.getId(), game)) { diff --git a/Mage.Sets/src/mage/cards/r/RefreshingRain.java b/Mage.Sets/src/mage/cards/r/RefreshingRain.java index fcfd4ff96f6..29f81d94a52 100644 --- a/Mage.Sets/src/mage/cards/r/RefreshingRain.java +++ b/Mage.Sets/src/mage/cards/r/RefreshingRain.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeTargetEffect; 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.SubtypePredicate; import mage.target.TargetPlayer; @@ -51,8 +52,8 @@ public class RefreshingRain extends CardImpl { private static final FilterPermanent filterSwamp = new FilterPermanent(); static { - filterForest.add(new SubtypePredicate(("Forest"))); - filterSwamp.add(new SubtypePredicate(("Swamp"))); + filterForest.add(new SubtypePredicate(SubType.FOREST)); + filterSwamp.add(new SubtypePredicate(SubType.SWAMP)); } public RefreshingRain(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RiptideChronologist.java b/Mage.Sets/src/mage/cards/r/RiptideChronologist.java index a89232bf026..7cdcfa71f04 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideChronologist.java +++ b/Mage.Sets/src/mage/cards/r/RiptideChronologist.java @@ -42,6 +42,7 @@ import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -96,7 +97,7 @@ class RiptideChronologistEffect extends OneShotEffect { if (player != null) { Choice typeChoice = new ChoiceImpl(true); typeChoice.setMessage("Choose a creature type:"); - typeChoice.setChoices(CardRepository.instance.getCreatureTypes()); + typeChoice.setChoices(SubType.getCreatureTypes(false)); while (!player.choose(outcome, typeChoice, game)) { if (!player.canRespond()) { return false; @@ -106,7 +107,7 @@ class RiptideChronologistEffect extends OneShotEffect { game.informPlayers(sourceObject.getLogName() + " chosen type: " + typeChoice.getChoice()); } FilterCreaturePermanent filterCreaturePermanent = new FilterCreaturePermanent(); - filterCreaturePermanent.add(new SubtypePredicate(typeChoice.getChoice())); + filterCreaturePermanent.add(new SubtypePredicate(SubType.byDescription(typeChoice.getChoice()))); for (Permanent creature : game.getBattlefield().getActivePermanents(filterCreaturePermanent, source.getSourceId(), game)) { creature.untap(game); } diff --git a/Mage.Sets/src/mage/cards/r/RushwoodLegate.java b/Mage.Sets/src/mage/cards/r/RushwoodLegate.java index dc9084cc70f..932062e5dda 100644 --- a/Mage.Sets/src/mage/cards/r/RushwoodLegate.java +++ b/Mage.Sets/src/mage/cards/r/RushwoodLegate.java @@ -37,6 +37,7 @@ import mage.abilities.costs.AlternativeCostSourceAbility; 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.SubtypePredicate; @@ -50,8 +51,8 @@ public class RushwoodLegate extends CardImpl { private static final FilterPermanent filterForest = new FilterPermanent(); static { - filterForest.add(new SubtypePredicate(("Forest"))); - filterIsland.add(new SubtypePredicate(("Island"))); + filterForest.add(new SubtypePredicate(SubType.FOREST)); + filterIsland.add(new SubtypePredicate(SubType.ISLAND)); } public RushwoodLegate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShardConvergence.java b/Mage.Sets/src/mage/cards/s/ShardConvergence.java index e036bcbf40f..d794424e353 100644 --- a/Mage.Sets/src/mage/cards/s/ShardConvergence.java +++ b/Mage.Sets/src/mage/cards/s/ShardConvergence.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.Outcome; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandCard; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -101,7 +102,7 @@ class ShardConvergenceEffect extends OneShotEffect { private void searchLand(Player player, Ability source, Game game, Cards cards, String subtype) { FilterLandCard filter = new FilterLandCard(subtype); - filter.add(new SubtypePredicate(subtype)); + filter.add(new SubtypePredicate(SubType.byDescription(subtype))); TargetCardInLibrary target = new TargetCardInLibrary(filter); if (player.searchLibrary(target, game)) { Card card = player.getLibrary().remove(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/cards/s/SharedAnimosity.java b/Mage.Sets/src/mage/cards/s/SharedAnimosity.java index 868d25ace29..4dbe52428c7 100644 --- a/Mage.Sets/src/mage/cards/s/SharedAnimosity.java +++ b/Mage.Sets/src/mage/cards/s/SharedAnimosity.java @@ -30,7 +30,7 @@ package mage.cards.s; import java.util.ArrayList; import java.util.UUID; -import mage.constants.CardType; +import mage.constants.*; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.Mode; @@ -39,10 +39,6 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; @@ -116,7 +112,7 @@ class SharedAnimosityEffect extends ContinuousEffectImpl { if(!allCreatureTypes){ ArrayList> predicateList = new ArrayList<>(); for(String subtype : permanent.getSubtype(game)){ - predicateList.add(new SubtypePredicate(subtype)); + predicateList.add(new SubtypePredicate(SubType.byDescription(subtype))); } filter.add(Predicates.or(predicateList)); } diff --git a/Mage.Sets/src/mage/cards/v/VisionCharm.java b/Mage.Sets/src/mage/cards/v/VisionCharm.java index d567dbfbed6..fea2422cbea 100644 --- a/Mage.Sets/src/mage/cards/v/VisionCharm.java +++ b/Mage.Sets/src/mage/cards/v/VisionCharm.java @@ -45,11 +45,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceBasicLandType; import mage.choices.ChoiceLandType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; +import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -128,7 +124,7 @@ class VisionCharmEffect extends ContinuousEffectImpl { this.discard(); } FilterPermanent filter = new FilterLandPermanent(); - filter.add(new SubtypePredicate(targetLandType)); + filter.add(new SubtypePredicate(SubType.byDescription(targetLandType))); if (this.affectedObjectsSet) { for (Permanent permanent : game.getBattlefield().getAllActivePermanents(filter, game)) { affectedObjectList.add(new MageObjectReference(permanent, game));