diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java
index 1385d616860..ab7c601c4ba 100644
--- a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java
+++ b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java
@@ -24,7 +24,6 @@ import mage.constants.Rarity;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.ColorlessPredicate;
import mage.filter.predicate.other.CardTextPredicate;
@@ -253,25 +252,25 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
predicates.clear();
if (this.tbLand.isSelected()) {
- predicates.add(new CardTypePredicate(CardType.LAND));
+ predicates.add(CardType.LAND.getPredicate());
}
if (this.tbArifiacts.isSelected()) {
- predicates.add(new CardTypePredicate(CardType.ARTIFACT));
+ predicates.add(CardType.ARTIFACT.getPredicate());
}
if (this.tbCreatures.isSelected()) {
- predicates.add(new CardTypePredicate(CardType.CREATURE));
+ predicates.add(CardType.CREATURE.getPredicate());
}
if (this.tbEnchantments.isSelected()) {
- predicates.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ predicates.add(CardType.ENCHANTMENT.getPredicate());
}
if (this.tbInstants.isSelected()) {
- predicates.add(new CardTypePredicate(CardType.INSTANT));
+ predicates.add(CardType.INSTANT.getPredicate());
}
if (this.tbSorceries.isSelected()) {
- predicates.add(new CardTypePredicate(CardType.SORCERY));
+ predicates.add(CardType.SORCERY.getPredicate());
}
if (this.tbPlaneswalkers.isSelected()) {
- predicates.add(new CardTypePredicate(CardType.PLANESWALKER));
+ predicates.add(CardType.PLANESWALKER.getPredicate());
}
filter.add(Predicates.or(predicates));
diff --git a/Mage.Sets/src/mage/cards/a/AbandonedSarcophagus.java b/Mage.Sets/src/mage/cards/a/AbandonedSarcophagus.java
index adec61566e8..38925586f8e 100644
--- a/Mage.Sets/src/mage/cards/a/AbandonedSarcophagus.java
+++ b/Mage.Sets/src/mage/cards/a/AbandonedSarcophagus.java
@@ -13,7 +13,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
@@ -31,7 +30,7 @@ public final class AbandonedSarcophagus extends CardImpl {
// You may cast nonland cards with cycling from your graveyard.
FilterCard filter = new FilterCard("nonland cards with cycling");
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(new AbilityPredicate(CyclingAbility.class));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new PlayFromNotOwnHandZoneAllEffect(filter,
diff --git a/Mage.Sets/src/mage/cards/a/AbunaAcolyte.java b/Mage.Sets/src/mage/cards/a/AbunaAcolyte.java
index 187ee463f89..fafd25e0096 100644
--- a/Mage.Sets/src/mage/cards/a/AbunaAcolyte.java
+++ b/Mage.Sets/src/mage/cards/a/AbunaAcolyte.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent;
@@ -27,7 +26,7 @@ public final class AbunaAcolyte extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public AbunaAcolyte(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/Abundance.java b/Mage.Sets/src/mage/cards/a/Abundance.java
index 1812ac45a25..c2eb8e07ab6 100644
--- a/Mage.Sets/src/mage/cards/a/Abundance.java
+++ b/Mage.Sets/src/mage/cards/a/Abundance.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
@@ -71,10 +70,10 @@ class AbundanceReplacementEffect extends ReplacementEffectImpl {
if (controller.chooseUse(Outcome.Detriment, "Choose card type:",
source.getSourceObject(game).getLogName(), "land", "nonland", source, game)) {
game.informPlayers(controller.getLogName() + "chooses land.");
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
} else {
game.informPlayers(controller.getLogName() + "chooses nonland.");
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
Cards toReveal = new CardsImpl();
Card selectedCard = null;
diff --git a/Mage.Sets/src/mage/cards/a/AbzanBattlePriest.java b/Mage.Sets/src/mage/cards/a/AbzanBattlePriest.java
index 878fb3b4d68..1e89dd06270 100644
--- a/Mage.Sets/src/mage/cards/a/AbzanBattlePriest.java
+++ b/Mage.Sets/src/mage/cards/a/AbzanBattlePriest.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -26,7 +25,7 @@ public final class AbzanBattlePriest extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new CounterPredicate(CounterType.P1P1));
}
diff --git a/Mage.Sets/src/mage/cards/a/AbzanFalconer.java b/Mage.Sets/src/mage/cards/a/AbzanFalconer.java
index 1f2c72adf8f..40fb3f1a2a4 100644
--- a/Mage.Sets/src/mage/cards/a/AbzanFalconer.java
+++ b/Mage.Sets/src/mage/cards/a/AbzanFalconer.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -25,7 +24,7 @@ public final class AbzanFalconer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new CounterPredicate(CounterType.P1P1));
}
diff --git a/Mage.Sets/src/mage/cards/a/AcclaimedContender.java b/Mage.Sets/src/mage/cards/a/AcclaimedContender.java
index 7dfaf13e365..6a1b5383fdf 100644
--- a/Mage.Sets/src/mage/cards/a/AcclaimedContender.java
+++ b/Mage.Sets/src/mage/cards/a/AcclaimedContender.java
@@ -17,7 +17,6 @@ import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
@@ -41,7 +40,7 @@ public final class AcclaimedContender extends CardImpl {
new SubtypePredicate(SubType.EQUIPMENT),
Predicates.and(
new SupertypePredicate(SuperType.LEGENDARY),
- new CardTypePredicate(CardType.ARTIFACT)
+ CardType.ARTIFACT.getPredicate()
)
));
}
@@ -59,7 +58,7 @@ public final class AcclaimedContender extends CardImpl {
// When Acclaimed Contender enters the battlefield, if you control another Knight, look at the top five cards of your library. You may reveal a Knight, Aura, Equipment, or legendary artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter2, Zone.LIBRARY, false,
+ StaticValue.get(5), false, StaticValue.get(1), filter2, Zone.LIBRARY, false,
true, false, Zone.HAND, true, false, false
).setBackInRandomOrder(true)), condition, "When {this} enters the battlefield, " +
"if you control another Knight, look at the top five cards of your library. " +
diff --git a/Mage.Sets/src/mage/cards/a/AcidicSlime.java b/Mage.Sets/src/mage/cards/a/AcidicSlime.java
index 4aca095902e..ac3f4ba6a4b 100644
--- a/Mage.Sets/src/mage/cards/a/AcidicSlime.java
+++ b/Mage.Sets/src/mage/cards/a/AcidicSlime.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.TargetPermanent;
@@ -28,9 +27,9 @@ public final class AcidicSlime extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public AcidicSlime(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/Acquire.java b/Mage.Sets/src/mage/cards/a/Acquire.java
index 53895e07582..1c74977673f 100644
--- a/Mage.Sets/src/mage/cards/a/Acquire.java
+++ b/Mage.Sets/src/mage/cards/a/Acquire.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
@@ -45,7 +44,7 @@ class AcquireEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("an artifact card");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public AcquireEffect() {
diff --git a/Mage.Sets/src/mage/cards/a/AdmonitionAngel.java b/Mage.Sets/src/mage/cards/a/AdmonitionAngel.java
index 2490d280e41..a69035e724d 100644
--- a/Mage.Sets/src/mage/cards/a/AdmonitionAngel.java
+++ b/Mage.Sets/src/mage/cards/a/AdmonitionAngel.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.target.TargetPermanent;
@@ -31,7 +30,7 @@ public final class AdmonitionAngel extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public AdmonitionAngel(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AdventurousImpulse.java b/Mage.Sets/src/mage/cards/a/AdventurousImpulse.java
index 8e2cc8cdf67..a97d890fd26 100644
--- a/Mage.Sets/src/mage/cards/a/AdventurousImpulse.java
+++ b/Mage.Sets/src/mage/cards/a/AdventurousImpulse.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,14 +19,14 @@ public final class AdventurousImpulse extends CardImpl {
private static final FilterCard filter = new FilterCard("a creature or land card");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public AdventurousImpulse(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{G}");
//Look at the top three cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1), filter, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), filter, false));
}
diff --git a/Mage.Sets/src/mage/cards/a/AerialModification.java b/Mage.Sets/src/mage/cards/a/AerialModification.java
index 3d3321eef07..7deba1505c1 100644
--- a/Mage.Sets/src/mage/cards/a/AerialModification.java
+++ b/Mage.Sets/src/mage/cards/a/AerialModification.java
@@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
@@ -29,7 +28,7 @@ public final class AerialModification extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or vehicle");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
new SubtypePredicate(SubType.VEHICLE)));
}
diff --git a/Mage.Sets/src/mage/cards/a/AetherMeltdown.java b/Mage.Sets/src/mage/cards/a/AetherMeltdown.java
index 999dfe2ab6e..2f92a98e984 100644
--- a/Mage.Sets/src/mage/cards/a/AetherMeltdown.java
+++ b/Mage.Sets/src/mage/cards/a/AetherMeltdown.java
@@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
@@ -29,7 +28,7 @@ public final class AetherMeltdown extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or vehicle");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new SubtypePredicate(SubType.VEHICLE)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), new SubtypePredicate(SubType.VEHICLE)));
}
public AetherMeltdown(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AethershieldArtificer.java b/Mage.Sets/src/mage/cards/a/AethershieldArtificer.java
index c2f5378979c..9f059d3cab6 100644
--- a/Mage.Sets/src/mage/cards/a/AethershieldArtificer.java
+++ b/Mage.Sets/src/mage/cards/a/AethershieldArtificer.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
@@ -27,7 +26,7 @@ public final class AethershieldArtificer extends CardImpl {
= new FilterControlledCreaturePermanent("artifact creature you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public AethershieldArtificer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/Aftershock.java b/Mage.Sets/src/mage/cards/a/Aftershock.java
index 040f4640c48..96a9b01b97e 100644
--- a/Mage.Sets/src/mage/cards/a/Aftershock.java
+++ b/Mage.Sets/src/mage/cards/a/Aftershock.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,9 +21,9 @@ public final class Aftershock extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Aftershock(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AgadeemOccultist.java b/Mage.Sets/src/mage/cards/a/AgadeemOccultist.java
index 0a96f6262c0..5f0b20db6cf 100644
--- a/Mage.Sets/src/mage/cards/a/AgadeemOccultist.java
+++ b/Mage.Sets/src/mage/cards/a/AgadeemOccultist.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -78,7 +77,7 @@ class AgadeemOccultistEffect extends OneShotEffect {
}
}
FilterCard filter = new FilterCard("creature card in an opponent's graveyard");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
TargetCardInOpponentsGraveyard target = new TargetCardInOpponentsGraveyard(1, 1, filter);
if (controller != null) {
diff --git a/Mage.Sets/src/mage/cards/a/AinokBondKin.java b/Mage.Sets/src/mage/cards/a/AinokBondKin.java
index c474b252456..39000ec5c5c 100644
--- a/Mage.Sets/src/mage/cards/a/AinokBondKin.java
+++ b/Mage.Sets/src/mage/cards/a/AinokBondKin.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -26,7 +25,7 @@ public final class AinokBondKin extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new CounterPredicate(CounterType.P1P1));
}
diff --git a/Mage.Sets/src/mage/cards/a/AjaniMentorOfHeroes.java b/Mage.Sets/src/mage/cards/a/AjaniMentorOfHeroes.java
index d60264cb683..d7231fce446 100644
--- a/Mage.Sets/src/mage/cards/a/AjaniMentorOfHeroes.java
+++ b/Mage.Sets/src/mage/cards/a/AjaniMentorOfHeroes.java
@@ -19,7 +19,6 @@ import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetCreaturePermanentAmount;
@@ -37,8 +36,8 @@ public final class AjaniMentorOfHeroes extends CardImpl {
filter.add(new ControllerPredicate(TargetController.YOU));
filterCard.add(Predicates.or(
new SubtypePredicate(SubType.AURA),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public AjaniMentorOfHeroes(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AjaniStrengthOfThePride.java b/Mage.Sets/src/mage/cards/a/AjaniStrengthOfThePride.java
index aa8df094e4f..15fd24f5f6a 100644
--- a/Mage.Sets/src/mage/cards/a/AjaniStrengthOfThePride.java
+++ b/Mage.Sets/src/mage/cards/a/AjaniStrengthOfThePride.java
@@ -16,7 +16,6 @@ import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.token.AjanisPridemateToken;
@@ -91,8 +90,8 @@ class AjaniStrengthOfThePrideEffect extends OneShotEffect {
static {
filter.add(new ControllerPredicate(TargetController.OPPONENT));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/a/AjaniUnyielding.java b/Mage.Sets/src/mage/cards/a/AjaniUnyielding.java
index ab5289a0286..8e27ead78d1 100644
--- a/Mage.Sets/src/mage/cards/a/AjaniUnyielding.java
+++ b/Mage.Sets/src/mage/cards/a/AjaniUnyielding.java
@@ -19,7 +19,6 @@ import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterPermanentCard;
import mage.filter.common.FilterPlaneswalkerPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -33,7 +32,7 @@ public final class AjaniUnyielding extends CardImpl {
private static final FilterPlaneswalkerPermanent planeswalkerFilter = new FilterPlaneswalkerPermanent("other planeswalker you control");
static {
- nonlandPermanentFilter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ nonlandPermanentFilter.add(Predicates.not(CardType.LAND.getPredicate()));
planeswalkerFilter.add(new ControllerPredicate(TargetController.YOU));
planeswalkerFilter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/a/AjaniVengeant.java b/Mage.Sets/src/mage/cards/a/AjaniVengeant.java
index b6d4b3b48a3..83a9ed421a2 100644
--- a/Mage.Sets/src/mage/cards/a/AjaniVengeant.java
+++ b/Mage.Sets/src/mage/cards/a/AjaniVengeant.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.TargetPlayer;
import mage.target.common.TargetAnyTarget;
@@ -29,7 +28,7 @@ public final class AjaniVengeant extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("lands");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public AjaniVengeant(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AjanisComrade.java b/Mage.Sets/src/mage/cards/a/AjanisComrade.java
index bb26d2ac246..af206b862f2 100644
--- a/Mage.Sets/src/mage/cards/a/AjanisComrade.java
+++ b/Mage.Sets/src/mage/cards/a/AjanisComrade.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.TargetController;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -27,7 +26,7 @@ public final class AjanisComrade extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.AJANI));
}
diff --git a/Mage.Sets/src/mage/cards/a/AjanisInfluence.java b/Mage.Sets/src/mage/cards/a/AjanisInfluence.java
index f8dd582e052..c751240d102 100644
--- a/Mage.Sets/src/mage/cards/a/AjanisInfluence.java
+++ b/Mage.Sets/src/mage/cards/a/AjanisInfluence.java
@@ -35,7 +35,7 @@ public final class AjanisInfluence extends CardImpl {
// Look at the top five cards of your library. You may reveal a white card form among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter,
+ StaticValue.get(5), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false
).setBackInRandomOrder(true).setText("Look at the top five cards of your library. "
+ "You may reveal a white card from among them and put it into your hand. "
diff --git a/Mage.Sets/src/mage/cards/a/AkiriLineSlinger.java b/Mage.Sets/src/mage/cards/a/AkiriLineSlinger.java
index 3dc3fdf14c8..5cd997b7e0e 100644
--- a/Mage.Sets/src/mage/cards/a/AkiriLineSlinger.java
+++ b/Mage.Sets/src/mage/cards/a/AkiriLineSlinger.java
@@ -15,7 +15,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,7 +25,7 @@ public final class AkiriLineSlinger extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public AkiriLineSlinger(UUID ownerId, CardSetInfo setInfo) {
@@ -46,7 +45,7 @@ public final class AkiriLineSlinger extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// Akiri, Line-Slinger gets +1/+0 for each artifact you control.
- Effect effect = new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield);
+ Effect effect = new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield);
effect.setText("{this} gets +1/+0 for each artifact you control");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
diff --git a/Mage.Sets/src/mage/cards/a/AkroanHoplite.java b/Mage.Sets/src/mage/cards/a/AkroanHoplite.java
index d19cdaf3b65..3a9d6a906e4 100644
--- a/Mage.Sets/src/mage/cards/a/AkroanHoplite.java
+++ b/Mage.Sets/src/mage/cards/a/AkroanHoplite.java
@@ -39,7 +39,7 @@ public final class AkroanHoplite extends CardImpl {
this.toughness = new MageInt(2);
// Whenever Akroan Hoplite attacks, it gets +X/+0 until end of turn, where X is the number of attacking creatures you control.
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.EndOfTurn, true), false));
}
public AkroanHoplite(final AkroanHoplite card) {
diff --git a/Mage.Sets/src/mage/cards/a/AkromasVengeance.java b/Mage.Sets/src/mage/cards/a/AkromasVengeance.java
index dcf2ee58f95..bc19df0dc60 100644
--- a/Mage.Sets/src/mage/cards/a/AkromasVengeance.java
+++ b/Mage.Sets/src/mage/cards/a/AkromasVengeance.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,9 +21,9 @@ public final class AkromasVengeance extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public AkromasVengeance(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AkronLegionnaire.java b/Mage.Sets/src/mage/cards/a/AkronLegionnaire.java
index 34eecbfc9d2..a9311332ed3 100644
--- a/Mage.Sets/src/mage/cards/a/AkronLegionnaire.java
+++ b/Mage.Sets/src/mage/cards/a/AkronLegionnaire.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -26,7 +25,7 @@ public final class AkronLegionnaire extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(Predicates.not(new NamePredicate("Akron Legionnaire")));
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public AkronLegionnaire(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AlchemistsRefuge.java b/Mage.Sets/src/mage/cards/a/AlchemistsRefuge.java
index 8e2dabedea6..153bd216369 100644
--- a/Mage.Sets/src/mage/cards/a/AlchemistsRefuge.java
+++ b/Mage.Sets/src/mage/cards/a/AlchemistsRefuge.java
@@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -28,7 +27,7 @@ public final class AlchemistsRefuge extends CardImpl {
private static final FilterCard filter = new FilterCard("spells");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public AlchemistsRefuge(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AlelaArtfulProvocateur.java b/Mage.Sets/src/mage/cards/a/AlelaArtfulProvocateur.java
index eb7db509d7b..b583f263929 100644
--- a/Mage.Sets/src/mage/cards/a/AlelaArtfulProvocateur.java
+++ b/Mage.Sets/src/mage/cards/a/AlelaArtfulProvocateur.java
@@ -15,7 +15,6 @@ import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.permanent.token.FaerieToken;
@@ -34,8 +33,8 @@ public final class AlelaArtfulProvocateur extends CardImpl {
filter.add(new AbilityPredicate(FlyingAbility.class));
filter.add(new ControllerPredicate(TargetController.YOU));
filter2.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/a/AllHallowsEve.java b/Mage.Sets/src/mage/cards/a/AllHallowsEve.java
index d61463522c9..62e2cdcf704 100644
--- a/Mage.Sets/src/mage/cards/a/AllHallowsEve.java
+++ b/Mage.Sets/src/mage/cards/a/AllHallowsEve.java
@@ -31,7 +31,7 @@ public final class AllHallowsEve extends CardImpl {
// Exile All Hallow's Eve with two scream counters on it.
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
- Effect effect = new AddCountersSourceEffect(CounterType.SCREAM.createInstance(), new StaticValue(2), true, true);
+ Effect effect = new AddCountersSourceEffect(CounterType.SCREAM.createInstance(), StaticValue.get(2), true, true);
effect.setText("with 2 scream counters on it");
this.getSpellAbility().addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/a/AmberPrison.java b/Mage.Sets/src/mage/cards/a/AmberPrison.java
index ec13b5134ac..f72860acd12 100644
--- a/Mage.Sets/src/mage/cards/a/AmberPrison.java
+++ b/Mage.Sets/src/mage/cards/a/AmberPrison.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -28,9 +27,9 @@ public final class AmberPrison extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public AmberPrison(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AmrouSeekers.java b/Mage.Sets/src/mage/cards/a/AmrouSeekers.java
index e9f0358e37b..d2cc30373ed 100644
--- a/Mage.Sets/src/mage/cards/a/AmrouSeekers.java
+++ b/Mage.Sets/src/mage/cards/a/AmrouSeekers.java
@@ -13,7 +13,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -27,7 +26,7 @@ public final class AmrouSeekers extends CardImpl {
static {
notArtificatOrWhite.add(Predicates.not(
Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
+ CardType.ARTIFACT.getPredicate(),
new ColorPredicate(ObjectColor.WHITE)
)
));
diff --git a/Mage.Sets/src/mage/cards/a/AmuletOfUnmaking.java b/Mage.Sets/src/mage/cards/a/AmuletOfUnmaking.java
index 79decffc5d4..c2800d518bf 100644
--- a/Mage.Sets/src/mage/cards/a/AmuletOfUnmaking.java
+++ b/Mage.Sets/src/mage/cards/a/AmuletOfUnmaking.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
@@ -27,9 +26,9 @@ public final class AmuletOfUnmaking extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/a/Anarchist.java b/Mage.Sets/src/mage/cards/a/Anarchist.java
index 9f62fa91827..6bf7b491a97 100644
--- a/Mage.Sets/src/mage/cards/a/Anarchist.java
+++ b/Mage.Sets/src/mage/cards/a/Anarchist.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -22,7 +21,7 @@ public final class Anarchist extends CardImpl {
private static final FilterCard filter = new FilterCard("sorcery card");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public Anarchist(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AncestralMemories.java b/Mage.Sets/src/mage/cards/a/AncestralMemories.java
index 008fe2f058f..b7fb61cb3bf 100644
--- a/Mage.Sets/src/mage/cards/a/AncestralMemories.java
+++ b/Mage.Sets/src/mage/cards/a/AncestralMemories.java
@@ -26,7 +26,7 @@ public final class AncestralMemories extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}{U}{U}");
// Look at the top seven cards of your library. Put two of them into your hand and the rest into your graveyard.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(7), false, new StaticValue(2),
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(7), false, StaticValue.get(2),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
}
diff --git a/Mage.Sets/src/mage/cards/a/AncestralStatue.java b/Mage.Sets/src/mage/cards/a/AncestralStatue.java
index 3129850495d..608555765ea 100644
--- a/Mage.Sets/src/mage/cards/a/AncestralStatue.java
+++ b/Mage.Sets/src/mage/cards/a/AncestralStatue.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class AncestralStatue extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("nonland permanent you control");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public AncestralStatue(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AncientHellkite.java b/Mage.Sets/src/mage/cards/a/AncientHellkite.java
index 527f9bec33e..95319642ded 100644
--- a/Mage.Sets/src/mage/cards/a/AncientHellkite.java
+++ b/Mage.Sets/src/mage/cards/a/AncientHellkite.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
import mage.target.TargetPermanent;
@@ -28,7 +27,7 @@ public final class AncientHellkite extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature defending player controls");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(DefendingPlayerControlsPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/a/AncientStirrings.java b/Mage.Sets/src/mage/cards/a/AncientStirrings.java
index 490c2641f54..6186b701d52 100644
--- a/Mage.Sets/src/mage/cards/a/AncientStirrings.java
+++ b/Mage.Sets/src/mage/cards/a/AncientStirrings.java
@@ -29,7 +29,7 @@ public final class AncientStirrings extends CardImpl {
// Look at the top five cards of your library. You may reveal a colorless card from among them and put it into your hand.
// Then put the rest on the bottom of your library in any order. (Cards with no colored mana in their mana costs are colorless. Lands are also colorless.)
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(1), filter, Zone.LIBRARY,
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(1), filter, Zone.LIBRARY,
false, true, false, Zone.HAND, true));
}
diff --git a/Mage.Sets/src/mage/cards/a/AngelOfJubilation.java b/Mage.Sets/src/mage/cards/a/AngelOfJubilation.java
index 85a34e8ae67..5328d6d5c33 100644
--- a/Mage.Sets/src/mage/cards/a/AngelOfJubilation.java
+++ b/Mage.Sets/src/mage/cards/a/AngelOfJubilation.java
@@ -18,7 +18,6 @@ import mage.constants.*;
import mage.filter.Filter;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -105,7 +104,7 @@ class AngelOfJubilationSacrificeFilterEffect extends CostModificationEffectImpl
if (cost instanceof SacrificeTargetCost) {
SacrificeTargetCost sacrificeCost = (SacrificeTargetCost) cost;
Filter filter = sacrificeCost.getTargets().get(0).getFilter();
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
}
return true;
diff --git a/Mage.Sets/src/mage/cards/a/AngelicEdict.java b/Mage.Sets/src/mage/cards/a/AngelicEdict.java
index 1eb84b9db47..a45a558a257 100644
--- a/Mage.Sets/src/mage/cards/a/AngelicEdict.java
+++ b/Mage.Sets/src/mage/cards/a/AngelicEdict.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -19,7 +18,7 @@ public final class AngelicEdict extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or enchantment");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public AngelicEdict(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AngelicPurge.java b/Mage.Sets/src/mage/cards/a/AngelicPurge.java
index 780997fdbe1..68e69a870f6 100644
--- a/Mage.Sets/src/mage/cards/a/AngelicPurge.java
+++ b/Mage.Sets/src/mage/cards/a/AngelicPurge.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
@@ -23,9 +22,9 @@ public final class AngelicPurge extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact, creature, or enchantment");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public AngelicPurge(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AngelicVoices.java b/Mage.Sets/src/mage/cards/a/AngelicVoices.java
index 4a3dc8e834e..5134a1b842e 100644
--- a/Mage.Sets/src/mage/cards/a/AngelicVoices.java
+++ b/Mage.Sets/src/mage/cards/a/AngelicVoices.java
@@ -15,7 +15,6 @@ import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -31,7 +30,7 @@ public final class AngelicVoices extends CardImpl {
static {
filter.add(Predicates.not(
Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
+ CardType.ARTIFACT.getPredicate(),
new ColorPredicate(ObjectColor.WHITE)
)
));
diff --git a/Mage.Sets/src/mage/cards/a/Anger.java b/Mage.Sets/src/mage/cards/a/Anger.java
index 4da0cafd4c5..d03be49ecd7 100644
--- a/Mage.Sets/src/mage/cards/a/Anger.java
+++ b/Mage.Sets/src/mage/cards/a/Anger.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -31,7 +30,7 @@ public final class Anger extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Mountain");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SubtypePredicate(SubType.MOUNTAIN));
}
diff --git a/Mage.Sets/src/mage/cards/a/AngrathsAmbusher.java b/Mage.Sets/src/mage/cards/a/AngrathsAmbusher.java
index 7cccf6d9b88..40efcfd7bcc 100644
--- a/Mage.Sets/src/mage/cards/a/AngrathsAmbusher.java
+++ b/Mage.Sets/src/mage/cards/a/AngrathsAmbusher.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -26,7 +25,7 @@ public final class AngrathsAmbusher extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.ANGRATH));
}
diff --git a/Mage.Sets/src/mage/cards/a/AnimateArtifact.java b/Mage.Sets/src/mage/cards/a/AnimateArtifact.java
index 0a05d0c1059..1e8557cb7fd 100644
--- a/Mage.Sets/src/mage/cards/a/AnimateArtifact.java
+++ b/Mage.Sets/src/mage/cards/a/AnimateArtifact.java
@@ -13,7 +13,6 @@ import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -28,7 +27,7 @@ public final class AnimateArtifact extends CardImpl {
private static final FilterPermanent filter = new FilterArtifactPermanent("noncreature artifact");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public AnimateArtifact(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AnimatingFaerie.java b/Mage.Sets/src/mage/cards/a/AnimatingFaerie.java
index 64f2f4ece3f..cd22af0c0b9 100644
--- a/Mage.Sets/src/mage/cards/a/AnimatingFaerie.java
+++ b/Mage.Sets/src/mage/cards/a/AnimatingFaerie.java
@@ -14,7 +14,6 @@ import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
@@ -28,7 +27,7 @@ public final class AnimatingFaerie extends AdventureCard {
= new FilterControlledArtifactPermanent("noncreature artifact you control");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public AnimatingFaerie(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/Annul.java b/Mage.Sets/src/mage/cards/a/Annul.java
index 05b56093f6f..028e8099aab 100644
--- a/Mage.Sets/src/mage/cards/a/Annul.java
+++ b/Mage.Sets/src/mage/cards/a/Annul.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -21,8 +20,8 @@ public final class Annul extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public Annul(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/Anticipate.java b/Mage.Sets/src/mage/cards/a/Anticipate.java
index 69db6614b54..3610f73c967 100644
--- a/Mage.Sets/src/mage/cards/a/Anticipate.java
+++ b/Mage.Sets/src/mage/cards/a/Anticipate.java
@@ -21,7 +21,7 @@ public final class Anticipate extends CardImpl {
// Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect
- (new StaticValue(3), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false));
+ (StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false));
}
public Anticipate(final Anticipate card) {
diff --git a/Mage.Sets/src/mage/cards/a/AphettoAlchemist.java b/Mage.Sets/src/mage/cards/a/AphettoAlchemist.java
index 2706f126a6c..c67ea5e2968 100644
--- a/Mage.Sets/src/mage/cards/a/AphettoAlchemist.java
+++ b/Mage.Sets/src/mage/cards/a/AphettoAlchemist.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -29,8 +28,8 @@ public final class AphettoAlchemist extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public AphettoAlchemist(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ApostlesBlessing.java b/Mage.Sets/src/mage/cards/a/ApostlesBlessing.java
index c3229051a53..0c35dc3721a 100644
--- a/Mage.Sets/src/mage/cards/a/ApostlesBlessing.java
+++ b/Mage.Sets/src/mage/cards/a/ApostlesBlessing.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -31,8 +30,8 @@ public final class ApostlesBlessing extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public ApostlesBlessing(UUID ownerId, CardSetInfo setInfo) {
@@ -79,7 +78,7 @@ class ApostlesBlessingEffect extends OneShotEffect {
if (controller.choose(outcome, choice, game)) {
FilterCard protectionFilter = new FilterCard();
if (choice.isArtifactSelected()) {
- protectionFilter.add(new CardTypePredicate(CardType.ARTIFACT));
+ protectionFilter.add(CardType.ARTIFACT.getPredicate());
} else {
protectionFilter.add(new ColorPredicate(choice.getColor()));
}
diff --git a/Mage.Sets/src/mage/cards/a/ArbiterOfTheIdeal.java b/Mage.Sets/src/mage/cards/a/ArbiterOfTheIdeal.java
index 7fedb5c542d..f1756013da3 100644
--- a/Mage.Sets/src/mage/cards/a/ArbiterOfTheIdeal.java
+++ b/Mage.Sets/src/mage/cards/a/ArbiterOfTheIdeal.java
@@ -15,7 +15,6 @@ import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -57,9 +56,9 @@ class ArbiterOfTheIdealEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public ArbiterOfTheIdealEffect() {
diff --git a/Mage.Sets/src/mage/cards/a/ArcBlade.java b/Mage.Sets/src/mage/cards/a/ArcBlade.java
index a46a4a804e6..f9f194d70fa 100644
--- a/Mage.Sets/src/mage/cards/a/ArcBlade.java
+++ b/Mage.Sets/src/mage/cards/a/ArcBlade.java
@@ -29,7 +29,7 @@ public final class ArcBlade extends CardImpl {
// Exile Arc Blade
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
// with three time counters on it.
- Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), false, true);
+ Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), StaticValue.get(3), false, true);
effect.setText("with 3 time counters on it");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/a/ArcaneDenial.java b/Mage.Sets/src/mage/cards/a/ArcaneDenial.java
index 40d3f369d18..5609c3c5362 100644
--- a/Mage.Sets/src/mage/cards/a/ArcaneDenial.java
+++ b/Mage.Sets/src/mage/cards/a/ArcaneDenial.java
@@ -75,7 +75,7 @@ class ArcaneDenialEffect extends OneShotEffect {
countered = true;
}
if (controller != null) {
- Effect effect = new DrawCardTargetEffect(new StaticValue(2), false, true);
+ Effect effect = new DrawCardTargetEffect(StaticValue.get(2), false, true);
effect.setTargetPointer(new FixedTarget(controller.getId()));
effect.setText("Its controller may draw up to two cards");
DelayedTriggeredAbility ability = new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(effect);
diff --git a/Mage.Sets/src/mage/cards/a/ArcanistsOwl.java b/Mage.Sets/src/mage/cards/a/ArcanistsOwl.java
index 4684c16b203..c3dec2d6943 100644
--- a/Mage.Sets/src/mage/cards/a/ArcanistsOwl.java
+++ b/Mage.Sets/src/mage/cards/a/ArcanistsOwl.java
@@ -35,7 +35,7 @@ public final class ArcanistsOwl extends CardImpl {
// When Arcanist's Owl enters the battlefield, look at the top four cards of your library. You may reveal an artifact or enchantment card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new EntersBattlefieldTriggeredAbility(
new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(1), filter,
+ StaticValue.get(4), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND,
true, false, false
).setBackInRandomOrder(true).setText("Look at the top four cards of your library. " +
diff --git a/Mage.Sets/src/mage/cards/a/Arcbond.java b/Mage.Sets/src/mage/cards/a/Arcbond.java
index b572b6f6428..9c01e62c67f 100644
--- a/Mage.Sets/src/mage/cards/a/Arcbond.java
+++ b/Mage.Sets/src/mage/cards/a/Arcbond.java
@@ -139,7 +139,7 @@ class ArcbondEffect extends OneShotEffect {
}
FilterPermanent filter = new FilterCreaturePermanent("each other creature");
filter.add(Predicates.not(new PermanentIdPredicate(sourceId)));
- return new DamageEverythingEffect(new StaticValue(damage), filter, sourceId).apply(game, source);
+ return new DamageEverythingEffect(StaticValue.get(damage), filter, sourceId).apply(game, source);
}
return false;
}
diff --git a/Mage.Sets/src/mage/cards/a/ArcboundRavager.java b/Mage.Sets/src/mage/cards/a/ArcboundRavager.java
index 42c9fb1b1e6..a4682b11e70 100644
--- a/Mage.Sets/src/mage/cards/a/ArcboundRavager.java
+++ b/Mage.Sets/src/mage/cards/a/ArcboundRavager.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -26,7 +25,7 @@ public final class ArcboundRavager extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ArcboundRavager(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArcumDagsson.java b/Mage.Sets/src/mage/cards/a/ArcumDagsson.java
index c86c8389d4f..7605f75ac07 100644
--- a/Mage.Sets/src/mage/cards/a/ArcumDagsson.java
+++ b/Mage.Sets/src/mage/cards/a/ArcumDagsson.java
@@ -16,7 +16,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterArtifactCard;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -32,7 +31,7 @@ public final class ArcumDagsson extends CardImpl {
private static final FilterPermanent filter = new FilterArtifactPermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public ArcumDagsson(UUID ownerId, CardSetInfo setInfo) {
@@ -64,7 +63,7 @@ class ArcumDagssonEffect extends OneShotEffect {
private static final FilterCard filter = new FilterArtifactCard("noncreature artifact card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
ArcumDagssonEffect() {
diff --git a/Mage.Sets/src/mage/cards/a/ArenaTrickster.java b/Mage.Sets/src/mage/cards/a/ArenaTrickster.java
new file mode 100644
index 00000000000..6204999c1c5
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/a/ArenaTrickster.java
@@ -0,0 +1,41 @@
+package mage.cards.a;
+
+import mage.MageInt;
+import mage.abilities.common.FirstSpellOpponentsTurnTriggeredAbility;
+import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.SubType;
+import mage.counters.CounterType;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class ArenaTrickster extends CardImpl {
+
+ public ArenaTrickster(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
+
+ this.subtype.add(SubType.HUMAN);
+ this.subtype.add(SubType.SHAMAN);
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(3);
+
+ // Whenever you cast your first spell during each opponent's turn, put a +1/+1 counter on Arena Trickster.
+ this.addAbility(new FirstSpellOpponentsTurnTriggeredAbility(
+ new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false
+ ));
+ }
+
+ private ArenaTrickster(final ArenaTrickster card) {
+ super(card);
+ }
+
+ @Override
+ public ArenaTrickster copy() {
+ return new ArenaTrickster(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/cards/a/ArensonsAura.java b/Mage.Sets/src/mage/cards/a/ArensonsAura.java
index c05cf90651e..eb92c0c9e05 100644
--- a/Mage.Sets/src/mage/cards/a/ArensonsAura.java
+++ b/Mage.Sets/src/mage/cards/a/ArensonsAura.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetEnchantmentPermanent;
@@ -30,8 +29,8 @@ public final class ArensonsAura extends CardImpl {
private static final FilterSpell filter2 = new FilterSpell("enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
- filter2.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
+ filter2.add(CardType.ENCHANTMENT.getPredicate());
}
public ArensonsAura(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArgivianBlacksmith.java b/Mage.Sets/src/mage/cards/a/ArgivianBlacksmith.java
index 49ec7370bbf..74fb7f7b908 100644
--- a/Mage.Sets/src/mage/cards/a/ArgivianBlacksmith.java
+++ b/Mage.Sets/src/mage/cards/a/ArgivianBlacksmith.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -26,8 +25,8 @@ public final class ArgivianBlacksmith extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
}
public ArgivianBlacksmith(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArgivianFind.java b/Mage.Sets/src/mage/cards/a/ArgivianFind.java
index 855c596ca5f..62599a94b92 100644
--- a/Mage.Sets/src/mage/cards/a/ArgivianFind.java
+++ b/Mage.Sets/src/mage/cards/a/ArgivianFind.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -19,7 +18,7 @@ public final class ArgivianFind extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact or enchantment card");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public ArgivianFind(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArgothianEnchantress.java b/Mage.Sets/src/mage/cards/a/ArgothianEnchantress.java
index f6e8dd769a1..7255f2c08b7 100644
--- a/Mage.Sets/src/mage/cards/a/ArgothianEnchantress.java
+++ b/Mage.Sets/src/mage/cards/a/ArgothianEnchantress.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -21,7 +20,7 @@ public final class ArgothianEnchantress extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an Enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public ArgothianEnchantress(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArgothianPixies.java b/Mage.Sets/src/mage/cards/a/ArgothianPixies.java
index f649fe160f1..9cf92a53d57 100644
--- a/Mage.Sets/src/mage/cards/a/ArgothianPixies.java
+++ b/Mage.Sets/src/mage/cards/a/ArgothianPixies.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -28,7 +27,7 @@ public final class ArgothianPixies extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creatures");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ArgothianPixies(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java
index ab44b0fe735..1bacb438685 100644
--- a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java
+++ b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java
@@ -28,7 +28,7 @@ public final class ArmageddonClock extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}");
// At the beginning of your upkeep, put a doom counter on Armageddon Clock.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DOOM.createInstance(), new StaticValue(1), true), TargetController.YOU, false));
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DOOM.createInstance(), StaticValue.get(1), true), TargetController.YOU, false));
// At the beginning of your draw step, Armageddon Clock deals damage equal to the number of doom counters on it to each player.
this.addAbility(new BeginningOfDrawTriggeredAbility(new DamagePlayersEffect(Outcome.Damage, new CountersSourceCount(CounterType.DOOM))
.setText("{this} deals damage equal to the number of doom counters on it to each player"), TargetController.YOU, false));
diff --git a/Mage.Sets/src/mage/cards/a/ArmamentOfNyx.java b/Mage.Sets/src/mage/cards/a/ArmamentOfNyx.java
index 9973cb9577a..6734596b8ef 100644
--- a/Mage.Sets/src/mage/cards/a/ArmamentOfNyx.java
+++ b/Mage.Sets/src/mage/cards/a/ArmamentOfNyx.java
@@ -19,7 +19,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -32,7 +31,7 @@ public final class ArmamentOfNyx extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("enchantment");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public ArmamentOfNyx(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArmedProtocolDroid.java b/Mage.Sets/src/mage/cards/a/ArmedProtocolDroid.java
index b2dc562cb1d..a511730f903 100644
--- a/Mage.Sets/src/mage/cards/a/ArmedProtocolDroid.java
+++ b/Mage.Sets/src/mage/cards/a/ArmedProtocolDroid.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -26,7 +25,7 @@ public final class ArmedProtocolDroid extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public ArmedProtocolDroid(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArterialFlow.java b/Mage.Sets/src/mage/cards/a/ArterialFlow.java
index e5b9848f22f..7cd6f7bfa26 100644
--- a/Mage.Sets/src/mage/cards/a/ArterialFlow.java
+++ b/Mage.Sets/src/mage/cards/a/ArterialFlow.java
@@ -31,7 +31,7 @@ public final class ArterialFlow extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}{B}");
// Each opponent discards two cards.
- this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(new StaticValue(2), false, TargetController.OPPONENT));
+ this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(StaticValue.get(2), false, TargetController.OPPONENT));
// If you control a Vampire, each opponent loses 2 life and you gain 2 life.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new LoseLifeOpponentsEffect(2), new PermanentsOnTheBattlefieldCondition(filter),
"If you control a Vampire, each opponent loses 2 life"));
diff --git a/Mage.Sets/src/mage/cards/a/ArtificersEpiphany.java b/Mage.Sets/src/mage/cards/a/ArtificersEpiphany.java
index 0e232c54c7e..be6c97836c9 100644
--- a/Mage.Sets/src/mage/cards/a/ArtificersEpiphany.java
+++ b/Mage.Sets/src/mage/cards/a/ArtificersEpiphany.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class ArtificersEpiphany extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control no artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ArtificersEpiphany(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/ArtificersHex.java b/Mage.Sets/src/mage/cards/a/ArtificersHex.java
index fb84c723f7e..43de56ba699 100644
--- a/Mage.Sets/src/mage/cards/a/ArtificersHex.java
+++ b/Mage.Sets/src/mage/cards/a/ArtificersHex.java
@@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -25,7 +24,7 @@ public final class ArtificersHex extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Equipment");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
}
diff --git a/Mage.Sets/src/mage/cards/a/Artillerize.java b/Mage.Sets/src/mage/cards/a/Artillerize.java
index c8491f74f83..b6041b31b6b 100644
--- a/Mage.Sets/src/mage/cards/a/Artillerize.java
+++ b/Mage.Sets/src/mage/cards/a/Artillerize.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetAnyTarget;
@@ -23,8 +22,8 @@ public final class Artillerize extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public Artillerize(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AsForetold.java b/Mage.Sets/src/mage/cards/a/AsForetold.java
index e5cf038407d..ddbf71d3105 100644
--- a/Mage.Sets/src/mage/cards/a/AsForetold.java
+++ b/Mage.Sets/src/mage/cards/a/AsForetold.java
@@ -34,7 +34,7 @@ public final class AsForetold extends CardImpl {
new BeginningOfUpkeepTriggeredAbility(
new AddCountersSourceEffect(
CounterType.TIME.createInstance(),
- new StaticValue(1),
+ StaticValue.get(1),
true),
TargetController.YOU,
false));
diff --git a/Mage.Sets/src/mage/cards/a/AshesToAshes.java b/Mage.Sets/src/mage/cards/a/AshesToAshes.java
index debc8797f7a..a2caa3ab792 100644
--- a/Mage.Sets/src/mage/cards/a/AshesToAshes.java
+++ b/Mage.Sets/src/mage/cards/a/AshesToAshes.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -25,7 +24,7 @@ public final class AshesToAshes extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public AshesToAshes(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AshnodsTransmogrant.java b/Mage.Sets/src/mage/cards/a/AshnodsTransmogrant.java
index 87194eafc5d..c92604f752c 100644
--- a/Mage.Sets/src/mage/cards/a/AshnodsTransmogrant.java
+++ b/Mage.Sets/src/mage/cards/a/AshnodsTransmogrant.java
@@ -17,7 +17,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -30,7 +29,7 @@ public final class AshnodsTransmogrant extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public AshnodsTransmogrant(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/Atog.java b/Mage.Sets/src/mage/cards/a/Atog.java
index e192d2f1e1e..317a12eb636 100644
--- a/Mage.Sets/src/mage/cards/a/Atog.java
+++ b/Mage.Sets/src/mage/cards/a/Atog.java
@@ -13,7 +13,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -25,7 +24,7 @@ public final class Atog extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Atog(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AttendantOfVraska.java b/Mage.Sets/src/mage/cards/a/AttendantOfVraska.java
index 78c6d325bb8..fec4d35646b 100644
--- a/Mage.Sets/src/mage/cards/a/AttendantOfVraska.java
+++ b/Mage.Sets/src/mage/cards/a/AttendantOfVraska.java
@@ -2,7 +2,6 @@ package mage.cards.a;
import java.util.UUID;
import mage.MageInt;
-import mage.abilities.Ability;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
@@ -14,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -28,7 +26,7 @@ public final class AttendantOfVraska extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.VRASKA));
}
diff --git a/Mage.Sets/src/mage/cards/a/AugurOfBolas.java b/Mage.Sets/src/mage/cards/a/AugurOfBolas.java
index 01a210e8595..085a7db0971 100644
--- a/Mage.Sets/src/mage/cards/a/AugurOfBolas.java
+++ b/Mage.Sets/src/mage/cards/a/AugurOfBolas.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterInstantOrSorceryCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -29,7 +28,7 @@ public final class AugurOfBolas extends CardImpl {
private static final FilterCard filter = new FilterCard("an instant or sorcery card");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public AugurOfBolas(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AuraBarbs.java b/Mage.Sets/src/mage/cards/a/AuraBarbs.java
index e10f64e301f..648fab56ee4 100644
--- a/Mage.Sets/src/mage/cards/a/AuraBarbs.java
+++ b/Mage.Sets/src/mage/cards/a/AuraBarbs.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -55,7 +54,7 @@ public final class AuraBarbs extends CardImpl {
public boolean apply(Game game, Ability source) {
FilterPermanent filterEnchantments = new FilterPermanent();
- filterEnchantments.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterEnchantments.add(CardType.ENCHANTMENT.getPredicate());
for (Permanent permanent : game.getBattlefield().getActivePermanents(filterEnchantments, source.getControllerId(), source.getSourceId(), game)) {
Player controller = game.getPlayer(permanent.getControllerId());
diff --git a/Mage.Sets/src/mage/cards/a/Auramancer.java b/Mage.Sets/src/mage/cards/a/Auramancer.java
index faede234654..1bcc44d9a91 100644
--- a/Mage.Sets/src/mage/cards/a/Auramancer.java
+++ b/Mage.Sets/src/mage/cards/a/Auramancer.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -23,7 +22,7 @@ public final class Auramancer extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public Auramancer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/Auratog.java b/Mage.Sets/src/mage/cards/a/Auratog.java
index b72e921b6c3..8c67f220077 100644
--- a/Mage.Sets/src/mage/cards/a/Auratog.java
+++ b/Mage.Sets/src/mage/cards/a/Auratog.java
@@ -13,7 +13,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -25,7 +24,7 @@ public final class Auratog extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an enchantment");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public Auratog(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AuriokSiegeSled.java b/Mage.Sets/src/mage/cards/a/AuriokSiegeSled.java
index 4f14a80e95c..570f8f567c7 100644
--- a/Mage.Sets/src/mage/cards/a/AuriokSiegeSled.java
+++ b/Mage.Sets/src/mage/cards/a/AuriokSiegeSled.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -27,7 +26,7 @@ public final class AuriokSiegeSled extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public AuriokSiegeSled(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/AuriokTransfixer.java b/Mage.Sets/src/mage/cards/a/AuriokTransfixer.java
index b96ddd06ba3..f8c0cbd6b53 100644
--- a/Mage.Sets/src/mage/cards/a/AuriokTransfixer.java
+++ b/Mage.Sets/src/mage/cards/a/AuriokTransfixer.java
@@ -15,7 +15,6 @@ import mage.constants.ColoredManaSymbol;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -26,7 +25,7 @@ public final class AuriokTransfixer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public AuriokTransfixer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/a/Aurochs.java b/Mage.Sets/src/mage/cards/a/Aurochs.java
index ddd1acbe40a..4960ec3865d 100644
--- a/Mage.Sets/src/mage/cards/a/Aurochs.java
+++ b/Mage.Sets/src/mage/cards/a/Aurochs.java
@@ -40,7 +40,7 @@ public final class Aurochs extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Whenever Aurochs attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter1, 1);
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, StaticValue.get(0), Duration.EndOfTurn, true), false));
}
public Aurochs(final Aurochs card) {
diff --git a/Mage.Sets/src/mage/cards/a/AurochsHerd.java b/Mage.Sets/src/mage/cards/a/AurochsHerd.java
index 62223e8f2ef..3434b0ab193 100644
--- a/Mage.Sets/src/mage/cards/a/AurochsHerd.java
+++ b/Mage.Sets/src/mage/cards/a/AurochsHerd.java
@@ -49,7 +49,7 @@ public final class AurochsHerd extends CardImpl {
new TargetCardInLibrary(filter1), true), true));
// Whenever Aurochs Herd attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter2, 1);
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, StaticValue.get(0), Duration.EndOfTurn, true), false));
}
public AurochsHerd(final AurochsHerd card) {
diff --git a/Mage.Sets/src/mage/cards/a/AvidReclaimer.java b/Mage.Sets/src/mage/cards/a/AvidReclaimer.java
index 264808fd6c2..2839ebfefbb 100644
--- a/Mage.Sets/src/mage/cards/a/AvidReclaimer.java
+++ b/Mage.Sets/src/mage/cards/a/AvidReclaimer.java
@@ -14,7 +14,6 @@ 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;
/**
@@ -26,7 +25,7 @@ public final class AvidReclaimer extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.NISSA));
}
diff --git a/Mage.Sets/src/mage/cards/a/AvoidFate.java b/Mage.Sets/src/mage/cards/a/AvoidFate.java
index 2e8bd468318..19408aad753 100644
--- a/Mage.Sets/src/mage/cards/a/AvoidFate.java
+++ b/Mage.Sets/src/mage/cards/a/AvoidFate.java
@@ -9,7 +9,6 @@ import mage.constants.SubType;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.other.TargetsPermanentPredicate;
import mage.target.TargetSpell;
@@ -25,7 +24,7 @@ public final class AvoidFate extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant or Aura spell that targets a permanent you control");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new SubtypePredicate(SubType.AURA)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), new SubtypePredicate(SubType.AURA)));
filter.add(new TargetsPermanentPredicate(StaticFilters.FILTER_CONTROLLED_PERMANENT));
}
diff --git a/Mage.Sets/src/mage/cards/a/Awakening.java b/Mage.Sets/src/mage/cards/a/Awakening.java
index a8b1e2402c1..c05fc895ca2 100644
--- a/Mage.Sets/src/mage/cards/a/Awakening.java
+++ b/Mage.Sets/src/mage/cards/a/Awakening.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,8 +21,8 @@ public final class Awakening extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/a/AzcantaTheSunkenRuin.java b/Mage.Sets/src/mage/cards/a/AzcantaTheSunkenRuin.java
index a3161a53afa..c93cc1474e7 100644
--- a/Mage.Sets/src/mage/cards/a/AzcantaTheSunkenRuin.java
+++ b/Mage.Sets/src/mage/cards/a/AzcantaTheSunkenRuin.java
@@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -27,8 +26,8 @@ public final class AzcantaTheSunkenRuin extends CardImpl {
private static final FilterCard filter = new FilterCard("noncreature, nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public AzcantaTheSunkenRuin(UUID ownerId, CardSetInfo setInfo) {
@@ -48,7 +47,7 @@ public final class AzcantaTheSunkenRuin extends CardImpl {
Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(1),
+ StaticValue.get(4), false, StaticValue.get(1),
filter, Zone.LIBRARY, false, true, true
), new ManaCostsImpl<>("{2}{U}")
);
diff --git a/Mage.Sets/src/mage/cards/b/BalduvianRage.java b/Mage.Sets/src/mage/cards/b/BalduvianRage.java
index 9f3e910722f..0fe88f380d7 100644
--- a/Mage.Sets/src/mage/cards/b/BalduvianRage.java
+++ b/Mage.Sets/src/mage/cards/b/BalduvianRage.java
@@ -25,7 +25,7 @@ public final class BalduvianRage extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{X}{R}");
// Target attacking creature gets +X/+0 until end of turn.
- this.getSpellAbility().addEffect(new BoostTargetEffect(ManacostVariableValue.instance, new StaticValue(0), Duration.EndOfTurn));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterAttackingCreature()));
// Draw a card at the beginning of the next turn's upkeep.
diff --git a/Mage.Sets/src/mage/cards/b/BaneOfProgress.java b/Mage.Sets/src/mage/cards/b/BaneOfProgress.java
index 139737658c7..c6700c74c25 100644
--- a/Mage.Sets/src/mage/cards/b/BaneOfProgress.java
+++ b/Mage.Sets/src/mage/cards/b/BaneOfProgress.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -51,8 +50,8 @@ class BaneOfProgressEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent();
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public BaneOfProgressEffect() {
super(Outcome.DestroyPermanent);
diff --git a/Mage.Sets/src/mage/cards/b/BanishingStroke.java b/Mage.Sets/src/mage/cards/b/BanishingStroke.java
index 0516bc1a088..51cc066c887 100644
--- a/Mage.Sets/src/mage/cards/b/BanishingStroke.java
+++ b/Mage.Sets/src/mage/cards/b/BanishingStroke.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -23,9 +22,9 @@ public final class BanishingStroke extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public BanishingStroke(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BanishmentDecree.java b/Mage.Sets/src/mage/cards/b/BanishmentDecree.java
index 758ca2d66b6..e8cdf320706 100644
--- a/Mage.Sets/src/mage/cards/b/BanishmentDecree.java
+++ b/Mage.Sets/src/mage/cards/b/BanishmentDecree.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,9 +20,9 @@ public final class BanishmentDecree extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public BanishmentDecree (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BantCharm.java b/Mage.Sets/src/mage/cards/b/BantCharm.java
index 5948547aa9e..f91b7e08657 100644
--- a/Mage.Sets/src/mage/cards/b/BantCharm.java
+++ b/Mage.Sets/src/mage/cards/b/BantCharm.java
@@ -10,7 +10,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetArtifactPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -24,7 +23,7 @@ public final class BantCharm extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant spell");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public BantCharm(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BantPanorama.java b/Mage.Sets/src/mage/cards/b/BantPanorama.java
index 48782ef4a20..de6f85c665b 100644
--- a/Mage.Sets/src/mage/cards/b/BantPanorama.java
+++ b/Mage.Sets/src/mage/cards/b/BantPanorama.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -27,7 +26,7 @@ public final class BantPanorama extends CardImpl {
private static final FilterCard filter = new FilterCard("a basic Forest, Plains, or Island card");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SupertypePredicate(SuperType.BASIC));
filter.add(Predicates.or(
new SubtypePredicate(SubType.FOREST),
diff --git a/Mage.Sets/src/mage/cards/b/BaralChiefOfCompliance.java b/Mage.Sets/src/mage/cards/b/BaralChiefOfCompliance.java
index be53859f1a5..caa3333c544 100644
--- a/Mage.Sets/src/mage/cards/b/BaralChiefOfCompliance.java
+++ b/Mage.Sets/src/mage/cards/b/BaralChiefOfCompliance.java
@@ -14,7 +14,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -28,8 +27,8 @@ public final class BaralChiefOfCompliance extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/b/BaralsExpertise.java b/Mage.Sets/src/mage/cards/b/BaralsExpertise.java
index e1df8014b92..8e875526a12 100644
--- a/Mage.Sets/src/mage/cards/b/BaralsExpertise.java
+++ b/Mage.Sets/src/mage/cards/b/BaralsExpertise.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,8 +20,8 @@ public final class BaralsExpertise extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifacts and/or creatures");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public BaralsExpertise(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BarrageOgre.java b/Mage.Sets/src/mage/cards/b/BarrageOgre.java
index 6e8c295a002..69e058e6d8e 100644
--- a/Mage.Sets/src/mage/cards/b/BarrageOgre.java
+++ b/Mage.Sets/src/mage/cards/b/BarrageOgre.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetAnyTarget;
@@ -28,7 +27,7 @@ public final class BarrageOgre extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public BarrageOgre (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BarterInBlood.java b/Mage.Sets/src/mage/cards/b/BarterInBlood.java
index 13bd00dc58a..78dd07714c5 100644
--- a/Mage.Sets/src/mage/cards/b/BarterInBlood.java
+++ b/Mage.Sets/src/mage/cards/b/BarterInBlood.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -18,7 +17,7 @@ public final class BarterInBlood extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public BarterInBlood(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BazaarTrader.java b/Mage.Sets/src/mage/cards/b/BazaarTrader.java
index 11f36aef5e1..4a36535f588 100644
--- a/Mage.Sets/src/mage/cards/b/BazaarTrader.java
+++ b/Mage.Sets/src/mage/cards/b/BazaarTrader.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -30,9 +29,9 @@ public final class BazaarTrader extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public BazaarTrader(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BeaconOfUnrest.java b/Mage.Sets/src/mage/cards/b/BeaconOfUnrest.java
index b8b075fd4fb..061072d60e8 100644
--- a/Mage.Sets/src/mage/cards/b/BeaconOfUnrest.java
+++ b/Mage.Sets/src/mage/cards/b/BeaconOfUnrest.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.common.TargetCardInGraveyard;
@@ -22,8 +21,8 @@ public final class BeaconOfUnrest extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public BeaconOfUnrest(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BedeckBedazzle.java b/Mage.Sets/src/mage/cards/b/BedeckBedazzle.java
index 514dd6b598b..cecff56cfc4 100644
--- a/Mage.Sets/src/mage/cards/b/BedeckBedazzle.java
+++ b/Mage.Sets/src/mage/cards/b/BedeckBedazzle.java
@@ -75,7 +75,7 @@ class BedazzleEffect extends OneShotEffect {
if (permanent != null) {
permanent.destroy(source.getSourceId(), game, false);
}
- Effect effect = new DamageTargetEffect(new StaticValue(2), true, "", true);
+ Effect effect = new DamageTargetEffect(StaticValue.get(2), true, "", true);
effect.setTargetPointer(new FixedTarget(source.getTargets().get(1).getFirstTarget(), game));
effect.apply(game, source);
return true;
diff --git a/Mage.Sets/src/mage/cards/b/Bedevil.java b/Mage.Sets/src/mage/cards/b/Bedevil.java
index 83e93908106..aa22d239145 100644
--- a/Mage.Sets/src/mage/cards/b/Bedevil.java
+++ b/Mage.Sets/src/mage/cards/b/Bedevil.java
@@ -6,7 +6,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
@@ -20,9 +19,9 @@ public final class Bedevil extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/b/Befoul.java b/Mage.Sets/src/mage/cards/b/Befoul.java
index 2825bd82bf2..6da47503dd4 100644
--- a/Mage.Sets/src/mage/cards/b/Befoul.java
+++ b/Mage.Sets/src/mage/cards/b/Befoul.java
@@ -37,7 +37,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPermanent;
@@ -51,10 +50,10 @@ public final class Befoul extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
Predicates.and(
Predicates.not(new ColorPredicate(ObjectColor.BLACK)),
- new CardTypePredicate(CardType.CREATURE))));
+ CardType.CREATURE.getPredicate())));
}
public Befoul (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{B}{B}");
diff --git a/Mage.Sets/src/mage/cards/b/BellowingTanglewurm.java b/Mage.Sets/src/mage/cards/b/BellowingTanglewurm.java
index a800c02a9ee..e17114251cd 100644
--- a/Mage.Sets/src/mage/cards/b/BellowingTanglewurm.java
+++ b/Mage.Sets/src/mage/cards/b/BellowingTanglewurm.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -26,7 +25,7 @@ public final class BellowingTanglewurm extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("green creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ColorPredicate(ObjectColor.GREEN));
}
diff --git a/Mage.Sets/src/mage/cards/b/BelltowerSphinx.java b/Mage.Sets/src/mage/cards/b/BelltowerSphinx.java
index 832d83f0d6f..4ef63a42815 100644
--- a/Mage.Sets/src/mage/cards/b/BelltowerSphinx.java
+++ b/Mage.Sets/src/mage/cards/b/BelltowerSphinx.java
@@ -75,7 +75,7 @@ class BelltowerSphinxEffect extends TriggeredAbilityImpl {
Player player = game.getPlayer(controller);
if (player != null) {
getEffects().get(0).setTargetPointer(new FixedTarget(player.getId()));
- ((PutLibraryIntoGraveTargetEffect) getEffects().get(0)).setAmount(new StaticValue(event.getAmount()));
+ ((PutLibraryIntoGraveTargetEffect) getEffects().get(0)).setAmount(StaticValue.get(event.getAmount()));
return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/b/BelovedChaplain.java b/Mage.Sets/src/mage/cards/b/BelovedChaplain.java
index 44b0929a0d3..0c7e11c4479 100644
--- a/Mage.Sets/src/mage/cards/b/BelovedChaplain.java
+++ b/Mage.Sets/src/mage/cards/b/BelovedChaplain.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class BelovedChaplain extends CardImpl {
static final FilterCard filter = new FilterCard("creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public BelovedChaplain(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BenalishHonorGuard.java b/Mage.Sets/src/mage/cards/b/BenalishHonorGuard.java
index ed878bde48e..6cca792f358 100644
--- a/Mage.Sets/src/mage/cards/b/BenalishHonorGuard.java
+++ b/Mage.Sets/src/mage/cards/b/BenalishHonorGuard.java
@@ -39,7 +39,7 @@ public final class BenalishHonorGuard extends CardImpl {
// Benalish Honor Guard gets +1/+0 for each legendary creature you control.
PermanentsOnBattlefieldCount count = new PermanentsOnBattlefieldCount(filter);
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, StaticValue.get(0), Duration.WhileOnBattlefield)));
}
public BenalishHonorGuard(final BenalishHonorGuard card) {
diff --git a/Mage.Sets/src/mage/cards/b/Berserk.java b/Mage.Sets/src/mage/cards/b/Berserk.java
index cd620758c5a..2cb2a76011d 100644
--- a/Mage.Sets/src/mage/cards/b/Berserk.java
+++ b/Mage.Sets/src/mage/cards/b/Berserk.java
@@ -43,7 +43,7 @@ public final class Berserk extends CardImpl {
Effect effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn);
effect.setText("Target creature gains trample");
this.getSpellAbility().addEffect(effect);
- effect = new BoostTargetEffect(TargetPermanentPowerCount.instance, new StaticValue(0), Duration.EndOfTurn, true);
+ effect = new BoostTargetEffect(TargetPermanentPowerCount.instance, StaticValue.get(0), Duration.EndOfTurn, true);
effect.setText("and gets +X/+0 until end of turn, where X is its power");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addEffect(new BerserkDestroyEffect());
diff --git a/Mage.Sets/src/mage/cards/b/BirthingPod.java b/Mage.Sets/src/mage/cards/b/BirthingPod.java
index 76a8df1d7dc..3038b345faa 100644
--- a/Mage.Sets/src/mage/cards/b/BirthingPod.java
+++ b/Mage.Sets/src/mage/cards/b/BirthingPod.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -89,7 +88,7 @@ class BirthingPodEffect extends OneShotEffect {
int newConvertedCost = sacrificedPermanent.getConvertedManaCost() + 1;
FilterCard filter = new FilterCard("creature card with converted mana cost " + newConvertedCost);
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, newConvertedCost));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
TargetCardInLibrary target = new TargetCardInLibrary(filter);
if (controller.searchLibrary(target, source, game)) {
Card card = controller.getLibrary().getCard(target.getFirstTarget(), game);
diff --git a/Mage.Sets/src/mage/cards/b/BishopOfRebirth.java b/Mage.Sets/src/mage/cards/b/BishopOfRebirth.java
index 4d56af49f4f..bb6edd051b0 100644
--- a/Mage.Sets/src/mage/cards/b/BishopOfRebirth.java
+++ b/Mage.Sets/src/mage/cards/b/BishopOfRebirth.java
@@ -14,7 +14,6 @@ import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInYourGraveyard;
@@ -28,7 +27,7 @@ public final class BishopOfRebirth extends CardImpl {
static {
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public BishopOfRebirth(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BiteOfTheBlackRose.java b/Mage.Sets/src/mage/cards/b/BiteOfTheBlackRose.java
index 2eb7cef394e..e31af9ce411 100644
--- a/Mage.Sets/src/mage/cards/b/BiteOfTheBlackRose.java
+++ b/Mage.Sets/src/mage/cards/b/BiteOfTheBlackRose.java
@@ -78,7 +78,7 @@ class BiteOfTheBlackRoseEffect extends OneShotEffect {
ContinuousEffect effect = new BoostOpponentsEffect(-2, -2, Duration.EndOfTurn);
game.addEffect(effect, source);
} else {
- new DiscardEachPlayerEffect(new StaticValue(2), false, TargetController.OPPONENT).apply(game, source);
+ new DiscardEachPlayerEffect(StaticValue.get(2), false, TargetController.OPPONENT).apply(game, source);
}
return true;
}
diff --git a/Mage.Sets/src/mage/cards/b/BitterRevelation.java b/Mage.Sets/src/mage/cards/b/BitterRevelation.java
index fed897d761d..2787c1c3fa4 100644
--- a/Mage.Sets/src/mage/cards/b/BitterRevelation.java
+++ b/Mage.Sets/src/mage/cards/b/BitterRevelation.java
@@ -20,7 +20,7 @@ public final class BitterRevelation extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}");
// Look at the top four cards of your library. Put two of them into your hand and the rest into your graveyard. You lose 2 life.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(2),
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(2),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2));
}
diff --git a/Mage.Sets/src/mage/cards/b/BladeSplicer.java b/Mage.Sets/src/mage/cards/b/BladeSplicer.java
index 9d1b4ae502d..0e64d95264a 100644
--- a/Mage.Sets/src/mage/cards/b/BladeSplicer.java
+++ b/Mage.Sets/src/mage/cards/b/BladeSplicer.java
@@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.permanent.token.GolemToken;
@@ -28,7 +27,7 @@ public final class BladeSplicer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Golem creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SubtypePredicate(SubType.GOLEM));
}
diff --git a/Mage.Sets/src/mage/cards/b/BlazingShoal.java b/Mage.Sets/src/mage/cards/b/BlazingShoal.java
index 9f6238b97e4..ddf99ccecfe 100644
--- a/Mage.Sets/src/mage/cards/b/BlazingShoal.java
+++ b/Mage.Sets/src/mage/cards/b/BlazingShoal.java
@@ -38,7 +38,7 @@ public final class BlazingShoal extends CardImpl {
this.addAbility(new AlternativeCostSourceAbility(new ExileFromHandCost(new TargetCardInHand(filter),true)));
// Target creature gets +X/+0 until end of turn.
- this.getSpellAbility().addEffect(new BoostTargetEffect(ExileFromHandCostCardConvertedMana.instance, new StaticValue(0), Duration.EndOfTurn));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(ExileFromHandCostCardConvertedMana.instance, StaticValue.get(0), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/b/BlessedLight.java b/Mage.Sets/src/mage/cards/b/BlessedLight.java
index d1492f6aa25..9a50b01ef6d 100644
--- a/Mage.Sets/src/mage/cards/b/BlessedLight.java
+++ b/Mage.Sets/src/mage/cards/b/BlessedLight.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -20,7 +19,7 @@ public final class BlessedLight extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or enchantment");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public BlessedLight(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BlessedSpirits.java b/Mage.Sets/src/mage/cards/b/BlessedSpirits.java
index 63a4567a509..356f4b808a3 100644
--- a/Mage.Sets/src/mage/cards/b/BlessedSpirits.java
+++ b/Mage.Sets/src/mage/cards/b/BlessedSpirits.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class BlessedSpirits extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public BlessedSpirits(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/Blightcaster.java b/Mage.Sets/src/mage/cards/b/Blightcaster.java
index 499d3298e34..589a868ef13 100644
--- a/Mage.Sets/src/mage/cards/b/Blightcaster.java
+++ b/Mage.Sets/src/mage/cards/b/Blightcaster.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -24,7 +23,7 @@ public final class Blightcaster extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public Blightcaster(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BlinkmothWell.java b/Mage.Sets/src/mage/cards/b/BlinkmothWell.java
index 11d3ddfc361..9ef98c9af48 100644
--- a/Mage.Sets/src/mage/cards/b/BlinkmothWell.java
+++ b/Mage.Sets/src/mage/cards/b/BlinkmothWell.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -26,7 +25,7 @@ public final class BlinkmothWell extends CardImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("noncreature artifact");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public BlinkmothWell(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BloodAspirant.java b/Mage.Sets/src/mage/cards/b/BloodAspirant.java
index 7656ea802e4..e28a8813539 100644
--- a/Mage.Sets/src/mage/cards/b/BloodAspirant.java
+++ b/Mage.Sets/src/mage/cards/b/BloodAspirant.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.target.common.TargetControlledPermanent;
@@ -35,8 +34,8 @@ public final class BloodAspirant extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/b/BloodFunnel.java b/Mage.Sets/src/mage/cards/b/BloodFunnel.java
index 870bba1ef9f..ace0e4857e8 100644
--- a/Mage.Sets/src/mage/cards/b/BloodFunnel.java
+++ b/Mage.Sets/src/mage/cards/b/BloodFunnel.java
@@ -16,7 +16,6 @@ import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
@@ -29,8 +28,8 @@ public final class BloodFunnel extends CardImpl {
private static final FilterSpell filterNoncreature = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filterNoncreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filterNoncreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public BloodFunnel(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BloodLust.java b/Mage.Sets/src/mage/cards/b/BloodLust.java
index c9ac2e00707..4f3cc6291b4 100644
--- a/Mage.Sets/src/mage/cards/b/BloodLust.java
+++ b/Mage.Sets/src/mage/cards/b/BloodLust.java
@@ -39,7 +39,7 @@ public final class BloodLust extends CardImpl {
// If target creature has toughness 5 or greater, it gets +4/-4 until end of turn. Otherwise, it gets +4/-X until end of turn, where X is its toughness minus 1.
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(
new BoostTargetEffect(4, -4, Duration.EndOfTurn),
- new BoostTargetEffect(new StaticValue(4), new SignInversionDynamicValue(TargetPermanentToughnessMinus1Value.instance), Duration.WhileOnBattlefield),
+ new BoostTargetEffect(StaticValue.get(4), new SignInversionDynamicValue(TargetPermanentToughnessMinus1Value.instance), Duration.WhileOnBattlefield),
new TargetMatchesFilterCondition(filter),
"If target creature has toughness 5 or greater, it gets +4/-4 until end of turn. Otherwise, it gets +4/-X until end of turn, where X is its toughness minus 1"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/b/BloodcurdlingScream.java b/Mage.Sets/src/mage/cards/b/BloodcurdlingScream.java
index 50d803fc36c..0a5c9f99fc9 100644
--- a/Mage.Sets/src/mage/cards/b/BloodcurdlingScream.java
+++ b/Mage.Sets/src/mage/cards/b/BloodcurdlingScream.java
@@ -21,7 +21,7 @@ public final class BloodcurdlingScream extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{B}");
// Target creature gets +X/+0 until end of turn.
- this.getSpellAbility().addEffect(new BoostTargetEffect(ExileFromHandCostCardConvertedMana.instance, new StaticValue(0), Duration.EndOfTurn));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(ExileFromHandCostCardConvertedMana.instance, StaticValue.get(0), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/b/BloodlordOfVaasgoth.java b/Mage.Sets/src/mage/cards/b/BloodlordOfVaasgoth.java
index 5e951498c36..5b539535708 100644
--- a/Mage.Sets/src/mage/cards/b/BloodlordOfVaasgoth.java
+++ b/Mage.Sets/src/mage/cards/b/BloodlordOfVaasgoth.java
@@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -27,7 +26,7 @@ public final class BloodlordOfVaasgoth extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a Vampire creature spell");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SubtypePredicate(SubType.VAMPIRE));
}
diff --git a/Mage.Sets/src/mage/cards/b/BloodwaterEntity.java b/Mage.Sets/src/mage/cards/b/BloodwaterEntity.java
index 5f7df86e8d2..417d75dc1b5 100644
--- a/Mage.Sets/src/mage/cards/b/BloodwaterEntity.java
+++ b/Mage.Sets/src/mage/cards/b/BloodwaterEntity.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import java.util.UUID;
@@ -29,8 +28,8 @@ public final class BloodwaterEntity extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public BloodwaterEntity(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BludgeonBrawl.java b/Mage.Sets/src/mage/cards/b/BludgeonBrawl.java
index 5bc965bbccd..c5ded3194b0 100644
--- a/Mage.Sets/src/mage/cards/b/BludgeonBrawl.java
+++ b/Mage.Sets/src/mage/cards/b/BludgeonBrawl.java
@@ -17,7 +17,6 @@ import mage.cards.CardsImpl;
import mage.constants.*;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -80,7 +79,7 @@ class BludgeonBrawlAddSubtypeEffect extends ContinuousEffectImpl {
@Override
public boolean apply(Game game, Ability source) {
FilterArtifactPermanent filter = new FilterArtifactPermanent("noncreature, non-Equipment artifact");
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
filter.add(Predicates.not(new SubtypePredicate(SubType.EQUIPMENT)));
Cards affectedPermanents = new CardsImpl();
diff --git a/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java b/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java
index cebfdf8ec6f..bee629017e7 100644
--- a/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java
+++ b/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java
@@ -28,7 +28,7 @@ public final class BoardTheWeatherlight extends CardImpl {
// Look at the top five cards of your library. You may reveal a historic card from among them and put it into your hand. Put the rest on the bottom of your library in random order.
this.getSpellAbility().addEffect(
new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter,
+ StaticValue.get(5), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false)
.setBackInRandomOrder(true)
.setText("Look at the top five cards of your library. You may reveal a historic card from among them"
diff --git a/Mage.Sets/src/mage/cards/b/BolassCitadel.java b/Mage.Sets/src/mage/cards/b/BolassCitadel.java
index f7b9fa3b549..bf220306bab 100644
--- a/Mage.Sets/src/mage/cards/b/BolassCitadel.java
+++ b/Mage.Sets/src/mage/cards/b/BolassCitadel.java
@@ -18,7 +18,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetControlledPermanent;
@@ -34,7 +33,7 @@ public final class BolassCitadel extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("nonland permanents");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public BolassCitadel(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BondOfFlourishing.java b/Mage.Sets/src/mage/cards/b/BondOfFlourishing.java
index bba9076cfed..840a0fe5767 100644
--- a/Mage.Sets/src/mage/cards/b/BondOfFlourishing.java
+++ b/Mage.Sets/src/mage/cards/b/BondOfFlourishing.java
@@ -23,8 +23,8 @@ public final class BondOfFlourishing extends CardImpl {
// Look at the top three card of your library. You may reveal a permanent card from among them and put it into your hand. Put the rest on the bottom of your library in any order. You gain 3 life.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(3), false,
- new StaticValue(1), filter, false
+ StaticValue.get(3), false,
+ StaticValue.get(1), filter, false
));
this.getSpellAbility().addEffect(new GainLifeEffect(3).setText("You gain 3 life."));
}
diff --git a/Mage.Sets/src/mage/cards/b/BoneMiser.java b/Mage.Sets/src/mage/cards/b/BoneMiser.java
index 3ff1558dd46..28d2110d49d 100644
--- a/Mage.Sets/src/mage/cards/b/BoneMiser.java
+++ b/Mage.Sets/src/mage/cards/b/BoneMiser.java
@@ -14,7 +14,6 @@ import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.common.FilterNonlandCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.ZombieToken;
import java.util.UUID;
@@ -27,7 +26,7 @@ public final class BoneMiser extends CardImpl {
private static final FilterCard filter = new FilterNonlandCard("a noncreature, nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public BoneMiser(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BoneShredder.java b/Mage.Sets/src/mage/cards/b/BoneShredder.java
index 9cd0d3944dc..6249a8b1cee 100644
--- a/Mage.Sets/src/mage/cards/b/BoneShredder.java
+++ b/Mage.Sets/src/mage/cards/b/BoneShredder.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
@@ -29,7 +28,7 @@ public final class BoneShredder extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact, nonblack creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/b/BontusMonument.java b/Mage.Sets/src/mage/cards/b/BontusMonument.java
index 0f0d86d81bd..1b369493c76 100644
--- a/Mage.Sets/src/mage/cards/b/BontusMonument.java
+++ b/Mage.Sets/src/mage/cards/b/BontusMonument.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import static mage.filter.StaticFilters.FILTER_SPELL_A_CREATURE;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -30,7 +29,7 @@ public final class BontusMonument extends CardImpl {
private static final FilterCard filter = new FilterCard("black creature spells");
static {
- filter.add(Predicates.and(new ColorPredicate(ObjectColor.BLACK), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.and(new ColorPredicate(ObjectColor.BLACK), CardType.CREATURE.getPredicate()));
}
public BontusMonument(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BoonweaverGiant.java b/Mage.Sets/src/mage/cards/b/BoonweaverGiant.java
index 944c751ba41..d678837fa9d 100644
--- a/Mage.Sets/src/mage/cards/b/BoonweaverGiant.java
+++ b/Mage.Sets/src/mage/cards/b/BoonweaverGiant.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -76,7 +75,7 @@ class BoonweaverGiantEffect extends OneShotEffect {
}
FilterCard filter = new FilterCard("Aura card");
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter.add(new SubtypePredicate(SubType.AURA));
Card card = null;
diff --git a/Mage.Sets/src/mage/cards/b/BountyAgent.java b/Mage.Sets/src/mage/cards/b/BountyAgent.java
index 515c7930401..28df060c844 100644
--- a/Mage.Sets/src/mage/cards/b/BountyAgent.java
+++ b/Mage.Sets/src/mage/cards/b/BountyAgent.java
@@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.TargetPermanent;
@@ -31,9 +30,9 @@ public final class BountyAgent extends CardImpl {
static {
filter.add(new SupertypePredicate(SuperType.LEGENDARY));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/b/BragoKingEternal.java b/Mage.Sets/src/mage/cards/b/BragoKingEternal.java
index ce1353d4d0e..d8038393f9a 100644
--- a/Mage.Sets/src/mage/cards/b/BragoKingEternal.java
+++ b/Mage.Sets/src/mage/cards/b/BragoKingEternal.java
@@ -15,7 +15,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
@@ -40,7 +39,7 @@ public final class BragoKingEternal extends CardImpl {
effect.setText("exile any number of target nonland permanents you control");
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false);
FilterControlledPermanent filterControlledNonlandPermanent = new FilterControlledPermanent();
- filterControlledNonlandPermanent.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filterControlledNonlandPermanent.add(Predicates.not(CardType.LAND.getPredicate()));
ability.addTarget(new TargetControlledPermanent(0, Integer.MAX_VALUE, filterControlledNonlandPermanent, false));
ability.addEffect(new ReturnFromExileEffect(this.getId(), Zone.BATTLEFIELD, ", then return those cards to the battlefield under their owner's control"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java b/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java
index 271de1ce81c..ba19f526c94 100644
--- a/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java
+++ b/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -22,9 +21,9 @@ public final class BraidsCabalMinion extends CardImpl {
static final FilterPermanent filter = new FilterPermanent("an artifact, creature, or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public BraidsCabalMinion(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BraidsConjurerAdept.java b/Mage.Sets/src/mage/cards/b/BraidsConjurerAdept.java
index a9ea93a1bb8..d0417bf6b99 100644
--- a/Mage.Sets/src/mage/cards/b/BraidsConjurerAdept.java
+++ b/Mage.Sets/src/mage/cards/b/BraidsConjurerAdept.java
@@ -13,7 +13,6 @@ import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -25,9 +24,9 @@ public final class BraidsConjurerAdept extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public BraidsConjurerAdept(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/Bramblecrush.java b/Mage.Sets/src/mage/cards/b/Bramblecrush.java
index 97cf952639a..fa918948559 100644
--- a/Mage.Sets/src/mage/cards/b/Bramblecrush.java
+++ b/Mage.Sets/src/mage/cards/b/Bramblecrush.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -20,7 +19,7 @@ public final class Bramblecrush extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Bramblecrush(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/Brawn.java b/Mage.Sets/src/mage/cards/b/Brawn.java
index 6dbc1ba8876..fd9124748d6 100644
--- a/Mage.Sets/src/mage/cards/b/Brawn.java
+++ b/Mage.Sets/src/mage/cards/b/Brawn.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -31,7 +30,7 @@ public final class Brawn extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Forest");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SubtypePredicate(SubType.FOREST));
}
diff --git a/Mage.Sets/src/mage/cards/b/Brightflame.java b/Mage.Sets/src/mage/cards/b/Brightflame.java
index 54f8ab2edf0..2e4af587d9a 100644
--- a/Mage.Sets/src/mage/cards/b/Brightflame.java
+++ b/Mage.Sets/src/mage/cards/b/Brightflame.java
@@ -13,7 +13,6 @@ import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -50,7 +49,7 @@ class BrightflameEffect extends OneShotEffect {
protected DynamicValue amount;
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
BrightflameEffect(DynamicValue amount) {
diff --git a/Mage.Sets/src/mage/cards/b/BrineGiant.java b/Mage.Sets/src/mage/cards/b/BrineGiant.java
index 93cb910b15b..09942e2ab33 100644
--- a/Mage.Sets/src/mage/cards/b/BrineGiant.java
+++ b/Mage.Sets/src/mage/cards/b/BrineGiant.java
@@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.util.CardUtil;
@@ -53,7 +52,7 @@ class BrineGiantCostReductionEffect extends CostModificationEffectImpl {
static final FilterControlledPermanent filter = new FilterControlledPermanent();
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
BrineGiantCostReductionEffect() {
diff --git a/Mage.Sets/src/mage/cards/b/BringToLight.java b/Mage.Sets/src/mage/cards/b/BringToLight.java
index de4435c5e68..a27b620e448 100644
--- a/Mage.Sets/src/mage/cards/b/BringToLight.java
+++ b/Mage.Sets/src/mage/cards/b/BringToLight.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -70,8 +69,8 @@ class BringToLightEffect extends OneShotEffect {
if (controller != null) {
int numberColors = ColorsOfManaSpentToCastCount.getInstance().calculate(game, source, this);
FilterCard filter = new FilterCard();
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, numberColors + 1));
TargetCardInLibrary target = new TargetCardInLibrary(filter);
controller.searchLibrary(target, source, game);
diff --git a/Mage.Sets/src/mage/cards/b/BrinkOfDisaster.java b/Mage.Sets/src/mage/cards/b/BrinkOfDisaster.java
index 877ecd7669c..557992e4de5 100644
--- a/Mage.Sets/src/mage/cards/b/BrinkOfDisaster.java
+++ b/Mage.Sets/src/mage/cards/b/BrinkOfDisaster.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -27,8 +26,8 @@ public final class BrinkOfDisaster extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public BrinkOfDisaster(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BrokenVisage.java b/Mage.Sets/src/mage/cards/b/BrokenVisage.java
index 495b05ec36f..3505018f22a 100644
--- a/Mage.Sets/src/mage/cards/b/BrokenVisage.java
+++ b/Mage.Sets/src/mage/cards/b/BrokenVisage.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AttackingPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -30,7 +29,7 @@ public final class BrokenVisage extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact attacking creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(AttackingPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/b/Broodstar.java b/Mage.Sets/src/mage/cards/b/Broodstar.java
index 139daa6efce..3e723360c3d 100644
--- a/Mage.Sets/src/mage/cards/b/Broodstar.java
+++ b/Mage.Sets/src/mage/cards/b/Broodstar.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -25,7 +24,7 @@ public final class Broodstar extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifacts you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Broodstar(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 09cb8438e25..59e9d0f8fc9 100644
--- a/Mage.Sets/src/mage/cards/b/BrunaLightOfAlabaster.java
+++ b/Mage.Sets/src/mage/cards/b/BrunaLightOfAlabaster.java
@@ -18,7 +18,6 @@ import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardIdPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.other.AuraCardCanAttachToPermanentId;
import mage.filter.predicate.other.AuraPermanentCanAttachToPermanentId;
@@ -83,10 +82,10 @@ class BrunaLightOfAlabasterEffect extends OneShotEffect {
FilterPermanent filterAura = new FilterPermanent("Aura");
FilterCard filterAuraCard = new FilterCard("Aura card");
- filterAura.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterAura.add(CardType.ENCHANTMENT.getPredicate());
filterAura.add(new SubtypePredicate(SubType.AURA));
filterAura.add(new AuraPermanentCanAttachToPermanentId(bruna));
- filterAuraCard.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterAuraCard.add(CardType.ENCHANTMENT.getPredicate());
filterAuraCard.add(new SubtypePredicate(SubType.AURA));
filterAuraCard.add(new AuraCardCanAttachToPermanentId(bruna));
diff --git a/Mage.Sets/src/mage/cards/b/BrunaTheFadingLight.java b/Mage.Sets/src/mage/cards/b/BrunaTheFadingLight.java
index 20aeab56d26..81415d2ede5 100644
--- a/Mage.Sets/src/mage/cards/b/BrunaTheFadingLight.java
+++ b/Mage.Sets/src/mage/cards/b/BrunaTheFadingLight.java
@@ -19,7 +19,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
@@ -32,7 +31,7 @@ public final class BrunaTheFadingLight extends CardImpl {
private static final FilterCard filter = new FilterCard("Angel or Human creature card");
static {
- filter.add(Predicates.and(new CardTypePredicate(CardType.CREATURE),
+ filter.add(Predicates.and(CardType.CREATURE.getPredicate(),
(Predicates.or(new SubtypePredicate(SubType.HUMAN),
(new SubtypePredicate(SubType.ANGEL))))));
}
diff --git a/Mage.Sets/src/mage/cards/b/BrutalSuppression.java b/Mage.Sets/src/mage/cards/b/BrutalSuppression.java
index 0d332368773..28b668cfad2 100644
--- a/Mage.Sets/src/mage/cards/b/BrutalSuppression.java
+++ b/Mage.Sets/src/mage/cards/b/BrutalSuppression.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@@ -52,7 +51,7 @@ class BrutalSuppressionAdditionalCostEffect extends CostModificationEffectImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a land");
static{
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
private static final FilterPermanent filter2 = new FilterPermanent("nontoken Rebels");
diff --git a/Mage.Sets/src/mage/cards/b/BrutalizerExarch.java b/Mage.Sets/src/mage/cards/b/BrutalizerExarch.java
index 39e2f957b2e..de15f1581de 100644
--- a/Mage.Sets/src/mage/cards/b/BrutalizerExarch.java
+++ b/Mage.Sets/src/mage/cards/b/BrutalizerExarch.java
@@ -17,7 +17,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -33,7 +32,7 @@ public final class BrutalizerExarch extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public BrutalizerExarch(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BullAurochs.java b/Mage.Sets/src/mage/cards/b/BullAurochs.java
index 7da88699f1b..9fe75590ccf 100644
--- a/Mage.Sets/src/mage/cards/b/BullAurochs.java
+++ b/Mage.Sets/src/mage/cards/b/BullAurochs.java
@@ -40,7 +40,7 @@ public final class BullAurochs extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Whenever Bull Aurochs attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 1);
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, StaticValue.get(0), Duration.EndOfTurn, true), false));
}
public BullAurochs(final BullAurochs card) {
diff --git a/Mage.Sets/src/mage/cards/b/BurglarRat.java b/Mage.Sets/src/mage/cards/b/BurglarRat.java
index f6efa16d72a..3663dcf96e8 100644
--- a/Mage.Sets/src/mage/cards/b/BurglarRat.java
+++ b/Mage.Sets/src/mage/cards/b/BurglarRat.java
@@ -27,7 +27,7 @@ public final class BurglarRat extends CardImpl {
// When Burglar Rat enters the battlefield, each opponent discards a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(
new DiscardEachPlayerEffect(
- new StaticValue(1), false,
+ StaticValue.get(1), false,
TargetController.OPPONENT
)
));
diff --git a/Mage.Sets/src/mage/cards/b/BurningTreeShaman.java b/Mage.Sets/src/mage/cards/b/BurningTreeShaman.java
index 18b29ddd9b7..4ea90941b3f 100644
--- a/Mage.Sets/src/mage/cards/b/BurningTreeShaman.java
+++ b/Mage.Sets/src/mage/cards/b/BurningTreeShaman.java
@@ -48,7 +48,7 @@ public final class BurningTreeShaman extends CardImpl {
class BurningTreeShamanTriggeredAbility extends TriggeredAbilityImpl {
BurningTreeShamanTriggeredAbility() {
- super(Zone.BATTLEFIELD, new DamageTargetEffect(new StaticValue(1), true, "that player", true));
+ super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(1), true, "that player", true));
}
BurningTreeShamanTriggeredAbility(final BurningTreeShamanTriggeredAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/b/BurningWish.java b/Mage.Sets/src/mage/cards/b/BurningWish.java
index 2567fcfc380..cd869777ba6 100644
--- a/Mage.Sets/src/mage/cards/b/BurningWish.java
+++ b/Mage.Sets/src/mage/cards/b/BurningWish.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public final class BurningWish extends CardImpl {
private static final FilterCard filter = new FilterCard("a sorcery card");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public BurningWish(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/Burnout.java b/Mage.Sets/src/mage/cards/b/Burnout.java
index e0636800409..8b39366d126 100644
--- a/Mage.Sets/src/mage/cards/b/Burnout.java
+++ b/Mage.Sets/src/mage/cards/b/Burnout.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.stack.Spell;
import mage.target.TargetSpell;
@@ -28,7 +27,7 @@ public final class Burnout extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant spell");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public Burnout(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/b/BygoneBishop.java b/Mage.Sets/src/mage/cards/b/BygoneBishop.java
index 923e17ddc85..caf297b46ae 100644
--- a/Mage.Sets/src/mage/cards/b/BygoneBishop.java
+++ b/Mage.Sets/src/mage/cards/b/BygoneBishop.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
/**
@@ -24,7 +23,7 @@ public final class BygoneBishop extends CardImpl {
private static final FilterSpell filterSpell = new FilterSpell("a creature spell with converted mana cost 3 or less");
static {
- filterSpell.add(new CardTypePredicate(CardType.CREATURE));
+ filterSpell.add(CardType.CREATURE.getPredicate());
filterSpell.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/cards/c/CabalPaladin.java b/Mage.Sets/src/mage/cards/c/CabalPaladin.java
index 27fcd64de78..e68cdcdf4e1 100644
--- a/Mage.Sets/src/mage/cards/c/CabalPaladin.java
+++ b/Mage.Sets/src/mage/cards/c/CabalPaladin.java
@@ -30,7 +30,7 @@ public final class CabalPaladin extends CardImpl {
// Whenever you cast a historic spell, Cabal Paladin deals 2 damage to each opponent.
this.addAbility(new SpellCastControllerTriggeredAbility(
- new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT)
+ new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT)
.setText("{this} deals 2 damage to each opponent. (Artifacts, legendaries, and Sagas are historic.)"),
new FilterHistoricSpell("a historic spell"), false
));
diff --git a/Mage.Sets/src/mage/cards/c/CacklingWitch.java b/Mage.Sets/src/mage/cards/c/CacklingWitch.java
index 37f93e1542a..efd5f51c737 100644
--- a/Mage.Sets/src/mage/cards/c/CacklingWitch.java
+++ b/Mage.Sets/src/mage/cards/c/CacklingWitch.java
@@ -35,7 +35,7 @@ public final class CacklingWitch extends CardImpl {
// {X}{B}, {tap}, Discard a card: Target creature gets +X/+0 until end of turn.
ManacostVariableValue manaX = ManacostVariableValue.instance;
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new BoostTargetEffect(manaX, new StaticValue(0), Duration.EndOfTurn),
+ new BoostTargetEffect(manaX, StaticValue.get(0), Duration.EndOfTurn),
new ManaCostsImpl("{X}{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
diff --git a/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java b/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java
index 1ecf21e9cc0..8d57cd27aa0 100644
--- a/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java
+++ b/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java
@@ -34,7 +34,7 @@ public final class CaligoSkinWitch extends CardImpl {
// When Caligo Skin-Witch enters the battlefield, if it was kicked, each opponent discards two cards.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(
- new StaticValue(2),
+ StaticValue.get(2),
false,
TargetController.OPPONENT
)),
diff --git a/Mage.Sets/src/mage/cards/c/CalmingVerse.java b/Mage.Sets/src/mage/cards/c/CalmingVerse.java
index 08a66a28efc..3c74e14024e 100644
--- a/Mage.Sets/src/mage/cards/c/CalmingVerse.java
+++ b/Mage.Sets/src/mage/cards/c/CalmingVerse.java
@@ -13,7 +13,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledEnchantmentPermanent;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game;
@@ -49,7 +48,7 @@ class CalmingVerseEffect extends OneShotEffect {
private static final FilterPermanent untappedLandFilter = new FilterPermanent("If you control an untapped land");
static {
- untappedLandFilter.add(new CardTypePredicate(CardType.LAND));
+ untappedLandFilter.add(CardType.LAND.getPredicate());
untappedLandFilter.add(Predicates.not(TappedPredicate.instance));
}
diff --git a/Mage.Sets/src/mage/cards/c/CantinaBand.java b/Mage.Sets/src/mage/cards/c/CantinaBand.java
index fb70df4f96f..398c9ce5eec 100644
--- a/Mage.Sets/src/mage/cards/c/CantinaBand.java
+++ b/Mage.Sets/src/mage/cards/c/CantinaBand.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -27,7 +26,7 @@ public final class CantinaBand extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public CantinaBand(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/Cantivore.java b/Mage.Sets/src/mage/cards/c/Cantivore.java
index 6fcceed4288..22fae9fd5f7 100644
--- a/Mage.Sets/src/mage/cards/c/Cantivore.java
+++ b/Mage.Sets/src/mage/cards/c/Cantivore.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,7 +25,7 @@ public final class Cantivore extends CardImpl {
static final FilterCard filter = new FilterCard("enchantment cards");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public Cantivore(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CapitalPunishment.java b/Mage.Sets/src/mage/cards/c/CapitalPunishment.java
index 12d184d2828..9974a47e667 100644
--- a/Mage.Sets/src/mage/cards/c/CapitalPunishment.java
+++ b/Mage.Sets/src/mage/cards/c/CapitalPunishment.java
@@ -69,7 +69,7 @@ class CapitalPunishmentDilemmaEffect extends CouncilsDilemmaVoteEffect {
//Taxes Votes
if (voteTwoCount > 0) {
- Effect discardEffect = new DiscardEachPlayerEffect(new StaticValue(voteTwoCount), false, TargetController.OPPONENT);
+ Effect discardEffect = new DiscardEachPlayerEffect(StaticValue.get(voteTwoCount), false, TargetController.OPPONENT);
discardEffect.apply(game, source);
}
diff --git a/Mage.Sets/src/mage/cards/c/CarpetOfFlowers.java b/Mage.Sets/src/mage/cards/c/CarpetOfFlowers.java
index 7ded0c7a72b..08544531f05 100644
--- a/Mage.Sets/src/mage/cards/c/CarpetOfFlowers.java
+++ b/Mage.Sets/src/mage/cards/c/CarpetOfFlowers.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -117,7 +116,7 @@ class CarpetOfFlowersEffect extends ManaEffect {
static {
filter.add(new SubtypePredicate(SubType.ISLAND));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
CarpetOfFlowersEffect() {
diff --git a/Mage.Sets/src/mage/cards/c/CastThroughTime.java b/Mage.Sets/src/mage/cards/c/CastThroughTime.java
index 57ed244204e..1693ae89d58 100644
--- a/Mage.Sets/src/mage/cards/c/CastThroughTime.java
+++ b/Mage.Sets/src/mage/cards/c/CastThroughTime.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
@@ -27,7 +26,7 @@ public final class CastThroughTime extends CardImpl {
protected static final FilterCard filter = new FilterCard("Instant and sorcery spells you control");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public CastThroughTime(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java b/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java
index 0a1669bf3d6..2c76cf9d580 100644
--- a/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java
+++ b/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java
@@ -20,7 +20,6 @@ import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledEnchantmentPermanent;
import mage.filter.common.FilterControlledPlaneswalkerPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -66,17 +65,17 @@ class CataclysmicGearhulkEffect extends OneShotEffect {
static {
filterArtifact.add(Predicates.and(
- new CardTypePredicate(CardType.ARTIFACT),
- Predicates.not(new CardTypePredicate(CardType.LAND))));
+ CardType.ARTIFACT.getPredicate(),
+ Predicates.not(CardType.LAND.getPredicate())));
filterCreature.add(Predicates.and(
- new CardTypePredicate(CardType.CREATURE),
- Predicates.not(new CardTypePredicate(CardType.LAND))));
+ CardType.CREATURE.getPredicate(),
+ Predicates.not(CardType.LAND.getPredicate())));
filterEnchantment.add(Predicates.and(
- new CardTypePredicate(CardType.ENCHANTMENT),
- Predicates.not(new CardTypePredicate(CardType.LAND))));
+ CardType.ENCHANTMENT.getPredicate(),
+ Predicates.not(CardType.LAND.getPredicate())));
filterPlaneswalker.add(Predicates.and(
- new CardTypePredicate(CardType.PLANESWALKER),
- Predicates.not(new CardTypePredicate(CardType.LAND))));
+ CardType.PLANESWALKER.getPredicate(),
+ Predicates.not(CardType.LAND.getPredicate())));
}
public CataclysmicGearhulkEffect() {
diff --git a/Mage.Sets/src/mage/cards/c/CatacombDragon.java b/Mage.Sets/src/mage/cards/c/CatacombDragon.java
index c76e5deda04..df2ca191d16 100644
--- a/Mage.Sets/src/mage/cards/c/CatacombDragon.java
+++ b/Mage.Sets/src/mage/cards/c/CatacombDragon.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -29,7 +28,7 @@ public final class CatacombDragon extends CardImpl {
= new FilterCreaturePermanent("a nonartifact, non-Dragon creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(Predicates.not(new SubtypePredicate(SubType.DRAGON)));
}
diff --git a/Mage.Sets/src/mage/cards/c/CatharsCompanion.java b/Mage.Sets/src/mage/cards/c/CatharsCompanion.java
index e123d5473fc..d26614f24ff 100644
--- a/Mage.Sets/src/mage/cards/c/CatharsCompanion.java
+++ b/Mage.Sets/src/mage/cards/c/CatharsCompanion.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class CatharsCompanion extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public CatharsCompanion(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CausticWasps.java b/Mage.Sets/src/mage/cards/c/CausticWasps.java
index 13d43f4340f..2792391cf63 100644
--- a/Mage.Sets/src/mage/cards/c/CausticWasps.java
+++ b/Mage.Sets/src/mage/cards/c/CausticWasps.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
@@ -76,7 +75,7 @@ class CausticWaspsTriggeredAbility extends TriggeredAbilityImpl {
Player player = game.getPlayer(event.getTargetId());
if (player != null) {
FilterPermanent filter = new FilterPermanent("an artifact controlled by " + player.getLogName());
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ControllerIdPredicate(event.getTargetId()));
this.getTargets().clear();
diff --git a/Mage.Sets/src/mage/cards/c/CelestialAncient.java b/Mage.Sets/src/mage/cards/c/CelestialAncient.java
index d45d41fc98e..69ed31174bb 100644
--- a/Mage.Sets/src/mage/cards/c/CelestialAncient.java
+++ b/Mage.Sets/src/mage/cards/c/CelestialAncient.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class CelestialAncient extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public CelestialAncient(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}");
diff --git a/Mage.Sets/src/mage/cards/c/CentaurOmenreader.java b/Mage.Sets/src/mage/cards/c/CentaurOmenreader.java
index 3d818cfa083..35de3d2a465 100644
--- a/Mage.Sets/src/mage/cards/c/CentaurOmenreader.java
+++ b/Mage.Sets/src/mage/cards/c/CentaurOmenreader.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -26,7 +25,7 @@ public final class CentaurOmenreader extends CardImpl {
private static final FilterCard filter = new FilterCard("creature spells");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public CentaurOmenreader(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/ChainOfAcid.java b/Mage.Sets/src/mage/cards/c/ChainOfAcid.java
index af4475fbb75..79a201612ae 100644
--- a/Mage.Sets/src/mage/cards/c/ChainOfAcid.java
+++ b/Mage.Sets/src/mage/cards/c/ChainOfAcid.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
@@ -29,7 +28,7 @@ public final class ChainOfAcid extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ChainOfAcid(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java b/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java
index 822afb12571..689fd0bf190 100644
--- a/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java
+++ b/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java
@@ -18,7 +18,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -37,8 +36,8 @@ public final class ChancellorOfTheSpires extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public ChancellorOfTheSpires(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/Chandler.java b/Mage.Sets/src/mage/cards/c/Chandler.java
index 4ffd1b57755..b8f0a0566e2 100644
--- a/Mage.Sets/src/mage/cards/c/Chandler.java
+++ b/Mage.Sets/src/mage/cards/c/Chandler.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -27,7 +26,7 @@ public final class Chandler extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Chandler(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/ChandraAblaze.java b/Mage.Sets/src/mage/cards/c/ChandraAblaze.java
index e2cefa5d39e..f669cc5ef6a 100644
--- a/Mage.Sets/src/mage/cards/c/ChandraAblaze.java
+++ b/Mage.Sets/src/mage/cards/c/ChandraAblaze.java
@@ -21,7 +21,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -162,8 +161,8 @@ class ChandraAblazeEffect5 extends OneShotEffect {
FilterCard filter = new FilterCard("red instant or sorcery card from your graveyard to play");
filter.add(new ColorPredicate(ObjectColor.RED));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
String message = "Play red instant or sorcery card from your graveyard without paying its mana cost?";
Set cards = player.getGraveyard().getCards(filter, game);
diff --git a/Mage.Sets/src/mage/cards/c/ChandraPyrogenius.java b/Mage.Sets/src/mage/cards/c/ChandraPyrogenius.java
index 66a1e08ca23..5e9a1f97aac 100644
--- a/Mage.Sets/src/mage/cards/c/ChandraPyrogenius.java
+++ b/Mage.Sets/src/mage/cards/c/ChandraPyrogenius.java
@@ -34,7 +34,7 @@ public final class ChandraPyrogenius extends CardImpl {
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5));
// +2: Chandra, Pyrogenius deals 2 damage to each opponent.
- this.addAbility(new LoyaltyAbility(new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT), 2));
+ this.addAbility(new LoyaltyAbility(new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT), 2));
// -3: Chandra, Pyrogenius deals 4 damage to target creature.
LoyaltyAbility ability = new LoyaltyAbility(new DamageTargetEffect(4), -3);
diff --git a/Mage.Sets/src/mage/cards/c/ChandraTorchOfDefiance.java b/Mage.Sets/src/mage/cards/c/ChandraTorchOfDefiance.java
index f0b547ad537..793e0dfe27a 100644
--- a/Mage.Sets/src/mage/cards/c/ChandraTorchOfDefiance.java
+++ b/Mage.Sets/src/mage/cards/c/ChandraTorchOfDefiance.java
@@ -103,7 +103,7 @@ class ChandraTorchOfDefianceEffect extends OneShotEffect {
}
}
if (!cardWasCast) {
- new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT).apply(game, source);
+ new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT).apply(game, source);
}
}
return true;
diff --git a/Mage.Sets/src/mage/cards/c/ChandrasDefeat.java b/Mage.Sets/src/mage/cards/c/ChandrasDefeat.java
index 0da144b19c7..047d6d55652 100644
--- a/Mage.Sets/src/mage/cards/c/ChandrasDefeat.java
+++ b/Mage.Sets/src/mage/cards/c/ChandrasDefeat.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
@@ -30,7 +29,7 @@ public final class ChandrasDefeat extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.RED));
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.PLANESWALKER)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.PLANESWALKER.getPredicate()));
}
public ChandrasDefeat(UUID ownerId, CardSetInfo setInfo) {
@@ -56,7 +55,7 @@ class ChandrasDefeatEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.CHANDRA));
}
diff --git a/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java b/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java
index 2158bd95f8f..45264614756 100644
--- a/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java
+++ b/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent.EventType;
import mage.players.Player;
@@ -35,8 +34,8 @@ public final class CharmbreakerDevils extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public CharmbreakerDevils(UUID ownerId, CardSetInfo setInfo) {
@@ -84,8 +83,8 @@ class CharmbreakerDevilsEffect extends OneShotEffect {
if (player != null) {
FilterCard filter = new FilterCard("instant or sorcery card");
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
Card[] cards = player.getGraveyard().getCards(filter, game).toArray(new Card[0]);
if (cards.length > 0) {
Card card = cards[RandomUtil.nextInt(cards.length)];
diff --git a/Mage.Sets/src/mage/cards/c/ChiefOfTheFoundry.java b/Mage.Sets/src/mage/cards/c/ChiefOfTheFoundry.java
index 2c896ec2661..b51bc2f9107 100644
--- a/Mage.Sets/src/mage/cards/c/ChiefOfTheFoundry.java
+++ b/Mage.Sets/src/mage/cards/c/ChiefOfTheFoundry.java
@@ -13,7 +13,6 @@ import mage.constants.Duration;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
/**
@@ -25,7 +24,7 @@ public final class ChiefOfTheFoundry extends CardImpl {
private static final FilterCreaturePermanent filterBoosted = new FilterCreaturePermanent("Other artifact creatures you control");
static {
- filterBoosted.add(new CardTypePredicate(CardType.ARTIFACT));
+ filterBoosted.add(CardType.ARTIFACT.getPredicate());
filterBoosted.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/c/ChimericEgg.java b/Mage.Sets/src/mage/cards/c/ChimericEgg.java
index 55087136387..fe5ef8f6699 100644
--- a/Mage.Sets/src/mage/cards/c/ChimericEgg.java
+++ b/Mage.Sets/src/mage/cards/c/ChimericEgg.java
@@ -3,7 +3,6 @@ package mage.cards.c;
import java.util.UUID;
-import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.costs.common.RemoveCountersSourceCost;
@@ -20,9 +19,6 @@ import mage.counters.Counter;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
-import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.game.permanent.token.custom.CreatureToken;
@@ -34,7 +30,7 @@ public final class ChimericEgg extends CardImpl {
private static final FilterSpell nonArtifactFilter = new FilterSpell("a nonartifact spell");
static {
- nonArtifactFilter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ nonArtifactFilter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public ChimericEgg(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/ChromeMox.java b/Mage.Sets/src/mage/cards/c/ChromeMox.java
index fb7f3befef9..fd98e011714 100644
--- a/Mage.Sets/src/mage/cards/c/ChromeMox.java
+++ b/Mage.Sets/src/mage/cards/c/ChromeMox.java
@@ -19,7 +19,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -60,7 +59,7 @@ class ChromeMoxEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("nonartifact, nonland card");
static {
- filter.add(Predicates.not(Predicates.or(new CardTypePredicate(CardType.LAND), new CardTypePredicate(CardType.ARTIFACT))));
+ filter.add(Predicates.not(Predicates.or(CardType.LAND.getPredicate(), CardType.ARTIFACT.getPredicate())));
}
public ChromeMoxEffect() {
diff --git a/Mage.Sets/src/mage/cards/c/ChronomanticEscape.java b/Mage.Sets/src/mage/cards/c/ChronomanticEscape.java
index 85e50955709..4ee2d599a6e 100644
--- a/Mage.Sets/src/mage/cards/c/ChronomanticEscape.java
+++ b/Mage.Sets/src/mage/cards/c/ChronomanticEscape.java
@@ -29,7 +29,7 @@ public final class ChronomanticEscape extends CardImpl {
// Until your next turn, creatures can't attack you. Exile Chronomantic Escape with three time counters on it.
getSpellAbility().addEffect(new CantAttackYouAllEffect(Duration.UntilYourNextTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
getSpellAbility().addEffect(ExileSpellEffect.getInstance());
- Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), true, true);
+ Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), StaticValue.get(3), true, true);
effect.setText("with 3 time counters on it");
getSpellAbility().addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/c/CircleOfProtectionArtifacts.java b/Mage.Sets/src/mage/cards/c/CircleOfProtectionArtifacts.java
index 80015b9cda1..3531ab8870b 100644
--- a/Mage.Sets/src/mage/cards/c/CircleOfProtectionArtifacts.java
+++ b/Mage.Sets/src/mage/cards/c/CircleOfProtectionArtifacts.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterObject;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class CircleOfProtectionArtifacts extends CardImpl {
private static final FilterObject filter = new FilterObject("artifact source");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public CircleOfProtectionArtifacts(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CircuitousRoute.java b/Mage.Sets/src/mage/cards/c/CircuitousRoute.java
index 0b77d6b6597..e7003d18187 100644
--- a/Mage.Sets/src/mage/cards/c/CircuitousRoute.java
+++ b/Mage.Sets/src/mage/cards/c/CircuitousRoute.java
@@ -9,7 +9,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -26,7 +25,7 @@ public final class CircuitousRoute extends CardImpl {
static {
filter.add(Predicates.or(
Predicates.and(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
new SupertypePredicate(SuperType.BASIC)
), new SubtypePredicate(SubType.GATE)
));
diff --git a/Mage.Sets/src/mage/cards/c/CitanulFlute.java b/Mage.Sets/src/mage/cards/c/CitanulFlute.java
index de2556d10b0..36adc7ba2ea 100644
--- a/Mage.Sets/src/mage/cards/c/CitanulFlute.java
+++ b/Mage.Sets/src/mage/cards/c/CitanulFlute.java
@@ -13,7 +13,6 @@ import mage.constants.ComparisonType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -69,7 +68,7 @@ class CitanulFluteSearchEffect extends OneShotEffect {
}
FilterCard filter = new FilterCard("creature card with converted mana cost X or less");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
//Set the mana cost one higher to 'emulate' a less than or equal to comparison.
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, source.getManaCostsToPay().getX() + 1));
diff --git a/Mage.Sets/src/mage/cards/c/CitanulHierophants.java b/Mage.Sets/src/mage/cards/c/CitanulHierophants.java
index 94a1eb6a7f9..97a06e07d26 100644
--- a/Mage.Sets/src/mage/cards/c/CitanulHierophants.java
+++ b/Mage.Sets/src/mage/cards/c/CitanulHierophants.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class CitanulHierophants extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public CitanulHierophants(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CivicSaber.java b/Mage.Sets/src/mage/cards/c/CivicSaber.java
index 9324cef5ed2..1120b592529 100644
--- a/Mage.Sets/src/mage/cards/c/CivicSaber.java
+++ b/Mage.Sets/src/mage/cards/c/CivicSaber.java
@@ -31,7 +31,7 @@ public final class CivicSaber extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +1/+0 for each of its colors.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CivicSaberColorCount(), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CivicSaberColorCount(), StaticValue.get(0), Duration.WhileOnBattlefield)));
// Equip {1}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
}
diff --git a/Mage.Sets/src/mage/cards/c/ClackbridgeTroll.java b/Mage.Sets/src/mage/cards/c/ClackbridgeTroll.java
index b8be5017bc6..840d9513d00 100644
--- a/Mage.Sets/src/mage/cards/c/ClackbridgeTroll.java
+++ b/Mage.Sets/src/mage/cards/c/ClackbridgeTroll.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -96,7 +95,7 @@ class ClackbridgeTrollEffect extends OneShotEffect {
continue;
}
FilterControlledPermanent filter = new FilterControlledPermanent("creature to sacrifice");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
TargetControlledPermanent target = new TargetControlledPermanent(filter);
target.setNotTarget(true);
diff --git a/Mage.Sets/src/mage/cards/c/Clambassadors.java b/Mage.Sets/src/mage/cards/c/Clambassadors.java
index 20bd836355d..be70dc4f5ef 100644
--- a/Mage.Sets/src/mage/cards/c/Clambassadors.java
+++ b/Mage.Sets/src/mage/cards/c/Clambassadors.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -54,13 +53,13 @@ class ClambassadorsEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public ClambassadorsEffect() {
diff --git a/Mage.Sets/src/mage/cards/c/CleansingBeam.java b/Mage.Sets/src/mage/cards/c/CleansingBeam.java
index e5ab27f27fa..03f23c7b8f3 100644
--- a/Mage.Sets/src/mage/cards/c/CleansingBeam.java
+++ b/Mage.Sets/src/mage/cards/c/CleansingBeam.java
@@ -11,7 +11,6 @@ import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
@@ -46,7 +45,7 @@ class CleansingBeamEffect extends OneShotEffect {
static final FilterPermanent filter = new FilterPermanent("creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
CleansingBeamEffect() {
diff --git a/Mage.Sets/src/mage/cards/c/CloakingDevice.java b/Mage.Sets/src/mage/cards/c/CloakingDevice.java
index 4cd2fb65881..defcb2a8ed2 100644
--- a/Mage.Sets/src/mage/cards/c/CloakingDevice.java
+++ b/Mage.Sets/src/mage/cards/c/CloakingDevice.java
@@ -72,7 +72,7 @@ class CloakingDeviceLoseLifeDefendingPlayerEffect extends OneShotEffect {
* attacker false if attacker has to be taken from targetPointer
*/
public CloakingDeviceLoseLifeDefendingPlayerEffect(int amount, boolean attackerIsSource) {
- this(new StaticValue(amount), attackerIsSource);
+ this(StaticValue.get(amount), attackerIsSource);
}
public CloakingDeviceLoseLifeDefendingPlayerEffect(DynamicValue amount, boolean attackerIsSource) {
diff --git a/Mage.Sets/src/mage/cards/c/ClockOfOmens.java b/Mage.Sets/src/mage/cards/c/ClockOfOmens.java
index 9b852701256..e62bc403bad 100644
--- a/Mage.Sets/src/mage/cards/c/ClockOfOmens.java
+++ b/Mage.Sets/src/mage/cards/c/ClockOfOmens.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.common.TargetArtifactPermanent;
import mage.target.common.TargetControlledPermanent;
@@ -25,7 +24,7 @@ public final class ClockOfOmens extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped artifacts you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(Predicates.not(TappedPredicate.instance));
}
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkGnomes.java b/Mage.Sets/src/mage/cards/c/ClockworkGnomes.java
index 8df66a66f04..b7134604a89 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkGnomes.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkGnomes.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -26,7 +25,7 @@ public final class ClockworkGnomes extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ClockworkGnomes(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkSteed.java b/Mage.Sets/src/mage/cards/c/ClockworkSteed.java
index c2975f53d2c..3c0562a23ba 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkSteed.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkSteed.java
@@ -29,7 +29,6 @@ import mage.counters.Counter;
import mage.counters.CounterType;
import mage.counters.Counters;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.watchers.common.AttackedOrBlockedThisCombatWatcher;
@@ -42,7 +41,7 @@ public final class ClockworkSteed extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creatures");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ClockworkSteed(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CloudstoneCurio.java b/Mage.Sets/src/mage/cards/c/CloudstoneCurio.java
index a00acf8efe3..d05f6ab05e2 100644
--- a/Mage.Sets/src/mage/cards/c/CloudstoneCurio.java
+++ b/Mage.Sets/src/mage/cards/c/CloudstoneCurio.java
@@ -1,9 +1,6 @@
package mage.cards.c;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
@@ -12,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.PermanentIdPredicate;
import mage.game.Game;
@@ -21,8 +17,10 @@ import mage.players.Player;
import mage.target.TargetPermanent;
import mage.target.targetpointer.FixedTarget;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
/**
- *
* @author LevelX2
*/
public final class CloudstoneCurio extends CardImpl {
@@ -30,7 +28,7 @@ public final class CloudstoneCurio extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("a nonartifact permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(new ControllerPredicate(TargetController.YOU));
}
@@ -80,13 +78,14 @@ class CloudstoneCurioEffect extends OneShotEffect {
FilterPermanent filter = new FilterPermanent("another permanent you control that shares a permanent type with " + triggeringCreature.getName());
filter.add(Predicates.not(new PermanentIdPredicate(triggeringCreature.getId())));
filter.add(new ControllerPredicate(TargetController.YOU));
- Set cardTypes = new HashSet<>();
- for (CardType cardType : triggeringCreature.getCardType()) {
- if (cardType.isPermanentType()) {
- cardTypes.add(new CardTypePredicate(cardType));
- }
- }
- filter.add(Predicates.or(cardTypes));
+ filter.add(Predicates.or(
+ triggeringCreature
+ .getCardType()
+ .stream()
+ .filter(CardType::isPermanentType)
+ .map(CardType::getPredicate)
+ .collect(Collectors.toSet())
+ ));
TargetPermanent target = new TargetPermanent(1, 1, filter, true);
if (target.canChoose(controller.getId(), game) && controller.chooseTarget(outcome, target, source, game)) {
diff --git a/Mage.Sets/src/mage/cards/c/ClovenCasting.java b/Mage.Sets/src/mage/cards/c/ClovenCasting.java
index 389fc161c12..947ffef89d9 100644
--- a/Mage.Sets/src/mage/cards/c/ClovenCasting.java
+++ b/Mage.Sets/src/mage/cards/c/ClovenCasting.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.MulticoloredPredicate;
/**
@@ -25,8 +24,8 @@ public final class ClovenCasting extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filter.add(MulticoloredPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/c/CodeSlice.java b/Mage.Sets/src/mage/cards/c/CodeSlice.java
index ca8ae2fa839..225d19a1c15 100644
--- a/Mage.Sets/src/mage/cards/c/CodeSlice.java
+++ b/Mage.Sets/src/mage/cards/c/CodeSlice.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.CounterPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -23,7 +22,7 @@ public final class CodeSlice extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Artifact creatures with bounty counters on them");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new CounterPredicate(CounterType.BOUNTY));
}
diff --git a/Mage.Sets/src/mage/cards/c/Cognivore.java b/Mage.Sets/src/mage/cards/c/Cognivore.java
index 6252e1f7542..78d888763e5 100644
--- a/Mage.Sets/src/mage/cards/c/Cognivore.java
+++ b/Mage.Sets/src/mage/cards/c/Cognivore.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author cbt33
@@ -25,7 +24,7 @@ public final class Cognivore extends CardImpl {
static final FilterCard filter = new FilterCard("instant cards");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public Cognivore(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CollectedCompany.java b/Mage.Sets/src/mage/cards/c/CollectedCompany.java
index 898fa0a1e90..7d780d4150c 100644
--- a/Mage.Sets/src/mage/cards/c/CollectedCompany.java
+++ b/Mage.Sets/src/mage/cards/c/CollectedCompany.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
/**
@@ -21,7 +20,7 @@ public final class CollectedCompany extends CardImpl {
private static final FilterCard filter = new FilterCard("up to two creature cards with converted mana cost 3 or less");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/cards/c/CollectedConjuring.java b/Mage.Sets/src/mage/cards/c/CollectedConjuring.java
index 709d46dfa3d..883a57f6f89 100644
--- a/Mage.Sets/src/mage/cards/c/CollectedConjuring.java
+++ b/Mage.Sets/src/mage/cards/c/CollectedConjuring.java
@@ -10,7 +10,6 @@ import mage.constants.ComparisonType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -49,7 +48,7 @@ class CollectedConjuringEffect extends OneShotEffect {
"sorcery cards with converted mana cost 3 or less");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java b/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java
index 09f2b669a00..a89585c75c3 100644
--- a/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java
+++ b/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java
@@ -18,7 +18,6 @@ import mage.filter.FilterCard;
import mage.filter.FilterPlayer;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.PlayerPredicate;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreaturePermanent;
@@ -36,8 +35,8 @@ public final class CollectiveBrutality extends CardImpl {
private static final FilterPlayer filterLoseLife = new FilterPlayer("opponent to lose life");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filterDiscard.add(new PlayerPredicate(TargetController.OPPONENT));
filterLoseLife.add(new PlayerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/c/ComaVeil.java b/Mage.Sets/src/mage/cards/c/ComaVeil.java
index 4e6fc6538d3..06d43785ba9 100644
--- a/Mage.Sets/src/mage/cards/c/ComaVeil.java
+++ b/Mage.Sets/src/mage/cards/c/ComaVeil.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -27,8 +26,8 @@ public final class ComaVeil extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public ComaVeil(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CommandTheDreadhorde.java b/Mage.Sets/src/mage/cards/c/CommandTheDreadhorde.java
index 0858ff26986..e343191595e 100644
--- a/Mage.Sets/src/mage/cards/c/CommandTheDreadhorde.java
+++ b/Mage.Sets/src/mage/cards/c/CommandTheDreadhorde.java
@@ -8,7 +8,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInGraveyard;
@@ -24,8 +23,8 @@ public final class CommandTheDreadhorde extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.PLANESWALKER),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.PLANESWALKER.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/c/Commandeer.java b/Mage.Sets/src/mage/cards/c/Commandeer.java
index f8991792352..20420854fee 100644
--- a/Mage.Sets/src/mage/cards/c/Commandeer.java
+++ b/Mage.Sets/src/mage/cards/c/Commandeer.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.game.stack.Spell;
@@ -32,7 +31,7 @@ public final class Commandeer extends CardImpl {
private static final FilterSpell filterSpell = new FilterSpell("noncreature spell");
static {
filter.add(new ColorPredicate(ObjectColor.BLUE));
- filterSpell.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterSpell.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Commandeer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CommanderEesha.java b/Mage.Sets/src/mage/cards/c/CommanderEesha.java
index 3418ddb2c7d..84b6fbce27d 100644
--- a/Mage.Sets/src/mage/cards/c/CommanderEesha.java
+++ b/Mage.Sets/src/mage/cards/c/CommanderEesha.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class CommanderEesha extends CardImpl {
static final FilterCard filter = new FilterCard("creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public CommanderEesha(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CommonCause.java b/Mage.Sets/src/mage/cards/c/CommonCause.java
index bfcff613fe4..fe8bfe7cb8e 100644
--- a/Mage.Sets/src/mage/cards/c/CommonCause.java
+++ b/Mage.Sets/src/mage/cards/c/CommonCause.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -27,7 +26,7 @@ public final class CommonCause extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Nonartifact creatures");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public CommonCause(UUID ownerId, CardSetInfo setInfo) {
@@ -57,7 +56,7 @@ enum AllColorCondition implements Condition {
@Override
public boolean apply(Game game, Ability source) {
FilterCreaturePermanent filter = new FilterCreaturePermanent("Nonartifact creatures");
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
ObjectColor allColor = new ObjectColor("WUBRG");
for (Permanent thing : game.getBattlefield().getAllActivePermanents(filter, game)) {
allColor = allColor.intersection(thing.getColor(game));
diff --git a/Mage.Sets/src/mage/cards/c/CommuneWithDinosaurs.java b/Mage.Sets/src/mage/cards/c/CommuneWithDinosaurs.java
index c039f4477c3..9a4eae5fdca 100644
--- a/Mage.Sets/src/mage/cards/c/CommuneWithDinosaurs.java
+++ b/Mage.Sets/src/mage/cards/c/CommuneWithDinosaurs.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -23,7 +22,7 @@ public final class CommuneWithDinosaurs extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
new SubtypePredicate(SubType.DINOSAUR)
));
}
@@ -32,7 +31,7 @@ public final class CommuneWithDinosaurs extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}");
//Look at the top five cards of your library. You may reveal a Dinosaur or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(1), filter, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(1), filter, false));
}
public CommuneWithDinosaurs(final CommuneWithDinosaurs card) {
diff --git a/Mage.Sets/src/mage/cards/c/CommuneWithNature.java b/Mage.Sets/src/mage/cards/c/CommuneWithNature.java
index 39ca3ffe295..91d82edb353 100644
--- a/Mage.Sets/src/mage/cards/c/CommuneWithNature.java
+++ b/Mage.Sets/src/mage/cards/c/CommuneWithNature.java
@@ -21,7 +21,7 @@ public final class CommuneWithNature extends CardImpl {
// Look at the top five cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
this.getSpellAbility().addEffect(
new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), new FilterCreatureCard("a creature card"), false
+ StaticValue.get(5), false, StaticValue.get(1), new FilterCreatureCard("a creature card"), false
)
);
}
diff --git a/Mage.Sets/src/mage/cards/c/CommuneWithTheGods.java b/Mage.Sets/src/mage/cards/c/CommuneWithTheGods.java
index 65a9839c9f0..6fee75b9033 100644
--- a/Mage.Sets/src/mage/cards/c/CommuneWithTheGods.java
+++ b/Mage.Sets/src/mage/cards/c/CommuneWithTheGods.java
@@ -10,7 +10,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -62,7 +61,7 @@ class CommuneWithTheGodsEffect extends OneShotEffect {
Cards cards = new CardsImpl(controller.getLibrary().getTopCards(game, 5));
if (!cards.isEmpty()) {
FilterCard filterPutInHand = new FilterCard("creature or enchantment card to put in hand");
- filterPutInHand.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filterPutInHand.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
controller.revealCards(source, cards, game);
if (cards.count(filterPutInHand, source.getSourceId(), source.getControllerId(), game) > 0) {
TargetCard target = new TargetCard(0, 1, Zone.LIBRARY, filterPutInHand);
diff --git a/Mage.Sets/src/mage/cards/c/ConclavesBlessing.java b/Mage.Sets/src/mage/cards/c/ConclavesBlessing.java
index 77f408046d7..f0f2d51a02c 100644
--- a/Mage.Sets/src/mage/cards/c/ConclavesBlessing.java
+++ b/Mage.Sets/src/mage/cards/c/ConclavesBlessing.java
@@ -48,7 +48,7 @@ public final class ConclavesBlessing extends CardImpl {
// Enchanted creature gets +0/+2 for each other creature you control.
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 2);
- BoostEnchantedEffect effect = new BoostEnchantedEffect(new StaticValue(0), value, Duration.WhileOnBattlefield);
+ BoostEnchantedEffect effect = new BoostEnchantedEffect(StaticValue.get(0), value, Duration.WhileOnBattlefield);
effect.setText("Enchanted creature gets +0/+2 for each other creature you control.");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
}
diff --git a/Mage.Sets/src/mage/cards/c/ConfiscationCoup.java b/Mage.Sets/src/mage/cards/c/ConfiscationCoup.java
index 7d3d9591253..c53ffa17e02 100644
--- a/Mage.Sets/src/mage/cards/c/ConfiscationCoup.java
+++ b/Mage.Sets/src/mage/cards/c/ConfiscationCoup.java
@@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -32,7 +31,7 @@ public final class ConfiscationCoup extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or artifact");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ARTIFACT.getPredicate()));
}
public ConfiscationCoup(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/ConfusionInTheRanks.java b/Mage.Sets/src/mage/cards/c/ConfusionInTheRanks.java
index fe65023e65f..14d8b0081a7 100644
--- a/Mage.Sets/src/mage/cards/c/ConfusionInTheRanks.java
+++ b/Mage.Sets/src/mage/cards/c/ConfusionInTheRanks.java
@@ -13,7 +13,6 @@ import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -34,9 +33,9 @@ public final class ConfusionInTheRanks extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
@@ -89,9 +88,9 @@ enum ConfusionInTheRanksAdjuster implements TargetAdjuster {
FilterPermanent filterTarget = new FilterPermanent();
String message = "";
filterTarget.add(Predicates.not(new ControllerIdPredicate(enteringPermanent.getControllerId())));
- Set cardTypesPredicates = new HashSet<>(1);
+ Set cardTypesPredicates = new HashSet<>(1);
for (CardType cardTypeEntering : enteringPermanent.getCardType()) {
- cardTypesPredicates.add(new CardTypePredicate(cardTypeEntering));
+ cardTypesPredicates.add(cardTypeEntering.getPredicate());
if (!message.isEmpty()) {
message += "or ";
}
diff --git a/Mage.Sets/src/mage/cards/c/ConsignToDust.java b/Mage.Sets/src/mage/cards/c/ConsignToDust.java
index 013b4f0f4cb..8703edfe454 100644
--- a/Mage.Sets/src/mage/cards/c/ConsignToDust.java
+++ b/Mage.Sets/src/mage/cards/c/ConsignToDust.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.TargetPermanent;
@@ -23,7 +22,7 @@ public final class ConsignToDust extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifacts and/or enchantments");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public ConsignToDust(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java b/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java
index 9546725a191..d85c4b9d3bf 100644
--- a/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java
+++ b/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
@@ -25,9 +24,9 @@ public final class ConsumingBonfire extends CardImpl {
private static final FilterPermanent filter2 = new FilterPermanent("Treefolk creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.not(new SubtypePredicate(SubType.ELEMENTAL)));
- filter2.add(new CardTypePredicate(CardType.CREATURE));
+ filter2.add(CardType.CREATURE.getPredicate());
filter2.add(new SubtypePredicate(SubType.TREEFOLK));
}
diff --git a/Mage.Sets/src/mage/cards/c/ConsumingSinkhole.java b/Mage.Sets/src/mage/cards/c/ConsumingSinkhole.java
index 116a5ac642d..b3b1311aa8f 100644
--- a/Mage.Sets/src/mage/cards/c/ConsumingSinkhole.java
+++ b/Mage.Sets/src/mage/cards/c/ConsumingSinkhole.java
@@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
@@ -24,7 +23,7 @@ public final class ConsumingSinkhole extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("land creature");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public ConsumingSinkhole(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/ConsumingVapors.java b/Mage.Sets/src/mage/cards/c/ConsumingVapors.java
index adbf64bb32c..e443ca63cd9 100644
--- a/Mage.Sets/src/mage/cards/c/ConsumingVapors.java
+++ b/Mage.Sets/src/mage/cards/c/ConsumingVapors.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -66,7 +65,7 @@ class ConsumingVaporsEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
FilterControlledPermanent filter = new FilterControlledPermanent("creature");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true);
diff --git a/Mage.Sets/src/mage/cards/c/ContingencyPlan.java b/Mage.Sets/src/mage/cards/c/ContingencyPlan.java
index 314a7f97eb2..9a023ba324a 100644
--- a/Mage.Sets/src/mage/cards/c/ContingencyPlan.java
+++ b/Mage.Sets/src/mage/cards/c/ContingencyPlan.java
@@ -20,7 +20,7 @@ public final class ContingencyPlan extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{U}");
// Look at the top five cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(5),
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(5),
new FilterCard("cards"), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false));
}
diff --git a/Mage.Sets/src/mage/cards/c/Coretapper.java b/Mage.Sets/src/mage/cards/c/Coretapper.java
index 4993bb7a1e9..b2a9404f1e9 100644
--- a/Mage.Sets/src/mage/cards/c/Coretapper.java
+++ b/Mage.Sets/src/mage/cards/c/Coretapper.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -27,7 +26,7 @@ public final class Coretapper extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Coretapper(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CorpseHauler.java b/Mage.Sets/src/mage/cards/c/CorpseHauler.java
index 0b46472a091..bfca607e303 100644
--- a/Mage.Sets/src/mage/cards/c/CorpseHauler.java
+++ b/Mage.Sets/src/mage/cards/c/CorpseHauler.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.mageobject.AnotherCardPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -26,7 +25,7 @@ public final class CorpseHauler extends CardImpl {
private static final FilterCard filter = new FilterCard("another target creature card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new AnotherCardPredicate());
}
diff --git a/Mage.Sets/src/mage/cards/c/CorridorMonitor.java b/Mage.Sets/src/mage/cards/c/CorridorMonitor.java
index 9a277adc542..8cd7f1eeaf3 100644
--- a/Mage.Sets/src/mage/cards/c/CorridorMonitor.java
+++ b/Mage.Sets/src/mage/cards/c/CorridorMonitor.java
@@ -11,7 +11,6 @@ import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
@@ -26,8 +25,8 @@ public final class CorridorMonitor extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/c/CorrosiveMentor.java b/Mage.Sets/src/mage/cards/c/CorrosiveMentor.java
index b5beb2e0977..73771cb0538 100644
--- a/Mage.Sets/src/mage/cards/c/CorrosiveMentor.java
+++ b/Mage.Sets/src/mage/cards/c/CorrosiveMentor.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -27,7 +26,7 @@ public final class CorrosiveMentor extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.BLACK));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public CorrosiveMentor(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CostlyPlunder.java b/Mage.Sets/src/mage/cards/c/CostlyPlunder.java
index 799c64300d2..f00777b2506 100644
--- a/Mage.Sets/src/mage/cards/c/CostlyPlunder.java
+++ b/Mage.Sets/src/mage/cards/c/CostlyPlunder.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -22,8 +21,8 @@ public final class CostlyPlunder extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/c/Counterlash.java b/Mage.Sets/src/mage/cards/c/Counterlash.java
index 385c7b127b5..b6c350b5ac8 100644
--- a/Mage.Sets/src/mage/cards/c/Counterlash.java
+++ b/Mage.Sets/src/mage/cards/c/Counterlash.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.stack.StackObject;
import mage.players.Player;
@@ -78,7 +77,7 @@ class CounterlashEffect extends OneShotEffect {
List> types = new ArrayList<>();
for (CardType type : stackObject.getCardType()) {
if (type != CardType.LAND) {
- types.add(new CardTypePredicate(type));
+ types.add(type.getPredicate());
}
}
filter.add(Predicates.or(types));
diff --git a/Mage.Sets/src/mage/cards/c/Countersquall.java b/Mage.Sets/src/mage/cards/c/Countersquall.java
index 09472789523..6dfc45bf38e 100644
--- a/Mage.Sets/src/mage/cards/c/Countersquall.java
+++ b/Mage.Sets/src/mage/cards/c/Countersquall.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -21,7 +20,7 @@ public final class Countersquall extends CardImpl {
private static final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Countersquall(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CourageousOutrider.java b/Mage.Sets/src/mage/cards/c/CourageousOutrider.java
index d2fee2adb5d..cf514bdcf99 100644
--- a/Mage.Sets/src/mage/cards/c/CourageousOutrider.java
+++ b/Mage.Sets/src/mage/cards/c/CourageousOutrider.java
@@ -34,7 +34,7 @@ public final class CourageousOutrider extends CardImpl {
// When Courageous Outrider enters the battlefield, look at the top four cards of your library. You may reveal a Human card from among them
// and put it into your hand. Put the rest on the bottom of your library in any order.
- this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), filter, false) , false));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), filter, false) , false));
}
public CourageousOutrider(final CourageousOutrider card) {
diff --git a/Mage.Sets/src/mage/cards/c/CourtHussar.java b/Mage.Sets/src/mage/cards/c/CourtHussar.java
index 9d860ac2919..8d7af3227bd 100644
--- a/Mage.Sets/src/mage/cards/c/CourtHussar.java
+++ b/Mage.Sets/src/mage/cards/c/CourtHussar.java
@@ -36,7 +36,7 @@ public final class CourtHussar extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// When Court Hussar enters the battlefield, look at the top three cards of your library, then put one of them into your hand and the rest on the bottom of your library in any order.
this.addAbility(new EntersBattlefieldTriggeredAbility(
- new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false),
+ new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false),
false));
// When Court Hussar enters the battlefield, sacrifice it unless {W} was spent to cast it.
this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.W)), false), new ManaSpentToCastWatcher());
diff --git a/Mage.Sets/src/mage/cards/c/CranialPlating.java b/Mage.Sets/src/mage/cards/c/CranialPlating.java
index e61d82526eb..4ff75ee0858 100644
--- a/Mage.Sets/src/mage/cards/c/CranialPlating.java
+++ b/Mage.Sets/src/mage/cards/c/CranialPlating.java
@@ -19,7 +19,6 @@ import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
@@ -30,7 +29,7 @@ public final class CranialPlating extends CardImpl {
private static final FilterControlledPermanent filterCounted = new FilterControlledPermanent("artifacts you control");
static {
- filterCounted.add(new CardTypePredicate(CardType.ARTIFACT));
+ filterCounted.add(CardType.ARTIFACT.getPredicate());
}
public CranialPlating(UUID ownerId, CardSetInfo setInfo) {
@@ -38,7 +37,7 @@ public final class CranialPlating extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +1/+0 for each artifact you control.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new PermanentsOnBattlefieldCount(filterCounted), new StaticValue(0))));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new PermanentsOnBattlefieldCount(filterCounted), StaticValue.get(0))));
// {B}{B}: Attach Cranial Plating to target creature you control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl("{B}{B}"));
ability.addTarget(new TargetControlledCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/c/Crash.java b/Mage.Sets/src/mage/cards/c/Crash.java
index 45418a460b5..9620766a4cf 100644
--- a/Mage.Sets/src/mage/cards/c/Crash.java
+++ b/Mage.Sets/src/mage/cards/c/Crash.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
@@ -27,7 +26,7 @@ public final class Crash extends CardImpl {
private static final FilterControlledPermanent alternativeCostFilter = new FilterControlledLandPermanent("a Mountain");
static {
- effectFilter.add(new CardTypePredicate(CardType.ARTIFACT));
+ effectFilter.add(CardType.ARTIFACT.getPredicate());
alternativeCostFilter.add(new SubtypePredicate(SubType.MOUNTAIN));
}
diff --git a/Mage.Sets/src/mage/cards/c/CraterElemental.java b/Mage.Sets/src/mage/cards/c/CraterElemental.java
index 7407da08965..bc228e6e429 100644
--- a/Mage.Sets/src/mage/cards/c/CraterElemental.java
+++ b/Mage.Sets/src/mage/cards/c/CraterElemental.java
@@ -45,7 +45,7 @@ public final class CraterElemental extends CardImpl {
// Formidable — {2}{R}: Crater Elemental has base power 8 until end of turn. Activate this ability only if creatures you control have total power 8 or greater.
ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD,
- new SetPowerSourceEffect(new StaticValue(8), Duration.EndOfTurn, SubLayer.SetPT_7b),
+ new SetPowerSourceEffect(StaticValue.get(8), Duration.EndOfTurn, SubLayer.SetPT_7b),
new ManaCostsImpl("{2}{R}"),
FormidableCondition.instance);
ability.setAbilityWord(AbilityWord.FORMIDABLE);
diff --git a/Mage.Sets/src/mage/cards/c/CreepingMold.java b/Mage.Sets/src/mage/cards/c/CreepingMold.java
index a3e0f4ebbdb..918f6c2baeb 100644
--- a/Mage.Sets/src/mage/cards/c/CreepingMold.java
+++ b/Mage.Sets/src/mage/cards/c/CreepingMold.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,9 +20,9 @@ public final class CreepingMold extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public CreepingMold(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CrescendoOfWar.java b/Mage.Sets/src/mage/cards/c/CrescendoOfWar.java
index 9b817b7a2db..b7867992ff7 100644
--- a/Mage.Sets/src/mage/cards/c/CrescendoOfWar.java
+++ b/Mage.Sets/src/mage/cards/c/CrescendoOfWar.java
@@ -32,11 +32,11 @@ public final class CrescendoOfWar extends CardImpl {
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.STRIFE.createInstance(1), true), TargetController.ANY, false));
// Attacking creatures get +1/+0 for each strife counter on Crescendo of War.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new CountersSourceCount(CounterType.STRIFE), new StaticValue(0),
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new CountersSourceCount(CounterType.STRIFE), StaticValue.get(0),
Duration.WhileOnBattlefield, new FilterAttackingCreature(), false)));
// Blocking creatures you control get +1/+0 for each strife counter on Crescendo of War.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(new CountersSourceCount(CounterType.STRIFE), new StaticValue(0),
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(new CountersSourceCount(CounterType.STRIFE), StaticValue.get(0),
Duration.WhileOnBattlefield, new FilterBlockingCreature(), false)));
}
diff --git a/Mage.Sets/src/mage/cards/c/CrimePunishment.java b/Mage.Sets/src/mage/cards/c/CrimePunishment.java
index 34504ea426f..c6e3cf2fc08 100644
--- a/Mage.Sets/src/mage/cards/c/CrimePunishment.java
+++ b/Mage.Sets/src/mage/cards/c/CrimePunishment.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.SpellAbilityType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCardInOpponentsGraveyard;
@@ -22,8 +21,8 @@ public final class CrimePunishment extends SplitCard {
private static final FilterCard filter = new FilterCard("creature or enchantment card from an opponent's graveyard");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public CrimePunishment(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CropSigil.java b/Mage.Sets/src/mage/cards/c/CropSigil.java
index 4c95be89352..ecaf670d5e7 100644
--- a/Mage.Sets/src/mage/cards/c/CropSigil.java
+++ b/Mage.Sets/src/mage/cards/c/CropSigil.java
@@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.events.GameEvent;
import mage.target.common.TargetCardInYourGraveyard;
@@ -29,8 +28,8 @@ public final class CropSigil extends CardImpl {
private static final FilterCard filterLand = new FilterCard("land card in a graveyard");
static {
- filterCreature.add(new CardTypePredicate(CardType.CREATURE));
- filterLand.add(new CardTypePredicate(CardType.LAND));
+ filterCreature.add(CardType.CREATURE.getPredicate());
+ filterLand.add(CardType.LAND.getPredicate());
}
public CropSigil(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CrosstownCourier.java b/Mage.Sets/src/mage/cards/c/CrosstownCourier.java
index 8cb48f04f7d..093357a261d 100644
--- a/Mage.Sets/src/mage/cards/c/CrosstownCourier.java
+++ b/Mage.Sets/src/mage/cards/c/CrosstownCourier.java
@@ -70,7 +70,7 @@ public final class CrosstownCourier extends CardImpl {
for (Effect effect : getEffects()) {
if (effect instanceof PutLibraryIntoGraveTargetEffect) {
effect.setTargetPointer(new FixedTarget(event.getTargetId()));
- ((PutLibraryIntoGraveTargetEffect) effect).setAmount(new StaticValue(event.getAmount()));
+ ((PutLibraryIntoGraveTargetEffect) effect).setAmount(StaticValue.get(event.getAmount()));
return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/c/CruelReality.java b/Mage.Sets/src/mage/cards/c/CruelReality.java
index c4c1d62e3c9..67f52e94db5 100644
--- a/Mage.Sets/src/mage/cards/c/CruelReality.java
+++ b/Mage.Sets/src/mage/cards/c/CruelReality.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -123,8 +122,8 @@ class CruelRealityEffect extends OneShotEffect {
&& controller != null) {
FilterControlledPermanent filter = new FilterControlledPermanent("creature or planeswalker");
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
TargetPermanent target = new TargetPermanent(filter);
if (cursedPlayer.choose(Outcome.Sacrifice, target, source.getId(), game)) {
Permanent objectToBeSacrificed = game.getPermanent(target.getFirstTarget());
diff --git a/Mage.Sets/src/mage/cards/c/CruelRevival.java b/Mage.Sets/src/mage/cards/c/CruelRevival.java
index 47a862248d2..34670b3e908 100644
--- a/Mage.Sets/src/mage/cards/c/CruelRevival.java
+++ b/Mage.Sets/src/mage/cards/c/CruelRevival.java
@@ -12,7 +12,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -30,7 +29,7 @@ public final class CruelRevival extends CardImpl {
private static final FilterCard filter2 = new FilterCard("Zombie card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.not(new SubtypePredicate(SubType.ZOMBIE)));
filter2.add(new SubtypePredicate(SubType.ZOMBIE));
}
diff --git a/Mage.Sets/src/mage/cards/c/CrueltyOfTheSith.java b/Mage.Sets/src/mage/cards/c/CrueltyOfTheSith.java
index 178cef7c56d..6deec3a7811 100644
--- a/Mage.Sets/src/mage/cards/c/CrueltyOfTheSith.java
+++ b/Mage.Sets/src/mage/cards/c/CrueltyOfTheSith.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPlayer;
import mage.target.TargetSpell;
@@ -26,7 +25,7 @@ public final class CrueltyOfTheSith extends CardImpl {
private static final FilterSpell filterNoncreature = new FilterSpell("noncreature spell");
static {
- filterNoncreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNoncreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public CrueltyOfTheSith(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/Crush.java b/Mage.Sets/src/mage/cards/c/Crush.java
index f76364706a7..17d031485b4 100644
--- a/Mage.Sets/src/mage/cards/c/Crush.java
+++ b/Mage.Sets/src/mage/cards/c/Crush.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetArtifactPermanent;
/**
@@ -20,7 +19,7 @@ public final class Crush extends CardImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("noncreature artifact");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Crush(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/Crypsis.java b/Mage.Sets/src/mage/cards/c/Crypsis.java
index 199880252ff..bafe13a113c 100644
--- a/Mage.Sets/src/mage/cards/c/Crypsis.java
+++ b/Mage.Sets/src/mage/cards/c/Crypsis.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.TargetController;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -25,7 +24,7 @@ public final class Crypsis extends CardImpl {
static final FilterCard filter = new FilterCard("creatures your opponents control");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/c/CunningBreezedancer.java b/Mage.Sets/src/mage/cards/c/CunningBreezedancer.java
index 456b9eabde1..9632a685e49 100644
--- a/Mage.Sets/src/mage/cards/c/CunningBreezedancer.java
+++ b/Mage.Sets/src/mage/cards/c/CunningBreezedancer.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class CunningBreezedancer extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public CunningBreezedancer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CunningStrike.java b/Mage.Sets/src/mage/cards/c/CunningStrike.java
index c88372e06b2..08f0bbbd06d 100644
--- a/Mage.Sets/src/mage/cards/c/CunningStrike.java
+++ b/Mage.Sets/src/mage/cards/c/CunningStrike.java
@@ -23,9 +23,9 @@ public final class CunningStrike extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}{R}");
// Cunning Strike deals 2 damage to target creature and 2 damage to target player.
- this.getSpellAbility().addEffect(new DamageTargetEffect(new StaticValue(2), true, "", true));
+ this.getSpellAbility().addEffect(new DamageTargetEffect(StaticValue.get(2), true, "", true));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
- Effect effect = new DamageTargetEffect(new StaticValue(2), true, "", true);
+ Effect effect = new DamageTargetEffect(StaticValue.get(2), true, "", true);
effect.setTargetPointer(new SecondTargetPointer());
effect.setText("and 2 damage to target player");
this.getSpellAbility().addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/c/CunningWish.java b/Mage.Sets/src/mage/cards/c/CunningWish.java
index bf6f0b40932..03d34ca4a00 100644
--- a/Mage.Sets/src/mage/cards/c/CunningWish.java
+++ b/Mage.Sets/src/mage/cards/c/CunningWish.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public final class CunningWish extends CardImpl {
private static final FilterCard filter = new FilterCard("an instant card");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public CunningWish(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/c/CurseOfEchoes.java b/Mage.Sets/src/mage/cards/c/CurseOfEchoes.java
index dac64b90fa9..d8775dd7675 100644
--- a/Mage.Sets/src/mage/cards/c/CurseOfEchoes.java
+++ b/Mage.Sets/src/mage/cards/c/CurseOfEchoes.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
@@ -61,8 +60,8 @@ class CurseOfEchoesCopyTriggeredAbility extends TriggeredAbilityImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public CurseOfEchoesCopyTriggeredAbility() {
diff --git a/Mage.Sets/src/mage/cards/c/CurseOfShallowGraves.java b/Mage.Sets/src/mage/cards/c/CurseOfShallowGraves.java
index d83d76ef44d..7a9a2e8ce67 100644
--- a/Mage.Sets/src/mage/cards/c/CurseOfShallowGraves.java
+++ b/Mage.Sets/src/mage/cards/c/CurseOfShallowGraves.java
@@ -119,7 +119,7 @@ class CurseOfShallowEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player attacker = game.getPlayer(this.getTargetPointer().getFirst(game, source));
if (attacker != null && attacker.chooseUse(outcome, "create a tapped 2/2 black Zombie creature token?", source, game)) {
- Effect effect = new CreateTokenTargetEffect(new ZombieToken(), new StaticValue(1), true, false);
+ Effect effect = new CreateTokenTargetEffect(new ZombieToken(), StaticValue.get(1), true, false);
effect.setTargetPointer(targetPointer);
return effect.apply(game, source);
}
diff --git a/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java b/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java
index 7cf0bfda698..b2bab766740 100644
--- a/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java
+++ b/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java
@@ -131,7 +131,7 @@ class CurseOfTheCabalInterveningIfTriggeredAbility extends ConditionalIntervenin
class CurseOfTheCabalTriggeredAbilityConditionalDelay extends AddCountersSourceEffect {
public CurseOfTheCabalTriggeredAbilityConditionalDelay() {
- super(CounterType.TIME.createInstance(), new StaticValue(2), false, true);
+ super(CounterType.TIME.createInstance(), StaticValue.get(2), false, true);
}
@Override
diff --git a/Mage.Sets/src/mage/cards/c/CustodiSoulcaller.java b/Mage.Sets/src/mage/cards/c/CustodiSoulcaller.java
index be2e69ad380..1defb822fba 100644
--- a/Mage.Sets/src/mage/cards/c/CustodiSoulcaller.java
+++ b/Mage.Sets/src/mage/cards/c/CustodiSoulcaller.java
@@ -15,7 +15,6 @@ import mage.constants.WatcherScope;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -71,7 +70,7 @@ enum CustodiSoulcallerAdjuster implements TargetAdjuster {
if (watcher != null) {
int xValue = watcher.getNumberOfAttackedPlayers(sourcePermanent.getControllerId());
FilterCard filter = new FilterCard("creature card with converted mana cost " + xValue + " or less");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.or(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, xValue), new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, xValue)));
ability.getTargets().add(new TargetCardInYourGraveyard(filter));
}
diff --git a/Mage.Sets/src/mage/cards/c/CustodiSquire.java b/Mage.Sets/src/mage/cards/c/CustodiSquire.java
index 6c6cf0226e6..f0640cf0e9b 100644
--- a/Mage.Sets/src/mage/cards/c/CustodiSquire.java
+++ b/Mage.Sets/src/mage/cards/c/CustodiSquire.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -56,9 +55,9 @@ class CustodiSquireVoteEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("artifact, creature, or enchantment card from your graveyard");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
CustodiSquireVoteEffect() {
diff --git a/Mage.Sets/src/mage/cards/c/CyclicalEvolution.java b/Mage.Sets/src/mage/cards/c/CyclicalEvolution.java
index 35f05870d41..208b1573a73 100644
--- a/Mage.Sets/src/mage/cards/c/CyclicalEvolution.java
+++ b/Mage.Sets/src/mage/cards/c/CyclicalEvolution.java
@@ -29,7 +29,7 @@ public final class CyclicalEvolution extends CardImpl {
getSpellAbility().addEffect(new BoostTargetEffect(3, 3, Duration.EndOfTurn));
getSpellAbility().addTarget(new TargetCreaturePermanent());
getSpellAbility().addEffect(ExileSpellEffect.getInstance());
- Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), true, true);
+ Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), StaticValue.get(3), true, true);
effect.setText("with 3 time counters on it");
getSpellAbility().addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/d/DampingMatrix.java b/Mage.Sets/src/mage/cards/d/DampingMatrix.java
index ae21bff84e9..32d153a156b 100644
--- a/Mage.Sets/src/mage/cards/d/DampingMatrix.java
+++ b/Mage.Sets/src/mage/cards/d/DampingMatrix.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -50,8 +49,8 @@ class DampingMatrixEffect extends ReplacementEffectImpl {
private static final FilterPermanent filter = new FilterPermanent("artifacts and creatures");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public DampingMatrixEffect() {
diff --git a/Mage.Sets/src/mage/cards/d/DanceOfTheManse.java b/Mage.Sets/src/mage/cards/d/DanceOfTheManse.java
index b46a38d00ce..b3d90d1e4ce 100644
--- a/Mage.Sets/src/mage/cards/d/DanceOfTheManse.java
+++ b/Mage.Sets/src/mage/cards/d/DanceOfTheManse.java
@@ -12,7 +12,6 @@ import mage.cards.CardsImpl;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
@@ -59,9 +58,9 @@ enum DanceOfTheManseAdjuster implements TargetAdjuster {
FilterCard filter = new FilterCard("artifact and/or non-Aura enchantment cards " +
"each with converted mana cost " + xValue + " or less from your graveyard");
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
+ CardType.ARTIFACT.getPredicate(),
Predicates.and(
- new CardTypePredicate(CardType.ENCHANTMENT),
+ CardType.ENCHANTMENT.getPredicate(),
Predicates.not(new SubtypePredicate(SubType.AURA))
)
));
diff --git a/Mage.Sets/src/mage/cards/d/DarettiIngeniousIconoclast.java b/Mage.Sets/src/mage/cards/d/DarettiIngeniousIconoclast.java
index 761505e9d42..21f49b83963 100644
--- a/Mage.Sets/src/mage/cards/d/DarettiIngeniousIconoclast.java
+++ b/Mage.Sets/src/mage/cards/d/DarettiIngeniousIconoclast.java
@@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.DarettiConstructToken;
import mage.target.TargetPermanent;
import mage.target.common.TargetCardInGraveyardOrBattlefield;
@@ -34,8 +33,8 @@ public final class DarettiIngeniousIconoclast extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/d/DaringDemolition.java b/Mage.Sets/src/mage/cards/d/DaringDemolition.java
index 3bc03353c94..961160bbb5b 100644
--- a/Mage.Sets/src/mage/cards/d/DaringDemolition.java
+++ b/Mage.Sets/src/mage/cards/d/DaringDemolition.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
@@ -22,7 +21,7 @@ public final class DaringDemolition extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or Vehicle");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new SubtypePredicate(SubType.VEHICLE)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), new SubtypePredicate(SubType.VEHICLE)));
}
public DaringDemolition(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DaringThief.java b/Mage.Sets/src/mage/cards/d/DaringThief.java
index f61519a5dfb..6ad173e81be 100644
--- a/Mage.Sets/src/mage/cards/d/DaringThief.java
+++ b/Mage.Sets/src/mage/cards/d/DaringThief.java
@@ -19,7 +19,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -63,7 +62,7 @@ class TargetControlledPermanentSharingOpponentPermanentCardType extends TargetCo
public TargetControlledPermanentSharingOpponentPermanentCardType() {
super();
this.filter = this.filter.copy();
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
setTargetName("nonland permanent you control");
}
diff --git a/Mage.Sets/src/mage/cards/d/DarkIntimations.java b/Mage.Sets/src/mage/cards/d/DarkIntimations.java
index fa4631214b5..1e07ff27333 100644
--- a/Mage.Sets/src/mage/cards/d/DarkIntimations.java
+++ b/Mage.Sets/src/mage/cards/d/DarkIntimations.java
@@ -18,7 +18,6 @@ import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
@@ -40,7 +39,7 @@ public final class DarkIntimations extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a Bolas planeswalker spell");
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.BOLAS));
}
@@ -71,11 +70,11 @@ class DarkIntimationsEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
filterCard.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public DarkIntimationsEffect() {
diff --git a/Mage.Sets/src/mage/cards/d/DarksteelForge.java b/Mage.Sets/src/mage/cards/d/DarksteelForge.java
index 756c80c357b..2f2fb271a43 100644
--- a/Mage.Sets/src/mage/cards/d/DarksteelForge.java
+++ b/Mage.Sets/src/mage/cards/d/DarksteelForge.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author Loki
@@ -23,7 +22,7 @@ public final class DarksteelForge extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Artifacts you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public DarksteelForge(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DarksteelGarrison.java b/Mage.Sets/src/mage/cards/d/DarksteelGarrison.java
index 78c63b2bfc2..e7c3468aa05 100644
--- a/Mage.Sets/src/mage/cards/d/DarksteelGarrison.java
+++ b/Mage.Sets/src/mage/cards/d/DarksteelGarrison.java
@@ -3,13 +3,9 @@ package mage.cards.d;
import java.util.UUID;
import mage.abilities.Ability;
-import mage.abilities.ActivatedAbilityImpl;
import mage.abilities.common.BecomesTappedAttachedTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
-import mage.abilities.costs.Cost;
-import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.Effect;
-import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.FortifyAbility;
@@ -19,16 +15,8 @@ import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.Duration;
-import mage.constants.Outcome;
import mage.constants.SubType;
-import mage.constants.TimingRule;
import mage.constants.Zone;
-import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
-import mage.game.Game;
-import mage.game.permanent.Permanent;
-import mage.target.Target;
-import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
/**
diff --git a/Mage.Sets/src/mage/cards/d/DarthSidiousSithLord.java b/Mage.Sets/src/mage/cards/d/DarthSidiousSithLord.java
index 59cc034dfa4..7559729192a 100644
--- a/Mage.Sets/src/mage/cards/d/DarthSidiousSithLord.java
+++ b/Mage.Sets/src/mage/cards/d/DarthSidiousSithLord.java
@@ -18,7 +18,6 @@ import mage.constants.SuperType;
import mage.constants.Duration;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreaturePermanent;
@@ -32,7 +31,7 @@ public final class DarthSidiousSithLord extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public DarthSidiousSithLord(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DawnToDusk.java b/Mage.Sets/src/mage/cards/d/DawnToDusk.java
index beb9a5d6f3d..b5d4ca3b315 100644
--- a/Mage.Sets/src/mage/cards/d/DawnToDusk.java
+++ b/Mage.Sets/src/mage/cards/d/DawnToDusk.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.common.TargetEnchantmentPermanent;
@@ -21,7 +20,7 @@ public final class DawnToDusk extends CardImpl {
private static final FilterCard filterCard = new FilterCard("enchantment card from your graveyard");
static {
- filterCard.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterCard.add(CardType.ENCHANTMENT.getPredicate());
}
public DawnToDusk(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DaxosTheReturned.java b/Mage.Sets/src/mage/cards/d/DaxosTheReturned.java
index fc4338b11d7..cdbf0f2f986 100644
--- a/Mage.Sets/src/mage/cards/d/DaxosTheReturned.java
+++ b/Mage.Sets/src/mage/cards/d/DaxosTheReturned.java
@@ -15,7 +15,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.DaxosSpiritToken;
/**
@@ -27,7 +26,7 @@ public final class DaxosTheReturned extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public DaxosTheReturned(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 a5c45c43e38..d33d7e32710 100644
--- a/Mage.Sets/src/mage/cards/d/DayOfTheDragons.java
+++ b/Mage.Sets/src/mage/cards/d/DayOfTheDragons.java
@@ -14,7 +14,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.ExileZone;
@@ -57,7 +56,7 @@ class DayOfTheDragonsEntersEffect extends OneShotEffect {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public DayOfTheDragonsEntersEffect() {
diff --git a/Mage.Sets/src/mage/cards/d/Daze.java b/Mage.Sets/src/mage/cards/d/Daze.java
index 81fb5231a21..6b9ac8291aa 100644
--- a/Mage.Sets/src/mage/cards/d/Daze.java
+++ b/Mage.Sets/src/mage/cards/d/Daze.java
@@ -11,7 +11,6 @@ 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;
import mage.target.TargetSpell;
import mage.target.common.TargetControlledPermanent;
@@ -26,7 +25,7 @@ public final class Daze extends CardImpl {
static {
filter.add(new SubtypePredicate(SubType.ISLAND));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public Daze(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DeadeyePlunderers.java b/Mage.Sets/src/mage/cards/d/DeadeyePlunderers.java
index c6156049c7f..0d1d72186aa 100644
--- a/Mage.Sets/src/mage/cards/d/DeadeyePlunderers.java
+++ b/Mage.Sets/src/mage/cards/d/DeadeyePlunderers.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.permanent.token.TreasureToken;
@@ -30,7 +29,7 @@ public final class DeadeyePlunderers extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/d/DeathriteShaman.java b/Mage.Sets/src/mage/cards/d/DeathriteShaman.java
index 5d2b2ab6486..154c9a6c788 100644
--- a/Mage.Sets/src/mage/cards/d/DeathriteShaman.java
+++ b/Mage.Sets/src/mage/cards/d/DeathriteShaman.java
@@ -20,7 +20,6 @@ import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
import mage.filter.common.FilterLandCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInGraveyard;
/**
@@ -33,8 +32,8 @@ public final class DeathriteShaman extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public DeathriteShaman(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/Deconstruct.java b/Mage.Sets/src/mage/cards/d/Deconstruct.java
index 849d4832b53..920f9c08275 100644
--- a/Mage.Sets/src/mage/cards/d/Deconstruct.java
+++ b/Mage.Sets/src/mage/cards/d/Deconstruct.java
@@ -9,7 +9,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,7 +20,7 @@ public final class Deconstruct extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Deconstruct(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DecreeOfAnnihilation.java b/Mage.Sets/src/mage/cards/d/DecreeOfAnnihilation.java
index f36ccbfb62c..16f133ac86a 100644
--- a/Mage.Sets/src/mage/cards/d/DecreeOfAnnihilation.java
+++ b/Mage.Sets/src/mage/cards/d/DecreeOfAnnihilation.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -57,9 +56,9 @@ class DecreeOfAnnihilationEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public DecreeOfAnnihilationEffect() {
diff --git a/Mage.Sets/src/mage/cards/d/DeepfireElemental.java b/Mage.Sets/src/mage/cards/d/DeepfireElemental.java
index 59ec4f30aad..89da38b65e0 100644
--- a/Mage.Sets/src/mage/cards/d/DeepfireElemental.java
+++ b/Mage.Sets/src/mage/cards/d/DeepfireElemental.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.XCMCPermanentAdjuster;
@@ -27,8 +26,8 @@ public final class DeepfireElemental extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/d/DeeprootChampion.java b/Mage.Sets/src/mage/cards/d/DeeprootChampion.java
index 4b3f1d7794a..2aa434eed14 100644
--- a/Mage.Sets/src/mage/cards/d/DeeprootChampion.java
+++ b/Mage.Sets/src/mage/cards/d/DeeprootChampion.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class DeeprootChampion extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public DeeprootChampion(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DefiantSalvager.java b/Mage.Sets/src/mage/cards/d/DefiantSalvager.java
index 7abc7ce3347..6a21b49ba75 100644
--- a/Mage.Sets/src/mage/cards/d/DefiantSalvager.java
+++ b/Mage.Sets/src/mage/cards/d/DefiantSalvager.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -27,7 +26,7 @@ public final class DefiantSalvager extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact or creature");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()));
}
public DefiantSalvager(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DejaVu.java b/Mage.Sets/src/mage/cards/d/DejaVu.java
index f7c475f5c53..210141e7370 100644
--- a/Mage.Sets/src/mage/cards/d/DejaVu.java
+++ b/Mage.Sets/src/mage/cards/d/DejaVu.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -19,7 +18,7 @@ public final class DejaVu extends CardImpl {
static final FilterCard filter = new FilterCard("sorcery card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public DejaVu(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/Demolish.java b/Mage.Sets/src/mage/cards/d/Demolish.java
index 39b71a93316..a11fde5f6b0 100644
--- a/Mage.Sets/src/mage/cards/d/Demolish.java
+++ b/Mage.Sets/src/mage/cards/d/Demolish.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,8 +21,8 @@ public final class Demolish extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Demolish(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DemonsHorn.java b/Mage.Sets/src/mage/cards/d/DemonsHorn.java
index 71e71e2d01b..d94ddc1d1dd 100644
--- a/Mage.Sets/src/mage/cards/d/DemonsHorn.java
+++ b/Mage.Sets/src/mage/cards/d/DemonsHorn.java
@@ -29,7 +29,7 @@ public final class DemonsHorn extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
// Whenever a player casts a black spell, you may gain 1 life.
- this.addAbility(new SpellCastAllTriggeredAbility(new GainLifeEffect(new StaticValue(1), "you may gain 1 life"), filter, true));
+ this.addAbility(new SpellCastAllTriggeredAbility(new GainLifeEffect(StaticValue.get(1), "you may gain 1 life"), filter, true));
}
public DemonsHorn(final DemonsHorn card) {
diff --git a/Mage.Sets/src/mage/cards/d/DemonspineWhip.java b/Mage.Sets/src/mage/cards/d/DemonspineWhip.java
index 7e246d0cbe5..3191caa20ad 100644
--- a/Mage.Sets/src/mage/cards/d/DemonspineWhip.java
+++ b/Mage.Sets/src/mage/cards/d/DemonspineWhip.java
@@ -31,7 +31,7 @@ public final class DemonspineWhip extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// {X}: Equipped creature gets +X/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new XPaid(), new StaticValue(0), Duration.EndOfTurn), new ManaCostsImpl("{X}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new XPaid(), StaticValue.get(0), Duration.EndOfTurn), new ManaCostsImpl("{X}")));
// Equip {1}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
diff --git a/Mage.Sets/src/mage/cards/d/DeployTheGatewatch.java b/Mage.Sets/src/mage/cards/d/DeployTheGatewatch.java
index bad6b4d91bf..addf1f99002 100644
--- a/Mage.Sets/src/mage/cards/d/DeployTheGatewatch.java
+++ b/Mage.Sets/src/mage/cards/d/DeployTheGatewatch.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -43,7 +42,7 @@ class DeployTheGatewatchEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("up to two planeswalker cards");
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
}
public DeployTheGatewatchEffect() {
diff --git a/Mage.Sets/src/mage/cards/d/DesecrationDemon.java b/Mage.Sets/src/mage/cards/d/DesecrationDemon.java
index 14e27b3d5ab..36e0878301a 100644
--- a/Mage.Sets/src/mage/cards/d/DesecrationDemon.java
+++ b/Mage.Sets/src/mage/cards/d/DesecrationDemon.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -72,7 +71,7 @@ class DesecrationDemonEffect extends OneShotEffect {
Player opponent = game.getPlayer(opponentId);
if (opponent != null) {
FilterControlledPermanent filter = new FilterControlledPermanent("creature to sacrifice");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, false);
if (target.canChoose(opponent.getId(), game)) {
diff --git a/Mage.Sets/src/mage/cards/d/DesecrationPlague.java b/Mage.Sets/src/mage/cards/d/DesecrationPlague.java
index bbac5de6aa0..f2736cb760d 100644
--- a/Mage.Sets/src/mage/cards/d/DesecrationPlague.java
+++ b/Mage.Sets/src/mage/cards/d/DesecrationPlague.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -20,7 +19,7 @@ public final class DesecrationPlague extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("enchantment or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ENCHANTMENT), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ENCHANTMENT.getPredicate(), CardType.LAND.getPredicate()));
}
public DesecrationPlague(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/Desolation.java b/Mage.Sets/src/mage/cards/d/Desolation.java
index 532dd4f9c34..75e0f0dbb77 100644
--- a/Mage.Sets/src/mage/cards/d/Desolation.java
+++ b/Mage.Sets/src/mage/cards/d/Desolation.java
@@ -16,7 +16,6 @@ import mage.constants.TargetController;
import mage.constants.WatcherScope;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
@@ -75,7 +74,7 @@ class DesolationEffect extends OneShotEffect {
Player player = game.getPlayer(playerId);
if (player != null) {
FilterControlledPermanent filter = new FilterControlledPermanent("land");
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new ControllerIdPredicate(playerId));
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true);
if (target.canChoose(player.getId(), game)) {
diff --git a/Mage.Sets/src/mage/cards/d/Despise.java b/Mage.Sets/src/mage/cards/d/Despise.java
index 8e1afc3b0a1..bb501f39186 100644
--- a/Mage.Sets/src/mage/cards/d/Despise.java
+++ b/Mage.Sets/src/mage/cards/d/Despise.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetOpponent;
/**
@@ -20,8 +19,8 @@ public final class Despise extends CardImpl {
private static final FilterCard filter = new FilterCard("a creature or planeswalker card");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public Despise(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DestructiveDigger.java b/Mage.Sets/src/mage/cards/d/DestructiveDigger.java
index 12f1e9bdbfa..6e8a29e1943 100644
--- a/Mage.Sets/src/mage/cards/d/DestructiveDigger.java
+++ b/Mage.Sets/src/mage/cards/d/DestructiveDigger.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
@@ -27,8 +26,8 @@ public final class DestructiveDigger extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/d/DestructorDragon.java b/Mage.Sets/src/mage/cards/d/DestructorDragon.java
index cd791017f69..cb37ba3c4b0 100644
--- a/Mage.Sets/src/mage/cards/d/DestructorDragon.java
+++ b/Mage.Sets/src/mage/cards/d/DestructorDragon.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -24,7 +23,7 @@ public final class DestructorDragon extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public DestructorDragon(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/Detritivore.java b/Mage.Sets/src/mage/cards/d/Detritivore.java
index aa9b7ddbe41..37655a7a312 100644
--- a/Mage.Sets/src/mage/cards/d/Detritivore.java
+++ b/Mage.Sets/src/mage/cards/d/Detritivore.java
@@ -22,7 +22,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -102,7 +101,7 @@ class NonBasicLandsInOpponentsGraveyards implements DynamicValue {
private static final FilterCard filter = new FilterCard("nonbasic land card");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC)));
}
diff --git a/Mage.Sets/src/mage/cards/d/Devastation.java b/Mage.Sets/src/mage/cards/d/Devastation.java
index 9b5f5b48c4b..dfe55da9a30 100644
--- a/Mage.Sets/src/mage/cards/d/Devastation.java
+++ b/Mage.Sets/src/mage/cards/d/Devastation.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public final class Devastation extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creatures and lands");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public Devastation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{R}{R}");
diff --git a/Mage.Sets/src/mage/cards/d/DevotedCaretaker.java b/Mage.Sets/src/mage/cards/d/DevotedCaretaker.java
index d379bdc67f9..fc8776f0fbf 100644
--- a/Mage.Sets/src/mage/cards/d/DevotedCaretaker.java
+++ b/Mage.Sets/src/mage/cards/d/DevotedCaretaker.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
@@ -30,7 +29,7 @@ public final class DevotedCaretaker extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant spells and sorcery spells");
static{
- filter.add(Predicates.or(new CardTypePredicate(CardType.SORCERY), new CardTypePredicate(CardType.INSTANT)));
+ filter.add(Predicates.or(CardType.SORCERY.getPredicate(), CardType.INSTANT.getPredicate()));
}
public DevotedCaretaker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DevouringHellion.java b/Mage.Sets/src/mage/cards/d/DevouringHellion.java
index 293a1f6616c..3cd85e186d4 100644
--- a/Mage.Sets/src/mage/cards/d/DevouringHellion.java
+++ b/Mage.Sets/src/mage/cards/d/DevouringHellion.java
@@ -14,7 +14,6 @@ import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -55,8 +54,8 @@ class DevouringHellionEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/d/DiabolicVision.java b/Mage.Sets/src/mage/cards/d/DiabolicVision.java
index 7495f8a1b6d..e374d3683bb 100644
--- a/Mage.Sets/src/mage/cards/d/DiabolicVision.java
+++ b/Mage.Sets/src/mage/cards/d/DiabolicVision.java
@@ -19,7 +19,7 @@ public final class DiabolicVision extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{U}{B}");
// Look at the top five cards of your library. Put one of them into your hand and the rest on top of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(1), new FilterCard(), true, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(1), new FilterCard(), true, false));
}
public DiabolicVision(final DiabolicVision card) {
diff --git a/Mage.Sets/src/mage/cards/d/DigThroughTime.java b/Mage.Sets/src/mage/cards/d/DigThroughTime.java
index 4aa9c91b047..fbc8168103a 100644
--- a/Mage.Sets/src/mage/cards/d/DigThroughTime.java
+++ b/Mage.Sets/src/mage/cards/d/DigThroughTime.java
@@ -25,7 +25,7 @@ public final class DigThroughTime extends CardImpl {
this.addAbility(new DelveAbility());
// Look at the top seven cards of your library. Put two of them into your hand and the rest on the bottom of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(7), false, new StaticValue(2), new FilterCard(), Zone.LIBRARY, false, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(7), false, StaticValue.get(2), new FilterCard(), Zone.LIBRARY, false, false));
}
public DigThroughTime(final DigThroughTime card) {
diff --git a/Mage.Sets/src/mage/cards/d/DiluvianPrimordial.java b/Mage.Sets/src/mage/cards/d/DiluvianPrimordial.java
index 5ebaeb3e536..78f0f576fdd 100644
--- a/Mage.Sets/src/mage/cards/d/DiluvianPrimordial.java
+++ b/Mage.Sets/src/mage/cards/d/DiluvianPrimordial.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerIdPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -76,7 +75,7 @@ enum DiluvianPrimordialAdjuster implements TargetAdjuster {
FilterCard filter = new FilterCard("instant or sorcery card from "
+ opponent.getLogName() + "'s graveyard");
filter.add(new OwnerIdPredicate(opponentId));
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
TargetCardInOpponentsGraveyard target = new TargetCardInOpponentsGraveyard(0, 1, filter);
ability.addTarget(target);
}
diff --git a/Mage.Sets/src/mage/cards/d/DimirCharm.java b/Mage.Sets/src/mage/cards/d/DimirCharm.java
index 16d827dd031..78d6c4c624b 100644
--- a/Mage.Sets/src/mage/cards/d/DimirCharm.java
+++ b/Mage.Sets/src/mage/cards/d/DimirCharm.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -35,7 +34,7 @@ public final class DimirCharm extends CardImpl {
static {
filterCreature.add(new PowerPredicate(ComparisonType.FEWER_THAN, 3));
- filterSorcery.add(new CardTypePredicate(CardType.SORCERY));
+ filterSorcery.add(CardType.SORCERY.getPredicate());
}
public DimirCharm(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DireFleetDaredevil.java b/Mage.Sets/src/mage/cards/d/DireFleetDaredevil.java
index 0b068cb21aa..eee9cd1434d 100644
--- a/Mage.Sets/src/mage/cards/d/DireFleetDaredevil.java
+++ b/Mage.Sets/src/mage/cards/d/DireFleetDaredevil.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -35,8 +34,8 @@ public final class DireFleetDaredevil extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public DireFleetDaredevil(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DirectorKrennic.java b/Mage.Sets/src/mage/cards/d/DirectorKrennic.java
index 2a528a3d213..6602f49e98d 100644
--- a/Mage.Sets/src/mage/cards/d/DirectorKrennic.java
+++ b/Mage.Sets/src/mage/cards/d/DirectorKrennic.java
@@ -13,7 +13,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.permanent.token.TrooperToken2;
import mage.target.TargetPermanent;
@@ -27,7 +26,7 @@ public final class DirectorKrennic extends CardImpl {
private static final FilterPermanent filterLand = new FilterPermanent("basic land");
static {
- filterLand.add(new CardTypePredicate(CardType.LAND));
+ filterLand.add(CardType.LAND.getPredicate());
filterLand.add(new SupertypePredicate(SuperType.BASIC));
}
diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java b/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java
index 8fabd46578e..50bee691e15 100644
--- a/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java
+++ b/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java
@@ -21,7 +21,7 @@ import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterInstantOrSorceryCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.target.TargetSpell;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.common.TargetCreaturePermanent;
@@ -35,7 +35,7 @@ public final class DiscipleOfTheRing extends CardImpl {
private static final FilterSpell filterSpell = new FilterSpell("noncreature spell");
static {
- filterSpell.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterSpell.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public DiscipleOfTheRing(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DiscoveryDispersal.java b/Mage.Sets/src/mage/cards/d/DiscoveryDispersal.java
index 0ab54683229..6daa999a758 100644
--- a/Mage.Sets/src/mage/cards/d/DiscoveryDispersal.java
+++ b/Mage.Sets/src/mage/cards/d/DiscoveryDispersal.java
@@ -115,7 +115,7 @@ class DispersalEffect extends OneShotEffect {
filter.add(Predicates.or(permsToReturn));
new ReturnToHandFromBattlefieldAllEffect(filter).apply(game, source);
new DiscardEachPlayerEffect(
- new StaticValue(1), false, TargetController.OPPONENT
+ StaticValue.get(1), false, TargetController.OPPONENT
).apply(game, source);
return true;
}
diff --git a/Mage.Sets/src/mage/cards/d/DisinformationCampaign.java b/Mage.Sets/src/mage/cards/d/DisinformationCampaign.java
index 7b67d4bc805..4ffc2d9f04c 100644
--- a/Mage.Sets/src/mage/cards/d/DisinformationCampaign.java
+++ b/Mage.Sets/src/mage/cards/d/DisinformationCampaign.java
@@ -29,7 +29,7 @@ public final class DisinformationCampaign extends CardImpl {
Ability ability = new EntersBattlefieldTriggeredAbility(
new DrawCardSourceControllerEffect(1, "you"));
ability.addEffect(new DiscardEachPlayerEffect(
- new StaticValue(1), false, TargetController.OPPONENT).concatBy("and"));
+ StaticValue.get(1), false, TargetController.OPPONENT).concatBy("and"));
this.addAbility(ability);
// Whenever you surveil, return Disinformation Campaign to its owner's hand.
diff --git a/Mage.Sets/src/mage/cards/d/Dispel.java b/Mage.Sets/src/mage/cards/d/Dispel.java
index c7af0cb0c07..8af2de2baa0 100644
--- a/Mage.Sets/src/mage/cards/d/Dispel.java
+++ b/Mage.Sets/src/mage/cards/d/Dispel.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -19,7 +18,7 @@ public final class Dispel extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant spell");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public Dispel(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java b/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java
index aa7fa1a6c17..982a15498d3 100644
--- a/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java
+++ b/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -36,7 +35,7 @@ public final class DisplayOfDominance extends CardImpl {
filter.add(Predicates.or(
new ColorPredicate(ObjectColor.BLUE),
new ColorPredicate(ObjectColor.BLACK)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public DisplayOfDominance(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DistendedMindbender.java b/Mage.Sets/src/mage/cards/d/DistendedMindbender.java
index e05ecbd7b58..13500ac1449 100644
--- a/Mage.Sets/src/mage/cards/d/DistendedMindbender.java
+++ b/Mage.Sets/src/mage/cards/d/DistendedMindbender.java
@@ -19,7 +19,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -67,7 +66,7 @@ class DistendedMindbenderEffect extends OneShotEffect {
static {
filterFourOrGreater.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, 3));
filterThreeOrLess.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
- filterThreeOrLess.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filterThreeOrLess.add(Predicates.not(CardType.LAND.getPredicate()));
}
public DistendedMindbenderEffect() {
diff --git a/Mage.Sets/src/mage/cards/d/Distress.java b/Mage.Sets/src/mage/cards/d/Distress.java
index 2ee0b371821..bdb95669d9c 100644
--- a/Mage.Sets/src/mage/cards/d/Distress.java
+++ b/Mage.Sets/src/mage/cards/d/Distress.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPlayer;
/**
@@ -20,7 +19,7 @@ public final class Distress extends CardImpl {
private static final FilterCard filter = new FilterCard("nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public Distress(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DistrictGuide.java b/Mage.Sets/src/mage/cards/d/DistrictGuide.java
index aea9713b75e..d8a9c4dbccd 100644
--- a/Mage.Sets/src/mage/cards/d/DistrictGuide.java
+++ b/Mage.Sets/src/mage/cards/d/DistrictGuide.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -28,7 +27,7 @@ public final class DistrictGuide extends CardImpl {
static {
filter.add(Predicates.or(
Predicates.and(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
new SupertypePredicate(SuperType.BASIC)
), new SubtypePredicate(SubType.GATE)
));
diff --git a/Mage.Sets/src/mage/cards/d/Divest.java b/Mage.Sets/src/mage/cards/d/Divest.java
index 1c4d95c49e4..d5c64cf6af6 100644
--- a/Mage.Sets/src/mage/cards/d/Divest.java
+++ b/Mage.Sets/src/mage/cards/d/Divest.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.constants.TargetController;
import mage.target.TargetPlayer;
@@ -23,8 +22,8 @@ public final class Divest extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact or creature card");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public Divest(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java b/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java
index f29593b7e25..3e28d03f9aa 100644
--- a/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java
+++ b/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java
@@ -18,7 +18,6 @@ import mage.constants.Duration;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
@@ -33,7 +32,7 @@ public final class DjeruWithEyesOpen extends CardImpl {
private static final FilterCard filter = new FilterCard("planeswalker card");
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
}
public DjeruWithEyesOpen(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DocentOfPerfection.java b/Mage.Sets/src/mage/cards/d/DocentOfPerfection.java
index 46b698bb57a..ad42f070624 100644
--- a/Mage.Sets/src/mage/cards/d/DocentOfPerfection.java
+++ b/Mage.Sets/src/mage/cards/d/DocentOfPerfection.java
@@ -21,7 +21,6 @@ import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
@@ -37,8 +36,8 @@ public final class DocentOfPerfection extends CardImpl {
static {
filterSpell.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public DocentOfPerfection(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/Domineer.java b/Mage.Sets/src/mage/cards/d/Domineer.java
index 95afadeb8df..d61b5971b12 100644
--- a/Mage.Sets/src/mage/cards/d/Domineer.java
+++ b/Mage.Sets/src/mage/cards/d/Domineer.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -27,7 +26,7 @@ public final class Domineer extends CardImpl {
static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Domineer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DomriChaosBringer.java b/Mage.Sets/src/mage/cards/d/DomriChaosBringer.java
index ed75b4de9ec..5ed58faaa1f 100644
--- a/Mage.Sets/src/mage/cards/d/DomriChaosBringer.java
+++ b/Mage.Sets/src/mage/cards/d/DomriChaosBringer.java
@@ -44,7 +44,7 @@ public final class DomriChaosBringer extends CardImpl {
// −3: Look at the top four cards of your library. You may reveal up to two creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(2),
+ StaticValue.get(4), false, StaticValue.get(2),
StaticFilters.FILTER_CARD_CREATURE, Zone.LIBRARY, false,
true, true, Zone.HAND, false, false, false
).setText(
diff --git a/Mage.Sets/src/mage/cards/d/Dovescape.java b/Mage.Sets/src/mage/cards/d/Dovescape.java
index dfdea9c74d8..e3917d0af7a 100644
--- a/Mage.Sets/src/mage/cards/d/Dovescape.java
+++ b/Mage.Sets/src/mage/cards/d/Dovescape.java
@@ -12,10 +12,8 @@ import mage.constants.Outcome;
import mage.constants.SetTargetPointer;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.token.DovescapeToken;
-import mage.game.permanent.token.TokenImpl;
import mage.game.permanent.token.Token;
import mage.game.stack.Spell;
@@ -28,7 +26,7 @@ public final class Dovescape extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Dovescape(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DovinGrandArbiter.java b/Mage.Sets/src/mage/cards/d/DovinGrandArbiter.java
index ea2400d975b..4d7d713cfce 100644
--- a/Mage.Sets/src/mage/cards/d/DovinGrandArbiter.java
+++ b/Mage.Sets/src/mage/cards/d/DovinGrandArbiter.java
@@ -47,8 +47,8 @@ public final class DovinGrandArbiter extends CardImpl {
// -7: Look at the top ten cards of your library. Put three of them into your hand and the rest on the bottom of your library in a random order.
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
- new StaticValue(10), false,
- new StaticValue(3), StaticFilters.FILTER_CARD,
+ StaticValue.get(10), false,
+ StaticValue.get(3), StaticFilters.FILTER_CARD,
Zone.LIBRARY, false, false, false,
Zone.HAND, false, false, false
).setBackInRandomOrder(true).setText("Look at the top ten cards of your library. " +
diff --git a/Mage.Sets/src/mage/cards/d/DovinsAcuity.java b/Mage.Sets/src/mage/cards/d/DovinsAcuity.java
index 96efb5f9772..ea8560753ea 100644
--- a/Mage.Sets/src/mage/cards/d/DovinsAcuity.java
+++ b/Mage.Sets/src/mage/cards/d/DovinsAcuity.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TurnPhase;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import java.util.EnumSet;
@@ -28,7 +27,7 @@ public final class DovinsAcuity extends CardImpl {
private static final FilterSpell filter = new FilterSpell();
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public DovinsAcuity(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DownhillCharge.java b/Mage.Sets/src/mage/cards/d/DownhillCharge.java
index ed0d2d0eb26..f14bbae0190 100644
--- a/Mage.Sets/src/mage/cards/d/DownhillCharge.java
+++ b/Mage.Sets/src/mage/cards/d/DownhillCharge.java
@@ -36,7 +36,7 @@ public final class DownhillCharge extends CardImpl {
// You may sacrifice a Mountain rather than pay Downhill Charge's mana cost.
this.addAbility(new AlternativeCostSourceAbility(new SacrificeTargetCost(new TargetControlledPermanent(filter))));
// Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control.
- Effect effect = new BoostTargetEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.EndOfTurn, true);
+ Effect effect = new BoostTargetEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.EndOfTurn, true);
effect.setText("Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control.");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/d/DowsingShaman.java b/Mage.Sets/src/mage/cards/d/DowsingShaman.java
index bf02e0053d3..21a8d08bebb 100644
--- a/Mage.Sets/src/mage/cards/d/DowsingShaman.java
+++ b/Mage.Sets/src/mage/cards/d/DowsingShaman.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -26,7 +25,7 @@ public final class DowsingShaman extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public DowsingShaman(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DragonlordOjutai.java b/Mage.Sets/src/mage/cards/d/DragonlordOjutai.java
index cbb71bd2505..98e6aa3cc63 100644
--- a/Mage.Sets/src/mage/cards/d/DragonlordOjutai.java
+++ b/Mage.Sets/src/mage/cards/d/DragonlordOjutai.java
@@ -47,7 +47,7 @@ public final class DragonlordOjutai extends CardImpl {
// Whenever Dragonlord Ojutai deals combat damage to a player, look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new LookLibraryAndPickControllerEffect
- (new StaticValue(3), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false), false));
+ (StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false), false));
}
public DragonlordOjutai(final DragonlordOjutai card) {
diff --git a/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java b/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java
index 9ae855120e0..a969036fd0b 100644
--- a/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java
+++ b/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.ComparisonType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.DragonToken2;
/**
@@ -27,7 +26,7 @@ public final class DragonmasterOutcast extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("land");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public DragonmasterOutcast(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DralnuLichLord.java b/Mage.Sets/src/mage/cards/d/DralnuLichLord.java
index ac2d30a61dd..3e0f09fa9b1 100644
--- a/Mage.Sets/src/mage/cards/d/DralnuLichLord.java
+++ b/Mage.Sets/src/mage/cards/d/DralnuLichLord.java
@@ -18,7 +18,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.DamageCreatureEvent;
import mage.game.events.GameEvent;
@@ -33,8 +32,8 @@ public final class DralnuLichLord extends CardImpl {
private static final FilterCard filter = new FilterCard("instant or sorcery card in your graveyard");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public DralnuLichLord(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DranaKalastriaBloodchief.java b/Mage.Sets/src/mage/cards/d/DranaKalastriaBloodchief.java
index 404fafb5f75..28f6054c856 100644
--- a/Mage.Sets/src/mage/cards/d/DranaKalastriaBloodchief.java
+++ b/Mage.Sets/src/mage/cards/d/DranaKalastriaBloodchief.java
@@ -37,8 +37,8 @@ public final class DranaKalastriaBloodchief extends CardImpl {
this.toughness = new MageInt(4);
this.addAbility(FlyingAbility.getInstance());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(new StaticValue(0), new SignInversionDynamicValue(ManacostVariableValue.instance), Duration.EndOfTurn), new ManaCostsImpl("{X}{B}{B}"));
- ability.addEffect(new BoostSourceEffect(ManacostVariableValue.instance, new StaticValue(0), Duration.EndOfTurn));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(StaticValue.get(0), new SignInversionDynamicValue(ManacostVariableValue.instance), Duration.EndOfTurn), new ManaCostsImpl("{X}{B}{B}"));
+ ability.addEffect(new BoostSourceEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/d/DrawnFromDreams.java b/Mage.Sets/src/mage/cards/d/DrawnFromDreams.java
index b2ff445b845..a9777c29890 100644
--- a/Mage.Sets/src/mage/cards/d/DrawnFromDreams.java
+++ b/Mage.Sets/src/mage/cards/d/DrawnFromDreams.java
@@ -20,7 +20,7 @@ public final class DrawnFromDreams extends CardImpl {
// Look at the top seven cards of your library. Put two of them into your hand and the rest on the bottom of your library in a random order.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(7), false, new StaticValue(2),
+ StaticValue.get(7), false, StaticValue.get(2),
StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false
).setBackInRandomOrder(true));
}
diff --git a/Mage.Sets/src/mage/cards/d/Dreadbore.java b/Mage.Sets/src/mage/cards/d/Dreadbore.java
index b0acce28cd3..7e44a8966b1 100644
--- a/Mage.Sets/src/mage/cards/d/Dreadbore.java
+++ b/Mage.Sets/src/mage/cards/d/Dreadbore.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -20,8 +19,8 @@ public final class Dreadbore extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/d/Dreadmalkin.java b/Mage.Sets/src/mage/cards/d/Dreadmalkin.java
index f31c67f88e3..8cc76d83a6c 100644
--- a/Mage.Sets/src/mage/cards/d/Dreadmalkin.java
+++ b/Mage.Sets/src/mage/cards/d/Dreadmalkin.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.target.common.TargetControlledPermanent;
@@ -30,8 +29,8 @@ public final class Dreadmalkin extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.PLANESWALKER),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.PLANESWALKER.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/d/Dredge.java b/Mage.Sets/src/mage/cards/d/Dredge.java
index 39cce92665e..10801f9c111 100644
--- a/Mage.Sets/src/mage/cards/d/Dredge.java
+++ b/Mage.Sets/src/mage/cards/d/Dredge.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class Dredge extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public Dredge(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DriftOfTheDead.java b/Mage.Sets/src/mage/cards/d/DriftOfTheDead.java
index baef227f5a5..cb8eb550b90 100644
--- a/Mage.Sets/src/mage/cards/d/DriftOfTheDead.java
+++ b/Mage.Sets/src/mage/cards/d/DriftOfTheDead.java
@@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -30,7 +29,7 @@ public final class DriftOfTheDead extends CardImpl {
static {
filter.add(new SupertypePredicate(SuperType.SNOW));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/d/DrillSkimmer.java b/Mage.Sets/src/mage/cards/d/DrillSkimmer.java
index d379e662a37..cae53d9630e 100644
--- a/Mage.Sets/src/mage/cards/d/DrillSkimmer.java
+++ b/Mage.Sets/src/mage/cards/d/DrillSkimmer.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import java.util.UUID;
@@ -31,7 +30,7 @@ public final class DrillSkimmer extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public DrillSkimmer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DroidFactory.java b/Mage.Sets/src/mage/cards/d/DroidFactory.java
index f09abd7e4ff..93771bafff5 100644
--- a/Mage.Sets/src/mage/cards/d/DroidFactory.java
+++ b/Mage.Sets/src/mage/cards/d/DroidFactory.java
@@ -13,7 +13,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -59,7 +58,7 @@ public final class DroidFactory extends CardImpl {
addCost(new TapSourceCost());
addCost(new SacrificeSourceCost());
FilterCard filter = new FilterCard("basic Plains, Island or Swamp");
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
List> subtypePredicates = new ArrayList<>();
subtypePredicates.add(new SubtypePredicate(SubType.SWAMP));
subtypePredicates.add(new SubtypePredicate(SubType.PLAINS));
diff --git a/Mage.Sets/src/mage/cards/d/DroidUprising.java b/Mage.Sets/src/mage/cards/d/DroidUprising.java
index 3657276640f..160e3715190 100644
--- a/Mage.Sets/src/mage/cards/d/DroidUprising.java
+++ b/Mage.Sets/src/mage/cards/d/DroidUprising.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.DroidToken;
/**
@@ -21,7 +20,7 @@ public final class DroidUprising extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creatures");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public DroidUprising(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DrossScorpion.java b/Mage.Sets/src/mage/cards/d/DrossScorpion.java
index 475da499bd9..5dd5c0f1d12 100644
--- a/Mage.Sets/src/mage/cards/d/DrossScorpion.java
+++ b/Mage.Sets/src/mage/cards/d/DrossScorpion.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetArtifactPermanent;
/**
@@ -23,7 +22,7 @@ public final class DrossScorpion extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public DrossScorpion(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/d/DualCasting.java b/Mage.Sets/src/mage/cards/d/DualCasting.java
index c2e42fd3c2d..e9c0b7cdcbc 100644
--- a/Mage.Sets/src/mage/cards/d/DualCasting.java
+++ b/Mage.Sets/src/mage/cards/d/DualCasting.java
@@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetPermanent;
import mage.target.TargetSpell;
@@ -31,8 +30,8 @@ public final class DualCasting extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/d/Duress.java b/Mage.Sets/src/mage/cards/d/Duress.java
index 584668ad526..5d352f8c4d4 100644
--- a/Mage.Sets/src/mage/cards/d/Duress.java
+++ b/Mage.Sets/src/mage/cards/d/Duress.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetOpponent;
/**
@@ -20,8 +19,8 @@ public final class Duress extends CardImpl {
private static final FilterCard filter = new FilterCard("a noncreature, nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public Duress(UUID ownerId, CardSetInfo setInfo){
diff --git a/Mage.Sets/src/mage/cards/e/EarthSurge.java b/Mage.Sets/src/mage/cards/e/EarthSurge.java
index 6992e2695a5..cd45ccbbc0a 100644
--- a/Mage.Sets/src/mage/cards/e/EarthSurge.java
+++ b/Mage.Sets/src/mage/cards/e/EarthSurge.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class EarthSurge extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("land creatures");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public EarthSurge(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/Earthcraft.java b/Mage.Sets/src/mage/cards/e/Earthcraft.java
index 9db0d2926b1..af9a8424b84 100644
--- a/Mage.Sets/src/mage/cards/e/Earthcraft.java
+++ b/Mage.Sets/src/mage/cards/e/Earthcraft.java
@@ -14,7 +14,6 @@ import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.TargetPermanent;
@@ -30,7 +29,7 @@ public final class Earthcraft extends CardImpl {
static {
filterCreature.add(Predicates.not(TappedPredicate.instance));
- filterLand.add(new CardTypePredicate(CardType.LAND));
+ filterLand.add(CardType.LAND.getPredicate());
filterLand.add(new SupertypePredicate(SuperType.BASIC));
}
diff --git a/Mage.Sets/src/mage/cards/e/Earthlore.java b/Mage.Sets/src/mage/cards/e/Earthlore.java
index 2a511fba605..17d018f4bdb 100644
--- a/Mage.Sets/src/mage/cards/e/Earthlore.java
+++ b/Mage.Sets/src/mage/cards/e/Earthlore.java
@@ -5,7 +5,6 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.ActivateIfConditionActivatedAbility;
import mage.abilities.condition.common.AttachedToMatchesFilterCondition;
-import mage.abilities.condition.common.MyTurnCondition;
import mage.abilities.costs.Cost;
import mage.abilities.costs.common.TapAttachedCost;
import mage.abilities.effects.common.AttachEffect;
@@ -22,7 +21,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterBlockingCreature;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
@@ -37,7 +35,7 @@ public final class Earthlore extends CardImpl {
private static final FilterControlledPermanent filterLand = new FilterControlledPermanent("land you control");
static {
- filterLand.add(new CardTypePredicate(CardType.LAND));
+ filterLand.add(CardType.LAND.getPredicate());
}
private static final FilterPermanent filterUntapped = new FilterPermanent("enchanted land is untapped");
diff --git a/Mage.Sets/src/mage/cards/e/Earthshaker.java b/Mage.Sets/src/mage/cards/e/Earthshaker.java
index 6a10728d67c..85b4eb7ebf0 100644
--- a/Mage.Sets/src/mage/cards/e/Earthshaker.java
+++ b/Mage.Sets/src/mage/cards/e/Earthshaker.java
@@ -34,7 +34,7 @@ public final class Earthshaker extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(5);
// Whenever you cast a Spirit or Arcane spell, Earthshaker deals 2 damage to each creature without flying.
- this.addAbility(new SpellCastControllerTriggeredAbility(new DamageAllEffect(new StaticValue(2) , creatureFilter), StaticFilters.SPIRIT_OR_ARCANE_CARD, false));
+ this.addAbility(new SpellCastControllerTriggeredAbility(new DamageAllEffect(StaticValue.get(2) , creatureFilter), StaticFilters.SPIRIT_OR_ARCANE_CARD, false));
}
public Earthshaker(final Earthshaker card) {
diff --git a/Mage.Sets/src/mage/cards/e/EchoingRuin.java b/Mage.Sets/src/mage/cards/e/EchoingRuin.java
index 738dba3ba8e..c740314fb50 100644
--- a/Mage.Sets/src/mage/cards/e/EchoingRuin.java
+++ b/Mage.Sets/src/mage/cards/e/EchoingRuin.java
@@ -7,7 +7,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -24,7 +23,7 @@ public final class EchoingRuin extends CardImpl {
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public EchoingRuin(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 6a09d922761..ba78ff842c4 100644
--- a/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java
+++ b/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java
@@ -18,7 +18,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -30,7 +29,7 @@ public final class EidolonOfCountlessBattles extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
+ CardType.CREATURE.getPredicate(),
new SubtypePredicate(SubType.AURA)));
}
diff --git a/Mage.Sets/src/mage/cards/e/EladamrisCall.java b/Mage.Sets/src/mage/cards/e/EladamrisCall.java
index 37209a51b25..4bf450a0c53 100644
--- a/Mage.Sets/src/mage/cards/e/EladamrisCall.java
+++ b/Mage.Sets/src/mage/cards/e/EladamrisCall.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -19,7 +18,7 @@ public final class EladamrisCall extends CardImpl {
private static final FilterCard filter = new FilterCard("creature card");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public EladamrisCall(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/ElderDruid.java b/Mage.Sets/src/mage/cards/e/ElderDruid.java
index 6be651a2bfb..f1eaa033819 100644
--- a/Mage.Sets/src/mage/cards/e/ElderDruid.java
+++ b/Mage.Sets/src/mage/cards/e/ElderDruid.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -28,9 +27,9 @@ public final class ElderDruid extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public ElderDruid(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EldritchEvolution.java b/Mage.Sets/src/mage/cards/e/EldritchEvolution.java
index 4ea99a51912..9a46e46b89c 100644
--- a/Mage.Sets/src/mage/cards/e/EldritchEvolution.java
+++ b/Mage.Sets/src/mage/cards/e/EldritchEvolution.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -81,7 +80,7 @@ class EldritchEvolutionEffect extends OneShotEffect {
int newConvertedCost = sacrificedPermanent.getConvertedManaCost() + 2;
FilterCard filter = new FilterCard("creature card with converted mana cost " + newConvertedCost + " or less");
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, newConvertedCost+1));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
TargetCardInLibrary target = new TargetCardInLibrary(filter);
if (controller.searchLibrary(target, source, game)) {
Card card = controller.getLibrary().getCard(target.getFirstTarget(), game);
diff --git a/Mage.Sets/src/mage/cards/e/ElectrostaticBolt.java b/Mage.Sets/src/mage/cards/e/ElectrostaticBolt.java
index b0f405a1cd9..f1a161c2d6a 100644
--- a/Mage.Sets/src/mage/cards/e/ElectrostaticBolt.java
+++ b/Mage.Sets/src/mage/cards/e/ElectrostaticBolt.java
@@ -10,7 +10,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
@@ -46,7 +45,7 @@ class ElectrostaticBoltDamageValue implements DynamicValue {
static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
@Override
diff --git a/Mage.Sets/src/mage/cards/e/EliteArcanist.java b/Mage.Sets/src/mage/cards/e/EliteArcanist.java
index 37f39b971d9..9034df372c2 100644
--- a/Mage.Sets/src/mage/cards/e/EliteArcanist.java
+++ b/Mage.Sets/src/mage/cards/e/EliteArcanist.java
@@ -18,7 +18,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -87,7 +86,7 @@ class EliteArcanistImprintEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("instant card from your hand");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public EliteArcanistImprintEffect() {
diff --git a/Mage.Sets/src/mage/cards/e/ElshaOfTheInfinite.java b/Mage.Sets/src/mage/cards/e/ElshaOfTheInfinite.java
index 3dfdc703be5..91b80c7af8d 100644
--- a/Mage.Sets/src/mage/cards/e/ElshaOfTheInfinite.java
+++ b/Mage.Sets/src/mage/cards/e/ElshaOfTheInfinite.java
@@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.common.FilterNonlandCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -28,7 +27,7 @@ public final class ElshaOfTheInfinite extends CardImpl {
private static final FilterCard filter = new FilterNonlandCard();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ElshaOfTheInfinite(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/ElusiveSpellfist.java b/Mage.Sets/src/mage/cards/e/ElusiveSpellfist.java
index d4325312b8e..b2e1cbdb2bb 100644
--- a/Mage.Sets/src/mage/cards/e/ElusiveSpellfist.java
+++ b/Mage.Sets/src/mage/cards/e/ElusiveSpellfist.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,7 +25,7 @@ public final class ElusiveSpellfist extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ElusiveSpellfist(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EmberGale.java b/Mage.Sets/src/mage/cards/e/EmberGale.java
index 306b3887fe2..7bf5fe1b94c 100644
--- a/Mage.Sets/src/mage/cards/e/EmberGale.java
+++ b/Mage.Sets/src/mage/cards/e/EmberGale.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
@@ -77,7 +76,7 @@ class EmberGaleEffect extends OneShotEffect {
filter2.add(new ControllerIdPredicate(targetPlayer.getId()));
filter2.add(Predicates.or(new ColorPredicate(ObjectColor.WHITE),
new ColorPredicate(ObjectColor.BLUE)));
- filter2.add(new CardTypePredicate(CardType.CREATURE));
+ filter2.add(CardType.CREATURE.getPredicate());
for (Permanent creature : game.getBattlefield().getAllActivePermanents(filter2, targetPlayer.getId(), game)) {
creature.damage(1, source.getSourceId(), game, false, true);
}
diff --git a/Mage.Sets/src/mage/cards/e/EmberethSkyblazer.java b/Mage.Sets/src/mage/cards/e/EmberethSkyblazer.java
index 9eff0199960..efbdb2cc029 100644
--- a/Mage.Sets/src/mage/cards/e/EmberethSkyblazer.java
+++ b/Mage.Sets/src/mage/cards/e/EmberethSkyblazer.java
@@ -43,7 +43,7 @@ public final class EmberethSkyblazer extends CardImpl {
// Whenever Embereth Skyblazer attacks, you may pay {2}{R}. If you do, creatures you control get +X/+0 until end of turn, where X is the number of opponents you have.
this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(
new BoostControlledEffect(
- OpponentsCount.instance, StaticValue.getZeroValue(), Duration.EndOfTurn,
+ OpponentsCount.instance, StaticValue.get(0), Duration.EndOfTurn,
StaticFilters.FILTER_PERMANENT_CREATURE, false, true
).setText("creatures you control get +X/+0 until end of turn, where X is the number of opponents you have"),
new ManaCostsImpl("{2}{R}")
diff --git a/Mage.Sets/src/mage/cards/e/EmbodimentOfFury.java b/Mage.Sets/src/mage/cards/e/EmbodimentOfFury.java
index 517ec3fcfb8..e5e7c81b30a 100644
--- a/Mage.Sets/src/mage/cards/e/EmbodimentOfFury.java
+++ b/Mage.Sets/src/mage/cards/e/EmbodimentOfFury.java
@@ -18,9 +18,7 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledLandPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.target.TargetPermanent;
/**
@@ -32,8 +30,8 @@ public final class EmbodimentOfFury extends CardImpl {
private static final FilterPermanent filterLandCreatures = new FilterPermanent("Land creatures");
static {
- filterLandCreatures.add(new CardTypePredicate(CardType.LAND));
- filterLandCreatures.add(new CardTypePredicate(CardType.CREATURE));
+ filterLandCreatures.add(CardType.LAND.getPredicate());
+ filterLandCreatures.add(CardType.CREATURE.getPredicate());
}
public EmbodimentOfFury(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EmbodimentOfInsight.java b/Mage.Sets/src/mage/cards/e/EmbodimentOfInsight.java
index 2f002a4bda8..56ff24f7a68 100644
--- a/Mage.Sets/src/mage/cards/e/EmbodimentOfInsight.java
+++ b/Mage.Sets/src/mage/cards/e/EmbodimentOfInsight.java
@@ -18,9 +18,7 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledLandPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.target.TargetPermanent;
/**
@@ -32,8 +30,8 @@ public final class EmbodimentOfInsight extends CardImpl {
private static final FilterPermanent filterLandCreatures = new FilterPermanent("Land creatures");
static {
- filterLandCreatures.add(new CardTypePredicate(CardType.LAND));
- filterLandCreatures.add(new CardTypePredicate(CardType.CREATURE));
+ filterLandCreatures.add(CardType.LAND.getPredicate());
+ filterLandCreatures.add(CardType.CREATURE.getPredicate());
}
public EmbodimentOfInsight(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EmeriaShepherd.java b/Mage.Sets/src/mage/cards/e/EmeriaShepherd.java
index 584e48dd4f8..08a1884c365 100644
--- a/Mage.Sets/src/mage/cards/e/EmeriaShepherd.java
+++ b/Mage.Sets/src/mage/cards/e/EmeriaShepherd.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterPermanentCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -32,7 +31,7 @@ public final class EmeriaShepherd extends CardImpl {
private static final FilterPermanentCard filter = new FilterPermanentCard("nonland permanent card from your graveyard");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public EmeriaShepherd(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EmissaryOfHope.java b/Mage.Sets/src/mage/cards/e/EmissaryOfHope.java
index 04331e591a2..a7866a6f6e8 100644
--- a/Mage.Sets/src/mage/cards/e/EmissaryOfHope.java
+++ b/Mage.Sets/src/mage/cards/e/EmissaryOfHope.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -51,7 +50,7 @@ class EmissaryOfHopeEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/e/EmrakulThePromisedEnd.java b/Mage.Sets/src/mage/cards/e/EmrakulThePromisedEnd.java
index 726ec3f847d..28af8e6a1ec 100644
--- a/Mage.Sets/src/mage/cards/e/EmrakulThePromisedEnd.java
+++ b/Mage.Sets/src/mage/cards/e/EmrakulThePromisedEnd.java
@@ -19,7 +19,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.turn.TurnMod;
import mage.players.Player;
@@ -35,7 +34,7 @@ public final class EmrakulThePromisedEnd extends CardImpl {
private static final FilterCard filter = new FilterCard("instants");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public EmrakulThePromisedEnd(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EnchantresssPresence.java b/Mage.Sets/src/mage/cards/e/EnchantresssPresence.java
index e0a855ec580..f455a8dc4c0 100644
--- a/Mage.Sets/src/mage/cards/e/EnchantresssPresence.java
+++ b/Mage.Sets/src/mage/cards/e/EnchantresssPresence.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public final class EnchantresssPresence extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an Enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
diff --git a/Mage.Sets/src/mage/cards/e/Encroach.java b/Mage.Sets/src/mage/cards/e/Encroach.java
index 84fd18dbe6d..ee97c6745bc 100644
--- a/Mage.Sets/src/mage/cards/e/Encroach.java
+++ b/Mage.Sets/src/mage/cards/e/Encroach.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetOpponent;
@@ -23,7 +22,7 @@ public final class Encroach extends CardImpl {
static {
filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC)));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public Encroach(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/Encrust.java b/Mage.Sets/src/mage/cards/e/Encrust.java
index fd2cf1f6d7b..628dbdb2b0b 100644
--- a/Mage.Sets/src/mage/cards/e/Encrust.java
+++ b/Mage.Sets/src/mage/cards/e/Encrust.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -30,8 +29,8 @@ public final class Encrust extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ARTIFACT)));
+ CardType.CREATURE.getPredicate(),
+ CardType.ARTIFACT.getPredicate()));
}
public Encrust(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EndlessScream.java b/Mage.Sets/src/mage/cards/e/EndlessScream.java
index 75fc451a8ab..f4e0aef884e 100644
--- a/Mage.Sets/src/mage/cards/e/EndlessScream.java
+++ b/Mage.Sets/src/mage/cards/e/EndlessScream.java
@@ -41,7 +41,7 @@ public final class EndlessScream extends CardImpl {
// Endless Scream enters the battlefield with X scream counters on it.
this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.SCREAM.createInstance())));
// Enchanted creature gets +1/+0 for each scream counter on Endless Scream.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(new CountersSourceCount(CounterType.SCREAM), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(new CountersSourceCount(CounterType.SCREAM), StaticValue.get(0), Duration.WhileOnBattlefield)));
}
public EndlessScream(final EndlessScream card) {
diff --git a/Mage.Sets/src/mage/cards/e/EnergyChamber.java b/Mage.Sets/src/mage/cards/e/EnergyChamber.java
index bd906d312c0..15fc7fc0534 100644
--- a/Mage.Sets/src/mage/cards/e/EnergyChamber.java
+++ b/Mage.Sets/src/mage/cards/e/EnergyChamber.java
@@ -15,7 +15,7 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.target.TargetPermanent;
/**
@@ -28,10 +28,10 @@ public final class EnergyChamber extends CardImpl {
private static final FilterPermanent filter2 = new FilterPermanent("noncreature artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
- filter2.add(new CardTypePredicate(CardType.ARTIFACT));
- filter2.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
+ filter2.add(CardType.ARTIFACT.getPredicate());
+ filter2.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public EnergyChamber(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/Enervate.java b/Mage.Sets/src/mage/cards/e/Enervate.java
index 2c3df57d064..b32b09ded83 100644
--- a/Mage.Sets/src/mage/cards/e/Enervate.java
+++ b/Mage.Sets/src/mage/cards/e/Enervate.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -24,9 +23,9 @@ public final class Enervate extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Enervate(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EnlightenedTutor.java b/Mage.Sets/src/mage/cards/e/EnlightenedTutor.java
index f76fc0e70b8..1ba46ff9568 100644
--- a/Mage.Sets/src/mage/cards/e/EnlightenedTutor.java
+++ b/Mage.Sets/src/mage/cards/e/EnlightenedTutor.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -20,8 +19,8 @@ public final class EnlightenedTutor extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact or enchantment card");
static{
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public EnlightenedTutor(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/Enrage.java b/Mage.Sets/src/mage/cards/e/Enrage.java
index 9d83d33659c..5546838f80e 100644
--- a/Mage.Sets/src/mage/cards/e/Enrage.java
+++ b/Mage.Sets/src/mage/cards/e/Enrage.java
@@ -22,7 +22,7 @@ public final class Enrage extends CardImpl {
// Target creature gets +X/+0 until end of turn.
- this.getSpellAbility().addEffect(new BoostTargetEffect(ManacostVariableValue.instance, new StaticValue(0), Duration.EndOfTurn));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/e/Envelop.java b/Mage.Sets/src/mage/cards/e/Envelop.java
index e246e4dfab9..71ef804f62f 100644
--- a/Mage.Sets/src/mage/cards/e/Envelop.java
+++ b/Mage.Sets/src/mage/cards/e/Envelop.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -19,7 +18,7 @@ public final class Envelop extends CardImpl {
private static final FilterSpell filter = new FilterSpell("sorcery spell");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public Envelop(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/Equipoise.java b/Mage.Sets/src/mage/cards/e/Equipoise.java
index 08163dde815..4f0a72880ea 100644
--- a/Mage.Sets/src/mage/cards/e/Equipoise.java
+++ b/Mage.Sets/src/mage/cards/e/Equipoise.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -81,14 +80,14 @@ class EquipoiseEffect extends OneShotEffect {
private void phaseOutCardType(Player controller, Player targetPlayer, CardType cardType, Ability source, Game game) {
FilterPermanent filter = new FilterControlledPermanent();
- filter.add(new CardTypePredicate(cardType));
+ filter.add(cardType.getPredicate());
int numberController = game.getBattlefield().count(filter, source.getSourceId(), controller.getId(), game);
int numberTargetPlayer = game.getBattlefield().count(filter, source.getSourceId(), targetPlayer.getId(), game);
int excess = numberTargetPlayer - numberController;
if (excess > 0) {
FilterPermanent filterChoose = new FilterPermanent(cardType.toString().toLowerCase(Locale.ENGLISH) + (excess > 1 ? "s" : "") + " of target player");
filterChoose.add(new ControllerIdPredicate(targetPlayer.getId()));
- filterChoose.add(new CardTypePredicate(cardType));
+ filterChoose.add(cardType.getPredicate());
Target target = new TargetPermanent(excess, excess, filterChoose, true);
controller.chooseTarget(outcome, target, source, game);
new PhaseOutAllEffect(target.getTargets()).apply(game, source);
diff --git a/Mage.Sets/src/mage/cards/e/EraOfInnovation.java b/Mage.Sets/src/mage/cards/e/EraOfInnovation.java
index 58b789c0591..6c590925136 100644
--- a/Mage.Sets/src/mage/cards/e/EraOfInnovation.java
+++ b/Mage.Sets/src/mage/cards/e/EraOfInnovation.java
@@ -19,7 +19,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -31,7 +30,7 @@ public final class EraOfInnovation extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact or Artificer");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
new SubtypePredicate(SubType.ARTIFICER)));
}
diff --git a/Mage.Sets/src/mage/cards/e/ErtaiTheCorrupted.java b/Mage.Sets/src/mage/cards/e/ErtaiTheCorrupted.java
index 7cfef3111b1..f03a9c10e1c 100644
--- a/Mage.Sets/src/mage/cards/e/ErtaiTheCorrupted.java
+++ b/Mage.Sets/src/mage/cards/e/ErtaiTheCorrupted.java
@@ -17,7 +17,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetControlledPermanent;
@@ -30,7 +29,7 @@ public final class ErtaiTheCorrupted extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a creature or enchantment");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public ErtaiTheCorrupted(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EsperPanorama.java b/Mage.Sets/src/mage/cards/e/EsperPanorama.java
index 02ddbb217c3..e51e305c6b1 100644
--- a/Mage.Sets/src/mage/cards/e/EsperPanorama.java
+++ b/Mage.Sets/src/mage/cards/e/EsperPanorama.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -28,7 +27,7 @@ public final class EsperPanorama extends CardImpl {
private static final FilterCard filter = new FilterCard("a basic Plains, Island, or Swamp");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SupertypePredicate(SuperType.BASIC));
filter.add(Predicates.or(
new SubtypePredicate(SubType.PLAINS),
diff --git a/Mage.Sets/src/mage/cards/e/EtaliPrimalStorm.java b/Mage.Sets/src/mage/cards/e/EtaliPrimalStorm.java
index f75fb918ce1..06724c90677 100644
--- a/Mage.Sets/src/mage/cards/e/EtaliPrimalStorm.java
+++ b/Mage.Sets/src/mage/cards/e/EtaliPrimalStorm.java
@@ -21,8 +21,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterNonlandCard;
-import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
diff --git a/Mage.Sets/src/mage/cards/e/EternalDominion.java b/Mage.Sets/src/mage/cards/e/EternalDominion.java
index ebaa4377f1f..66f6ed7551a 100644
--- a/Mage.Sets/src/mage/cards/e/EternalDominion.java
+++ b/Mage.Sets/src/mage/cards/e/EternalDominion.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
@@ -55,10 +54,10 @@ class EternalDominionEffect extends OneShotEffect {
private static final FilterCard FILTER = new FilterCard("an artifact, creature, enchantment, or land card");
static {
- FILTER.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ FILTER.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public EternalDominionEffect() {
diff --git a/Mage.Sets/src/mage/cards/e/EtheriumAstrolabe.java b/Mage.Sets/src/mage/cards/e/EtheriumAstrolabe.java
index 0cd511809a1..0cb2e0f9794 100644
--- a/Mage.Sets/src/mage/cards/e/EtheriumAstrolabe.java
+++ b/Mage.Sets/src/mage/cards/e/EtheriumAstrolabe.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -25,7 +24,7 @@ public final class EtheriumAstrolabe extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static{
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public EtheriumAstrolabe(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EtheriumSculptor.java b/Mage.Sets/src/mage/cards/e/EtheriumSculptor.java
index bb923a40f54..00582aeb77e 100644
--- a/Mage.Sets/src/mage/cards/e/EtheriumSculptor.java
+++ b/Mage.Sets/src/mage/cards/e/EtheriumSculptor.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ import mage.filter.predicate.mageobject.CardTypePredicate;
public final class EtheriumSculptor extends CardImpl {
private static final FilterCard filter = new FilterCard("Artifact spells");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public EtheriumSculptor(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EtherswornAdjudicator.java b/Mage.Sets/src/mage/cards/e/EtherswornAdjudicator.java
index b89ded5d6f1..a07e0920cec 100644
--- a/Mage.Sets/src/mage/cards/e/EtherswornAdjudicator.java
+++ b/Mage.Sets/src/mage/cards/e/EtherswornAdjudicator.java
@@ -18,7 +18,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.TargetPermanent;
@@ -31,8 +30,8 @@ public final class EtherswornAdjudicator extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public EtherswornAdjudicator(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EtherswornShieldmage.java b/Mage.Sets/src/mage/cards/e/EtherswornShieldmage.java
index 467e8a3e8df..1c46ad8bbbf 100644
--- a/Mage.Sets/src/mage/cards/e/EtherswornShieldmage.java
+++ b/Mage.Sets/src/mage/cards/e/EtherswornShieldmage.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class EtherswornShieldmage extends CardImpl {
final private static FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creatures");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public EtherswornShieldmage(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EutropiaTheTwiceFavored.java b/Mage.Sets/src/mage/cards/e/EutropiaTheTwiceFavored.java
new file mode 100644
index 00000000000..e4f3fd52c1a
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/e/EutropiaTheTwiceFavored.java
@@ -0,0 +1,52 @@
+package mage.cards.e;
+
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.abilityword.ConstellationAbility;
+import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
+import mage.abilities.effects.common.counter.AddCountersTargetEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.SubType;
+import mage.constants.SuperType;
+import mage.counters.CounterType;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class EutropiaTheTwiceFavored extends CardImpl {
+
+ public EutropiaTheTwiceFavored(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{U}");
+
+ this.addSuperType(SuperType.LEGENDARY);
+ this.subtype.add(SubType.HUMAN);
+ this.subtype.add(SubType.WIZARD);
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(2);
+
+ // Constellation—Whenever an enchantment enters the battlefield under your control, put a +1/+1 counter on target creature. That creature gains flying until end of turn.
+ Ability ability = new ConstellationAbility(
+ new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false, false
+ );
+ ability.addEffect(new GainAbilityTargetEffect(
+ FlyingAbility.getInstance(), Duration.EndOfTurn,
+ "That creature gains flying until end of turn"
+ ));
+ this.addAbility(ability);
+ }
+
+ private EutropiaTheTwiceFavored(final EutropiaTheTwiceFavored card) {
+ super(card);
+ }
+
+ @Override
+ public EutropiaTheTwiceFavored copy() {
+ return new EutropiaTheTwiceFavored(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/cards/e/Evershrike.java b/Mage.Sets/src/mage/cards/e/Evershrike.java
index 55d29896933..0e404bf2326 100644
--- a/Mage.Sets/src/mage/cards/e/Evershrike.java
+++ b/Mage.Sets/src/mage/cards/e/Evershrike.java
@@ -16,7 +16,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.other.AuraCardCanAttachToPermanentId;
@@ -84,7 +83,7 @@ class EvershrikeEffect extends OneShotEffect {
}
boolean exileSource = true;
FilterCard filterAuraCard = new FilterCard("Aura card with converted mana cost X or less from your hand");
- filterAuraCard.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterAuraCard.add(CardType.ENCHANTMENT.getPredicate());
filterAuraCard.add(new SubtypePredicate(SubType.AURA));
filterAuraCard.add(new AuraCardCanAttachToPermanentId(evershrikePermanent.getId()));
filterAuraCard.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, xAmount));
diff --git a/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java b/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java
index 89feff77394..cd330ce4b50 100644
--- a/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java
+++ b/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -26,7 +25,7 @@ public final class ExavaRakdosBloodWitch extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new CounterPredicate(CounterType.P1P1));
filter.add(AnotherPredicate.instance);
diff --git a/Mage.Sets/src/mage/cards/e/ExclusionRitual.java b/Mage.Sets/src/mage/cards/e/ExclusionRitual.java
index 08311b02f29..240d9bb6507 100644
--- a/Mage.Sets/src/mage/cards/e/ExclusionRitual.java
+++ b/Mage.Sets/src/mage/cards/e/ExclusionRitual.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
@@ -31,7 +30,7 @@ public final class ExclusionRitual extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nonland permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public ExclusionRitual(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/Exhaustion.java b/Mage.Sets/src/mage/cards/e/Exhaustion.java
index b4f8f6cd53f..c47dd20b2cd 100644
--- a/Mage.Sets/src/mage/cards/e/Exhaustion.java
+++ b/Mage.Sets/src/mage/cards/e/Exhaustion.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetOpponent;
@@ -47,7 +46,7 @@ class ExhaustionEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
ExhaustionEffect() {
diff --git a/Mage.Sets/src/mage/cards/e/ExpansionExplosion.java b/Mage.Sets/src/mage/cards/e/ExpansionExplosion.java
index 88cd4ef9f99..0b2039c0944 100644
--- a/Mage.Sets/src/mage/cards/e/ExpansionExplosion.java
+++ b/Mage.Sets/src/mage/cards/e/ExpansionExplosion.java
@@ -80,7 +80,7 @@ class ExplosionEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
int xValue = source.getManaCostsToPay().getX();
- Effect effect = new DamageTargetEffect(new StaticValue(xValue), true, "", true);
+ Effect effect = new DamageTargetEffect(StaticValue.get(xValue), true, "", true);
effect.setTargetPointer(new FixedTarget(source.getFirstTarget(), game));
effect.apply(game, source);
Player player = game.getPlayer(source.getTargets().get(1).getFirstTarget());
diff --git a/Mage.Sets/src/mage/cards/e/Expunge.java b/Mage.Sets/src/mage/cards/e/Expunge.java
index 16e2a2e4eab..1229c464a09 100644
--- a/Mage.Sets/src/mage/cards/e/Expunge.java
+++ b/Mage.Sets/src/mage/cards/e/Expunge.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -24,7 +23,7 @@ public final class Expunge extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact, nonblack creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/e/Extinguish.java b/Mage.Sets/src/mage/cards/e/Extinguish.java
index 4e3f82c21fd..1eaeb9c0b30 100644
--- a/Mage.Sets/src/mage/cards/e/Extinguish.java
+++ b/Mage.Sets/src/mage/cards/e/Extinguish.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -19,7 +18,7 @@ public final class Extinguish extends CardImpl {
private static final FilterSpell filter = new FilterSpell("sorcery spell");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public Extinguish(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/ExtinguishAllHope.java b/Mage.Sets/src/mage/cards/e/ExtinguishAllHope.java
index 2ff8dd05373..f9a511567ce 100644
--- a/Mage.Sets/src/mage/cards/e/ExtinguishAllHope.java
+++ b/Mage.Sets/src/mage/cards/e/ExtinguishAllHope.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,8 +18,8 @@ public final class ExtinguishAllHope extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nonenchantment creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
- filter.add(Predicates.not(new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(CardType.CREATURE.getPredicate());
+ filter.add(Predicates.not(CardType.ENCHANTMENT.getPredicate()));
}
diff --git a/Mage.Sets/src/mage/cards/e/Extirpate.java b/Mage.Sets/src/mage/cards/e/Extirpate.java
index 1c74ffd1df0..f18fa00bb0c 100644
--- a/Mage.Sets/src/mage/cards/e/Extirpate.java
+++ b/Mage.Sets/src/mage/cards/e/Extirpate.java
@@ -17,7 +17,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
@@ -35,7 +34,7 @@ public final class Extirpate extends CardImpl {
private static final FilterCard filter = new FilterCard("card in a graveyard other than a basic land card");
static {
- filter.add(Predicates.not(Predicates.and(new CardTypePredicate(CardType.LAND), new SupertypePredicate(SuperType.BASIC))));
+ filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), new SupertypePredicate(SuperType.BASIC))));
}
public Extirpate(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/Extruder.java b/Mage.Sets/src/mage/cards/e/Extruder.java
index d13b63f9463..2e9afc22943 100644
--- a/Mage.Sets/src/mage/cards/e/Extruder.java
+++ b/Mage.Sets/src/mage/cards/e/Extruder.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -28,7 +27,7 @@ public final class Extruder extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Extruder(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/e/EyesOfTheWatcher.java b/Mage.Sets/src/mage/cards/e/EyesOfTheWatcher.java
index cc00e75b554..6575e0a6c3c 100644
--- a/Mage.Sets/src/mage/cards/e/EyesOfTheWatcher.java
+++ b/Mage.Sets/src/mage/cards/e/EyesOfTheWatcher.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,7 +20,7 @@ public final class EyesOfTheWatcher extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an instant or sorcery spell");
static{
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public EyesOfTheWatcher(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/Fabricate.java b/Mage.Sets/src/mage/cards/f/Fabricate.java
index 426b498545b..0c1035ad953 100644
--- a/Mage.Sets/src/mage/cards/f/Fabricate.java
+++ b/Mage.Sets/src/mage/cards/f/Fabricate.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -19,7 +18,7 @@ public final class Fabricate extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Fabricate(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FaerieMechanist.java b/Mage.Sets/src/mage/cards/f/FaerieMechanist.java
index d3593c1bb3a..b510cf20653 100644
--- a/Mage.Sets/src/mage/cards/f/FaerieMechanist.java
+++ b/Mage.Sets/src/mage/cards/f/FaerieMechanist.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class FaerieMechanist extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact card");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public FaerieMechanist(UUID ownerId, CardSetInfo setInfo) {
@@ -37,7 +36,7 @@ public final class FaerieMechanist extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Faerie Mechanist enters the battlefield, look at the top three cards of your library.
// You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
- this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1), filter, false)));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), filter, false)));
}
public FaerieMechanist(final FaerieMechanist card) {
diff --git a/Mage.Sets/src/mage/cards/f/FalseOrders.java b/Mage.Sets/src/mage/cards/f/FalseOrders.java
index 7a3279720b0..28d324d5f96 100644
--- a/Mage.Sets/src/mage/cards/f/FalseOrders.java
+++ b/Mage.Sets/src/mage/cards/f/FalseOrders.java
@@ -19,7 +19,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.ObjectPlayer;
import mage.filter.predicate.ObjectPlayerPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.PermanentInListPredicate;
import mage.game.Controllable;
import mage.game.Game;
@@ -40,7 +39,7 @@ public final class FalseOrders extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature defending player controls");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new FalseOrdersDefendingPlayerControlsPredicate());
}
diff --git a/Mage.Sets/src/mage/cards/f/FatalFrenzy.java b/Mage.Sets/src/mage/cards/f/FatalFrenzy.java
index 6b074158208..a5147f18f13 100644
--- a/Mage.Sets/src/mage/cards/f/FatalFrenzy.java
+++ b/Mage.Sets/src/mage/cards/f/FatalFrenzy.java
@@ -35,7 +35,7 @@ public final class FatalFrenzy extends CardImpl {
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)
.setText("Until end of turn, target creature you control gains trample")
);
- this.getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, new StaticValue(0), Duration.EndOfTurn, true)
+ this.getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, StaticValue.get(0), Duration.EndOfTurn, true)
.setText("and gets +X/+0, where X is its power.")
);
this.getSpellAbility().addEffect(new FatalFrenzyEffect());
diff --git a/Mage.Sets/src/mage/cards/f/FatalLore.java b/Mage.Sets/src/mage/cards/f/FatalLore.java
index c4a641dedc5..9978b96de54 100644
--- a/Mage.Sets/src/mage/cards/f/FatalLore.java
+++ b/Mage.Sets/src/mage/cards/f/FatalLore.java
@@ -79,7 +79,7 @@ class FatalLoreEffect extends OneShotEffect {
destroyCreature.setTargetPointer(new FixedTarget(targetId));
destroyCreature.apply(game, source);
}
- Effect opponentDrawsCards = new DrawCardTargetEffect(new StaticValue(3), false, true);
+ Effect opponentDrawsCards = new DrawCardTargetEffect(StaticValue.get(3), false, true);
opponentDrawsCards.setTargetPointer(new FixedTarget(chosenOpponent.getId()));
opponentDrawsCards.apply(game, source);
return true;
diff --git a/Mage.Sets/src/mage/cards/f/FatedRetribution.java b/Mage.Sets/src/mage/cards/f/FatedRetribution.java
index 9956c2abaf7..13b602a5a2d 100644
--- a/Mage.Sets/src/mage/cards/f/FatedRetribution.java
+++ b/Mage.Sets/src/mage/cards/f/FatedRetribution.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,8 +21,8 @@ public final class FatedRetribution extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creatures and planeswalkers");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public FatedRetribution(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{W}{W}{W}");
diff --git a/Mage.Sets/src/mage/cards/f/FeastOfDreams.java b/Mage.Sets/src/mage/cards/f/FeastOfDreams.java
index b42e154268b..e356a2037cb 100644
--- a/Mage.Sets/src/mage/cards/f/FeastOfDreams.java
+++ b/Mage.Sets/src/mage/cards/f/FeastOfDreams.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.EnchantedPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -23,7 +22,7 @@ public final class FeastOfDreams extends CardImpl {
static {
filter.add(Predicates.or(
EnchantedPredicate.instance,
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/f/FeastOrFamine.java b/Mage.Sets/src/mage/cards/f/FeastOrFamine.java
index f0ac4772747..5166155216d 100644
--- a/Mage.Sets/src/mage/cards/f/FeastOrFamine.java
+++ b/Mage.Sets/src/mage/cards/f/FeastOrFamine.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.permanent.token.ZombieToken;
import mage.target.common.TargetCreaturePermanent;
@@ -25,7 +24,7 @@ public final class FeastOrFamine extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact, nonblack creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/f/FenHauler.java b/Mage.Sets/src/mage/cards/f/FenHauler.java
index 7a558eeed67..a118fd1f480 100644
--- a/Mage.Sets/src/mage/cards/f/FenHauler.java
+++ b/Mage.Sets/src/mage/cards/f/FenHauler.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class FenHauler extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creatures");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public FenHauler(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FeralAnimist.java b/Mage.Sets/src/mage/cards/f/FeralAnimist.java
index d552a596958..6fbca8779b2 100644
--- a/Mage.Sets/src/mage/cards/f/FeralAnimist.java
+++ b/Mage.Sets/src/mage/cards/f/FeralAnimist.java
@@ -31,7 +31,7 @@ public final class FeralAnimist extends CardImpl {
// {3}: Feral Animist gets +X/+0 until end of turn, where X is its power.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new BoostSourceEffect(new SourcePermanentPowerCount(), new StaticValue(0), Duration.EndOfTurn, true),
+ new BoostSourceEffect(new SourcePermanentPowerCount(), StaticValue.get(0), Duration.EndOfTurn, true),
new GenericManaCost(3)));
}
diff --git a/Mage.Sets/src/mage/cards/f/Ferrovore.java b/Mage.Sets/src/mage/cards/f/Ferrovore.java
index 78ae866ec0c..fe985d0960d 100644
--- a/Mage.Sets/src/mage/cards/f/Ferrovore.java
+++ b/Mage.Sets/src/mage/cards/f/Ferrovore.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -27,7 +26,7 @@ public final class Ferrovore extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Ferrovore (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FesteringMarch.java b/Mage.Sets/src/mage/cards/f/FesteringMarch.java
index 9d6b6a93c08..20f67b9c979 100644
--- a/Mage.Sets/src/mage/cards/f/FesteringMarch.java
+++ b/Mage.Sets/src/mage/cards/f/FesteringMarch.java
@@ -29,7 +29,7 @@ public final class FesteringMarch extends CardImpl {
// Exile Festering March
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
// with three time counters on it.
- Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), false, true);
+ Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), StaticValue.get(3), false, true);
effect.setText("with 3 time counters on it");
this.getSpellAbility().addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/f/FiligreeAngel.java b/Mage.Sets/src/mage/cards/f/FiligreeAngel.java
index ced894d9df7..638f78ff107 100644
--- a/Mage.Sets/src/mage/cards/f/FiligreeAngel.java
+++ b/Mage.Sets/src/mage/cards/f/FiligreeAngel.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -55,7 +54,7 @@ class FiligreeAngelEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterControlledPermanent();
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public FiligreeAngelEffect() {
diff --git a/Mage.Sets/src/mage/cards/f/FiligreeSages.java b/Mage.Sets/src/mage/cards/f/FiligreeSages.java
index a6390948d6e..8a4626cfa02 100644
--- a/Mage.Sets/src/mage/cards/f/FiligreeSages.java
+++ b/Mage.Sets/src/mage/cards/f/FiligreeSages.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -25,7 +24,7 @@ public final class FiligreeSages extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public FiligreeSages (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/Filth.java b/Mage.Sets/src/mage/cards/f/Filth.java
index 95db452bde1..e8b25598f5b 100644
--- a/Mage.Sets/src/mage/cards/f/Filth.java
+++ b/Mage.Sets/src/mage/cards/f/Filth.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -30,7 +29,7 @@ public final class Filth extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Swamp");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SubtypePredicate(SubType.SWAMP));
}
diff --git a/Mage.Sets/src/mage/cards/f/FinalIteration.java b/Mage.Sets/src/mage/cards/f/FinalIteration.java
index 0b0d38c973a..274ff435bb1 100644
--- a/Mage.Sets/src/mage/cards/f/FinalIteration.java
+++ b/Mage.Sets/src/mage/cards/f/FinalIteration.java
@@ -17,7 +17,6 @@ import mage.constants.*;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.permanent.token.HumanWizardToken;
@@ -35,8 +34,8 @@ public final class FinalIteration extends CardImpl {
filter.add(new SubtypePredicate(SubType.WIZARD));
filter.add(new ControllerPredicate(TargetController.YOU));
filterSpell.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public FinalIteration(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FinalPayment.java b/Mage.Sets/src/mage/cards/f/FinalPayment.java
index 22486309c38..bb636c2dd07 100644
--- a/Mage.Sets/src/mage/cards/f/FinalPayment.java
+++ b/Mage.Sets/src/mage/cards/f/FinalPayment.java
@@ -2,26 +2,18 @@ package mage.cards.f;
import java.util.UUID;
-import mage.abilities.costs.AlternativeCostSourceAbility;
import mage.abilities.costs.Cost;
-import mage.abilities.costs.OptionalAdditionalCost;
import mage.abilities.costs.OrCost;
import mage.abilities.costs.common.PayLifeCost;
import mage.abilities.costs.common.SacrificeTargetCost;
-import mage.abilities.dynamicvalue.common.SacrificeCostCreaturesToughness;
import mage.abilities.effects.common.DestroyTargetEffect;
-import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
-import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
-import mage.target.common.TargetOpponentsCreaturePermanent;
/**
*
@@ -31,7 +23,7 @@ public final class FinalPayment extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a creature or enchantment");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public FinalPayment(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FinaleOfDevastation.java b/Mage.Sets/src/mage/cards/f/FinaleOfDevastation.java
index 7afc58140a8..7e49ab9f077 100644
--- a/Mage.Sets/src/mage/cards/f/FinaleOfDevastation.java
+++ b/Mage.Sets/src/mage/cards/f/FinaleOfDevastation.java
@@ -10,7 +10,6 @@ import mage.game.Game;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
import mage.constants.CardType;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.abilities.effects.common.search.SearchLibraryGraveyardWithLessCMCPutIntoPlay;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect;
@@ -29,7 +28,7 @@ public final class FinaleOfDevastation extends CardImpl {
private static final FilterCard filter = new FilterCard("creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public FinaleOfDevastation(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FinaleOfPromise.java b/Mage.Sets/src/mage/cards/f/FinaleOfPromise.java
index 21183ceab34..9ebf263dde1 100644
--- a/Mage.Sets/src/mage/cards/f/FinaleOfPromise.java
+++ b/Mage.Sets/src/mage/cards/f/FinaleOfPromise.java
@@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -36,8 +35,8 @@ public final class FinaleOfPromise extends CardImpl {
static final FilterCard filterSorcery = new FilterCard("sorcery card from your graveyard");
static {
- filterInstant.add(new CardTypePredicate(CardType.INSTANT));
- filterSorcery.add(new CardTypePredicate(CardType.SORCERY));
+ filterInstant.add(CardType.INSTANT.getPredicate());
+ filterSorcery.add(CardType.SORCERY.getPredicate());
}
public FinaleOfPromise(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/Finn.java b/Mage.Sets/src/mage/cards/f/Finn.java
index 6408b55ac2c..aee02c573a4 100644
--- a/Mage.Sets/src/mage/cards/f/Finn.java
+++ b/Mage.Sets/src/mage/cards/f/Finn.java
@@ -2,21 +2,16 @@ package mage.cards.f;
import java.util.UUID;
import mage.MageInt;
-import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.GainLifeEffect;
import mage.constants.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
-import mage.filter.StaticFilters;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
-import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
-import mage.target.common.TargetCreaturePermanent;
/**
*
diff --git a/Mage.Sets/src/mage/cards/f/FirebrandArcher.java b/Mage.Sets/src/mage/cards/f/FirebrandArcher.java
index d0af2ca0707..060974091da 100644
--- a/Mage.Sets/src/mage/cards/f/FirebrandArcher.java
+++ b/Mage.Sets/src/mage/cards/f/FirebrandArcher.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class FirebrandArcher extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public FirebrandArcher(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FirefrightMage.java b/Mage.Sets/src/mage/cards/f/FirefrightMage.java
index 56a20aca3b2..05bd9ff5cee 100644
--- a/Mage.Sets/src/mage/cards/f/FirefrightMage.java
+++ b/Mage.Sets/src/mage/cards/f/FirefrightMage.java
@@ -18,7 +18,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -33,8 +32,8 @@ public final class FirefrightMage extends CardImpl {
static {
filter.add(Predicates.not(
Predicates.or(
- Predicates.and(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)),
- Predicates.and(new CardTypePredicate(CardType.CREATURE), new ColorPredicate(ObjectColor.RED)
+ Predicates.and(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()),
+ Predicates.and(CardType.CREATURE.getPredicate(), new ColorPredicate(ObjectColor.RED)
))));
}
diff --git a/Mage.Sets/src/mage/cards/f/FiremindsForesight.java b/Mage.Sets/src/mage/cards/f/FiremindsForesight.java
index 05b43763089..c3cfd5d6400 100644
--- a/Mage.Sets/src/mage/cards/f/FiremindsForesight.java
+++ b/Mage.Sets/src/mage/cards/f/FiremindsForesight.java
@@ -10,7 +10,6 @@ import mage.constants.ComparisonType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -72,7 +71,7 @@ class FiremindsForesightSearchEffect extends OneShotEffect {
for (int cmc=3; cmc > 0; cmc--) {
FilterCard filter = new FilterCard("instant card with converted mana cost " + cmc);
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, cmc));
diff --git a/Mage.Sets/src/mage/cards/f/FiresongAndSunspeaker.java b/Mage.Sets/src/mage/cards/f/FiresongAndSunspeaker.java
index 3d396bc5643..af59786f63d 100644
--- a/Mage.Sets/src/mage/cards/f/FiresongAndSunspeaker.java
+++ b/Mage.Sets/src/mage/cards/f/FiresongAndSunspeaker.java
@@ -17,7 +17,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.filter.FilterObject;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -33,7 +32,7 @@ public final class FiresongAndSunspeaker extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.RED));
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public FiresongAndSunspeaker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/Fissure.java b/Mage.Sets/src/mage/cards/f/Fissure.java
index 8dd76642e73..4d0537f9147 100644
--- a/Mage.Sets/src/mage/cards/f/Fissure.java
+++ b/Mage.Sets/src/mage/cards/f/Fissure.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.TargetPermanent;
@@ -19,7 +18,7 @@ import mage.target.TargetPermanent;
public final class Fissure extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public Fissure(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FistsOfFlame.java b/Mage.Sets/src/mage/cards/f/FistsOfFlame.java
index 418879d2c44..6b5af78da9a 100644
--- a/Mage.Sets/src/mage/cards/f/FistsOfFlame.java
+++ b/Mage.Sets/src/mage/cards/f/FistsOfFlame.java
@@ -30,7 +30,7 @@ public final class FistsOfFlame extends CardImpl {
).setText("Until end of turn, target creature gains trample"));
this.getSpellAbility().addEffect(new BoostTargetEffect(
CardsDrawnThisTurnDynamicValue.instance,
- StaticValue.getZeroValue(), Duration.EndOfTurn
+ StaticValue.get(0), Duration.EndOfTurn
).setText("and gets +1/+0 for each card you've drawn this turn."));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addWatcher(new CardsDrawnThisTurnWatcher());
diff --git a/Mage.Sets/src/mage/cards/f/Flamebreak.java b/Mage.Sets/src/mage/cards/f/Flamebreak.java
index ecda085357a..78091a868d4 100644
--- a/Mage.Sets/src/mage/cards/f/Flamebreak.java
+++ b/Mage.Sets/src/mage/cards/f/Flamebreak.java
@@ -37,7 +37,7 @@ public final class Flamebreak extends CardImpl {
// Flamebreak deals 3 damage to each creature without flying and each player. Creatures dealt damage this way can't be regenerated this turn.
- this.getSpellAbility().addEffect(new DamageEverythingEffect(new StaticValue(3), filter1));
+ this.getSpellAbility().addEffect(new DamageEverythingEffect(StaticValue.get(3), filter1));
this.getSpellAbility().addEffect(new FlamebreakCantRegenerateEffect());
this.getSpellAbility().addWatcher(new DamagedByWatcher(false));
}
diff --git a/Mage.Sets/src/mage/cards/f/Flamewright.java b/Mage.Sets/src/mage/cards/f/Flamewright.java
index 2735092087c..f9bd381c6fb 100644
--- a/Mage.Sets/src/mage/cards/f/Flamewright.java
+++ b/Mage.Sets/src/mage/cards/f/Flamewright.java
@@ -18,7 +18,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.ConstructToken;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetAnyTarget;
@@ -32,7 +31,7 @@ public final class Flamewright extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("creature with defender");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new AbilityPredicate(DefenderAbility.class));
}
diff --git a/Mage.Sets/src/mage/cards/f/FlashCounter.java b/Mage.Sets/src/mage/cards/f/FlashCounter.java
index e22ea45bf02..53df3e4ac21 100644
--- a/Mage.Sets/src/mage/cards/f/FlashCounter.java
+++ b/Mage.Sets/src/mage/cards/f/FlashCounter.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -19,7 +18,7 @@ public final class FlashCounter extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant spell");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public FlashCounter(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/Flickerform.java b/Mage.Sets/src/mage/cards/f/Flickerform.java
index 0f0ef9da3e1..c3db832f67a 100644
--- a/Mage.Sets/src/mage/cards/f/Flickerform.java
+++ b/Mage.Sets/src/mage/cards/f/Flickerform.java
@@ -21,7 +21,6 @@ import mage.constants.Zone;
import mage.filter.Filter;
import mage.filter.FilterCard;
import mage.filter.common.FilterEnchantmentPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.ExileZone;
import mage.game.Game;
@@ -123,7 +122,7 @@ class FlickerformReturnEffect extends OneShotEffect {
private static final FilterCard filterAura = new FilterCard();
static {
- filterAura.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterAura.add(CardType.ENCHANTMENT.getPredicate());
filterAura.add(new SubtypePredicate(SubType.AURA));
}
diff --git a/Mage.Sets/src/mage/cards/f/FloodtideSerpent.java b/Mage.Sets/src/mage/cards/f/FloodtideSerpent.java
index 5e8d11a959a..3b4fd07b860 100644
--- a/Mage.Sets/src/mage/cards/f/FloodtideSerpent.java
+++ b/Mage.Sets/src/mage/cards/f/FloodtideSerpent.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -25,7 +24,7 @@ public final class FloodtideSerpent extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an enchantment you control");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public FloodtideSerpent(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FloralSpuzzem.java b/Mage.Sets/src/mage/cards/f/FloralSpuzzem.java
index 8fde7de47c1..137e154879b 100644
--- a/Mage.Sets/src/mage/cards/f/FloralSpuzzem.java
+++ b/Mage.Sets/src/mage/cards/f/FloralSpuzzem.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
import mage.target.TargetPermanent;
@@ -26,7 +25,7 @@ public final class FloralSpuzzem extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact defending player controls");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(DefendingPlayerControlsPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/f/ForbiddenAlchemy.java b/Mage.Sets/src/mage/cards/f/ForbiddenAlchemy.java
index 42c0cb35e69..637895487f9 100644
--- a/Mage.Sets/src/mage/cards/f/ForbiddenAlchemy.java
+++ b/Mage.Sets/src/mage/cards/f/ForbiddenAlchemy.java
@@ -22,7 +22,7 @@ public final class ForbiddenAlchemy extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}");
// Look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1),
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
// Flashback {6}{B}
diff --git a/Mage.Sets/src/mage/cards/f/ForceStasis.java b/Mage.Sets/src/mage/cards/f/ForceStasis.java
index bca7faa324b..847b6f0fea7 100644
--- a/Mage.Sets/src/mage/cards/f/ForceStasis.java
+++ b/Mage.Sets/src/mage/cards/f/ForceStasis.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetCreaturePermanent;
@@ -26,8 +25,8 @@ public final class ForceStasis extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.NOT_YOU));
- filter.add(new CardTypePredicate(CardType.INSTANT));
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.INSTANT.getPredicate());
+ filter.add(CardType.SORCERY.getPredicate());
}
public ForceStasis(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FoulEmissary.java b/Mage.Sets/src/mage/cards/f/FoulEmissary.java
index 5caf63570db..69e88b3ba22 100644
--- a/Mage.Sets/src/mage/cards/f/FoulEmissary.java
+++ b/Mage.Sets/src/mage/cards/f/FoulEmissary.java
@@ -15,7 +15,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.token.EldraziHorrorToken;
@@ -30,7 +29,7 @@ public final class FoulEmissary extends CardImpl {
private static final FilterCard filter = new FilterCard("a creature card");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public FoulEmissary(UUID ownerId, CardSetInfo setInfo) {
@@ -41,7 +40,7 @@ public final class FoulEmissary extends CardImpl {
this.toughness = new MageInt(1);
// When Foul Emissary enters the battlefield, look at the top four cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
- this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), filter, false)));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), filter, false)));
// When you sacrifice Foul Emissary while casting a spell with emerge, create a 3/2 colorless Eldrazi Horror creature token.
this.addAbility(new FoulEmissaryTriggeredAbility(new CreateTokenEffect(new EldraziHorrorToken()), false));
diff --git a/Mage.Sets/src/mage/cards/f/FoundryInspector.java b/Mage.Sets/src/mage/cards/f/FoundryInspector.java
index 2e893fbc07f..e3a265a30d0 100644
--- a/Mage.Sets/src/mage/cards/f/FoundryInspector.java
+++ b/Mage.Sets/src/mage/cards/f/FoundryInspector.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class FoundryInspector extends CardImpl {
private static final FilterCard filter = new FilterCard("Artifact spells");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public FoundryInspector(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FountainWatch.java b/Mage.Sets/src/mage/cards/f/FountainWatch.java
index 0fed5c34ee6..a12ca5bd36b 100644
--- a/Mage.Sets/src/mage/cards/f/FountainWatch.java
+++ b/Mage.Sets/src/mage/cards/f/FountainWatch.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,8 +25,8 @@ public final class FountainWatch extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public FountainWatch(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/f/FracturingGust.java b/Mage.Sets/src/mage/cards/f/FracturingGust.java
index d41b7da009f..c54bb8b1f14 100644
--- a/Mage.Sets/src/mage/cards/f/FracturingGust.java
+++ b/Mage.Sets/src/mage/cards/f/FracturingGust.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -41,8 +40,8 @@ class FracturingGustDestroyEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public FracturingGustDestroyEffect() {
super(Outcome.DestroyPermanent);
diff --git a/Mage.Sets/src/mage/cards/f/FurnaceDragon.java b/Mage.Sets/src/mage/cards/f/FurnaceDragon.java
index 22303f5a720..8f508a93bb4 100644
--- a/Mage.Sets/src/mage/cards/f/FurnaceDragon.java
+++ b/Mage.Sets/src/mage/cards/f/FurnaceDragon.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.watchers.common.CastFromHandWatcher;
/**
@@ -26,7 +25,7 @@ public final class FurnaceDragon extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public FurnaceDragon(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GalvanicKey.java b/Mage.Sets/src/mage/cards/g/GalvanicKey.java
index 48f80ea3f8d..1fbced85ae1 100644
--- a/Mage.Sets/src/mage/cards/g/GalvanicKey.java
+++ b/Mage.Sets/src/mage/cards/g/GalvanicKey.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -25,7 +24,7 @@ public final class GalvanicKey extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public GalvanicKey(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GarrukApexPredator.java b/Mage.Sets/src/mage/cards/g/GarrukApexPredator.java
index c3675b96765..80a0d2e4c58 100644
--- a/Mage.Sets/src/mage/cards/g/GarrukApexPredator.java
+++ b/Mage.Sets/src/mage/cards/g/GarrukApexPredator.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.Game;
import mage.game.command.emblems.GarrukApexPredatorEmblem;
@@ -36,7 +35,7 @@ public final class GarrukApexPredator extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("another target planeswalker");
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/g/GatecreeperVine.java b/Mage.Sets/src/mage/cards/g/GatecreeperVine.java
index ed5359b9dd2..68cdee8f37e 100644
--- a/Mage.Sets/src/mage/cards/g/GatecreeperVine.java
+++ b/Mage.Sets/src/mage/cards/g/GatecreeperVine.java
@@ -12,7 +12,7 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -30,7 +30,7 @@ public final class GatecreeperVine extends CardImpl {
filter.add(
Predicates.or(
Predicates.and(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
new SupertypePredicate(SuperType.BASIC)),
new SubtypePredicate(SubType.GATE)));
}
diff --git a/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java b/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java
index 37c6769aa90..d6ada87a21b 100644
--- a/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java
+++ b/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java
@@ -14,7 +14,6 @@ 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.target.TargetPlayer;
/**
@@ -27,7 +26,7 @@ public final class GatekeeperOfMalakir extends CardImpl {
static {
filter = new FilterControlledPermanent("creature");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public GatekeeperOfMalakir(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GauntletsOfChaos.java b/Mage.Sets/src/mage/cards/g/GauntletsOfChaos.java
index a466ce4acd8..1dcbacc6952 100644
--- a/Mage.Sets/src/mage/cards/g/GauntletsOfChaos.java
+++ b/Mage.Sets/src/mage/cards/g/GauntletsOfChaos.java
@@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -60,9 +59,9 @@ class GauntletsOfChaosFirstTarget extends TargetControlledPermanent {
super();
this.filter = this.filter.copy();
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
setTargetName("artifact, creature, or land you control");
}
diff --git a/Mage.Sets/src/mage/cards/g/GearseekerSerpent.java b/Mage.Sets/src/mage/cards/g/GearseekerSerpent.java
index 1bc10b186ed..f4fffd3401d 100644
--- a/Mage.Sets/src/mage/cards/g/GearseekerSerpent.java
+++ b/Mage.Sets/src/mage/cards/g/GearseekerSerpent.java
@@ -13,7 +13,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.util.CardUtil;
@@ -53,7 +52,7 @@ class GearseekerSerpentCostReductionEffect extends CostModificationEffectImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public GearseekerSerpentCostReductionEffect() {
diff --git a/Mage.Sets/src/mage/cards/g/GeistFueledScarecrow.java b/Mage.Sets/src/mage/cards/g/GeistFueledScarecrow.java
index 99cbcf72270..2393e2b07b1 100644
--- a/Mage.Sets/src/mage/cards/g/GeistFueledScarecrow.java
+++ b/Mage.Sets/src/mage/cards/g/GeistFueledScarecrow.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class GeistFueledScarecrow extends CardImpl {
private static final FilterCard filter = new FilterCard("Creature spells");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public GeistFueledScarecrow(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/Geistblast.java b/Mage.Sets/src/mage/cards/g/Geistblast.java
index 39324ed47d8..c1c754d4165 100644
--- a/Mage.Sets/src/mage/cards/g/Geistblast.java
+++ b/Mage.Sets/src/mage/cards/g/Geistblast.java
@@ -15,7 +15,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetAnyTarget;
@@ -30,8 +29,8 @@ public final class Geistblast extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/g/GenesisHydra.java b/Mage.Sets/src/mage/cards/g/GenesisHydra.java
index be84c1942d8..c76127f8f2b 100644
--- a/Mage.Sets/src/mage/cards/g/GenesisHydra.java
+++ b/Mage.Sets/src/mage/cards/g/GenesisHydra.java
@@ -19,7 +19,6 @@ import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.common.FilterPermanentCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -77,7 +76,7 @@ class GenesisHydraPutOntoBattlefieldEffect extends OneShotEffect {
Cards cards = new CardsImpl(controller.getLibrary().getTopCards(game, count));
controller.revealCards(source, cards, game);
FilterCard filter = new FilterPermanentCard("a nonland permanent card with converted mana cost " + count + " or less to put onto the battlefield");
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, count + 1));
TargetCard target1 = new TargetCard(Zone.LIBRARY, filter);
target1.setRequired(false);
diff --git a/Mage.Sets/src/mage/cards/g/GethLordOfTheVault.java b/Mage.Sets/src/mage/cards/g/GethLordOfTheVault.java
index ce931358a90..a8fd1e165a1 100644
--- a/Mage.Sets/src/mage/cards/g/GethLordOfTheVault.java
+++ b/Mage.Sets/src/mage/cards/g/GethLordOfTheVault.java
@@ -18,7 +18,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -35,8 +34,8 @@ public final class GethLordOfTheVault extends CardImpl {
static {
filter.add(new OwnerPredicate(TargetController.OPPONENT));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public GethLordOfTheVault(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GhaltaPrimalHunger.java b/Mage.Sets/src/mage/cards/g/GhaltaPrimalHunger.java
index 3b6329fb361..e60680a5b6f 100644
--- a/Mage.Sets/src/mage/cards/g/GhaltaPrimalHunger.java
+++ b/Mage.Sets/src/mage/cards/g/GhaltaPrimalHunger.java
@@ -20,7 +20,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.util.CardUtil;
@@ -62,7 +61,7 @@ class GhaltaPrimalHungerCostReductionEffect extends CostModificationEffectImpl {
private static final FilterPermanent filter = new FilterControlledArtifactPermanent("noncreature artifacts you control");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
GhaltaPrimalHungerCostReductionEffect() {
diff --git a/Mage.Sets/src/mage/cards/g/GhirapurAetherGrid.java b/Mage.Sets/src/mage/cards/g/GhirapurAetherGrid.java
index aa6f6beadc0..23311e848dc 100644
--- a/Mage.Sets/src/mage/cards/g/GhirapurAetherGrid.java
+++ b/Mage.Sets/src/mage/cards/g/GhirapurAetherGrid.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetAnyTarget;
@@ -25,7 +24,7 @@ public final class GhirapurAetherGrid extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped artifacts you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(Predicates.not(TappedPredicate.instance));
}
diff --git a/Mage.Sets/src/mage/cards/g/GhostlyFlicker.java b/Mage.Sets/src/mage/cards/g/GhostlyFlicker.java
index 96e22c4594a..e69fb17a014 100644
--- a/Mage.Sets/src/mage/cards/g/GhostlyFlicker.java
+++ b/Mage.Sets/src/mage/cards/g/GhostlyFlicker.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -30,9 +29,9 @@ public final class GhostlyFlicker extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND),
- new CardTypePredicate(CardType.ARTIFACT)));
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate(),
+ CardType.ARTIFACT.getPredicate()));
}
public GhostlyFlicker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/Ghostway.java b/Mage.Sets/src/mage/cards/g/Ghostway.java
index 957731373be..17ea244f3ff 100644
--- a/Mage.Sets/src/mage/cards/g/Ghostway.java
+++ b/Mage.Sets/src/mage/cards/g/Ghostway.java
@@ -15,10 +15,8 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
-import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.targetpointer.FixedTargets;
import mage.util.CardUtil;
@@ -51,7 +49,7 @@ class GhostwayEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent("each creature you control");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/g/GhoulsFeast.java b/Mage.Sets/src/mage/cards/g/GhoulsFeast.java
index a97e983884e..f43717382f3 100644
--- a/Mage.Sets/src/mage/cards/g/GhoulsFeast.java
+++ b/Mage.Sets/src/mage/cards/g/GhoulsFeast.java
@@ -24,7 +24,7 @@ public final class GhoulsFeast extends CardImpl {
// Target creature gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard.
DynamicValue xValue = new CardsInControllerGraveyardCount(new FilterCreatureCard("creature card"));
- this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, new StaticValue(0), Duration.EndOfTurn, true));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, StaticValue.get(0), Duration.EndOfTurn, true));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/g/GideonsSacrifice.java b/Mage.Sets/src/mage/cards/g/GideonsSacrifice.java
index 4bdccaf0aa8..e3757be28c3 100644
--- a/Mage.Sets/src/mage/cards/g/GideonsSacrifice.java
+++ b/Mage.Sets/src/mage/cards/g/GideonsSacrifice.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.DamageEvent;
import mage.game.events.GameEvent;
@@ -52,8 +51,8 @@ class GideonsSacrificeEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.PLANESWALKER),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.PLANESWALKER.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/g/GlaiveOfTheGuildpact.java b/Mage.Sets/src/mage/cards/g/GlaiveOfTheGuildpact.java
index c46079038b6..fcfdbdfbf72 100644
--- a/Mage.Sets/src/mage/cards/g/GlaiveOfTheGuildpact.java
+++ b/Mage.Sets/src/mage/cards/g/GlaiveOfTheGuildpact.java
@@ -34,7 +34,7 @@ public final class GlaiveOfTheGuildpact extends CardImpl {
Zone.BATTLEFIELD,
new BoostEquippedEffect(
GateYouControlCount.instance,
- new StaticValue(0)
+ StaticValue.get(0)
)
);
ability.addEffect(new GainAbilityAttachedEffect(
diff --git a/Mage.Sets/src/mage/cards/g/GlareOfSubdual.java b/Mage.Sets/src/mage/cards/g/GlareOfSubdual.java
index 8683602db50..2b37c69e8f5 100644
--- a/Mage.Sets/src/mage/cards/g/GlareOfSubdual.java
+++ b/Mage.Sets/src/mage/cards/g/GlareOfSubdual.java
@@ -13,7 +13,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -30,8 +29,8 @@ public final class GlareOfSubdual extends CardImpl {
static {
filterCost.add(Predicates.not(TappedPredicate.instance));
filterTarget.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public GlareOfSubdual(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GlenElendraArchmage.java b/Mage.Sets/src/mage/cards/g/GlenElendraArchmage.java
index e2d1c69d1d8..cc196374735 100644
--- a/Mage.Sets/src/mage/cards/g/GlenElendraArchmage.java
+++ b/Mage.Sets/src/mage/cards/g/GlenElendraArchmage.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -29,7 +28,7 @@ public final class GlenElendraArchmage extends CardImpl {
private static final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public GlenElendraArchmage(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GlimpseTheFuture.java b/Mage.Sets/src/mage/cards/g/GlimpseTheFuture.java
index bb2f7d5e333..e200cb22347 100644
--- a/Mage.Sets/src/mage/cards/g/GlimpseTheFuture.java
+++ b/Mage.Sets/src/mage/cards/g/GlimpseTheFuture.java
@@ -19,7 +19,7 @@ public final class GlimpseTheFuture extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
// Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1),
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
}
diff --git a/Mage.Sets/src/mage/cards/g/GlintHawk.java b/Mage.Sets/src/mage/cards/g/GlintHawk.java
index bb1e89d38b5..49d835033cf 100644
--- a/Mage.Sets/src/mage/cards/g/GlintHawk.java
+++ b/Mage.Sets/src/mage/cards/g/GlintHawk.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -57,7 +56,7 @@ class GlintHawkEffect extends OneShotEffect {
static {
filter = new FilterControlledPermanent();
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
GlintHawkEffect ( ) {
diff --git a/Mage.Sets/src/mage/cards/g/GlintNestCrane.java b/Mage.Sets/src/mage/cards/g/GlintNestCrane.java
index af36bbbbe3d..4a20dbf4b9f 100644
--- a/Mage.Sets/src/mage/cards/g/GlintNestCrane.java
+++ b/Mage.Sets/src/mage/cards/g/GlintNestCrane.java
@@ -32,7 +32,7 @@ public final class GlintNestCrane extends CardImpl {
// When Glint-Nest Crane enters the battlefield, look at the top four cards of your library. You may reveal an artifact card from among them and
// put it into your hand. Put the rest on the bottom of your library in any order.
this.addAbility(new EntersBattlefieldTriggeredAbility(
- new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1),
+ new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1),
StaticFilters.FILTER_CARD_ARTIFACT_AN, Zone.LIBRARY, false, true, false, Zone.HAND, true)));
}
diff --git a/Mage.Sets/src/mage/cards/g/GlissaTheTraitor.java b/Mage.Sets/src/mage/cards/g/GlissaTheTraitor.java
index 04337ad939d..b8dbbbc696d 100644
--- a/Mage.Sets/src/mage/cards/g/GlissaTheTraitor.java
+++ b/Mage.Sets/src/mage/cards/g/GlissaTheTraitor.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -60,7 +59,7 @@ class GlissaTheTraitorTriggeredAbility extends TriggeredAbilityImpl {
private static final FilterCard filter = new FilterCard("artifact card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
GlissaTheTraitorTriggeredAbility() {
diff --git a/Mage.Sets/src/mage/cards/g/GluttonousTroll.java b/Mage.Sets/src/mage/cards/g/GluttonousTroll.java
index 1e5ca339cde..6e9825b010f 100644
--- a/Mage.Sets/src/mage/cards/g/GluttonousTroll.java
+++ b/Mage.Sets/src/mage/cards/g/GluttonousTroll.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.permanent.token.FoodToken;
import mage.target.common.TargetControlledPermanent;
@@ -33,7 +32,7 @@ public final class GluttonousTroll extends CardImpl {
= new FilterControlledPermanent("another nonland permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/g/GnatMiser.java b/Mage.Sets/src/mage/cards/g/GnatMiser.java
index 6a1a4d6344c..dd4d5070e67 100644
--- a/Mage.Sets/src/mage/cards/g/GnatMiser.java
+++ b/Mage.Sets/src/mage/cards/g/GnatMiser.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -25,7 +24,7 @@ public final class GnatMiser extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("blue creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public GnatMiser(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/Gnathosaur.java b/Mage.Sets/src/mage/cards/g/Gnathosaur.java
index 79c9652305e..b9b533f64ca 100644
--- a/Mage.Sets/src/mage/cards/g/Gnathosaur.java
+++ b/Mage.Sets/src/mage/cards/g/Gnathosaur.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -26,7 +25,7 @@ public final class Gnathosaur extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Gnathosaur(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GoForTheThroat.java b/Mage.Sets/src/mage/cards/g/GoForTheThroat.java
index 6e2d20020e3..f16244774bb 100644
--- a/Mage.Sets/src/mage/cards/g/GoForTheThroat.java
+++ b/Mage.Sets/src/mage/cards/g/GoForTheThroat.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
@@ -21,7 +20,7 @@ public final class GoForTheThroat extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public GoForTheThroat(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GoblinBarrage.java b/Mage.Sets/src/mage/cards/g/GoblinBarrage.java
index 57f2fef6e78..37342d53291 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinBarrage.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinBarrage.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.target.common.TargetControlledPermanent;
@@ -31,7 +30,7 @@ public final class GoblinBarrage extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
+ CardType.ARTIFACT.getPredicate(),
new SubtypePredicate(SubType.GOBLIN)
));
}
diff --git a/Mage.Sets/src/mage/cards/g/GoblinChainwhirler.java b/Mage.Sets/src/mage/cards/g/GoblinChainwhirler.java
index 9444c594518..1422181977a 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinChainwhirler.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinChainwhirler.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
/**
@@ -28,8 +27,8 @@ public final class GoblinChainwhirler extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
filter.add(new ControllerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java b/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java
index 4c3fd068e24..42a1b3cd1b0 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,8 +22,8 @@ public final class GoblinElectromancer extends CardImpl {
private static final FilterCard filter = new FilterCard("Instant and sorcery spells");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/g/GoblinGaveleer.java b/Mage.Sets/src/mage/cards/g/GoblinGaveleer.java
index 80e9f6f20d6..9db43599dd4 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinGaveleer.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinGaveleer.java
@@ -33,7 +33,7 @@ public final class GoblinGaveleer extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Goblin Gaveleer gets +2/+0 for each Equipment attached to it.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new EquipmentAttachedCount(2),
- new StaticValue(0), Duration.WhileOnBattlefield)));
+ StaticValue.get(0), Duration.WhileOnBattlefield)));
}
public GoblinGaveleer(final GoblinGaveleer card) {
diff --git a/Mage.Sets/src/mage/cards/g/GoblinPiledriver.java b/Mage.Sets/src/mage/cards/g/GoblinPiledriver.java
index 1c355d90913..3aacc2532af 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinPiledriver.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinPiledriver.java
@@ -43,7 +43,7 @@ public final class GoblinPiledriver extends CardImpl {
this.addAbility(ProtectionAbility.from(ObjectColor.BLUE));
// Whenever Goblin Piledriver attacks, it gets +2/+0 until end of turn for each other attacking Goblin.
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 2);
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, StaticValue.get(0), Duration.EndOfTurn, true), false));
}
public GoblinPiledriver(final GoblinPiledriver card) {
diff --git a/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java b/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java
index 813b051f727..6190cfee3c1 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java
@@ -55,7 +55,7 @@ public final class GoblinRabblemaster extends CardImpl {
this.addAbility(new BeginningOfCombatTriggeredAbility(new CreateTokenEffect(new GoblinToken(true)), TargetController.YOU, false));
// When Goblin Rabblemaster attacks, it gets +1/+0 until end of turn for each other attacking Goblin.
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(attackingFilter), new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(attackingFilter), StaticValue.get(0), Duration.EndOfTurn, true), false));
}
public GoblinRabblemaster(final GoblinRabblemaster card) {
diff --git a/Mage.Sets/src/mage/cards/g/GoblinReplica.java b/Mage.Sets/src/mage/cards/g/GoblinReplica.java
index 8a261302505..77dd5da79f9 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinReplica.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinReplica.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -26,7 +25,7 @@ public final class GoblinReplica extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public GoblinReplica(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/Goblinslide.java b/Mage.Sets/src/mage/cards/g/Goblinslide.java
index a9fd1f9cd9c..e07f3ccfed9 100644
--- a/Mage.Sets/src/mage/cards/g/Goblinslide.java
+++ b/Mage.Sets/src/mage/cards/g/Goblinslide.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.GoblinToken;
/**
@@ -23,7 +22,7 @@ public final class Goblinslide extends CardImpl {
private static final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Goblinslide(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GodheadOfAwe.java b/Mage.Sets/src/mage/cards/g/GodheadOfAwe.java
index 44a6fde8fd5..0f7f7d1e9fd 100644
--- a/Mage.Sets/src/mage/cards/g/GodheadOfAwe.java
+++ b/Mage.Sets/src/mage/cards/g/GodheadOfAwe.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
/**
@@ -26,7 +25,7 @@ public final class GodheadOfAwe extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Other creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java b/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java
index b3b5bd14eca..add3b283307 100644
--- a/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java
+++ b/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.EnchantedPredicate;
/**
@@ -25,7 +24,7 @@ public final class GodhunterOctopus extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ENCHANTMENT),
+ CardType.ENCHANTMENT.getPredicate(),
EnchantedPredicate.instance));
}
diff --git a/Mage.Sets/src/mage/cards/g/GoldenWish.java b/Mage.Sets/src/mage/cards/g/GoldenWish.java
index e401a9c10cf..fb2cb8684b0 100644
--- a/Mage.Sets/src/mage/cards/g/GoldenWish.java
+++ b/Mage.Sets/src/mage/cards/g/GoldenWish.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,8 +20,8 @@ public final class GoldenWish extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public GoldenWish(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GolemSkinGauntlets.java b/Mage.Sets/src/mage/cards/g/GolemSkinGauntlets.java
index 5f3d1e69932..9c9e80861d9 100644
--- a/Mage.Sets/src/mage/cards/g/GolemSkinGauntlets.java
+++ b/Mage.Sets/src/mage/cards/g/GolemSkinGauntlets.java
@@ -31,7 +31,7 @@ public final class GolemSkinGauntlets extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
this.subtype.add(SubType.EQUIPMENT);
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new GolemSkinGauntletsAttachedCount(), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new GolemSkinGauntletsAttachedCount(), StaticValue.get(0), Duration.WhileOnBattlefield)));
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2)));
}
diff --git a/Mage.Sets/src/mage/cards/g/GolgariThug.java b/Mage.Sets/src/mage/cards/g/GolgariThug.java
index e0b98377838..98b5759fed2 100644
--- a/Mage.Sets/src/mage/cards/g/GolgariThug.java
+++ b/Mage.Sets/src/mage/cards/g/GolgariThug.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -24,7 +23,7 @@ public final class GolgariThug extends CardImpl {
private static final FilterCard filter = new FilterCard("creature card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public GolgariThug(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GorillaShaman.java b/Mage.Sets/src/mage/cards/g/GorillaShaman.java
index f99db1acd93..c6c4eb69105 100644
--- a/Mage.Sets/src/mage/cards/g/GorillaShaman.java
+++ b/Mage.Sets/src/mage/cards/g/GorillaShaman.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.XCMCPermanentAdjuster;
@@ -26,8 +25,8 @@ public final class GorillaShaman extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature artifact with converted mana cost X");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public GorillaShaman(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GrandArchitect.java b/Mage.Sets/src/mage/cards/g/GrandArchitect.java
index 3c9631b8690..8907f8e8dc7 100644
--- a/Mage.Sets/src/mage/cards/g/GrandArchitect.java
+++ b/Mage.Sets/src/mage/cards/g/GrandArchitect.java
@@ -17,7 +17,6 @@ import mage.constants.*;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game;
@@ -37,7 +36,7 @@ public final class GrandArchitect extends CardImpl {
static {
boostFilter.add(new ColorPredicate(ObjectColor.BLUE));
- targetFilter.add(new CardTypePredicate(CardType.ARTIFACT));
+ targetFilter.add(CardType.ARTIFACT.getPredicate());
}
public GrandArchitect(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/Granulate.java b/Mage.Sets/src/mage/cards/g/Granulate.java
index 6c9fdc92979..f99ed94035e 100644
--- a/Mage.Sets/src/mage/cards/g/Granulate.java
+++ b/Mage.Sets/src/mage/cards/g/Granulate.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.filter.common.FilterNonlandPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
/**
@@ -19,7 +18,7 @@ public final class Granulate extends CardImpl {
private static final FilterNonlandPermanent filter = new FilterNonlandPermanent("nonland artifact with converted mana cost 4 or less");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 5));
}
public Granulate(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GrappleWithThePast.java b/Mage.Sets/src/mage/cards/g/GrappleWithThePast.java
index f5de7725b41..aca9ed8af6b 100644
--- a/Mage.Sets/src/mage/cards/g/GrappleWithThePast.java
+++ b/Mage.Sets/src/mage/cards/g/GrappleWithThePast.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInYourGraveyard;
@@ -47,8 +46,8 @@ class GrappleWithThePastEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("creature or land card from your graveyard");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public GrappleWithThePastEffect() {
diff --git a/Mage.Sets/src/mage/cards/g/GraspOfFate.java b/Mage.Sets/src/mage/cards/g/GraspOfFate.java
index 3fbb8169049..3ca8d9a54ce 100644
--- a/Mage.Sets/src/mage/cards/g/GraspOfFate.java
+++ b/Mage.Sets/src/mage/cards/g/GraspOfFate.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -65,7 +64,7 @@ enum GraspOfFateAdjuster implements TargetAdjuster {
}
FilterPermanent filter = new FilterPermanent("nonland permanent from opponent " + opponent.getLogName());
filter.add(new ControllerIdPredicate(opponentId));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
TargetPermanent target = new TargetPermanent(0, 1, filter, false);
ability.addTarget(target);
}
diff --git a/Mage.Sets/src/mage/cards/g/GravitySphere.java b/Mage.Sets/src/mage/cards/g/GravitySphere.java
index e0fa620fd15..2c7f6ec7ec0 100644
--- a/Mage.Sets/src/mage/cards/g/GravitySphere.java
+++ b/Mage.Sets/src/mage/cards/g/GravitySphere.java
@@ -13,7 +13,6 @@ import mage.constants.Duration;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class GravitySphere extends CardImpl {
static final private FilterPermanent filter = new FilterPermanent("All creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public GravitySphere(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GreatDefender.java b/Mage.Sets/src/mage/cards/g/GreatDefender.java
index 369c3eafd6f..417204ff9a9 100644
--- a/Mage.Sets/src/mage/cards/g/GreatDefender.java
+++ b/Mage.Sets/src/mage/cards/g/GreatDefender.java
@@ -22,7 +22,7 @@ public final class GreatDefender extends CardImpl {
// Target creature gets +0/+X until end of turn, where X is its converted mana cost.
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
- this.getSpellAbility().addEffect(new BoostTargetEffect(new StaticValue(0), TargetConvertedManaCost.instance, Duration.EndOfTurn, true)
+ this.getSpellAbility().addEffect(new BoostTargetEffect(StaticValue.get(0), TargetConvertedManaCost.instance, Duration.EndOfTurn, true)
.setText("Target creature gets +0/+X until end of turn, where X is its converted mana cost.")
);
}
diff --git a/Mage.Sets/src/mage/cards/g/GreaterAuramancy.java b/Mage.Sets/src/mage/cards/g/GreaterAuramancy.java
index 76c8afdeb80..d982c17337f 100644
--- a/Mage.Sets/src/mage/cards/g/GreaterAuramancy.java
+++ b/Mage.Sets/src/mage/cards/g/GreaterAuramancy.java
@@ -12,7 +12,6 @@ import mage.constants.Duration;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.EnchantedPredicate;
@@ -28,9 +27,9 @@ public final class GreaterAuramancy extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter2.add(new ControllerPredicate(TargetController.YOU));
- filter2.add(new CardTypePredicate(CardType.CREATURE));
+ filter2.add(CardType.CREATURE.getPredicate());
filter2.add(EnchantedPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/g/GreaterGargadon.java b/Mage.Sets/src/mage/cards/g/GreaterGargadon.java
index 388cc5055f5..bc0a672a232 100644
--- a/Mage.Sets/src/mage/cards/g/GreaterGargadon.java
+++ b/Mage.Sets/src/mage/cards/g/GreaterGargadon.java
@@ -17,7 +17,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.target.common.TargetControlledPermanent;
@@ -55,7 +54,7 @@ class GreaterGargadonAbility extends ActivatedAbilityImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact, creature, or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public GreaterGargadonAbility() {
diff --git a/Mage.Sets/src/mage/cards/g/GreaterHarvester.java b/Mage.Sets/src/mage/cards/g/GreaterHarvester.java
index b6c14a22ef3..64f1e7c1975 100644
--- a/Mage.Sets/src/mage/cards/g/GreaterHarvester.java
+++ b/Mage.Sets/src/mage/cards/g/GreaterHarvester.java
@@ -19,7 +19,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
import mage.game.events.GameEvent;
@@ -35,11 +34,11 @@ public final class GreaterHarvester extends CardImpl {
static final FilterPermanent filter = new FilterPermanent("a permanent");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.PLANESWALKER),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.PLANESWALKER.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public GreaterHarvester(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GreenSunsZenith.java b/Mage.Sets/src/mage/cards/g/GreenSunsZenith.java
index 392d21cd811..adcd6e2dd7e 100644
--- a/Mage.Sets/src/mage/cards/g/GreenSunsZenith.java
+++ b/Mage.Sets/src/mage/cards/g/GreenSunsZenith.java
@@ -9,7 +9,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -21,7 +20,7 @@ public final class GreenSunsZenith extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.GREEN));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public GreenSunsZenith(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GremlinMine.java b/Mage.Sets/src/mage/cards/g/GremlinMine.java
index 4ad4cc2b3c0..5c804ff8413 100644
--- a/Mage.Sets/src/mage/cards/g/GremlinMine.java
+++ b/Mage.Sets/src/mage/cards/g/GremlinMine.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -35,8 +34,8 @@ public final class GremlinMine extends CardImpl {
private static final FilterArtifactPermanent filterNonCreature = new FilterArtifactPermanent("noncreature artifact");
static {
- filterCreature.add(new CardTypePredicate(CardType.CREATURE));
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterCreature.add(CardType.CREATURE.getPredicate());
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public GremlinMine(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GrevenPredatorCaptain.java b/Mage.Sets/src/mage/cards/g/GrevenPredatorCaptain.java
index 8024fbd211e..cdf3130f8d9 100644
--- a/Mage.Sets/src/mage/cards/g/GrevenPredatorCaptain.java
+++ b/Mage.Sets/src/mage/cards/g/GrevenPredatorCaptain.java
@@ -41,7 +41,7 @@ public final class GrevenPredatorCaptain extends CardImpl {
// Greven, Predator Captain gets +X/+0, where X is the amount of life you've lost this turn.
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(
- GrevenPredatorCaptainValue.instance, StaticValue.getZeroValue(), Duration.WhileOnBattlefield
+ GrevenPredatorCaptainValue.instance, StaticValue.get(0), Duration.WhileOnBattlefield
)));
// Whenever Greven attacks, you may sacrifice another creature. If you do, you draw cards equal to that creature's power and you lose life equal to that creature's toughness.
diff --git a/Mage.Sets/src/mage/cards/g/GriffinDreamfinder.java b/Mage.Sets/src/mage/cards/g/GriffinDreamfinder.java
index ba90807c213..da154e87d21 100644
--- a/Mage.Sets/src/mage/cards/g/GriffinDreamfinder.java
+++ b/Mage.Sets/src/mage/cards/g/GriffinDreamfinder.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -24,7 +23,7 @@ public final class GriffinDreamfinder extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public GriffinDreamfinder(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GrimFlayer.java b/Mage.Sets/src/mage/cards/g/GrimFlayer.java
index de4d208c746..1856b0ae15e 100644
--- a/Mage.Sets/src/mage/cards/g/GrimFlayer.java
+++ b/Mage.Sets/src/mage/cards/g/GrimFlayer.java
@@ -39,7 +39,7 @@ public final class GrimFlayer extends CardImpl {
// Whenever Grim Flayer deals combat damage to a player, look at the top three cards of your library. Put any number of them into your graveyard
// and the rest back on top of your library in any order.
Effect effect = new LookLibraryAndPickControllerEffect(
- new StaticValue(3), false, new StaticValue(3), new FilterCard(), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false);
+ StaticValue.get(3), false, StaticValue.get(3), new FilterCard(), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false);
effect.setText("look at the top three cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order");
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(effect, false));
diff --git a/Mage.Sets/src/mage/cards/g/GrindingStation.java b/Mage.Sets/src/mage/cards/g/GrindingStation.java
index 48c995e778e..7cb6588d18b 100644
--- a/Mage.Sets/src/mage/cards/g/GrindingStation.java
+++ b/Mage.Sets/src/mage/cards/g/GrindingStation.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPlayer;
import mage.target.common.TargetControlledPermanent;
@@ -27,7 +26,7 @@ public final class GrindingStation extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public GrindingStation(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GripOfPhyresis.java b/Mage.Sets/src/mage/cards/g/GripOfPhyresis.java
index 3ae1eaaddb2..1010d34a5bc 100644
--- a/Mage.Sets/src/mage/cards/g/GripOfPhyresis.java
+++ b/Mage.Sets/src/mage/cards/g/GripOfPhyresis.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -29,7 +28,7 @@ public final class GripOfPhyresis extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Equipment");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
}
diff --git a/Mage.Sets/src/mage/cards/g/GrislySalvage.java b/Mage.Sets/src/mage/cards/g/GrislySalvage.java
index 53414b3cfa4..0af3a942f6b 100644
--- a/Mage.Sets/src/mage/cards/g/GrislySalvage.java
+++ b/Mage.Sets/src/mage/cards/g/GrislySalvage.java
@@ -10,7 +10,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -43,7 +42,7 @@ class GrislySalvageEffect extends OneShotEffect {
private static final FilterCard filterPutInHand = new FilterCard("creature or land card to put in hand");
static {
- filterPutInHand.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filterPutInHand.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public GrislySalvageEffect() {
diff --git a/Mage.Sets/src/mage/cards/g/GrislySpectacle.java b/Mage.Sets/src/mage/cards/g/GrislySpectacle.java
index a42e2ac7968..074d37f0f30 100644
--- a/Mage.Sets/src/mage/cards/g/GrislySpectacle.java
+++ b/Mage.Sets/src/mage/cards/g/GrislySpectacle.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -29,7 +28,7 @@ public final class GrislySpectacle extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public GrislySpectacle(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GrixisPanorama.java b/Mage.Sets/src/mage/cards/g/GrixisPanorama.java
index de7ba12e097..6e94bdea177 100644
--- a/Mage.Sets/src/mage/cards/g/GrixisPanorama.java
+++ b/Mage.Sets/src/mage/cards/g/GrixisPanorama.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -28,7 +27,7 @@ public final class GrixisPanorama extends CardImpl {
private static final FilterCard filter = new FilterCard("a basic Island, Swamp, or Mountain card");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SupertypePredicate(SuperType.BASIC));
filter.add(Predicates.or(
new SubtypePredicate(SubType.ISLAND),
diff --git a/Mage.Sets/src/mage/cards/g/GrowingRitesOfItlimoc.java b/Mage.Sets/src/mage/cards/g/GrowingRitesOfItlimoc.java
index 40544baff56..62dff257979 100644
--- a/Mage.Sets/src/mage/cards/g/GrowingRitesOfItlimoc.java
+++ b/Mage.Sets/src/mage/cards/g/GrowingRitesOfItlimoc.java
@@ -19,7 +19,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author JRHerlehy
@@ -29,7 +28,7 @@ public final class GrowingRitesOfItlimoc extends CardImpl {
private static final FilterCard filter = new FilterCard("a creature card");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public GrowingRitesOfItlimoc(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GruulBeastmaster.java b/Mage.Sets/src/mage/cards/g/GruulBeastmaster.java
index c0e203c35b0..bd475efdee5 100644
--- a/Mage.Sets/src/mage/cards/g/GruulBeastmaster.java
+++ b/Mage.Sets/src/mage/cards/g/GruulBeastmaster.java
@@ -47,7 +47,7 @@ public final class GruulBeastmaster extends CardImpl {
// Whenever Gruul Beastmaster attacks, another target creature you control gets +X/+0 until end of turn, where X is Gruul Beastmaster's power.
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(
- xValue, StaticValue.getZeroValue(), Duration.EndOfTurn, true
+ xValue, StaticValue.get(0), Duration.EndOfTurn, true
), false);
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/g/GuardianBeast.java b/Mage.Sets/src/mage/cards/g/GuardianBeast.java
index 32885e40983..4011ce5f262 100644
--- a/Mage.Sets/src/mage/cards/g/GuardianBeast.java
+++ b/Mage.Sets/src/mage/cards/g/GuardianBeast.java
@@ -20,7 +20,6 @@ import mage.filter.FilterStackObject;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -38,9 +37,9 @@ public final class GuardianBeast extends CardImpl {
private static final FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("Noncreature artifacts");
static {
- filterAura.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterAura.add(CardType.ENCHANTMENT.getPredicate());
filterAura.add(new SubtypePredicate(SubType.AURA));
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public GuardianBeast(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheAges.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheAges.java
index ff842b27f69..90038a630bd 100644
--- a/Mage.Sets/src/mage/cards/g/GuardianOfTheAges.java
+++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheAges.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -52,7 +51,7 @@ class GuardianOfTheAgesTriggerAbility extends TriggeredAbilityImpl {
private static final FilterCard filter = new FilterCard("creature");
static{
- filter.add(Predicates.and(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.and(CardType.CREATURE.getPredicate()));
}
public GuardianOfTheAgesTriggerAbility(){
super(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance()));
diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java
index 0b7081a359e..8cb789c0843 100644
--- a/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java
+++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java
@@ -18,7 +18,7 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -31,7 +31,7 @@ public final class GuardianOfTheGreatConduit extends CardImpl {
private static final String rule = "As long as you control a Nissa planeswalker, {this} gets +2/+0";
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.NISSA));
}
diff --git a/Mage.Sets/src/mage/cards/g/GuidedPassage.java b/Mage.Sets/src/mage/cards/g/GuidedPassage.java
index e5b4f412639..b884b8f0c67 100644
--- a/Mage.Sets/src/mage/cards/g/GuidedPassage.java
+++ b/Mage.Sets/src/mage/cards/g/GuidedPassage.java
@@ -16,7 +16,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.Target;
@@ -51,8 +50,8 @@ class GuidedPassageEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("noncreature, nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
GuidedPassageEffect() {
diff --git a/Mage.Sets/src/mage/cards/g/GurmagDrowner.java b/Mage.Sets/src/mage/cards/g/GurmagDrowner.java
index bf96ee3b1c5..c15181cfbc2 100644
--- a/Mage.Sets/src/mage/cards/g/GurmagDrowner.java
+++ b/Mage.Sets/src/mage/cards/g/GurmagDrowner.java
@@ -30,7 +30,7 @@ public final class GurmagDrowner extends CardImpl {
this.addAbility(new ExploitAbility());
// When Gurmag Drowner exploits a creature, look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard.
- this.addAbility(new ExploitCreatureTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1),
+ this.addAbility(new ExploitCreatureTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false), false));
}
diff --git a/Mage.Sets/src/mage/cards/g/Guttersnipe.java b/Mage.Sets/src/mage/cards/g/Guttersnipe.java
index 22f448fed11..64d36180720 100644
--- a/Mage.Sets/src/mage/cards/g/Guttersnipe.java
+++ b/Mage.Sets/src/mage/cards/g/Guttersnipe.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -25,8 +24,8 @@ public final class Guttersnipe extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public Guttersnipe (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/g/GutturalResponse.java b/Mage.Sets/src/mage/cards/g/GutturalResponse.java
index 9fc394ee644..6e2417dac9d 100644
--- a/Mage.Sets/src/mage/cards/g/GutturalResponse.java
+++ b/Mage.Sets/src/mage/cards/g/GutturalResponse.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetSpell;
@@ -21,7 +20,7 @@ public final class GutturalResponse extends CardImpl {
private static final FilterSpell filter = new FilterSpell("blue instant spell");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
filter.add(new ColorPredicate(ObjectColor.BLUE));
}
diff --git a/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java b/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java
index ef9f925de72..e428635974e 100644
--- a/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java
+++ b/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java
@@ -18,7 +18,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.mageobject.CardIdPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.other.AuraCardCanAttachToPermanentId;
import mage.filter.predicate.other.OwnerPredicate;
@@ -40,7 +39,7 @@ public final class HakimLoreweaver extends CardImpl {
private static final FilterCard filter = new FilterCard("target Aura card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter.add(new SubtypePredicate(SubType.AURA));
filter.add(new OwnerPredicate(TargetController.YOU));
}
@@ -68,7 +67,7 @@ public final class HakimLoreweaver extends CardImpl {
// {U}{U}, {tap}: Destroy all Auras attached to Hakim.
FilterPermanent filterAurasOnHakim = new FilterPermanent("Auras attached to Hakim");
- filterAurasOnHakim.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterAurasOnHakim.add(CardType.ENCHANTMENT.getPredicate());
filterAurasOnHakim.add(new SubtypePredicate(SubType.AURA));
FilterPermanent filterSourceId = new FilterPermanent();
filterSourceId.add(new CardIdPredicate(this.getId()));
@@ -131,7 +130,7 @@ class HakimLoreweaverCondition implements Condition {
static private final FilterPermanent auras = new FilterPermanent();
static {
- auras.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ auras.add(CardType.ENCHANTMENT.getPredicate());
}
@Override
diff --git a/Mage.Sets/src/mage/cards/h/HalimarTidecaller.java b/Mage.Sets/src/mage/cards/h/HalimarTidecaller.java
index f1cc7edf92d..8931cff0ad3 100644
--- a/Mage.Sets/src/mage/cards/h/HalimarTidecaller.java
+++ b/Mage.Sets/src/mage/cards/h/HalimarTidecaller.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -32,8 +31,8 @@ public final class HalimarTidecaller extends CardImpl {
private static final FilterCard filterCard = new FilterCard("card with awaken from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.LAND.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
filterCard.add(new AbilityPredicate(AwakenAbility.class));
}
diff --git a/Mage.Sets/src/mage/cards/h/HandOfThePraetors.java b/Mage.Sets/src/mage/cards/h/HandOfThePraetors.java
index 1d21ea7fa6a..4d7f7854bb8 100644
--- a/Mage.Sets/src/mage/cards/h/HandOfThePraetors.java
+++ b/Mage.Sets/src/mage/cards/h/HandOfThePraetors.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPlayer;
/**
@@ -33,7 +32,7 @@ public final class HandOfThePraetors extends CardImpl {
static {
filter.add(new AbilityPredicate(InfectAbility.class));
filterSpell.add(new AbilityPredicate(InfectAbility.class));
- filterSpell.add(new CardTypePredicate(CardType.CREATURE));
+ filterSpell.add(CardType.CREATURE.getPredicate());
}
public HandOfThePraetors (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/HannaShipsNavigator.java b/Mage.Sets/src/mage/cards/h/HannaShipsNavigator.java
index 5e8318ecb07..c12a3118ff1 100644
--- a/Mage.Sets/src/mage/cards/h/HannaShipsNavigator.java
+++ b/Mage.Sets/src/mage/cards/h/HannaShipsNavigator.java
@@ -17,7 +17,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerPredicate;
import mage.target.common.TargetCardInYourGraveyard;
@@ -30,7 +29,7 @@ public final class HannaShipsNavigator extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact or enchantment card from your graveyard");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
filter.add(new OwnerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/h/HannasCustody.java b/Mage.Sets/src/mage/cards/h/HannasCustody.java
index 6a3f0afb932..dbeff1d0d3c 100644
--- a/Mage.Sets/src/mage/cards/h/HannasCustody.java
+++ b/Mage.Sets/src/mage/cards/h/HannasCustody.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class HannasCustody extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public HannasCustody(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java b/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java
index f41fd10dbe1..d755d2abfee 100644
--- a/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java
+++ b/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java
@@ -19,7 +19,6 @@ import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
import mage.game.Game;
@@ -80,7 +79,7 @@ class HaphazardBombardmentEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
FilterPermanent filter = new FilterPermanent("nonenchantment permanents you don't control");
- filter.add(Predicates.not(new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.not(CardType.ENCHANTMENT.getPredicate()));
filter.add(new ControllerPredicate(TargetController.OPPONENT));
List permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
if (permanents.size() > 4) {
diff --git a/Mage.Sets/src/mage/cards/h/HarshMentor.java b/Mage.Sets/src/mage/cards/h/HarshMentor.java
index 7a01484d2a9..16471d1c81c 100644
--- a/Mage.Sets/src/mage/cards/h/HarshMentor.java
+++ b/Mage.Sets/src/mage/cards/h/HarshMentor.java
@@ -50,7 +50,7 @@ public final class HarshMentor extends CardImpl {
class HarshMentorTriggeredAbility extends TriggeredAbilityImpl {
HarshMentorTriggeredAbility() {
- super(Zone.BATTLEFIELD, new DamageTargetEffect(new StaticValue(2), true, "that player", true));
+ super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(2), true, "that player", true));
}
HarshMentorTriggeredAbility(final HarshMentorTriggeredAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/h/HarvesterTroll.java b/Mage.Sets/src/mage/cards/h/HarvesterTroll.java
index 706c9e78967..66da41971a4 100644
--- a/Mage.Sets/src/mage/cards/h/HarvesterTroll.java
+++ b/Mage.Sets/src/mage/cards/h/HarvesterTroll.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -26,7 +25,7 @@ public final class HarvesterTroll extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a creature or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public HarvesterTroll(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/Hatred.java b/Mage.Sets/src/mage/cards/h/Hatred.java
index 1d096e1cb6a..b5393140561 100644
--- a/Mage.Sets/src/mage/cards/h/Hatred.java
+++ b/Mage.Sets/src/mage/cards/h/Hatred.java
@@ -27,7 +27,7 @@ public final class Hatred extends CardImpl {
// Target creature gets +X/+0 until end of turn.
DynamicValue xValue = GetXValue.instance;
- this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, new StaticValue(0), Duration.EndOfTurn));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, StaticValue.get(0), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/h/HazoretsMonument.java b/Mage.Sets/src/mage/cards/h/HazoretsMonument.java
index 4f56a1970fe..7f3e0bd8bdb 100644
--- a/Mage.Sets/src/mage/cards/h/HazoretsMonument.java
+++ b/Mage.Sets/src/mage/cards/h/HazoretsMonument.java
@@ -17,7 +17,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -30,10 +29,10 @@ public final class HazoretsMonument extends CardImpl {
private static final FilterSpell filter2 = new FilterSpell("a creature spell");
static {
- filter.add(Predicates.and(new ColorPredicate(ObjectColor.RED), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.and(new ColorPredicate(ObjectColor.RED), CardType.CREATURE.getPredicate()));
}
static {
- filter2.add(new CardTypePredicate(CardType.CREATURE));
+ filter2.add(CardType.CREATURE.getPredicate());
}
public HazoretsMonument(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/HazoretsUndyingFury.java b/Mage.Sets/src/mage/cards/h/HazoretsUndyingFury.java
index 21f2fd8efbc..0a287da8544 100644
--- a/Mage.Sets/src/mage/cards/h/HazoretsUndyingFury.java
+++ b/Mage.Sets/src/mage/cards/h/HazoretsUndyingFury.java
@@ -20,7 +20,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.ExileZone;
import mage.game.Game;
@@ -64,7 +63,7 @@ class HazoretsUndyingFuryEffect extends OneShotEffect {
"nonland cards with converted mana cost 5 or less");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 6));
}
diff --git a/Mage.Sets/src/mage/cards/h/Heartfire.java b/Mage.Sets/src/mage/cards/h/Heartfire.java
index c264508af1d..d377f9a7a89 100644
--- a/Mage.Sets/src/mage/cards/h/Heartfire.java
+++ b/Mage.Sets/src/mage/cards/h/Heartfire.java
@@ -7,7 +7,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetControlledPermanent;
@@ -23,8 +22,8 @@ public final class Heartfire extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.PLANESWALKER),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.PLANESWALKER.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/h/HearthCharm.java b/Mage.Sets/src/mage/cards/h/HearthCharm.java
index af7d92eea0e..33c945f37a2 100644
--- a/Mage.Sets/src/mage/cards/h/HearthCharm.java
+++ b/Mage.Sets/src/mage/cards/h/HearthCharm.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.filter.predicate.permanent.AttackingPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -27,7 +26,7 @@ public final class HearthCharm extends CardImpl {
private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("attacking creatures");
private static final FilterCreaturePermanent filter3 = new FilterCreaturePermanent("creature with power 2 or less");
static {
- filter1.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter1.add(CardType.ARTIFACT.getPredicate());
filter2.add(AttackingPredicate.instance);
filter3.add(new PowerPredicate(ComparisonType.FEWER_THAN, 3));
}
diff --git a/Mage.Sets/src/mage/cards/h/HearthKami.java b/Mage.Sets/src/mage/cards/h/HearthKami.java
index 0d09cdf93df..6002e5c492c 100644
--- a/Mage.Sets/src/mage/cards/h/HearthKami.java
+++ b/Mage.Sets/src/mage/cards/h/HearthKami.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.XCMCPermanentAdjuster;
@@ -25,7 +24,7 @@ public final class HearthKami extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact with converted mana cost X");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public HearthKami(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/HeartlashCinder.java b/Mage.Sets/src/mage/cards/h/HeartlashCinder.java
index 02b0909a977..21ef0f07b55 100644
--- a/Mage.Sets/src/mage/cards/h/HeartlashCinder.java
+++ b/Mage.Sets/src/mage/cards/h/HeartlashCinder.java
@@ -40,7 +40,7 @@ public final class HeartlashCinder extends CardImpl {
this.addAbility(HasteAbility.getInstance());
// Chroma - When Heartlash Cinder enters the battlefield, it gets +X/+0 until end of turn, where X is the number of red mana symbols in the mana costs of permanents you control.
- ContinuousEffect effect = new BoostSourceEffect(new ChromaHeartlashCinderCount(), new StaticValue(0), Duration.EndOfTurn, true);
+ ContinuousEffect effect = new BoostSourceEffect(new ChromaHeartlashCinderCount(), StaticValue.get(0), Duration.EndOfTurn, true);
effect.setText("Chroma — When Heartlash Cinder enters the battlefield, it gets +X/+0 until end of turn, where X is the number of red mana symbols in the mana costs of permanents you control.");
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false, true));
diff --git a/Mage.Sets/src/mage/cards/h/HeliodSunCrowned.java b/Mage.Sets/src/mage/cards/h/HeliodSunCrowned.java
index fd775a6079b..10a2e80d5c8 100644
--- a/Mage.Sets/src/mage/cards/h/HeliodSunCrowned.java
+++ b/Mage.Sets/src/mage/cards/h/HeliodSunCrowned.java
@@ -23,7 +23,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.target.TargetPermanent;
@@ -39,8 +38,8 @@ public final class HeliodSunCrowned extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
filter2.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/h/HeliodsPilgrim.java b/Mage.Sets/src/mage/cards/h/HeliodsPilgrim.java
index 0ee18ea79e4..62b826c961d 100644
--- a/Mage.Sets/src/mage/cards/h/HeliodsPilgrim.java
+++ b/Mage.Sets/src/mage/cards/h/HeliodsPilgrim.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -23,7 +22,7 @@ public final class HeliodsPilgrim extends CardImpl {
private static final FilterCard filter = new FilterCard("Aura card");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter.add(new SubtypePredicate(SubType.AURA));
}
diff --git a/Mage.Sets/src/mage/cards/h/HellkiteIgniter.java b/Mage.Sets/src/mage/cards/h/HellkiteIgniter.java
index 566e9bca98d..f69ac3f81a9 100644
--- a/Mage.Sets/src/mage/cards/h/HellkiteIgniter.java
+++ b/Mage.Sets/src/mage/cards/h/HellkiteIgniter.java
@@ -46,7 +46,7 @@ public final class HellkiteIgniter extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BoostSourceEffect(
new PermanentsOnBattlefieldCount(filter),
- new StaticValue(0),
+ StaticValue.get(0),
Duration.EndOfTurn,
true),
new ManaCostsImpl("{1}{R}")));
diff --git a/Mage.Sets/src/mage/cards/h/HellkiteWhelp.java b/Mage.Sets/src/mage/cards/h/HellkiteWhelp.java
index 902555e718a..a007c74c176 100644
--- a/Mage.Sets/src/mage/cards/h/HellkiteWhelp.java
+++ b/Mage.Sets/src/mage/cards/h/HellkiteWhelp.java
@@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
import mage.target.TargetPermanent;
@@ -24,7 +23,7 @@ public final class HellkiteWhelp extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature defending player controls");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(DefendingPlayerControlsPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfDromoka.java b/Mage.Sets/src/mage/cards/h/HeraldOfDromoka.java
index 8e2fe33826a..27602965f4c 100644
--- a/Mage.Sets/src/mage/cards/h/HeraldOfDromoka.java
+++ b/Mage.Sets/src/mage/cards/h/HeraldOfDromoka.java
@@ -13,7 +13,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
@@ -26,7 +25,7 @@ public final class HeraldOfDromoka extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("other Warrior creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SubtypePredicate(SubType.WARRIOR));
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfThePantheon.java b/Mage.Sets/src/mage/cards/h/HeraldOfThePantheon.java
index 407a6075ee0..652e603577d 100644
--- a/Mage.Sets/src/mage/cards/h/HeraldOfThePantheon.java
+++ b/Mage.Sets/src/mage/cards/h/HeraldOfThePantheon.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,8 +25,8 @@ public final class HeraldOfThePantheon extends CardImpl {
private static final FilterSpell filter2 = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
- filter2.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
+ filter2.add(CardType.ENCHANTMENT.getPredicate());
}
public HeraldOfThePantheon(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/Hexdrinker.java b/Mage.Sets/src/mage/cards/h/Hexdrinker.java
index 9cc50eb781f..7641d116cb6 100644
--- a/Mage.Sets/src/mage/cards/h/Hexdrinker.java
+++ b/Mage.Sets/src/mage/cards/h/Hexdrinker.java
@@ -12,7 +12,6 @@ import mage.cards.LevelerCard;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import java.util.UUID;
@@ -25,7 +24,7 @@ public final class Hexdrinker extends LevelerCard {
private static final FilterCard filter = new FilterCard("instants");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public Hexdrinker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/HibernationsEnd.java b/Mage.Sets/src/mage/cards/h/HibernationsEnd.java
index 81d4148c53c..949924d3948 100644
--- a/Mage.Sets/src/mage/cards/h/HibernationsEnd.java
+++ b/Mage.Sets/src/mage/cards/h/HibernationsEnd.java
@@ -15,7 +15,6 @@ import mage.constants.ComparisonType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -104,7 +103,7 @@ class HibernationsEndEffect extends OneShotEffect {
int newConvertedCost = sourcePermanent.getCounters(game).getCount("age");
FilterCard filter = new FilterCard("creature card with converted mana cost " + newConvertedCost);
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, newConvertedCost));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
TargetCardInLibrary target = new TargetCardInLibrary(filter);
return new SearchLibraryPutInPlayEffect(target).apply(game, source);
}
diff --git a/Mage.Sets/src/mage/cards/h/HiddenAncients.java b/Mage.Sets/src/mage/cards/h/HiddenAncients.java
index 63b9ac7d8f1..5c2d7aa6318 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenAncients.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenAncients.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.TokenImpl;
import java.util.UUID;
@@ -29,7 +28,7 @@ public final class HiddenAncients extends CardImpl {
private static final FilterSpell filter = new FilterSpell("enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public HiddenAncients(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/HiddenGibbons.java b/Mage.Sets/src/mage/cards/h/HiddenGibbons.java
index d65cb33853f..e43f4496a90 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenGibbons.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenGibbons.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.TokenImpl;
import java.util.UUID;
@@ -29,7 +28,7 @@ public final class HiddenGibbons extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant spell");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public HiddenGibbons(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/HitRun.java b/Mage.Sets/src/mage/cards/h/HitRun.java
index f01585194a8..2bf1acd2cd9 100644
--- a/Mage.Sets/src/mage/cards/h/HitRun.java
+++ b/Mage.Sets/src/mage/cards/h/HitRun.java
@@ -15,7 +15,6 @@ import mage.constants.SpellAbilityType;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -75,8 +74,8 @@ class HitEffect extends OneShotEffect {
if (targetPlayer != null) {
FilterControlledPermanent filter = new FilterControlledPermanent("artifact or creature");
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true);
if (target.canChoose(targetPlayer.getId(), game)) {
diff --git a/Mage.Sets/src/mage/cards/h/HoardSmelterDragon.java b/Mage.Sets/src/mage/cards/h/HoardSmelterDragon.java
index e208bd77b05..cb6a49e0555 100644
--- a/Mage.Sets/src/mage/cards/h/HoardSmelterDragon.java
+++ b/Mage.Sets/src/mage/cards/h/HoardSmelterDragon.java
@@ -15,7 +15,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -28,7 +27,7 @@ public final class HoardSmelterDragon extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public HoardSmelterDragon (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/h/HoldTheGates.java b/Mage.Sets/src/mage/cards/h/HoldTheGates.java
index 4efa8b303a4..e8b5b306757 100644
--- a/Mage.Sets/src/mage/cards/h/HoldTheGates.java
+++ b/Mage.Sets/src/mage/cards/h/HoldTheGates.java
@@ -28,7 +28,7 @@ public final class HoldTheGates extends CardImpl {
// Creatures you control get +0/+1 for each Gate you control and have vigilance.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
- new BoostControlledEffect(new StaticValue(0), GateYouControlCount.instance, Duration.WhileOnBattlefield));
+ new BoostControlledEffect(StaticValue.get(0), GateYouControlCount.instance, Duration.WhileOnBattlefield));
ability.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Creatures"))
.setText("Creatures you control get +0/+1 for each Gate you control and have vigilance"));
ability.addHint(GateYouControlHint.instance);
diff --git a/Mage.Sets/src/mage/cards/h/Hoodwink.java b/Mage.Sets/src/mage/cards/h/Hoodwink.java
index 8c20e380b94..f9b93c2b055 100644
--- a/Mage.Sets/src/mage/cards/h/Hoodwink.java
+++ b/Mage.Sets/src/mage/cards/h/Hoodwink.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,9 +20,9 @@ public final class Hoodwink extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Hoodwink(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}");
diff --git a/Mage.Sets/src/mage/cards/h/HostageTaker.java b/Mage.Sets/src/mage/cards/h/HostageTaker.java
index 3ef3f60d88c..f91fdf13b30 100644
--- a/Mage.Sets/src/mage/cards/h/HostageTaker.java
+++ b/Mage.Sets/src/mage/cards/h/HostageTaker.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.ExileZone;
import mage.game.Game;
@@ -38,8 +37,8 @@ public final class HostageTaker extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/h/HourOfDevastation.java b/Mage.Sets/src/mage/cards/h/HourOfDevastation.java
index af396c02ce9..836e74b73a0 100644
--- a/Mage.Sets/src/mage/cards/h/HourOfDevastation.java
+++ b/Mage.Sets/src/mage/cards/h/HourOfDevastation.java
@@ -13,7 +13,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -26,9 +25,9 @@ public final class HourOfDevastation extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
+ CardType.CREATURE.getPredicate(),
Predicates.and(
- new CardTypePredicate(CardType.PLANESWALKER),
+ CardType.PLANESWALKER.getPredicate(),
Predicates.not(new SubtypePredicate(SubType.BOLAS)))));
}
diff --git a/Mage.Sets/src/mage/cards/h/HowlFromBeyond.java b/Mage.Sets/src/mage/cards/h/HowlFromBeyond.java
index ec2c6e9dd4a..9697ef5ba14 100644
--- a/Mage.Sets/src/mage/cards/h/HowlFromBeyond.java
+++ b/Mage.Sets/src/mage/cards/h/HowlFromBeyond.java
@@ -23,7 +23,7 @@ public final class HowlFromBeyond extends CardImpl {
// Target creature gets +X/+0 until end of turn.
- this.getSpellAbility().addEffect(new BoostTargetEffect(ManacostVariableValue.instance, new StaticValue(0), Duration.EndOfTurn));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/h/HuatlisSpurring.java b/Mage.Sets/src/mage/cards/h/HuatlisSpurring.java
index 783f348b342..3332dcca366 100644
--- a/Mage.Sets/src/mage/cards/h/HuatlisSpurring.java
+++ b/Mage.Sets/src/mage/cards/h/HuatlisSpurring.java
@@ -12,7 +12,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -27,7 +26,7 @@ public final class HuatlisSpurring extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.HUATLI));
}
diff --git a/Mage.Sets/src/mage/cards/h/HungerOfTheNim.java b/Mage.Sets/src/mage/cards/h/HungerOfTheNim.java
index 24cf8cadfad..657891ee47e 100644
--- a/Mage.Sets/src/mage/cards/h/HungerOfTheNim.java
+++ b/Mage.Sets/src/mage/cards/h/HungerOfTheNim.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -23,14 +22,14 @@ public final class HungerOfTheNim extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public HungerOfTheNim(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}");
// Target creature gets +1/+0 until end of turn for each artifact you control.
- Effect effect = new BoostTargetEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.EndOfTurn, true);
+ Effect effect = new BoostTargetEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.EndOfTurn, true);
effect.setText("Target creature gets +1/+0 until end of turn for each artifact you control");
getSpellAbility().addEffect(effect);
getSpellAbility().addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/h/Hypergenesis.java b/Mage.Sets/src/mage/cards/h/Hypergenesis.java
index 02747734242..f7e4bc574a2 100644
--- a/Mage.Sets/src/mage/cards/h/Hypergenesis.java
+++ b/Mage.Sets/src/mage/cards/h/Hypergenesis.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.players.PlayerList;
@@ -54,7 +53,7 @@ class HypergenesisEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("an artifact, creature, enchantment, or land card");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ENCHANTMENT), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate(), CardType.ENCHANTMENT.getPredicate(), CardType.LAND.getPredicate()));
}
HypergenesisEffect() {
diff --git a/Mage.Sets/src/mage/cards/h/HypersonicDragon.java b/Mage.Sets/src/mage/cards/h/HypersonicDragon.java
index 2858e1f88a7..c9b27556dc7 100644
--- a/Mage.Sets/src/mage/cards/h/HypersonicDragon.java
+++ b/Mage.Sets/src/mage/cards/h/HypersonicDragon.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author magenoxx_at_gmail.com
@@ -24,7 +23,7 @@ public final class HypersonicDragon extends CardImpl {
private static final FilterCard filter = new FilterCard("sorcery spells");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public HypersonicDragon(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/IceCauldron.java b/Mage.Sets/src/mage/cards/i/IceCauldron.java
index 9cdc8b351a6..f6cd8a2e6bd 100644
--- a/Mage.Sets/src/mage/cards/i/IceCauldron.java
+++ b/Mage.Sets/src/mage/cards/i/IceCauldron.java
@@ -24,7 +24,6 @@ import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -71,7 +70,7 @@ class IceCauldronExileEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public IceCauldronExileEffect() {
diff --git a/Mage.Sets/src/mage/cards/i/Icefall.java b/Mage.Sets/src/mage/cards/i/Icefall.java
index c9f075bdb26..ed310c3274c 100644
--- a/Mage.Sets/src/mage/cards/i/Icefall.java
+++ b/Mage.Sets/src/mage/cards/i/Icefall.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -23,8 +22,8 @@ public final class Icefall extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Icefall(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/IchneumonDruid.java b/Mage.Sets/src/mage/cards/i/IchneumonDruid.java
index c3410562516..6ac8a968063 100644
--- a/Mage.Sets/src/mage/cards/i/IchneumonDruid.java
+++ b/Mage.Sets/src/mage/cards/i/IchneumonDruid.java
@@ -52,7 +52,7 @@ public final class IchneumonDruid extends CardImpl {
class IchneumonDruidAbility extends TriggeredAbilityImpl {
public IchneumonDruidAbility() {
- super(Zone.BATTLEFIELD, new DamageTargetEffect(new StaticValue(4), false, "that player", true));
+ super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(4), false, "that player", true));
}
public IchneumonDruidAbility(final IchneumonDruidAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/i/IcyManipulator.java b/Mage.Sets/src/mage/cards/i/IcyManipulator.java
index 10b212d65bb..d9a888222f0 100644
--- a/Mage.Sets/src/mage/cards/i/IcyManipulator.java
+++ b/Mage.Sets/src/mage/cards/i/IcyManipulator.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -26,9 +25,9 @@ public final class IcyManipulator extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public IcyManipulator(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/IdyllicTutor.java b/Mage.Sets/src/mage/cards/i/IdyllicTutor.java
index 58319b906d7..c25b4c96e3c 100644
--- a/Mage.Sets/src/mage/cards/i/IdyllicTutor.java
+++ b/Mage.Sets/src/mage/cards/i/IdyllicTutor.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -18,7 +17,7 @@ public final class IdyllicTutor extends CardImpl {
private static final FilterCard filter = new FilterCard("an enchantment");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public IdyllicTutor(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/Illumination.java b/Mage.Sets/src/mage/cards/i/Illumination.java
index 5886a5a4b11..a1233741aa5 100644
--- a/Mage.Sets/src/mage/cards/i/Illumination.java
+++ b/Mage.Sets/src/mage/cards/i/Illumination.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.stack.Spell;
import mage.players.Player;
@@ -27,8 +26,8 @@ public final class Illumination extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public Illumination(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/ImmolationShaman.java b/Mage.Sets/src/mage/cards/i/ImmolationShaman.java
index a4eddb62866..f7bc1ddca02 100644
--- a/Mage.Sets/src/mage/cards/i/ImmolationShaman.java
+++ b/Mage.Sets/src/mage/cards/i/ImmolationShaman.java
@@ -69,7 +69,7 @@ public final class ImmolationShaman extends CardImpl {
class ImmolationShamanTriggeredAbility extends TriggeredAbilityImpl {
ImmolationShamanTriggeredAbility() {
- super(Zone.BATTLEFIELD, new DamageTargetEffect(new StaticValue(1), true, "that player", true));
+ super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(1), true, "that player", true));
}
private ImmolationShamanTriggeredAbility(final ImmolationShamanTriggeredAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/i/ImpactTremors.java b/Mage.Sets/src/mage/cards/i/ImpactTremors.java
index bd9ec49c391..e905b6ef887 100644
--- a/Mage.Sets/src/mage/cards/i/ImpactTremors.java
+++ b/Mage.Sets/src/mage/cards/i/ImpactTremors.java
@@ -24,7 +24,7 @@ public final class ImpactTremors extends CardImpl {
// Whenever a creature enters the battlefield under your control, Impact Tremors deals 1 damage to each opponent.
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
- new DamagePlayersEffect(Outcome.Damage, new StaticValue(1), TargetController.OPPONENT),
+ new DamagePlayersEffect(Outcome.Damage, StaticValue.get(1), TargetController.OPPONENT),
new FilterCreaturePermanent("a creature"),
false));
}
diff --git a/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java b/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java
index 1df48d031c0..d98798bfa3a 100644
--- a/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java
+++ b/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java
@@ -18,7 +18,6 @@ import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -32,9 +31,9 @@ public final class ImprisonedInTheMoon extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature, land, or planeswalker");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public ImprisonedInTheMoon(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/ImpromptuRaid.java b/Mage.Sets/src/mage/cards/i/ImpromptuRaid.java
index 07f90385a19..52bc9accaf4 100644
--- a/Mage.Sets/src/mage/cards/i/ImpromptuRaid.java
+++ b/Mage.Sets/src/mage/cards/i/ImpromptuRaid.java
@@ -24,7 +24,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -59,7 +58,7 @@ class ImpromptuRaidEffect extends OneShotEffect {
private static final FilterCard filterPutInGraveyard = new FilterCard("noncreature card to put into your graveyard");
static {
- filterPutInGraveyard.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterPutInGraveyard.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ImpromptuRaidEffect() {
diff --git a/Mage.Sets/src/mage/cards/i/Impulse.java b/Mage.Sets/src/mage/cards/i/Impulse.java
index 1ff1b93fac6..5d9bbacb649 100644
--- a/Mage.Sets/src/mage/cards/i/Impulse.java
+++ b/Mage.Sets/src/mage/cards/i/Impulse.java
@@ -20,7 +20,7 @@ public final class Impulse extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}");
// Look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false));
}
diff --git a/Mage.Sets/src/mage/cards/i/InTheEyeOfChaos.java b/Mage.Sets/src/mage/cards/i/InTheEyeOfChaos.java
index 3f105ed362d..a34160adbc4 100644
--- a/Mage.Sets/src/mage/cards/i/InTheEyeOfChaos.java
+++ b/Mage.Sets/src/mage/cards/i/InTheEyeOfChaos.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.stack.StackObject;
import mage.players.Player;
@@ -24,7 +23,7 @@ public final class InTheEyeOfChaos extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an instant spell");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public InTheEyeOfChaos(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/Incoming.java b/Mage.Sets/src/mage/cards/i/Incoming.java
index 49296f8deb9..b1e4b4daf3f 100644
--- a/Mage.Sets/src/mage/cards/i/Incoming.java
+++ b/Mage.Sets/src/mage/cards/i/Incoming.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
@@ -46,10 +45,10 @@ class IncomingEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public IncomingEffect() {
diff --git a/Mage.Sets/src/mage/cards/i/IncreasingVengeance.java b/Mage.Sets/src/mage/cards/i/IncreasingVengeance.java
index 34392a641b4..2e2915fcdd4 100644
--- a/Mage.Sets/src/mage/cards/i/IncreasingVengeance.java
+++ b/Mage.Sets/src/mage/cards/i/IncreasingVengeance.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.stack.Spell;
@@ -30,8 +29,8 @@ public final class IncreasingVengeance extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/i/IncubationIncongruity.java b/Mage.Sets/src/mage/cards/i/IncubationIncongruity.java
index 7604c2ab92a..07e76c0b33e 100644
--- a/Mage.Sets/src/mage/cards/i/IncubationIncongruity.java
+++ b/Mage.Sets/src/mage/cards/i/IncubationIncongruity.java
@@ -30,8 +30,8 @@ public final class IncubationIncongruity extends SplitCard {
// Incubation
// Look at the top five cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.getLeftHalfCard().getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false,
- new StaticValue(1), StaticFilters.FILTER_CARD_CREATURE_A,
+ StaticValue.get(5), false,
+ StaticValue.get(1), StaticFilters.FILTER_CARD_CREATURE_A,
Zone.LIBRARY, false, true, false,
Zone.HAND, false, false, false
).setBackInRandomOrder(true));
diff --git a/Mage.Sets/src/mage/cards/i/IndenturedDjinn.java b/Mage.Sets/src/mage/cards/i/IndenturedDjinn.java
index 6e54d5ab216..85127a972c6 100644
--- a/Mage.Sets/src/mage/cards/i/IndenturedDjinn.java
+++ b/Mage.Sets/src/mage/cards/i/IndenturedDjinn.java
@@ -71,7 +71,7 @@ class IndenturedDjinnEffect extends OneShotEffect {
for (UUID playerId : game.getOpponents(source.getControllerId())) {
Player player = game.getPlayer(playerId);
if (player != null) {
- Effect effect = new DrawCardTargetEffect(new StaticValue(3), false, true);
+ Effect effect = new DrawCardTargetEffect(StaticValue.get(3), false, true);
effect.setTargetPointer(new FixedTarget(playerId));
effect.setText(player.getLogName() + " may draw up to three cards");
effect.apply(game, source);
diff --git a/Mage.Sets/src/mage/cards/i/IndomitableArchangel.java b/Mage.Sets/src/mage/cards/i/IndomitableArchangel.java
index 2a1e889e73d..f0282360f99 100644
--- a/Mage.Sets/src/mage/cards/i/IndomitableArchangel.java
+++ b/Mage.Sets/src/mage/cards/i/IndomitableArchangel.java
@@ -18,7 +18,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author nantuko
@@ -30,7 +29,7 @@ public final class IndomitableArchangel extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public IndomitableArchangel(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/IndomitableCreativity.java b/Mage.Sets/src/mage/cards/i/IndomitableCreativity.java
index dd209468576..f35e446d981 100644
--- a/Mage.Sets/src/mage/cards/i/IndomitableCreativity.java
+++ b/Mage.Sets/src/mage/cards/i/IndomitableCreativity.java
@@ -9,7 +9,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Library;
@@ -51,8 +50,8 @@ enum IndomitableCreativityAdjuster implements TargetAdjuster {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/i/InfiniteHourglass.java b/Mage.Sets/src/mage/cards/i/InfiniteHourglass.java
index f06540d90a8..0e5527fb04d 100644
--- a/Mage.Sets/src/mage/cards/i/InfiniteHourglass.java
+++ b/Mage.Sets/src/mage/cards/i/InfiniteHourglass.java
@@ -39,7 +39,7 @@ public final class InfiniteHourglass extends CardImpl {
Zone.BATTLEFIELD,
new BoostAllEffect(
new CountersSourceCount(CounterType.TIME),
- new StaticValue(0),
+ StaticValue.get(0),
Duration.WhileOnBattlefield
)
));
diff --git a/Mage.Sets/src/mage/cards/i/Infuse.java b/Mage.Sets/src/mage/cards/i/Infuse.java
index 64a32b13cc8..eabd7eb4b44 100644
--- a/Mage.Sets/src/mage/cards/i/Infuse.java
+++ b/Mage.Sets/src/mage/cards/i/Infuse.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -24,9 +23,9 @@ public final class Infuse extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Infuse(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/InitiatesCompanion.java b/Mage.Sets/src/mage/cards/i/InitiatesCompanion.java
index 8abcd0d39d3..3f609f2e837 100644
--- a/Mage.Sets/src/mage/cards/i/InitiatesCompanion.java
+++ b/Mage.Sets/src/mage/cards/i/InitiatesCompanion.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -24,8 +23,8 @@ public final class InitiatesCompanion extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public InitiatesCompanion(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/InkEyesServantOfOni.java b/Mage.Sets/src/mage/cards/i/InkEyesServantOfOni.java
index 3628872503c..c651857c818 100644
--- a/Mage.Sets/src/mage/cards/i/InkEyesServantOfOni.java
+++ b/Mage.Sets/src/mage/cards/i/InkEyesServantOfOni.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerIdPredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
@@ -88,7 +87,7 @@ class InkEyesServantOfOniTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
FilterCard filter = new FilterCard("creature in " + damagedPlayer.getName() + "'s graveyard");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new OwnerIdPredicate(damagedPlayer.getId()));
TargetCardInGraveyard target = new TargetCardInGraveyard(filter);
this.getTargets().clear();
diff --git a/Mage.Sets/src/mage/cards/i/InquisitionOfKozilek.java b/Mage.Sets/src/mage/cards/i/InquisitionOfKozilek.java
index cc42da6f47b..1b16718de58 100644
--- a/Mage.Sets/src/mage/cards/i/InquisitionOfKozilek.java
+++ b/Mage.Sets/src/mage/cards/i/InquisitionOfKozilek.java
@@ -11,7 +11,6 @@ import mage.constants.ComparisonType;
import mage.constants.TargetController;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.TargetPlayer;
@@ -24,7 +23,7 @@ public final class InquisitionOfKozilek extends CardImpl {
private static final FilterCard filter = new FilterCard("nonland card with converted mana cost 3 or less");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/cards/i/InspiringStatuary.java b/Mage.Sets/src/mage/cards/i/InspiringStatuary.java
index 26d8f5795c4..104c79b3b61 100644
--- a/Mage.Sets/src/mage/cards/i/InspiringStatuary.java
+++ b/Mage.Sets/src/mage/cards/i/InspiringStatuary.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class InspiringStatuary extends CardImpl {
private static final FilterSpell filter = new FilterSpell("non-artifact spells you cast");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public InspiringStatuary(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/InterplanarBeacon.java b/Mage.Sets/src/mage/cards/i/InterplanarBeacon.java
index 7c4b9483b49..7b7d1e3fee7 100644
--- a/Mage.Sets/src/mage/cards/i/InterplanarBeacon.java
+++ b/Mage.Sets/src/mage/cards/i/InterplanarBeacon.java
@@ -16,7 +16,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.stack.Spell;
@@ -30,7 +29,7 @@ public final class InterplanarBeacon extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a planeswalker spell");
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
}
public InterplanarBeacon(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/InvasiveSurgery.java b/Mage.Sets/src/mage/cards/i/InvasiveSurgery.java
index f071d979891..5c2db995f5c 100644
--- a/Mage.Sets/src/mage/cards/i/InvasiveSurgery.java
+++ b/Mage.Sets/src/mage/cards/i/InvasiveSurgery.java
@@ -13,7 +13,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.stack.StackObject;
import mage.players.Player;
@@ -27,7 +26,7 @@ public final class InvasiveSurgery extends CardImpl {
private static final FilterSpell filter = new FilterSpell("sorcery spell");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public InvasiveSurgery(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/InventorsFair.java b/Mage.Sets/src/mage/cards/i/InventorsFair.java
index f6fed6387f7..f604e540469 100644
--- a/Mage.Sets/src/mage/cards/i/InventorsFair.java
+++ b/Mage.Sets/src/mage/cards/i/InventorsFair.java
@@ -19,7 +19,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterArtifactPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -34,7 +33,7 @@ public final class InventorsFair extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public InventorsFair(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/InvertInvent.java b/Mage.Sets/src/mage/cards/i/InvertInvent.java
index 787a79d0706..a1fe52ddc6d 100644
--- a/Mage.Sets/src/mage/cards/i/InvertInvent.java
+++ b/Mage.Sets/src/mage/cards/i/InvertInvent.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.SpellAbilityType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
@@ -86,8 +85,8 @@ class InventEffect extends OneShotEffect {
private static final FilterCard filter2 = new FilterCard("sorcery card");
static {
- filter1.add(new CardTypePredicate(CardType.INSTANT));
- filter2.add(new CardTypePredicate(CardType.SORCERY));
+ filter1.add(CardType.INSTANT.getPredicate());
+ filter2.add(CardType.SORCERY.getPredicate());
}
public InventEffect() {
diff --git a/Mage.Sets/src/mage/cards/i/InvertTheSkies.java b/Mage.Sets/src/mage/cards/i/InvertTheSkies.java
index 23ef03b4eb1..b0c758b04ec 100644
--- a/Mage.Sets/src/mage/cards/i/InvertTheSkies.java
+++ b/Mage.Sets/src/mage/cards/i/InvertTheSkies.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.watchers.common.ManaSpentToCastWatcher;
@@ -33,7 +32,7 @@ public final class InvertTheSkies extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.OPPONENT));
filter.add(new AbilityPredicate(FlyingAbility.class));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public InvertTheSkies(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/IonasJudgment.java b/Mage.Sets/src/mage/cards/i/IonasJudgment.java
index 256bb8284dd..ba93bb8fc8d 100644
--- a/Mage.Sets/src/mage/cards/i/IonasJudgment.java
+++ b/Mage.Sets/src/mage/cards/i/IonasJudgment.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,8 +20,8 @@ public final class IonasJudgment extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public IonasJudgment (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/IsochronScepter.java b/Mage.Sets/src/mage/cards/i/IsochronScepter.java
index 0079f3c737a..42af1d5e340 100644
--- a/Mage.Sets/src/mage/cards/i/IsochronScepter.java
+++ b/Mage.Sets/src/mage/cards/i/IsochronScepter.java
@@ -16,7 +16,6 @@ import mage.constants.ComparisonType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -64,7 +63,7 @@ class IsochronScepterImprintEffect extends OneShotEffect {
+ "converted mana cost 2 or less from your hand");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 3));
}
diff --git a/Mage.Sets/src/mage/cards/i/IsolationZone.java b/Mage.Sets/src/mage/cards/i/IsolationZone.java
index 3ae0ee0781c..f8c15a2f066 100644
--- a/Mage.Sets/src/mage/cards/i/IsolationZone.java
+++ b/Mage.Sets/src/mage/cards/i/IsolationZone.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -31,8 +30,8 @@ public final class IsolationZone extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or enchantment an opponent controls");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
filter.add(new ControllerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/i/IsperiaTheInscrutable.java b/Mage.Sets/src/mage/cards/i/IsperiaTheInscrutable.java
index d9b11cca217..7a6a663c2d3 100644
--- a/Mage.Sets/src/mage/cards/i/IsperiaTheInscrutable.java
+++ b/Mage.Sets/src/mage/cards/i/IsperiaTheInscrutable.java
@@ -19,7 +19,6 @@ import mage.constants.Outcome;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
@@ -64,7 +63,7 @@ class IsperiaTheInscrutableEffect extends OneShotEffect {
static {
filter.add(new AbilityPredicate(FlyingAbility.class));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public IsperiaTheInscrutableEffect() {
diff --git a/Mage.Sets/src/mage/cards/i/ItlimocCradleOfTheSun.java b/Mage.Sets/src/mage/cards/i/ItlimocCradleOfTheSun.java
index b7ab2b0a632..c318a52021a 100644
--- a/Mage.Sets/src/mage/cards/i/ItlimocCradleOfTheSun.java
+++ b/Mage.Sets/src/mage/cards/i/ItlimocCradleOfTheSun.java
@@ -12,8 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.StaticFilters;
-import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
diff --git a/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java b/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java
index aafee957d6d..60aee167359 100644
--- a/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java
+++ b/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -58,7 +57,7 @@ class IwamoriOfTheOpenFistEffect extends OneShotEffect {
static {
filter.add(new SupertypePredicate(SuperType.LEGENDARY));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public IwamoriOfTheOpenFistEffect() {
diff --git a/Mage.Sets/src/mage/cards/i/IzzetCharm.java b/Mage.Sets/src/mage/cards/i/IzzetCharm.java
index 92f255d6c8f..6db3d525f0f 100644
--- a/Mage.Sets/src/mage/cards/i/IzzetCharm.java
+++ b/Mage.Sets/src/mage/cards/i/IzzetCharm.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetCreaturePermanent;
@@ -24,7 +23,7 @@ public final class IzzetCharm extends CardImpl {
static private final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public IzzetCharm(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/IzzetChemister.java b/Mage.Sets/src/mage/cards/i/IzzetChemister.java
index 201edddb6f9..1fe9657348d 100644
--- a/Mage.Sets/src/mage/cards/i/IzzetChemister.java
+++ b/Mage.Sets/src/mage/cards/i/IzzetChemister.java
@@ -23,7 +23,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterOwnedCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.ExileZone;
import mage.game.Game;
import mage.players.Player;
@@ -40,8 +39,8 @@ public final class IzzetChemister extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY))
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate())
);
}
diff --git a/Mage.Sets/src/mage/cards/i/IzzetChronarch.java b/Mage.Sets/src/mage/cards/i/IzzetChronarch.java
index ff7065119b1..64c7fb7930e 100644
--- a/Mage.Sets/src/mage/cards/i/IzzetChronarch.java
+++ b/Mage.Sets/src/mage/cards/i/IzzetChronarch.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -25,8 +24,8 @@ public final class IzzetChronarch extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public IzzetChronarch(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/i/IzzetGuildmage.java b/Mage.Sets/src/mage/cards/i/IzzetGuildmage.java
index 85a19949fb9..1bb82a47e66 100644
--- a/Mage.Sets/src/mage/cards/i/IzzetGuildmage.java
+++ b/Mage.Sets/src/mage/cards/i/IzzetGuildmage.java
@@ -15,7 +15,6 @@ import mage.constants.ComparisonType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetSpell;
@@ -30,10 +29,10 @@ public final class IzzetGuildmage extends CardImpl {
private static final FilterSpell filterSorcery = new FilterSpell("sorcery spell you control with converted mana cost 2 or less");
static {
- filterInstant.add(new CardTypePredicate(CardType.INSTANT));
+ filterInstant.add(CardType.INSTANT.getPredicate());
filterInstant.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 3));
filterInstant.add(new ControllerPredicate(TargetController.YOU));
- filterSorcery.add(new CardTypePredicate(CardType.SORCERY));
+ filterSorcery.add(CardType.SORCERY.getPredicate());
filterSorcery.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 3));
filterSorcery.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java b/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java
index 762da47ab12..71a5f2af177 100644
--- a/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java
+++ b/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java
@@ -42,7 +42,7 @@ public final class JaceTheLivingGuildpact extends CardImpl {
// +1: Look at the top two cards of your library. Put one of them into your graveyard.
Effect effect = new LookLibraryAndPickControllerEffect(
- new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, true, false, false, Zone.GRAVEYARD, false);
+ StaticValue.get(2), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, true, false, false, Zone.GRAVEYARD, false);
effect.setText("Look at the top two cards of your library. Put one of them into your graveyard");
this.addAbility(new LoyaltyAbility(effect, 1));
diff --git a/Mage.Sets/src/mage/cards/j/JacesDefeat.java b/Mage.Sets/src/mage/cards/j/JacesDefeat.java
index bb91ce1adb2..1906baf9120 100644
--- a/Mage.Sets/src/mage/cards/j/JacesDefeat.java
+++ b/Mage.Sets/src/mage/cards/j/JacesDefeat.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
@@ -55,7 +54,7 @@ class JacesDefeatEffect extends OneShotEffect {
private static final FilterSpell filter = new FilterSpell();
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.JACE));
}
diff --git a/Mage.Sets/src/mage/cards/j/JacesSanctum.java b/Mage.Sets/src/mage/cards/j/JacesSanctum.java
index 4f08de895c8..89eb9e47637 100644
--- a/Mage.Sets/src/mage/cards/j/JacesSanctum.java
+++ b/Mage.Sets/src/mage/cards/j/JacesSanctum.java
@@ -13,7 +13,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -27,11 +26,11 @@ public final class JacesSanctum extends CardImpl {
private static final FilterSpell filter2 = new FilterSpell("an instant or sorcery spell");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
static {
- filter2.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter2.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public JacesSanctum(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/j/JacesSentinel.java b/Mage.Sets/src/mage/cards/j/JacesSentinel.java
index da20a95e49f..a2a70e354a7 100644
--- a/Mage.Sets/src/mage/cards/j/JacesSentinel.java
+++ b/Mage.Sets/src/mage/cards/j/JacesSentinel.java
@@ -12,7 +12,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -27,7 +26,7 @@ public final class JacesSentinel extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.JACE));
}
diff --git a/Mage.Sets/src/mage/cards/j/JediEnclave.java b/Mage.Sets/src/mage/cards/j/JediEnclave.java
index bfbb9549063..a6ea99522f8 100644
--- a/Mage.Sets/src/mage/cards/j/JediEnclave.java
+++ b/Mage.Sets/src/mage/cards/j/JediEnclave.java
@@ -13,7 +13,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -59,7 +58,7 @@ public final class JediEnclave extends CardImpl {
addCost(new TapSourceCost());
addCost(new SacrificeSourceCost());
FilterCard filter = new FilterCard("basic Forest, Plains or Island");
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
List> subtypePredicates = new ArrayList<>();
subtypePredicates.add(new SubtypePredicate(SubType.FOREST));
subtypePredicates.add(new SubtypePredicate(SubType.PLAINS));
diff --git a/Mage.Sets/src/mage/cards/j/JeskaiAscendancy.java b/Mage.Sets/src/mage/cards/j/JeskaiAscendancy.java
index c545810059c..2e293a21385 100644
--- a/Mage.Sets/src/mage/cards/j/JeskaiAscendancy.java
+++ b/Mage.Sets/src/mage/cards/j/JeskaiAscendancy.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,7 +25,7 @@ public final class JeskaiAscendancy extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public JeskaiAscendancy(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/j/JeweledSpirit.java b/Mage.Sets/src/mage/cards/j/JeweledSpirit.java
index 0f0ada34c36..591674f6d0f 100644
--- a/Mage.Sets/src/mage/cards/j/JeweledSpirit.java
+++ b/Mage.Sets/src/mage/cards/j/JeweledSpirit.java
@@ -21,7 +21,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledLandPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -80,7 +79,7 @@ class JeweledSpiritEffect extends OneShotEffect {
if (controller != null && controller.choose(outcome, choice, game)) {
FilterCard protectionFilter = new FilterCard();
if (choice.isArtifactSelected()) {
- protectionFilter.add(new CardTypePredicate(CardType.ARTIFACT));
+ protectionFilter.add(CardType.ARTIFACT.getPredicate());
} else {
protectionFilter.add(new ColorPredicate(choice.getColor()));
}
diff --git a/Mage.Sets/src/mage/cards/j/JhoirasToolbox.java b/Mage.Sets/src/mage/cards/j/JhoirasToolbox.java
index dfe6bcf773c..632a5b1a238 100644
--- a/Mage.Sets/src/mage/cards/j/JhoirasToolbox.java
+++ b/Mage.Sets/src/mage/cards/j/JhoirasToolbox.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -25,7 +24,7 @@ public final class JhoirasToolbox extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public JhoirasToolbox(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/j/Jokulhaups.java b/Mage.Sets/src/mage/cards/j/Jokulhaups.java
index a2a931bb2ee..4f51accb77a 100644
--- a/Mage.Sets/src/mage/cards/j/Jokulhaups.java
+++ b/Mage.Sets/src/mage/cards/j/Jokulhaups.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,9 +19,9 @@ public final class Jokulhaups extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Jokulhaups(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/j/Jolt.java b/Mage.Sets/src/mage/cards/j/Jolt.java
index f9e61d8a35b..ad7d197bb19 100644
--- a/Mage.Sets/src/mage/cards/j/Jolt.java
+++ b/Mage.Sets/src/mage/cards/j/Jolt.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -24,9 +23,9 @@ public final class Jolt extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Jolt(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/j/Joven.java b/Mage.Sets/src/mage/cards/j/Joven.java
index 1f8e407a5df..afcb36a47b8 100644
--- a/Mage.Sets/src/mage/cards/j/Joven.java
+++ b/Mage.Sets/src/mage/cards/j/Joven.java
@@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
*
@@ -27,7 +26,7 @@ public final class Joven extends CardImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("noncreature artifact");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Joven(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/j/JundPanorama.java b/Mage.Sets/src/mage/cards/j/JundPanorama.java
index b6eccec82ca..bba12389ddd 100644
--- a/Mage.Sets/src/mage/cards/j/JundPanorama.java
+++ b/Mage.Sets/src/mage/cards/j/JundPanorama.java
@@ -15,7 +15,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -29,7 +28,7 @@ public final class JundPanorama extends CardImpl {
private static final FilterCard filter = new FilterCard("a basic Swamp, Mountain, or Forest card");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SupertypePredicate(SuperType.BASIC));
filter.add(Predicates.or(
new SubtypePredicate(SubType.SWAMP),
diff --git a/Mage.Sets/src/mage/cards/j/JungleVillage.java b/Mage.Sets/src/mage/cards/j/JungleVillage.java
index 287f5881a96..66fb45b0602 100644
--- a/Mage.Sets/src/mage/cards/j/JungleVillage.java
+++ b/Mage.Sets/src/mage/cards/j/JungleVillage.java
@@ -13,7 +13,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -59,7 +58,7 @@ public final class JungleVillage extends CardImpl {
addCost(new TapSourceCost());
addCost(new SacrificeSourceCost());
FilterCard filter = new FilterCard("basic Mountain, Forest or Plains");
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
List> subtypePredicates = new ArrayList<>();
subtypePredicates.add(new SubtypePredicate(SubType.PLAINS));
subtypePredicates.add(new SubtypePredicate(SubType.MOUNTAIN));
diff --git a/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java b/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java
index 7eb7db49eb0..f008bb922b6 100644
--- a/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java
+++ b/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java
@@ -10,7 +10,6 @@ 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;
import mage.filter.predicate.permanent.AnotherPredicate;
@@ -24,7 +23,7 @@ public final class JwariShapeshifter extends CardImpl {
static {
filter.add(new SubtypePredicate(SubType.ALLY));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(AnotherPredicate.instance); // 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/KahoMinamoHistorian.java b/Mage.Sets/src/mage/cards/k/KahoMinamoHistorian.java
index 432b0f8d1c4..290b015c427 100644
--- a/Mage.Sets/src/mage/cards/k/KahoMinamoHistorian.java
+++ b/Mage.Sets/src/mage/cards/k/KahoMinamoHistorian.java
@@ -19,7 +19,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -68,7 +67,7 @@ class KahoMinamoHistorianEffect extends SearchEffect {
private static final FilterCard filter = new FilterCard("up to three instant cards");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public KahoMinamoHistorianEffect() {
diff --git a/Mage.Sets/src/mage/cards/k/KalemneDiscipleOfIroas.java b/Mage.Sets/src/mage/cards/k/KalemneDiscipleOfIroas.java
index 8f7860be0da..9347025f80e 100644
--- a/Mage.Sets/src/mage/cards/k/KalemneDiscipleOfIroas.java
+++ b/Mage.Sets/src/mage/cards/k/KalemneDiscipleOfIroas.java
@@ -22,7 +22,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -36,7 +35,7 @@ public final class KalemneDiscipleOfIroas extends CardImpl {
private static final FilterSpell filterSpell = new FilterSpell("a creature spell with converted mana cost 5 or greater");
static {
- filterSpell.add(new CardTypePredicate(CardType.CREATURE));
+ filterSpell.add(CardType.CREATURE.getPredicate());
filterSpell.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/cards/k/KalemnesCaptain.java b/Mage.Sets/src/mage/cards/k/KalemnesCaptain.java
index fc48dd80ab3..fe45cc01863 100644
--- a/Mage.Sets/src/mage/cards/k/KalemnesCaptain.java
+++ b/Mage.Sets/src/mage/cards/k/KalemnesCaptain.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -25,8 +24,8 @@ public final class KalemnesCaptain extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public KalemnesCaptain(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KamahlsDruidicVow.java b/Mage.Sets/src/mage/cards/k/KamahlsDruidicVow.java
index 727a4263a88..bf86fd296ec 100644
--- a/Mage.Sets/src/mage/cards/k/KamahlsDruidicVow.java
+++ b/Mage.Sets/src/mage/cards/k/KamahlsDruidicVow.java
@@ -16,7 +16,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterPermanentCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
@@ -77,7 +76,7 @@ class KamahlsDruidicVowEffect extends OneShotEffect {
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, xValue + 1));
filter.add(
Predicates.or(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
new SupertypePredicate(SuperType.LEGENDARY)
));
TargetCard target1 = new TargetCard(0, Integer.MAX_VALUE, Zone.LIBRARY, filter);
diff --git a/Mage.Sets/src/mage/cards/k/KambalConsulOfAllocation.java b/Mage.Sets/src/mage/cards/k/KambalConsulOfAllocation.java
index 01b606bab13..9e5528014ad 100644
--- a/Mage.Sets/src/mage/cards/k/KambalConsulOfAllocation.java
+++ b/Mage.Sets/src/mage/cards/k/KambalConsulOfAllocation.java
@@ -17,7 +17,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -27,7 +26,7 @@ public final class KambalConsulOfAllocation extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public KambalConsulOfAllocation(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java b/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java
index ed3949281e5..1cf77e19136 100644
--- a/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java
+++ b/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
@@ -27,7 +26,7 @@ public final class KariZevsExpertise extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or Vehicle");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
new SubtypePredicate(SubType.VEHICLE)));
}
diff --git a/Mage.Sets/src/mage/cards/k/KarnSilverGolem.java b/Mage.Sets/src/mage/cards/k/KarnSilverGolem.java
index 19bc5b6c1c3..57e69f971b7 100644
--- a/Mage.Sets/src/mage/cards/k/KarnSilverGolem.java
+++ b/Mage.Sets/src/mage/cards/k/KarnSilverGolem.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -28,7 +27,7 @@ public final class KarnSilverGolem extends CardImpl {
private static final FilterArtifactPermanent filterNonCreature = new FilterArtifactPermanent("noncreature artifact");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public KarnSilverGolem(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KarnTheGreatCreator.java b/Mage.Sets/src/mage/cards/k/KarnTheGreatCreator.java
index c4fdb5ccefa..ed497824c02 100644
--- a/Mage.Sets/src/mage/cards/k/KarnTheGreatCreator.java
+++ b/Mage.Sets/src/mage/cards/k/KarnTheGreatCreator.java
@@ -14,7 +14,6 @@ import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -30,7 +29,7 @@ public final class KarnTheGreatCreator extends CardImpl {
= new FilterArtifactPermanent("noncreature artifact");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public KarnTheGreatCreator(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KarnsTouch.java b/Mage.Sets/src/mage/cards/k/KarnsTouch.java
index d9a9b8cea99..00551289599 100644
--- a/Mage.Sets/src/mage/cards/k/KarnsTouch.java
+++ b/Mage.Sets/src/mage/cards/k/KarnsTouch.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -27,7 +26,7 @@ public final class KarnsTouch extends CardImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("noncreature artifact");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public KarnsTouch(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java b/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java
index 7024d31e643..6baba518f33 100644
--- a/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java
+++ b/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java
@@ -14,7 +14,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -25,7 +24,7 @@ public final class KatakiWarsWage extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public KatakiWarsWage(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KavuScout.java b/Mage.Sets/src/mage/cards/k/KavuScout.java
index dc4c345f4f1..87747287fa2 100644
--- a/Mage.Sets/src/mage/cards/k/KavuScout.java
+++ b/Mage.Sets/src/mage/cards/k/KavuScout.java
@@ -31,7 +31,7 @@ public final class KavuScout extends CardImpl {
this.toughness = new MageInt(2);
// Domain - Kavu Scout gets +1/+0 for each basic land type among lands you control.
- Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new DomainValue(), new StaticValue(0), Duration.WhileOnBattlefield));
+ Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new DomainValue(), StaticValue.get(0), Duration.WhileOnBattlefield));
ability.setAbilityWord(AbilityWord.DOMAIN);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfTheDead.java b/Mage.Sets/src/mage/cards/k/KeeperOfTheDead.java
index a934d9a37dc..3cd0cb9c9a2 100644
--- a/Mage.Sets/src/mage/cards/k/KeeperOfTheDead.java
+++ b/Mage.Sets/src/mage/cards/k/KeeperOfTheDead.java
@@ -24,7 +24,6 @@ import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -46,7 +45,7 @@ public final class KeeperOfTheDead extends CardImpl {
static {
filter.add(new KeeperOfDeadPredicate());
filter2.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
- filter3.add(new CardTypePredicate(CardType.CREATURE));
+ filter3.add(CardType.CREATURE.getPredicate());
}
public KeeperOfTheDead(UUID ownerId, CardSetInfo setInfo) {
@@ -80,7 +79,7 @@ class KeeperOfDeadPredicate implements ObjectSourcePlayerPredicate 0 && controller.choose(Outcome.Exile, opponent.getHand(), target, game)) {
Card card = opponent.getHand().get(target.getFirstTarget(), game);
diff --git a/Mage.Sets/src/mage/cards/k/KitsuneLoreweaver.java b/Mage.Sets/src/mage/cards/k/KitsuneLoreweaver.java
index 0b71aea401f..107a1fb17aa 100644
--- a/Mage.Sets/src/mage/cards/k/KitsuneLoreweaver.java
+++ b/Mage.Sets/src/mage/cards/k/KitsuneLoreweaver.java
@@ -30,7 +30,7 @@ public final class KitsuneLoreweaver extends CardImpl {
this.toughness = new MageInt(1);
// {1}{W}: Kitsune Loreweaver gets +0/+X until end of turn, where X is the number of cards in your hand.
- Effect effect = new BoostSourceEffect(new StaticValue(0), CardsInControllerHandCount.instance, Duration.EndOfTurn, true);
+ Effect effect = new BoostSourceEffect(StaticValue.get(0), CardsInControllerHandCount.instance, Duration.EndOfTurn, true);
effect.setText("{this} gets +0/+X until end of turn, where X is the number of cards in your hand");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{W}")));
}
diff --git a/Mage.Sets/src/mage/cards/k/KolaghansCommand.java b/Mage.Sets/src/mage/cards/k/KolaghansCommand.java
index 9229d1a77fa..639562b27d6 100644
--- a/Mage.Sets/src/mage/cards/k/KolaghansCommand.java
+++ b/Mage.Sets/src/mage/cards/k/KolaghansCommand.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.TargetPlayer;
import mage.target.common.TargetCardInYourGraveyard;
@@ -27,7 +26,7 @@ public final class KolaghansCommand extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public KolaghansCommand(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KozileksReturn.java b/Mage.Sets/src/mage/cards/k/KozileksReturn.java
index 97f7592b92c..2491a194418 100644
--- a/Mage.Sets/src/mage/cards/k/KozileksReturn.java
+++ b/Mage.Sets/src/mage/cards/k/KozileksReturn.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
@@ -29,7 +28,7 @@ public final class KozileksReturn extends CardImpl {
static {
filter.add(new SubtypePredicate(SubType.ELDRAZI));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, 6));
}
diff --git a/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java b/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java
index 9da97bde55e..b505fcbf77a 100644
--- a/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java
+++ b/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java
@@ -19,7 +19,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -30,7 +29,7 @@ public final class KrallenhordeHowler extends CardImpl {
private static final FilterCard FILTER = new FilterCard("Creature spells");
static {
- FILTER.add(Predicates.or(new CardTypePredicate(CardType.CREATURE)));
+ FILTER.add(Predicates.or(CardType.CREATURE.getPredicate()));
}
public KrallenhordeHowler(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KrarkClanGrunt.java b/Mage.Sets/src/mage/cards/k/KrarkClanGrunt.java
index 23158dc1449..efd35894a09 100644
--- a/Mage.Sets/src/mage/cards/k/KrarkClanGrunt.java
+++ b/Mage.Sets/src/mage/cards/k/KrarkClanGrunt.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -28,7 +27,7 @@ public final class KrarkClanGrunt extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public KrarkClanGrunt(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/KrarkClanShaman.java b/Mage.Sets/src/mage/cards/k/KrarkClanShaman.java
index 2732eb4c846..e2a183bf60c 100644
--- a/Mage.Sets/src/mage/cards/k/KrarkClanShaman.java
+++ b/Mage.Sets/src/mage/cards/k/KrarkClanShaman.java
@@ -16,7 +16,6 @@ import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -28,7 +27,7 @@ public final class KrarkClanShaman extends CardImpl {
private static final FilterCreaturePermanent filterTargetedCreatures = new FilterCreaturePermanent("creature without flying");
static {
- filterSacrificed.add(new CardTypePredicate(CardType.ARTIFACT));
+ filterSacrificed.add(CardType.ARTIFACT.getPredicate());
filterTargetedCreatures.add(Predicates.not(new AbilityPredicate(FlyingAbility.class)));
}
diff --git a/Mage.Sets/src/mage/cards/k/KrosanDrover.java b/Mage.Sets/src/mage/cards/k/KrosanDrover.java
index 18ec5442c9e..84ae5d99a2f 100644
--- a/Mage.Sets/src/mage/cards/k/KrosanDrover.java
+++ b/Mage.Sets/src/mage/cards/k/KrosanDrover.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.ComparisonType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
/**
@@ -25,7 +24,7 @@ public final class KrosanDrover extends CardImpl {
private static final FilterCard filter = new FilterCard("Creature spells with converted mana cost 6 or greater");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, 5));
}
diff --git a/Mage.Sets/src/mage/cards/k/KruphixsInsight.java b/Mage.Sets/src/mage/cards/k/KruphixsInsight.java
index a0cf363446d..e20e532a8e2 100644
--- a/Mage.Sets/src/mage/cards/k/KruphixsInsight.java
+++ b/Mage.Sets/src/mage/cards/k/KruphixsInsight.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class KruphixsInsight extends CardImpl {
private static final FilterCard filter = new FilterCard("up to three enchantment cards");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public KruphixsInsight(UUID ownerId, CardSetInfo setInfo) {
@@ -28,7 +27,7 @@ public final class KruphixsInsight extends CardImpl {
// Reveal the top six cards of your library. Put up to three enchantment cards from among them into your hand and the rest of the revealed cards into your graveyard.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(6), false, new StaticValue(3), filter, Zone.GRAVEYARD, false, true, true,Zone.HAND, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(6), false, StaticValue.get(3), filter, Zone.GRAVEYARD, false, true, true,Zone.HAND, false));
}
public KruphixsInsight(final KruphixsInsight card) {
diff --git a/Mage.Sets/src/mage/cards/k/KryShield.java b/Mage.Sets/src/mage/cards/k/KryShield.java
index eb321f215e2..2b1f7c36978 100644
--- a/Mage.Sets/src/mage/cards/k/KryShield.java
+++ b/Mage.Sets/src/mage/cards/k/KryShield.java
@@ -31,7 +31,7 @@ public final class KryShield extends CardImpl {
Effect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn);
effect.setText("Prevent all damage that would be dealt this turn by target creature you control");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(2));
- ability.addEffect(new BoostTargetEffect(new StaticValue(0), TargetConvertedManaCost.instance, Duration.EndOfTurn, true)
+ ability.addEffect(new BoostTargetEffect(StaticValue.get(0), TargetConvertedManaCost.instance, Duration.EndOfTurn, true)
.setText("That creature gets +0/+X until end of turn, where X is its converted mana cost"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/k/KuldothaRebirth.java b/Mage.Sets/src/mage/cards/k/KuldothaRebirth.java
index 7f115794d6d..5245933a58f 100644
--- a/Mage.Sets/src/mage/cards/k/KuldothaRebirth.java
+++ b/Mage.Sets/src/mage/cards/k/KuldothaRebirth.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.GoblinToken;
import mage.target.common.TargetControlledPermanent;
@@ -21,7 +20,7 @@ public final class KuldothaRebirth extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public KuldothaRebirth(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/k/Kurgadon.java b/Mage.Sets/src/mage/cards/k/Kurgadon.java
index 43202031cd7..e9214c487c5 100644
--- a/Mage.Sets/src/mage/cards/k/Kurgadon.java
+++ b/Mage.Sets/src/mage/cards/k/Kurgadon.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.constants.ComparisonType;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
/**
@@ -24,7 +23,7 @@ public final class Kurgadon extends CardImpl {
private static final FilterSpell filterSpell = new FilterSpell("a creature spell with converted mana cost 6 or greater");
static {
- filterSpell.add(new CardTypePredicate(CardType.CREATURE));
+ filterSpell.add(CardType.CREATURE.getPredicate());
filterSpell.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, 5));
}
diff --git a/Mage.Sets/src/mage/cards/k/KyloRen.java b/Mage.Sets/src/mage/cards/k/KyloRen.java
index eab9b02ff1d..06cfc0f5937 100644
--- a/Mage.Sets/src/mage/cards/k/KyloRen.java
+++ b/Mage.Sets/src/mage/cards/k/KyloRen.java
@@ -62,7 +62,7 @@ public final class KyloRen extends CardImpl {
// Whenever Kylo Ren attacks, it gets +1/+0 for each creature in your graveyard and you may tap target creature defending player controls.
CardsInControllerGraveyardCount value = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE);
- Effect effect = new BoostSourceEffect(value, new StaticValue(0), Duration.WhileOnBattlefield);
+ Effect effect = new BoostSourceEffect(value, StaticValue.get(0), Duration.WhileOnBattlefield);
effect.setText("it gets +1/+0 for each creature in your graveyard");
Ability ability = new AttacksTriggeredAbility(effect, false);
ability.addEffect(new KyloRenTapTargetEffect());
diff --git a/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java b/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java
index 15327e93701..7fe353b16e2 100644
--- a/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java
+++ b/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java
@@ -10,7 +10,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.players.PlayerList;
@@ -55,7 +54,7 @@ class KynaiosAndTirosEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("a land card");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public KynaiosAndTirosEffect() {
diff --git a/Mage.Sets/src/mage/cards/l/LairDelve.java b/Mage.Sets/src/mage/cards/l/LairDelve.java
index db6c134928e..50fb7fcdacf 100644
--- a/Mage.Sets/src/mage/cards/l/LairDelve.java
+++ b/Mage.Sets/src/mage/cards/l/LairDelve.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class LairDelve extends CardImpl {
private static final FilterCard filter = new FilterCard("all creature and land cards");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.LAND), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.LAND.getPredicate(), CardType.CREATURE.getPredicate()));
}
diff --git a/Mage.Sets/src/mage/cards/l/LastRites.java b/Mage.Sets/src/mage/cards/l/LastRites.java
index 843b17bccf3..439c317da93 100644
--- a/Mage.Sets/src/mage/cards/l/LastRites.java
+++ b/Mage.Sets/src/mage/cards/l/LastRites.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -82,8 +81,8 @@ class LastRitesEffect extends OneShotEffect {
}
}
FilterCard filter = new FilterCard((discardCount > 1 ? "" : "a") + " nonland card" + (discardCount > 1 ? "s" : ""));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
- StaticValue discardValue = new StaticValue(discardCount);
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
+ StaticValue discardValue = StaticValue.get(discardCount);
Effect effect = new DiscardCardYouChooseTargetEffect(discardValue, filter, TargetController.ANY);
effect.setTargetPointer(new FixedTarget(targetPlayer.getId()));
effect.apply(game, source);
diff --git a/Mage.Sets/src/mage/cards/l/LatullasOrders.java b/Mage.Sets/src/mage/cards/l/LatullasOrders.java
index c2077d9deb9..067ca95899f 100644
--- a/Mage.Sets/src/mage/cards/l/LatullasOrders.java
+++ b/Mage.Sets/src/mage/cards/l/LatullasOrders.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
@@ -85,7 +84,7 @@ class LatullasOrdersTriggeredAbility extends TriggeredAbilityImpl {
Player player = game.getPlayer(event.getTargetId());
if (player != null) {
FilterPermanent filter = new FilterPermanent("an artifact controlled by " + player.getLogName());
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ControllerIdPredicate(event.getTargetId()));
this.getTargets().clear();
diff --git a/Mage.Sets/src/mage/cards/l/LavaFlow.java b/Mage.Sets/src/mage/cards/l/LavaFlow.java
index e33bacacf4c..b6ec7016af9 100644
--- a/Mage.Sets/src/mage/cards/l/LavaFlow.java
+++ b/Mage.Sets/src/mage/cards/l/LavaFlow.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.TargetPermanent;
@@ -19,7 +18,7 @@ import mage.target.TargetPermanent;
public final class LavaFlow extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public LavaFlow(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LavaclawReaches.java b/Mage.Sets/src/mage/cards/l/LavaclawReaches.java
index 9988c05f7d4..e9039503d4f 100644
--- a/Mage.Sets/src/mage/cards/l/LavaclawReaches.java
+++ b/Mage.Sets/src/mage/cards/l/LavaclawReaches.java
@@ -60,7 +60,7 @@ class LavaclawReachesToken extends TokenImpl {
color.setBlack(true);
power = new MageInt(2);
toughness = new MageInt(2);
- addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(ManacostVariableValue.instance, new StaticValue(0), Duration.EndOfTurn), new ManaCostsImpl("{X}")));
+ addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn), new ManaCostsImpl("{X}")));
}
public LavaclawReachesToken(final LavaclawReachesToken token) {
super(token);
diff --git a/Mage.Sets/src/mage/cards/l/LavakinBrawler.java b/Mage.Sets/src/mage/cards/l/LavakinBrawler.java
index 4edc4e90846..0cf5eb70f4c 100644
--- a/Mage.Sets/src/mage/cards/l/LavakinBrawler.java
+++ b/Mage.Sets/src/mage/cards/l/LavakinBrawler.java
@@ -34,7 +34,7 @@ public final class LavakinBrawler extends CardImpl {
// Whenever Lavakin Brawler attacks, it gets +1/+0 until end of turn for each Elemental you control.
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(
- xValue, StaticValue.getZeroValue(), Duration.EndOfTurn, true
+ xValue, StaticValue.get(0), Duration.EndOfTurn, true
).setText("it gets +1/+0 until end of turn for each Elemental you control"), false));
}
diff --git a/Mage.Sets/src/mage/cards/l/Lavalanche.java b/Mage.Sets/src/mage/cards/l/Lavalanche.java
index c98e939619c..79a410bd9fb 100644
--- a/Mage.Sets/src/mage/cards/l/Lavalanche.java
+++ b/Mage.Sets/src/mage/cards/l/Lavalanche.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -72,7 +71,7 @@ class LavalancheEffect extends OneShotEffect {
}
targetPlayer.damage(amount.calculate(game, source, this), source.getSourceId(), game, false, true);
FilterPermanent filter = new FilterPermanent("and each creature that player or that planeswalker's controller controls");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerIdPredicate(targetPlayer.getId()));
List permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
for (Permanent permanent : permanents) {
diff --git a/Mage.Sets/src/mage/cards/l/LaviniaAzoriusRenegade.java b/Mage.Sets/src/mage/cards/l/LaviniaAzoriusRenegade.java
index 4276ebfd59f..63bcd953116 100644
--- a/Mage.Sets/src/mage/cards/l/LaviniaAzoriusRenegade.java
+++ b/Mage.Sets/src/mage/cards/l/LaviniaAzoriusRenegade.java
@@ -16,7 +16,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -88,7 +87,7 @@ class LaviniaAzoriusRenegadeReplacementEffect extends ContinuousRuleModifyingEff
public boolean applies(GameEvent event, Ability source, Game game) {
if (game.getPlayer(source.getControllerId()).hasOpponent(event.getPlayerId(), game)) {
FilterCard filter = new FilterCard();
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, getLandCount(source, event, game)));
Card card = game.getCard(event.getSourceId());
diff --git a/Mage.Sets/src/mage/cards/l/LaviniaOfTheTenth.java b/Mage.Sets/src/mage/cards/l/LaviniaOfTheTenth.java
index c83f7ff4175..a26b9e31447 100644
--- a/Mage.Sets/src/mage/cards/l/LaviniaOfTheTenth.java
+++ b/Mage.Sets/src/mage/cards/l/LaviniaOfTheTenth.java
@@ -17,7 +17,6 @@ import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -30,7 +29,7 @@ public final class LaviniaOfTheTenth extends CardImpl {
private static final FilterPermanent filterDetain = new FilterPermanent("each nonland permanent your opponents control with converted mana cost 4 or less");
static {
filterDetain.add(new ControllerPredicate(TargetController.OPPONENT));
- filterDetain.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filterDetain.add(Predicates.not(CardType.LAND.getPredicate()));
filterDetain.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 5));
}
diff --git a/Mage.Sets/src/mage/cards/l/LayBareTheHeart.java b/Mage.Sets/src/mage/cards/l/LayBareTheHeart.java
index 6563d73bb21..e6b967b3928 100644
--- a/Mage.Sets/src/mage/cards/l/LayBareTheHeart.java
+++ b/Mage.Sets/src/mage/cards/l/LayBareTheHeart.java
@@ -10,7 +10,6 @@ import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.TargetPlayer;
@@ -23,7 +22,7 @@ public final class LayBareTheHeart extends CardImpl {
private static final FilterCard filter = new FilterCard("nonlegendary, nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY)));
}
diff --git a/Mage.Sets/src/mage/cards/l/LeadTheStampede.java b/Mage.Sets/src/mage/cards/l/LeadTheStampede.java
index c4ffaaf746a..6511e7f85fa 100644
--- a/Mage.Sets/src/mage/cards/l/LeadTheStampede.java
+++ b/Mage.Sets/src/mage/cards/l/LeadTheStampede.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -17,7 +16,7 @@ public final class LeadTheStampede extends CardImpl {
private static final FilterCard filter = new FilterCard("any number of creature cards");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public LeadTheStampede(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LeaveNoTrace.java b/Mage.Sets/src/mage/cards/l/LeaveNoTrace.java
index 8bac85d5e5a..ae8ce756abd 100644
--- a/Mage.Sets/src/mage/cards/l/LeaveNoTrace.java
+++ b/Mage.Sets/src/mage/cards/l/LeaveNoTrace.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetEnchantmentPermanent;
@@ -22,7 +21,7 @@ public final class LeaveNoTrace extends CardImpl {
static final FilterPermanent filter = new FilterPermanent("enchantment");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public LeaveNoTrace(UUID ownerId, CardSetInfo setInfo) {
@@ -48,7 +47,7 @@ class LeaveNoTraceEffect extends OneShotEffect {
static final FilterPermanent filter = new FilterPermanent("enchantment");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
LeaveNoTraceEffect() {
diff --git a/Mage.Sets/src/mage/cards/l/Legerdemain.java b/Mage.Sets/src/mage/cards/l/Legerdemain.java
index ee1bf4902dd..437ec00905e 100644
--- a/Mage.Sets/src/mage/cards/l/Legerdemain.java
+++ b/Mage.Sets/src/mage/cards/l/Legerdemain.java
@@ -13,7 +13,6 @@ import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.stack.StackObject;
@@ -28,7 +27,7 @@ public final class Legerdemain extends CardImpl {
private static final FilterPermanent firstFilter = new FilterPermanent("artifact or creature");
private static final FilterPermanent secondFilter = new FilterPermanent("another permanent that shares the type of artifact or creature");
static {
- firstFilter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)));
+ firstFilter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()));
secondFilter.add(new AnotherTargetPredicate(2));
secondFilter.add(new SharesTypePredicate());
}
diff --git a/Mage.Sets/src/mage/cards/l/LegionsInitiative.java b/Mage.Sets/src/mage/cards/l/LegionsInitiative.java
index 8f209d80b3d..915038619c7 100644
--- a/Mage.Sets/src/mage/cards/l/LegionsInitiative.java
+++ b/Mage.Sets/src/mage/cards/l/LegionsInitiative.java
@@ -18,7 +18,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.ExileZone;
@@ -72,7 +71,7 @@ class LegionsInitiativeExileEffect extends OneShotEffect {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public LegionsInitiativeExileEffect() {
diff --git a/Mage.Sets/src/mage/cards/l/LeoninIconoclast.java b/Mage.Sets/src/mage/cards/l/LeoninIconoclast.java
index 19492139ac4..c89c4efde79 100644
--- a/Mage.Sets/src/mage/cards/l/LeoninIconoclast.java
+++ b/Mage.Sets/src/mage/cards/l/LeoninIconoclast.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetPermanent;
@@ -25,8 +24,8 @@ public final class LeoninIconoclast extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("enchantment creature an opponent controls");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/l/Levitation.java b/Mage.Sets/src/mage/cards/l/Levitation.java
index bbc342a1c7b..8e1069a4433 100644
--- a/Mage.Sets/src/mage/cards/l/Levitation.java
+++ b/Mage.Sets/src/mage/cards/l/Levitation.java
@@ -11,9 +11,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
-import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
diff --git a/Mage.Sets/src/mage/cards/l/LeylineOfAnticipation.java b/Mage.Sets/src/mage/cards/l/LeylineOfAnticipation.java
index f94ef7048a2..ba52f5293d0 100644
--- a/Mage.Sets/src/mage/cards/l/LeylineOfAnticipation.java
+++ b/Mage.Sets/src/mage/cards/l/LeylineOfAnticipation.java
@@ -12,7 +12,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class LeylineOfAnticipation extends CardImpl {
private static final FilterCard filter = new FilterCard("spells");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public LeylineOfAnticipation(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LichsTomb.java b/Mage.Sets/src/mage/cards/l/LichsTomb.java
index 878d5d48e51..e87edd1fbcf 100644
--- a/Mage.Sets/src/mage/cards/l/LichsTomb.java
+++ b/Mage.Sets/src/mage/cards/l/LichsTomb.java
@@ -67,7 +67,7 @@ class LichsTombTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getPlayerId().equals(this.getControllerId())) {
- ((SacrificeEffect) this.getEffects().get(0)).setAmount(new StaticValue(event.getAmount()));
+ ((SacrificeEffect) this.getEffects().get(0)).setAmount(StaticValue.get(event.getAmount()));
return true;
}
return false;
diff --git a/Mage.Sets/src/mage/cards/l/LilianaDreadhordeGeneral.java b/Mage.Sets/src/mage/cards/l/LilianaDreadhordeGeneral.java
index ba46e4fa668..54b403baaa3 100644
--- a/Mage.Sets/src/mage/cards/l/LilianaDreadhordeGeneral.java
+++ b/Mage.Sets/src/mage/cards/l/LilianaDreadhordeGeneral.java
@@ -17,7 +17,6 @@ import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardIdPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -101,7 +100,7 @@ class LilianaDreadhordeGeneralEffect extends OneShotEffect {
"a " + cardType.toString() + " you control " +
"(everything you don't choose will be sacrificed)"
);
- filter.add(new CardTypePredicate(cardType));
+ filter.add(cardType.getPredicate());
Target target = new TargetControlledPermanent(filter);
target.setNotTarget(true);
if (opponent.choose(outcome, target, source.getSourceId(), game)) {
diff --git a/Mage.Sets/src/mage/cards/l/LilianasSpoils.java b/Mage.Sets/src/mage/cards/l/LilianasSpoils.java
index 9238ae90a55..5f99953c620 100644
--- a/Mage.Sets/src/mage/cards/l/LilianasSpoils.java
+++ b/Mage.Sets/src/mage/cards/l/LilianasSpoils.java
@@ -34,7 +34,7 @@ public final class LilianasSpoils extends CardImpl {
// Look at the top five cards of your library. You may reveal a black card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter,
+ StaticValue.get(5), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false
).setBackInRandomOrder(true).setText("Look at the top five cards of your library. "
+ "You may reveal a black card from among them and put it into your hand. "
diff --git a/Mage.Sets/src/mage/cards/l/LilianasTriumph.java b/Mage.Sets/src/mage/cards/l/LilianasTriumph.java
index 5cb8a89ec42..ebe4f4488da 100644
--- a/Mage.Sets/src/mage/cards/l/LilianasTriumph.java
+++ b/Mage.Sets/src/mage/cards/l/LilianasTriumph.java
@@ -34,7 +34,7 @@ public final class LilianasTriumph extends CardImpl {
));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DiscardEachPlayerEffect(
- new StaticValue(1), false, TargetController.OPPONENT
+ StaticValue.get(1), false, TargetController.OPPONENT
), condition, "If you control a Liliana planeswalker, each opponent also discards a card."
));
}
diff --git a/Mage.Sets/src/mage/cards/l/LinessaZephyrMage.java b/Mage.Sets/src/mage/cards/l/LinessaZephyrMage.java
index d8cb2687632..5c2858fd634 100644
--- a/Mage.Sets/src/mage/cards/l/LinessaZephyrMage.java
+++ b/Mage.Sets/src/mage/cards/l/LinessaZephyrMage.java
@@ -18,7 +18,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -38,7 +37,7 @@ public final class LinessaZephyrMage extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature with converted mana cost X");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public LinessaZephyrMage(UUID ownerId, CardSetInfo setInfo) {
@@ -107,7 +106,7 @@ class LinessaZephyrMageEffect extends OneShotEffect {
// then repeats this process for an artifact,
FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
target = new TargetControlledPermanent(filter);
target.setNotTarget(true);
if (target.choose(Outcome.ReturnToHand, targetPlayer.getId(), source.getSourceId(), game)) {
@@ -119,7 +118,7 @@ class LinessaZephyrMageEffect extends OneShotEffect {
// an enchantment,
filter = new FilterControlledPermanent("enchantment you control");
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
target = new TargetControlledPermanent(filter);
target.setNotTarget(true);
if (target.choose(Outcome.ReturnToHand, targetPlayer.getId(), source.getSourceId(), game)) {
@@ -131,7 +130,7 @@ class LinessaZephyrMageEffect extends OneShotEffect {
// and a land.
filter = new FilterControlledPermanent("land you control");
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
target = new TargetControlledPermanent(filter);
target.setNotTarget(true);
if (target.choose(Outcome.ReturnToHand, targetPlayer.getId(), source.getSourceId(), game)) {
diff --git a/Mage.Sets/src/mage/cards/l/LivingTsunami.java b/Mage.Sets/src/mage/cards/l/LivingTsunami.java
index 62de72993c5..f52e019f518 100644
--- a/Mage.Sets/src/mage/cards/l/LivingTsunami.java
+++ b/Mage.Sets/src/mage/cards/l/LivingTsunami.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -26,7 +25,7 @@ public final class LivingTsunami extends CardImpl {
static final private FilterControlledPermanent filter = new FilterControlledPermanent("a land");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public LivingTsunami(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LivingWish.java b/Mage.Sets/src/mage/cards/l/LivingWish.java
index f24436eb707..9a5d8a3c5fd 100644
--- a/Mage.Sets/src/mage/cards/l/LivingWish.java
+++ b/Mage.Sets/src/mage/cards/l/LivingWish.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,8 +20,8 @@ public final class LivingWish extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public LivingWish(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LlawanCephalidEmpress.java b/Mage.Sets/src/mage/cards/l/LlawanCephalidEmpress.java
index 9821dd9e9cc..8bb18a151df 100644
--- a/Mage.Sets/src/mage/cards/l/LlawanCephalidEmpress.java
+++ b/Mage.Sets/src/mage/cards/l/LlawanCephalidEmpress.java
@@ -15,7 +15,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
@@ -34,7 +33,7 @@ public final class LlawanCephalidEmpress extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.BLUE));
filter.add(new ControllerPredicate(TargetController.OPPONENT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public LlawanCephalidEmpress(UUID ownerId, CardSetInfo setInfo) {
@@ -69,7 +68,7 @@ class LlawanCephalidRuleModifyingEffect extends ContinuousRuleModifyingEffectImp
static {
filter.add(new ColorPredicate(ObjectColor.BLUE));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public LlawanCephalidRuleModifyingEffect() {
diff --git a/Mage.Sets/src/mage/cards/l/Lobotomy.java b/Mage.Sets/src/mage/cards/l/Lobotomy.java
index 784a5d4e14b..771077fa4c2 100644
--- a/Mage.Sets/src/mage/cards/l/Lobotomy.java
+++ b/Mage.Sets/src/mage/cards/l/Lobotomy.java
@@ -12,7 +12,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
@@ -50,7 +49,7 @@ class LobotomyEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("card other than a basic land card");
static {
- filter.add(Predicates.not(Predicates.and(new CardTypePredicate(CardType.LAND), new SupertypePredicate(SuperType.BASIC))));
+ filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), new SupertypePredicate(SuperType.BASIC))));
}
public LobotomyEffect() {
diff --git a/Mage.Sets/src/mage/cards/l/LocustMiser.java b/Mage.Sets/src/mage/cards/l/LocustMiser.java
index f4e26564e52..d8c31304f57 100644
--- a/Mage.Sets/src/mage/cards/l/LocustMiser.java
+++ b/Mage.Sets/src/mage/cards/l/LocustMiser.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -25,7 +24,7 @@ public final class LocustMiser extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("blue creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public LocustMiser(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LodestoneBauble.java b/Mage.Sets/src/mage/cards/l/LodestoneBauble.java
index 06526f843f2..a28028d7954 100644
--- a/Mage.Sets/src/mage/cards/l/LodestoneBauble.java
+++ b/Mage.Sets/src/mage/cards/l/LodestoneBauble.java
@@ -138,7 +138,7 @@ class LodestoneBaubleDrawEffect extends OneShotEffect {
UUID targetId = this.getTargetPointer().getFirst(game, source);
Player targetPlayer = game.getPlayer(targetId);
if (targetPlayer != null) {
- Effect effect = new DrawCardTargetEffect(new StaticValue(1), false);
+ Effect effect = new DrawCardTargetEffect(StaticValue.get(1), false);
effect.setTargetPointer(new FixedTarget(targetPlayer.getId()));
DelayedTriggeredAbility ability = new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(effect);
game.addDelayedTriggeredAbility(ability, source);
diff --git a/Mage.Sets/src/mage/cards/l/LoneRevenant.java b/Mage.Sets/src/mage/cards/l/LoneRevenant.java
index 9fdb6664e97..23122d69372 100644
--- a/Mage.Sets/src/mage/cards/l/LoneRevenant.java
+++ b/Mage.Sets/src/mage/cards/l/LoneRevenant.java
@@ -54,7 +54,7 @@ class LoneRevenantTriggeredAbility extends TriggeredAbilityImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent();
public LoneRevenantTriggeredAbility() {
- super(Zone.BATTLEFIELD, new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false));
+ super(Zone.BATTLEFIELD, new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false));
}
public LoneRevenantTriggeredAbility(final LoneRevenantTriggeredAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/l/LongshotSquad.java b/Mage.Sets/src/mage/cards/l/LongshotSquad.java
index 4e8a8ef6b25..0b93b7a84b4 100644
--- a/Mage.Sets/src/mage/cards/l/LongshotSquad.java
+++ b/Mage.Sets/src/mage/cards/l/LongshotSquad.java
@@ -17,7 +17,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -30,7 +29,7 @@ public final class LongshotSquad extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new CounterPredicate(CounterType.P1P1));
}
diff --git a/Mage.Sets/src/mage/cards/l/LoomingHoverguard.java b/Mage.Sets/src/mage/cards/l/LoomingHoverguard.java
index 1fb3778a2ae..71e24a0ec39 100644
--- a/Mage.Sets/src/mage/cards/l/LoomingHoverguard.java
+++ b/Mage.Sets/src/mage/cards/l/LoomingHoverguard.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -24,7 +23,7 @@ public final class LoomingHoverguard extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public LoomingHoverguard(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LostOrderOfJarkeld.java b/Mage.Sets/src/mage/cards/l/LostOrderOfJarkeld.java
index 44b3f31f12d..1d28ca854c4 100644
--- a/Mage.Sets/src/mage/cards/l/LostOrderOfJarkeld.java
+++ b/Mage.Sets/src/mage/cards/l/LostOrderOfJarkeld.java
@@ -40,7 +40,7 @@ public final class LostOrderOfJarkeld extends CardImpl {
this.addAbility(new SimpleStaticAbility(
Zone.ALL,
new SetPowerToughnessSourceEffect(
- new AdditiveDynamicValue(new CreaturesControlledByChosenPlayer(), new StaticValue(1)), Duration.EndOfGame)
+ new AdditiveDynamicValue(new CreaturesControlledByChosenPlayer(), StaticValue.get(1)), Duration.EndOfGame)
));
}
diff --git a/Mage.Sets/src/mage/cards/l/LotusEyeMystics.java b/Mage.Sets/src/mage/cards/l/LotusEyeMystics.java
index fe3aa6c5d8f..65b4522aafd 100644
--- a/Mage.Sets/src/mage/cards/l/LotusEyeMystics.java
+++ b/Mage.Sets/src/mage/cards/l/LotusEyeMystics.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -24,7 +23,7 @@ public final class LotusEyeMystics extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public LotusEyeMystics(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LoxodonMender.java b/Mage.Sets/src/mage/cards/l/LoxodonMender.java
index 07cdfcbf0b8..2a1b71a21af 100644
--- a/Mage.Sets/src/mage/cards/l/LoxodonMender.java
+++ b/Mage.Sets/src/mage/cards/l/LoxodonMender.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.ColoredManaSymbol;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -26,7 +25,7 @@ public final class LoxodonMender extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public LoxodonMender(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LukeSkywalkerTheLastJedi.java b/Mage.Sets/src/mage/cards/l/LukeSkywalkerTheLastJedi.java
index c5bbb81d94b..9bbf5601cb2 100644
--- a/Mage.Sets/src/mage/cards/l/LukeSkywalkerTheLastJedi.java
+++ b/Mage.Sets/src/mage/cards/l/LukeSkywalkerTheLastJedi.java
@@ -17,7 +17,6 @@ import mage.constants.CardType;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.command.emblems.LukeSkywalkerEmblem;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -31,7 +30,7 @@ public final class LukeSkywalkerTheLastJedi extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public LukeSkywalkerTheLastJedi(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/l/LunarMystic.java b/Mage.Sets/src/mage/cards/l/LunarMystic.java
index cc49d3a335b..abac91eb385 100644
--- a/Mage.Sets/src/mage/cards/l/LunarMystic.java
+++ b/Mage.Sets/src/mage/cards/l/LunarMystic.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class LunarMystic extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an instant spell");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public LunarMystic(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/Machinate.java b/Mage.Sets/src/mage/cards/m/Machinate.java
index b1039219f02..6cb501da935 100644
--- a/Mage.Sets/src/mage/cards/m/Machinate.java
+++ b/Mage.Sets/src/mage/cards/m/Machinate.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class Machinate extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifacts you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Machinate(UUID ownerId, CardSetInfo setInfo) {
@@ -30,7 +29,7 @@ public final class Machinate extends CardImpl {
// Look at the top X cards of your library, where X is the number of artifacts you control. Put one of those cards into your hand and the rest on the bottom of your library in any order.
DynamicValue artifactsOnControl = new PermanentsOnBattlefieldCount(filter);
- LookLibraryAndPickControllerEffect effect = new LookLibraryAndPickControllerEffect(artifactsOnControl, false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false);
+ LookLibraryAndPickControllerEffect effect = new LookLibraryAndPickControllerEffect(artifactsOnControl, false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false);
effect.setText("Look at the top X cards of your library, where X is the number of artifacts you control. Put one of those cards into your hand and the rest on the bottom of your library in any order.");
this.getSpellAbility().addEffect(effect);
}
diff --git a/Mage.Sets/src/mage/cards/m/MagetaTheLion.java b/Mage.Sets/src/mage/cards/m/MagetaTheLion.java
index ac3636dcf5c..f7ad910c4aa 100644
--- a/Mage.Sets/src/mage/cards/m/MagetaTheLion.java
+++ b/Mage.Sets/src/mage/cards/m/MagetaTheLion.java
@@ -17,7 +17,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.target.common.TargetCardInHand;
@@ -30,7 +29,7 @@ public final class MagetaTheLion extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creatures except for {this}");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/m/MagmaSliver.java b/Mage.Sets/src/mage/cards/m/MagmaSliver.java
index 61976a473c1..eadc0ecd654 100644
--- a/Mage.Sets/src/mage/cards/m/MagmaSliver.java
+++ b/Mage.Sets/src/mage/cards/m/MagmaSliver.java
@@ -36,7 +36,7 @@ public final class MagmaSliver extends CardImpl {
this.toughness = new MageInt(3);
// All Slivers have "{tap}: Target Sliver creature gets +X/+0 until end of turn, where X is the number of Slivers on the battlefield."
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(new PermanentsOnBattlefieldCount(StaticFilters.FILTER_PERMANENT_CREATURE_SLIVERS), new StaticValue(0), Duration.EndOfTurn, true), new TapSourceCost());
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(new PermanentsOnBattlefieldCount(StaticFilters.FILTER_PERMANENT_CREATURE_SLIVERS), StaticValue.get(0), Duration.EndOfTurn, true), new TapSourceCost());
Target target = new TargetCreaturePermanent(new FilterCreaturePermanent(SubType.SLIVER, "Sliver creature"));
ability.addTarget(target);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_SLIVERS)));
diff --git a/Mage.Sets/src/mage/cards/m/MagmaVein.java b/Mage.Sets/src/mage/cards/m/MagmaVein.java
index 99ab3c9f95c..ea03aa421fe 100644
--- a/Mage.Sets/src/mage/cards/m/MagmaVein.java
+++ b/Mage.Sets/src/mage/cards/m/MagmaVein.java
@@ -16,7 +16,6 @@ import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -30,7 +29,7 @@ public final class MagmaVein extends CardImpl {
static {
filter1.add(Predicates.not(new AbilityPredicate(FlyingAbility.class)));
- filter2.add(new CardTypePredicate(CardType.LAND));
+ filter2.add(CardType.LAND.getPredicate());
}
public MagmaVein(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/Magmaquake.java b/Mage.Sets/src/mage/cards/m/Magmaquake.java
index 4522a2d70b7..cbcdc0b981f 100644
--- a/Mage.Sets/src/mage/cards/m/Magmaquake.java
+++ b/Mage.Sets/src/mage/cards/m/Magmaquake.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,9 +23,9 @@ public final class Magmaquake extends CardImpl {
static {
filter.add(Predicates.or(
Predicates.and(
- new CardTypePredicate(CardType.CREATURE),
+ CardType.CREATURE.getPredicate(),
Predicates.not(new AbilityPredicate(FlyingAbility.class))),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.PLANESWALKER.getPredicate()));
}
public Magmaquake(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/Magmaroth.java b/Mage.Sets/src/mage/cards/m/Magmaroth.java
index 824712cfbc0..77059e991ed 100644
--- a/Mage.Sets/src/mage/cards/m/Magmaroth.java
+++ b/Mage.Sets/src/mage/cards/m/Magmaroth.java
@@ -14,14 +14,13 @@ import mage.constants.TargetController;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
public final class Magmaroth extends CardImpl{
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Magmaroth(UUID ownerId, CardSetInfo cardSetInfo){
diff --git a/Mage.Sets/src/mage/cards/m/Magmaw.java b/Mage.Sets/src/mage/cards/m/Magmaw.java
index a556033ac8f..67fac798e09 100644
--- a/Mage.Sets/src/mage/cards/m/Magmaw.java
+++ b/Mage.Sets/src/mage/cards/m/Magmaw.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetAnyTarget;
@@ -27,7 +26,7 @@ public final class Magmaw extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("nonland permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public Magmaw(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MagneticFlux.java b/Mage.Sets/src/mage/cards/m/MagneticFlux.java
index 9c37410b097..c4e8d878fcc 100644
--- a/Mage.Sets/src/mage/cards/m/MagneticFlux.java
+++ b/Mage.Sets/src/mage/cards/m/MagneticFlux.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author Loki
@@ -20,8 +19,8 @@ public final class MagneticFlux extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Artifact creatures");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
}
public MagneticFlux(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/Magnivore.java b/Mage.Sets/src/mage/cards/m/Magnivore.java
index f51a8a2d850..db081de1be7 100644
--- a/Mage.Sets/src/mage/cards/m/Magnivore.java
+++ b/Mage.Sets/src/mage/cards/m/Magnivore.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class Magnivore extends CardImpl {
private static final FilterCard filter = new FilterCard("sorcery cards");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public Magnivore(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheAbyss.java b/Mage.Sets/src/mage/cards/m/MagusOfTheAbyss.java
index 1b3e7741038..3efe48918aa 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheAbyss.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheAbyss.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -72,7 +71,7 @@ class MagusOfTheAbyssTriggeredAbility extends TriggeredAbilityImpl {
Player player = game.getPlayer(event.getPlayerId());
if (player != null) {
FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature you control");
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(new ControllerIdPredicate(player.getId()));
Target target = new TargetCreaturePermanent(filter);
target.setAbilityController(getControllerId());
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java b/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java
index e0d57248b17..ee395e307c6 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -28,9 +27,9 @@ public final class MagusOfTheDisk extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public MagusOfTheDisk(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MairsilThePretender.java b/Mage.Sets/src/mage/cards/m/MairsilThePretender.java
index c40f76db905..3a85125af05 100644
--- a/Mage.Sets/src/mage/cards/m/MairsilThePretender.java
+++ b/Mage.Sets/src/mage/cards/m/MairsilThePretender.java
@@ -23,7 +23,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.CounterCardPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -70,7 +69,7 @@ class MairsilThePretenderExileEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard();
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()));
}
MairsilThePretenderExileEffect() {
diff --git a/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java b/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java
index f726a243dd1..8c9a7c76ff7 100644
--- a/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java
+++ b/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java
@@ -13,7 +13,7 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -26,7 +26,7 @@ public final class MalevolentAwakening extends CardImpl {
private static final FilterCard filter = new FilterCard("creature card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public MalevolentAwakening(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/Malfunction.java b/Mage.Sets/src/mage/cards/m/Malfunction.java
index 2a0cbad94ab..1cd0ce644ab 100644
--- a/Mage.Sets/src/mage/cards/m/Malfunction.java
+++ b/Mage.Sets/src/mage/cards/m/Malfunction.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -30,8 +29,8 @@ public final class Malfunction extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public Malfunction(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java b/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java
index b75bb70a686..6949f32da7e 100644
--- a/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java
+++ b/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.TargetAdjuster;
@@ -50,9 +49,9 @@ enum MaliciousAdviceAdjuster implements TargetAdjuster {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/m/ManaMatrix.java b/Mage.Sets/src/mage/cards/m/ManaMatrix.java
index d5cc1c516ce..dc51c215ed2 100644
--- a/Mage.Sets/src/mage/cards/m/ManaMatrix.java
+++ b/Mage.Sets/src/mage/cards/m/ManaMatrix.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,8 +21,8 @@ public final class ManaMatrix extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.INSTANT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/m/ManticoreOfTheGauntlet.java b/Mage.Sets/src/mage/cards/m/ManticoreOfTheGauntlet.java
index 914c7551081..e21c70d44ad 100644
--- a/Mage.Sets/src/mage/cards/m/ManticoreOfTheGauntlet.java
+++ b/Mage.Sets/src/mage/cards/m/ManticoreOfTheGauntlet.java
@@ -37,7 +37,7 @@ public final class ManticoreOfTheGauntlet extends CardImpl {
counters.setText("put a -1/-1 counter on target creature you control");
counters.setTargetPointer(new FirstTargetPointer());
- Effect damage = new DamageTargetEffect(new StaticValue(3), true, "", true);
+ Effect damage = new DamageTargetEffect(StaticValue.get(3), true, "", true);
damage.setText("{this} deals 3 damage to target opponent or planeswalker.");
damage.setTargetPointer(new SecondTargetPointer());
diff --git a/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java b/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java
index 9d560a6bb06..50427c8cf50 100644
--- a/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java
+++ b/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java
@@ -15,7 +15,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
/**
@@ -29,9 +28,9 @@ public final class MaraxusOfKeld extends CardImpl {
static {
filter.add(Predicates.not(TappedPredicate.instance));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public MaraxusOfKeld(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MarchOfTheMachines.java b/Mage.Sets/src/mage/cards/m/MarchOfTheMachines.java
index 79585fbdce6..63f0a863602 100644
--- a/Mage.Sets/src/mage/cards/m/MarchOfTheMachines.java
+++ b/Mage.Sets/src/mage/cards/m/MarchOfTheMachines.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -44,7 +43,7 @@ class MarchOfTheMachinesEffect extends ContinuousEffectImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public MarchOfTheMachinesEffect() {
diff --git a/Mage.Sets/src/mage/cards/m/MarduCharm.java b/Mage.Sets/src/mage/cards/m/MarduCharm.java
index 9872d5acac0..a30bbbb79d9 100644
--- a/Mage.Sets/src/mage/cards/m/MarduCharm.java
+++ b/Mage.Sets/src/mage/cards/m/MarduCharm.java
@@ -18,7 +18,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.WarriorToken;
@@ -36,8 +35,8 @@ public final class MarduCharm extends CardImpl {
private static final FilterCard filter = new FilterCard("a noncreature, nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public MarduCharm(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MartyrsBond.java b/Mage.Sets/src/mage/cards/m/MartyrsBond.java
index 930d3670c18..5461588c7bb 100644
--- a/Mage.Sets/src/mage/cards/m/MartyrsBond.java
+++ b/Mage.Sets/src/mage/cards/m/MartyrsBond.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -118,10 +117,10 @@ class MartyrsBondEffect extends OneShotEffect {
String message = "permanent with type (";
boolean firstType = true;
- List cardTypes = new ArrayList<>();
+ List cardTypes = new ArrayList<>();
for (CardType type : saccedPermanent.getCardType()) {
- cardTypes.add(new CardTypePredicate(type));
+ cardTypes.add(type.getPredicate());
if (firstType) {
message += type;
firstType = false;
diff --git a/Mage.Sets/src/mage/cards/m/MasterOfEtherium.java b/Mage.Sets/src/mage/cards/m/MasterOfEtherium.java
index 62da2129d8f..a0da161a7e7 100644
--- a/Mage.Sets/src/mage/cards/m/MasterOfEtherium.java
+++ b/Mage.Sets/src/mage/cards/m/MasterOfEtherium.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
/**
@@ -25,8 +24,8 @@ public final class MasterOfEtherium extends CardImpl {
private static final FilterCreaturePermanent filterBoosted = new FilterCreaturePermanent("artifact creatures");
static {
- filterCounted.add(new CardTypePredicate(CardType.ARTIFACT));
- filterBoosted.add(new CardTypePredicate(CardType.ARTIFACT));
+ filterCounted.add(CardType.ARTIFACT.getPredicate());
+ filterBoosted.add(CardType.ARTIFACT.getPredicate());
filterBoosted.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/m/MasterworkOfIngenuity.java b/Mage.Sets/src/mage/cards/m/MasterworkOfIngenuity.java
index c4c86daf202..cb1e31aa5ba 100644
--- a/Mage.Sets/src/mage/cards/m/MasterworkOfIngenuity.java
+++ b/Mage.Sets/src/mage/cards/m/MasterworkOfIngenuity.java
@@ -9,7 +9,6 @@ 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;
/**
@@ -21,7 +20,7 @@ public final class MasterworkOfIngenuity extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("equipment");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
}
diff --git a/Mage.Sets/src/mage/cards/m/MaulSplicer.java b/Mage.Sets/src/mage/cards/m/MaulSplicer.java
index 8b0dfba75d2..fa66ead2855 100644
--- a/Mage.Sets/src/mage/cards/m/MaulSplicer.java
+++ b/Mage.Sets/src/mage/cards/m/MaulSplicer.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.permanent.token.GolemToken;
@@ -28,7 +27,7 @@ public final class MaulSplicer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Golem creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SubtypePredicate(SubType.GOLEM));
}
diff --git a/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java b/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java
index 3c979835ebe..56dbd0c283f 100644
--- a/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java
+++ b/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java
@@ -15,7 +15,6 @@ import mage.constants.ComparisonType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
/**
@@ -26,7 +25,7 @@ public final class MayaelTheAnima extends CardImpl {
private static final FilterCreatureCard filter = new FilterCreatureCard("a creature card with power 5 or greater");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new PowerPredicate(ComparisonType.MORE_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/cards/m/Megatog.java b/Mage.Sets/src/mage/cards/m/Megatog.java
index 95586077d4c..f6a540c99b3 100644
--- a/Mage.Sets/src/mage/cards/m/Megatog.java
+++ b/Mage.Sets/src/mage/cards/m/Megatog.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -27,7 +26,7 @@ public final class Megatog extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Megatog(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MeishinTheMindCage.java b/Mage.Sets/src/mage/cards/m/MeishinTheMindCage.java
index a88e657705d..fcb4fc4fcd8 100644
--- a/Mage.Sets/src/mage/cards/m/MeishinTheMindCage.java
+++ b/Mage.Sets/src/mage/cards/m/MeishinTheMindCage.java
@@ -26,7 +26,7 @@ public final class MeishinTheMindCage extends CardImpl {
addSuperType(SuperType.LEGENDARY);
// All creatures get -X/-0, where X is the number of cards in your hand.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new SignInversionDynamicValue(CardsInControllerHandCount.instance), new StaticValue(0), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, false, "All creatures get -X/-0, where X is the number of cards in your hand")));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new SignInversionDynamicValue(CardsInControllerHandCount.instance), StaticValue.get(0), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, false, "All creatures get -X/-0, where X is the number of cards in your hand")));
}
public MeishinTheMindCage(final MeishinTheMindCage card) {
diff --git a/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java b/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java
index 8d6dd6cd670..d6e8b40bf03 100644
--- a/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java
+++ b/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java
@@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -35,8 +34,8 @@ public final class MelekIzzetParagon extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public MelekIzzetParagon(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MeletisAstronomer.java b/Mage.Sets/src/mage/cards/m/MeletisAstronomer.java
index e456741390d..d443f24f138 100644
--- a/Mage.Sets/src/mage/cards/m/MeletisAstronomer.java
+++ b/Mage.Sets/src/mage/cards/m/MeletisAstronomer.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,7 +20,7 @@ public final class MeletisAstronomer extends CardImpl {
private static final FilterCard filter = new FilterCard("an enchantment card");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public MeletisAstronomer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MemorialToUnity.java b/Mage.Sets/src/mage/cards/m/MemorialToUnity.java
index 4a60ce8a178..750b423fbda 100644
--- a/Mage.Sets/src/mage/cards/m/MemorialToUnity.java
+++ b/Mage.Sets/src/mage/cards/m/MemorialToUnity.java
@@ -34,7 +34,7 @@ public final class MemorialToUnity extends CardImpl {
// {2}{G}, {T}, Sacrifice Memorial to Unity: Look at the top five cards of your library. You may reveal a creature card from among them and put it into your hand. Then put the rest on the bottom of your library in a random order.
Effect effect = new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), new FilterCreatureCard("a creature card"), false, true
+ StaticValue.get(5), false, StaticValue.get(1), new FilterCreatureCard("a creature card"), false, true
).setBackInRandomOrder(true);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{G}"));
diff --git a/Mage.Sets/src/mage/cards/m/MemoryPlunder.java b/Mage.Sets/src/mage/cards/m/MemoryPlunder.java
index 266b26c7aeb..8097b7f54ba 100644
--- a/Mage.Sets/src/mage/cards/m/MemoryPlunder.java
+++ b/Mage.Sets/src/mage/cards/m/MemoryPlunder.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInOpponentsGraveyard;
@@ -27,8 +26,8 @@ public final class MemoryPlunder extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public MemoryPlunder(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MephiticOoze.java b/Mage.Sets/src/mage/cards/m/MephiticOoze.java
index ac2ebf0e0d2..a89562f39e7 100644
--- a/Mage.Sets/src/mage/cards/m/MephiticOoze.java
+++ b/Mage.Sets/src/mage/cards/m/MephiticOoze.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -28,7 +27,7 @@ public final class MephiticOoze extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public MephiticOoze(UUID ownerId, CardSetInfo setInfo) {
@@ -38,7 +37,7 @@ public final class MephiticOoze extends CardImpl {
this.toughness = new MageInt(5);
// Mephitic Ooze gets +1/+0 for each artifact you control.
- Effect effect = new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield);
+ Effect effect = new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield);
effect.setText("{this} gets +1/+0 for each artifact you control");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
diff --git a/Mage.Sets/src/mage/cards/m/MerEkNightblade.java b/Mage.Sets/src/mage/cards/m/MerEkNightblade.java
index e6bc6c0ba75..3c48835cac4 100644
--- a/Mage.Sets/src/mage/cards/m/MerEkNightblade.java
+++ b/Mage.Sets/src/mage/cards/m/MerEkNightblade.java
@@ -17,7 +17,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -29,7 +28,7 @@ public final class MerEkNightblade extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new CounterPredicate(CounterType.P1P1));
}
diff --git a/Mage.Sets/src/mage/cards/m/MercadiasDownfall.java b/Mage.Sets/src/mage/cards/m/MercadiasDownfall.java
index babb46a1abc..29f5ae26e88 100644
--- a/Mage.Sets/src/mage/cards/m/MercadiasDownfall.java
+++ b/Mage.Sets/src/mage/cards/m/MercadiasDownfall.java
@@ -32,7 +32,7 @@ public final class MercadiasDownfall extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
// Each attacking creature gets +1/+0 until end of turn for each nonbasic land defending player controls.
- this.getSpellAbility().addEffect(new BoostAllEffect(new DefendersNonBasicLandCount(), new StaticValue(0), Duration.EndOfTurn, new FilterAttackingCreature(), true, rule));
+ this.getSpellAbility().addEffect(new BoostAllEffect(new DefendersNonBasicLandCount(), StaticValue.get(0), Duration.EndOfTurn, new FilterAttackingCreature(), true, rule));
}
diff --git a/Mage.Sets/src/mage/cards/m/MerchantScroll.java b/Mage.Sets/src/mage/cards/m/MerchantScroll.java
index c199ea35af0..9ee174061b8 100644
--- a/Mage.Sets/src/mage/cards/m/MerchantScroll.java
+++ b/Mage.Sets/src/mage/cards/m/MerchantScroll.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCardInLibrary;
@@ -22,7 +21,7 @@ public final class MerchantScroll extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.BLUE));
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public MerchantScroll(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java b/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java
index 4e8804712f1..0ec6754e71d 100644
--- a/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java
+++ b/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java
@@ -40,7 +40,7 @@ public final class MercilessJavelineer extends CardImpl {
Zone.BATTLEFIELD,
new AddCountersTargetEffect(
CounterType.M1M1.createInstance(),
- new StaticValue(1),
+ StaticValue.get(1),
Outcome.Removal),
new ManaCostsImpl("{2}"));
ability.addEffect(
diff --git a/Mage.Sets/src/mage/cards/m/MercilessResolve.java b/Mage.Sets/src/mage/cards/m/MercilessResolve.java
index 2026f13ceac..3c877d19015 100644
--- a/Mage.Sets/src/mage/cards/m/MercilessResolve.java
+++ b/Mage.Sets/src/mage/cards/m/MercilessResolve.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -21,7 +20,7 @@ public final class MercilessResolve extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a creature or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public MercilessResolve(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MesaEnchantress.java b/Mage.Sets/src/mage/cards/m/MesaEnchantress.java
index 62ba538c5d2..f142f549ab3 100644
--- a/Mage.Sets/src/mage/cards/m/MesaEnchantress.java
+++ b/Mage.Sets/src/mage/cards/m/MesaEnchantress.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,7 +20,7 @@ public final class MesaEnchantress extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public MesaEnchantress(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java b/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java
index d8f931b42af..b97d3498360 100644
--- a/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java
+++ b/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java
@@ -20,7 +20,6 @@ import mage.filter.FilterSpell;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.common.FilterInstantOrSorceryCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.token.MetallurgicSummoningsConstructToken;
import mage.game.stack.Spell;
@@ -36,8 +35,8 @@ public final class MetallurgicSummonings extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public MetallurgicSummonings(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MetalworkColossus.java b/Mage.Sets/src/mage/cards/m/MetalworkColossus.java
index 2bcc5876bf7..6052cf4bb79 100644
--- a/Mage.Sets/src/mage/cards/m/MetalworkColossus.java
+++ b/Mage.Sets/src/mage/cards/m/MetalworkColossus.java
@@ -21,7 +21,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetControlledPermanent;
@@ -60,7 +59,7 @@ class MetalworkColossusCostReductionEffect extends CostModificationEffectImpl {
private static final FilterPermanent filter = new FilterControlledArtifactPermanent("noncreature artifacts you control");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
MetalworkColossusCostReductionEffect() {
diff --git a/Mage.Sets/src/mage/cards/m/Metamorphose.java b/Mage.Sets/src/mage/cards/m/Metamorphose.java
index 3e252e68e32..1441c1fe1bf 100644
--- a/Mage.Sets/src/mage/cards/m/Metamorphose.java
+++ b/Mage.Sets/src/mage/cards/m/Metamorphose.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -60,10 +59,10 @@ class MetamorphoseEffect extends OneShotEffect {
static{
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/m/MightOfTheWild.java b/Mage.Sets/src/mage/cards/m/MightOfTheWild.java
index c7d78e13973..2b0af11baf4 100644
--- a/Mage.Sets/src/mage/cards/m/MightOfTheWild.java
+++ b/Mage.Sets/src/mage/cards/m/MightOfTheWild.java
@@ -16,7 +16,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.target.TargetPermanent;
@@ -31,7 +30,7 @@ public final class MightOfTheWild extends CardImpl {
static {
filterMode1.add(new PowerPredicate(ComparisonType.FEWER_THAN, 4));
- filterMode2.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filterMode2.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public MightOfTheWild(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java b/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java
index 8a8d2254eff..c5f7455d980 100644
--- a/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java
+++ b/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -26,7 +25,7 @@ public final class MilitantInquisitor extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Equipment you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
}
@@ -38,7 +37,7 @@ public final class MilitantInquisitor extends CardImpl {
this.toughness = new MageInt(3);
// Miltant Inquisitor gets +1/+0 for each Equipment you control.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
}
public MilitantInquisitor(final MilitantInquisitor card) {
diff --git a/Mage.Sets/src/mage/cards/m/MilitiaBugler.java b/Mage.Sets/src/mage/cards/m/MilitiaBugler.java
index 38feec76031..adee64fd9e1 100644
--- a/Mage.Sets/src/mage/cards/m/MilitiaBugler.java
+++ b/Mage.Sets/src/mage/cards/m/MilitiaBugler.java
@@ -40,7 +40,7 @@ public final class MilitiaBugler extends CardImpl {
// When Militia Bugler enters the battlefield, look at the top four cards of your library. You may reveal a creature card with power 2 or less from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(1), filter, Zone.LIBRARY, false,
+ StaticValue.get(4), false, StaticValue.get(1), filter, Zone.LIBRARY, false,
true, true, Zone.HAND, false, true, false
), false));
}
diff --git a/Mage.Sets/src/mage/cards/m/MinamoSightbender.java b/Mage.Sets/src/mage/cards/m/MinamoSightbender.java
index dc001957da1..c2cdce9705e 100644
--- a/Mage.Sets/src/mage/cards/m/MinamoSightbender.java
+++ b/Mage.Sets/src/mage/cards/m/MinamoSightbender.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.game.Game;
import mage.target.Target;
@@ -31,7 +30,7 @@ public final class MinamoSightbender extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature with power X or less");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public MinamoSightbender(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MindGames.java b/Mage.Sets/src/mage/cards/m/MindGames.java
index 4bb54d8e79b..e7cf9b8f4c9 100644
--- a/Mage.Sets/src/mage/cards/m/MindGames.java
+++ b/Mage.Sets/src/mage/cards/m/MindGames.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,9 +21,9 @@ public final class MindGames extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public MindGames(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MindOverMatter.java b/Mage.Sets/src/mage/cards/m/MindOverMatter.java
index d40350022e4..51feb076563 100644
--- a/Mage.Sets/src/mage/cards/m/MindOverMatter.java
+++ b/Mage.Sets/src/mage/cards/m/MindOverMatter.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -23,7 +22,7 @@ public final class MindOverMatter extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact, creature, or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public MindOverMatter(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MindclawShaman.java b/Mage.Sets/src/mage/cards/m/MindclawShaman.java
index 86fe0265723..19681c2aa79 100644
--- a/Mage.Sets/src/mage/cards/m/MindclawShaman.java
+++ b/Mage.Sets/src/mage/cards/m/MindclawShaman.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -60,8 +59,8 @@ class MindclawShamanEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public MindclawShamanEffect() {
diff --git a/Mage.Sets/src/mage/cards/m/Mindsparker.java b/Mage.Sets/src/mage/cards/m/Mindsparker.java
index 02797d65541..4dd030386fd 100644
--- a/Mage.Sets/src/mage/cards/m/Mindsparker.java
+++ b/Mage.Sets/src/mage/cards/m/Mindsparker.java
@@ -17,7 +17,6 @@ import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -32,8 +31,8 @@ public final class Mindsparker extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filter.add(Predicates.or(
new ColorPredicate(ObjectColor.WHITE),
new ColorPredicate(ObjectColor.BLUE)));
diff --git a/Mage.Sets/src/mage/cards/m/MineExcavation.java b/Mage.Sets/src/mage/cards/m/MineExcavation.java
index 09eceb5636f..f3a55847166 100644
--- a/Mage.Sets/src/mage/cards/m/MineExcavation.java
+++ b/Mage.Sets/src/mage/cards/m/MineExcavation.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInGraveyard;
/**
@@ -21,8 +20,8 @@ public final class MineExcavation extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact or enchantment card in a graveyard");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public MineExcavation(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java b/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java
index 154468baf30..a6130a8fb16 100644
--- a/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java
+++ b/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java
@@ -22,7 +22,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -39,7 +38,7 @@ public final class MinionOfLeshrac extends CardImpl {
private static final FilterPermanent filterCreatureOrLand = new FilterPermanent("creature or land");
static {
- filterCreatureOrLand.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filterCreatureOrLand.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public MinionOfLeshrac(UUID ownerId, CardSetInfo setInfo) {
@@ -91,7 +90,7 @@ class MinionLeshracEffect extends OneShotEffect {
if (controller != null
&& minionLeshrac != null) {
FilterControlledPermanent filterCreature = new FilterControlledPermanent();
- filterCreature.add(new CardTypePredicate(CardType.CREATURE));
+ filterCreature.add(CardType.CREATURE.getPredicate());
filterCreature.add(AnotherPredicate.instance);
TargetControlledPermanent target = new TargetControlledPermanent(filterCreature);
SacrificeTargetCost cost = new SacrificeTargetCost(target);
diff --git a/Mage.Sets/src/mage/cards/m/Mirari.java b/Mage.Sets/src/mage/cards/m/Mirari.java
index da05fc00c09..7a209fa01ab 100644
--- a/Mage.Sets/src/mage/cards/m/Mirari.java
+++ b/Mage.Sets/src/mage/cards/m/Mirari.java
@@ -12,7 +12,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -51,8 +50,8 @@ class MirariTriggeredAbility extends TriggeredAbilityImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
MirariTriggeredAbility() {
diff --git a/Mage.Sets/src/mage/cards/m/MireInMisery.java b/Mage.Sets/src/mage/cards/m/MireInMisery.java
index d0dee1d0937..78d79df94c3 100644
--- a/Mage.Sets/src/mage/cards/m/MireInMisery.java
+++ b/Mage.Sets/src/mage/cards/m/MireInMisery.java
@@ -6,7 +6,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -19,8 +18,8 @@ public final class MireInMisery extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/m/MirrorGolem.java b/Mage.Sets/src/mage/cards/m/MirrorGolem.java
index c5e918fd2ff..797939a0cc9 100644
--- a/Mage.Sets/src/mage/cards/m/MirrorGolem.java
+++ b/Mage.Sets/src/mage/cards/m/MirrorGolem.java
@@ -13,7 +13,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.ExileZone;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -121,7 +120,7 @@ class MirrorGolemEffect extends ContinuousEffectImpl {
} else {
filterCard = new FilterCard(cardType.toString() + "s");
}
- filterCard.add(new CardTypePredicate(cardType));
+ filterCard.add(cardType.getPredicate());
sourceObject.addAbility(new ProtectionAbility(filterCard));
}
}
diff --git a/Mage.Sets/src/mage/cards/m/MirrorSheen.java b/Mage.Sets/src/mage/cards/m/MirrorSheen.java
index d03748238f3..2680cec60af 100644
--- a/Mage.Sets/src/mage/cards/m/MirrorSheen.java
+++ b/Mage.Sets/src/mage/cards/m/MirrorSheen.java
@@ -14,7 +14,6 @@ import mage.filter.FilterSpell;
import mage.filter.predicate.ObjectPlayer;
import mage.filter.predicate.ObjectPlayerPredicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.stack.StackObject;
import mage.target.Target;
@@ -30,7 +29,7 @@ public final class MirrorSheen extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant or sorcery spell that targets you");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
filter.add(new TargetYouPredicate());
}
diff --git a/Mage.Sets/src/mage/cards/m/Mirrorpool.java b/Mage.Sets/src/mage/cards/m/Mirrorpool.java
index a9874b126ca..a80322a94a6 100644
--- a/Mage.Sets/src/mage/cards/m/Mirrorpool.java
+++ b/Mage.Sets/src/mage/cards/m/Mirrorpool.java
@@ -18,7 +18,7 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -33,8 +33,8 @@ public final class Mirrorpool extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/m/MistfireAdept.java b/Mage.Sets/src/mage/cards/m/MistfireAdept.java
index be7b16cf8b8..62827fadb97 100644
--- a/Mage.Sets/src/mage/cards/m/MistfireAdept.java
+++ b/Mage.Sets/src/mage/cards/m/MistfireAdept.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -26,7 +25,7 @@ public final class MistfireAdept extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public MistfireAdept(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MnemonicWall.java b/Mage.Sets/src/mage/cards/m/MnemonicWall.java
index 65f127e2094..0c956dcbe27 100644
--- a/Mage.Sets/src/mage/cards/m/MnemonicWall.java
+++ b/Mage.Sets/src/mage/cards/m/MnemonicWall.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -26,8 +25,8 @@ public final class MnemonicWall extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public MnemonicWall(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MobMentality.java b/Mage.Sets/src/mage/cards/m/MobMentality.java
index e00596f1a3f..a3f24a467c6 100644
--- a/Mage.Sets/src/mage/cards/m/MobMentality.java
+++ b/Mage.Sets/src/mage/cards/m/MobMentality.java
@@ -59,7 +59,7 @@ public final class MobMentality extends CardImpl {
class MobMentalityTriggeredAbility extends TriggeredAbilityImpl {
MobMentalityTriggeredAbility() {
- super(Zone.BATTLEFIELD, new BoostTargetEffect(new AttackingCreatureCount(), new StaticValue(0), Duration.EndOfTurn, true));
+ super(Zone.BATTLEFIELD, new BoostTargetEffect(new AttackingCreatureCount(), StaticValue.get(0), Duration.EndOfTurn, true));
}
private MobMentalityTriggeredAbility(final MobMentalityTriggeredAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/m/MobileGarrison.java b/Mage.Sets/src/mage/cards/m/MobileGarrison.java
index 3ebd7811e8f..8740ce3ba5d 100644
--- a/Mage.Sets/src/mage/cards/m/MobileGarrison.java
+++ b/Mage.Sets/src/mage/cards/m/MobileGarrison.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.target.common.TargetControlledPermanent;
@@ -29,8 +28,8 @@ public final class MobileGarrison extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/m/MoldShambler.java b/Mage.Sets/src/mage/cards/m/MoldShambler.java
index 5c8bd2a2b07..8c8eefeacc5 100644
--- a/Mage.Sets/src/mage/cards/m/MoldShambler.java
+++ b/Mage.Sets/src/mage/cards/m/MoldShambler.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.TargetPermanent;
@@ -27,7 +26,7 @@ public final class MoldShambler extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public MoldShambler(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MolderSlug.java b/Mage.Sets/src/mage/cards/m/MolderSlug.java
index b057a901bf2..e1d3b910221 100644
--- a/Mage.Sets/src/mage/cards/m/MolderSlug.java
+++ b/Mage.Sets/src/mage/cards/m/MolderSlug.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author Loki
@@ -22,7 +21,7 @@ public final class MolderSlug extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public MolderSlug(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MoltenFrame.java b/Mage.Sets/src/mage/cards/m/MoltenFrame.java
index 66a5af1c2a6..a88fb4e0ca8 100644
--- a/Mage.Sets/src/mage/cards/m/MoltenFrame.java
+++ b/Mage.Sets/src/mage/cards/m/MoltenFrame.java
@@ -10,7 +10,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -22,7 +21,7 @@ public final class MoltenFrame extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public MoltenFrame(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MomirVigSimicVisionary.java b/Mage.Sets/src/mage/cards/m/MomirVigSimicVisionary.java
index fca77d6cc56..e84aaba6a70 100644
--- a/Mage.Sets/src/mage/cards/m/MomirVigSimicVisionary.java
+++ b/Mage.Sets/src/mage/cards/m/MomirVigSimicVisionary.java
@@ -18,7 +18,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -36,9 +35,9 @@ public final class MomirVigSimicVisionary extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.GREEN));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter2.add(new ColorPredicate(ObjectColor.BLUE));
- filter2.add(new CardTypePredicate(CardType.CREATURE));
+ filter2.add(CardType.CREATURE.getPredicate());
}
public MomirVigSimicVisionary(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java b/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java
index 354329e3d16..2a01ae4bf71 100644
--- a/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java
+++ b/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -26,8 +25,8 @@ public final class MonasteryLoremaster extends CardImpl {
private static final FilterCard filter = new FilterCard("noncreature, nonland card from your graveyard");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public MonasteryLoremaster(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MonasteryMentor.java b/Mage.Sets/src/mage/cards/m/MonasteryMentor.java
index af4b055ed07..cc42e8548d8 100644
--- a/Mage.Sets/src/mage/cards/m/MonasteryMentor.java
+++ b/Mage.Sets/src/mage/cards/m/MonasteryMentor.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.MonasteryMentorToken;
/**
@@ -24,7 +23,7 @@ public final class MonasteryMentor extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public MonasteryMentor(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MonkIdealist.java b/Mage.Sets/src/mage/cards/m/MonkIdealist.java
index c33dde06d09..a3bc776665d 100644
--- a/Mage.Sets/src/mage/cards/m/MonkIdealist.java
+++ b/Mage.Sets/src/mage/cards/m/MonkIdealist.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -23,7 +22,7 @@ public final class MonkIdealist extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public MonkIdealist(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MoodmarkPainter.java b/Mage.Sets/src/mage/cards/m/MoodmarkPainter.java
index f114b04ed04..da7c3de883b 100644
--- a/Mage.Sets/src/mage/cards/m/MoodmarkPainter.java
+++ b/Mage.Sets/src/mage/cards/m/MoodmarkPainter.java
@@ -44,7 +44,7 @@ public final class MoodmarkPainter extends CardImpl {
false, "Undergrowth — "
);
ability.addEffect(new BoostTargetEffect(
- xValue, new StaticValue(0),
+ xValue, StaticValue.get(0),
Duration.EndOfTurn, true
).setText("and gets +X/+0 until end of turn, "
+ "where X is the number of creature cards in your graveyard")
diff --git a/Mage.Sets/src/mage/cards/m/MoratoriumStone.java b/Mage.Sets/src/mage/cards/m/MoratoriumStone.java
index 1b724745f0d..29b48bbea16 100644
--- a/Mage.Sets/src/mage/cards/m/MoratoriumStone.java
+++ b/Mage.Sets/src/mage/cards/m/MoratoriumStone.java
@@ -20,7 +20,6 @@ import mage.constants.Outcome;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.game.Game;
import mage.target.common.TargetCardInGraveyard;
@@ -34,7 +33,7 @@ public final class MoratoriumStone extends CardImpl {
private static final FilterCard filter = new FilterCard("nonland card from a graveyard");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public MoratoriumStone(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MorbidCuriosity.java b/Mage.Sets/src/mage/cards/m/MorbidCuriosity.java
index 85a2ca79d31..107e5e54e73 100644
--- a/Mage.Sets/src/mage/cards/m/MorbidCuriosity.java
+++ b/Mage.Sets/src/mage/cards/m/MorbidCuriosity.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -23,8 +22,8 @@ public final class MorbidCuriosity extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public MorbidCuriosity(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MoriokScavenger.java b/Mage.Sets/src/mage/cards/m/MoriokScavenger.java
index a2ef0d47338..94ac1f09537 100644
--- a/Mage.Sets/src/mage/cards/m/MoriokScavenger.java
+++ b/Mage.Sets/src/mage/cards/m/MoriokScavenger.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterCreatureCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -23,7 +22,7 @@ public final class MoriokScavenger extends CardImpl {
static final FilterCreatureCard filter = new FilterCreatureCard("artifact creature card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public MoriokScavenger(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MorkrutNecropod.java b/Mage.Sets/src/mage/cards/m/MorkrutNecropod.java
index 08a609f0edb..a34795d7a6a 100644
--- a/Mage.Sets/src/mage/cards/m/MorkrutNecropod.java
+++ b/Mage.Sets/src/mage/cards/m/MorkrutNecropod.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
/**
@@ -25,8 +24,8 @@ public final class MorkrutNecropod extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/m/Mortify.java b/Mage.Sets/src/mage/cards/m/Mortify.java
index 001b463ae55..a8f96922a33 100644
--- a/Mage.Sets/src/mage/cards/m/Mortify.java
+++ b/Mage.Sets/src/mage/cards/m/Mortify.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -20,8 +19,8 @@ public final class Mortify extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public Mortify(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MoxAmber.java b/Mage.Sets/src/mage/cards/m/MoxAmber.java
index 17aef36e1d2..0ffa117ec06 100644
--- a/Mage.Sets/src/mage/cards/m/MoxAmber.java
+++ b/Mage.Sets/src/mage/cards/m/MoxAmber.java
@@ -10,7 +10,6 @@ import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
/**
@@ -27,10 +26,10 @@ public final class MoxAmber extends CardImpl {
FilterPermanent filter = new FilterPermanent("legendary creatures and planeswalkers");
filter.add(Predicates.or(
Predicates.and(
- new CardTypePredicate(CardType.CREATURE),
+ CardType.CREATURE.getPredicate(),
new SupertypePredicate(SuperType.LEGENDARY)
),
- new CardTypePredicate(CardType.PLANESWALKER))
+ CardType.PLANESWALKER.getPredicate())
);
this.addAbility(new AnyColorPermanentTypesManaAbility(TargetController.YOU, filter));
}
diff --git a/Mage.Sets/src/mage/cards/m/MuddleTheMixture.java b/Mage.Sets/src/mage/cards/m/MuddleTheMixture.java
index 226627057b7..547060f94dd 100644
--- a/Mage.Sets/src/mage/cards/m/MuddleTheMixture.java
+++ b/Mage.Sets/src/mage/cards/m/MuddleTheMixture.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -21,8 +20,8 @@ public final class MuddleTheMixture extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public MuddleTheMixture(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MwonvuliBeastTracker.java b/Mage.Sets/src/mage/cards/m/MwonvuliBeastTracker.java
index e682c4a791e..3d9b9507b02 100644
--- a/Mage.Sets/src/mage/cards/m/MwonvuliBeastTracker.java
+++ b/Mage.Sets/src/mage/cards/m/MwonvuliBeastTracker.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -28,7 +27,7 @@ public final class MwonvuliBeastTracker extends CardImpl {
private static final FilterCard filter = new FilterCard("creature card with deathtouch, hexproof, reach, or trample in your library");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.or(
new AbilityPredicate(DeathtouchAbility.class),
new AbilityPredicate(HexproofAbility.class),
diff --git a/Mage.Sets/src/mage/cards/m/MycosynthGolem.java b/Mage.Sets/src/mage/cards/m/MycosynthGolem.java
index db7eb3412c7..d9b8d149ceb 100644
--- a/Mage.Sets/src/mage/cards/m/MycosynthGolem.java
+++ b/Mage.Sets/src/mage/cards/m/MycosynthGolem.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,8 +22,8 @@ public final class MycosynthGolem extends CardImpl {
private static final FilterSpell filter = new FilterSpell("Artifact creature spells");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
}
public MycosynthGolem(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MyrIncubator.java b/Mage.Sets/src/mage/cards/m/MyrIncubator.java
index a8996c7b95f..74b412702a5 100644
--- a/Mage.Sets/src/mage/cards/m/MyrIncubator.java
+++ b/Mage.Sets/src/mage/cards/m/MyrIncubator.java
@@ -16,7 +16,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.token.MyrToken;
import mage.players.Player;
@@ -54,7 +53,7 @@ class MyrIncubatorEffect extends SearchEffect {
private static final FilterCard filter = new FilterCard();
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
int tokensToCreate = 0;
diff --git a/Mage.Sets/src/mage/cards/m/MysticDenial.java b/Mage.Sets/src/mage/cards/m/MysticDenial.java
index 1831835286f..b75850919b5 100644
--- a/Mage.Sets/src/mage/cards/m/MysticDenial.java
+++ b/Mage.Sets/src/mage/cards/m/MysticDenial.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -20,7 +19,7 @@ public final class MysticDenial extends CardImpl {
private static final FilterSpell filter = new FilterSpell("creature or sorcery spell");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.SORCERY.getPredicate()));
}
public MysticDenial(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MysticMeditation.java b/Mage.Sets/src/mage/cards/m/MysticMeditation.java
index 0baaf14439e..cd371a97073 100644
--- a/Mage.Sets/src/mage/cards/m/MysticMeditation.java
+++ b/Mage.Sets/src/mage/cards/m/MysticMeditation.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInHand;
@@ -62,7 +61,7 @@ class MysticMeditationEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
FilterCard filter = new FilterCard("creature card to discard");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
if (controller != null
&& controller.getHand().count(filter, game) > 0
&& controller.chooseUse(Outcome.Discard, "Do you want to discard a creature card? If you don't, you must discard 2 cards", source, game)) {
diff --git a/Mage.Sets/src/mage/cards/m/MysticRetrieval.java b/Mage.Sets/src/mage/cards/m/MysticRetrieval.java
index 4f2b1d0cff3..37875af8cde 100644
--- a/Mage.Sets/src/mage/cards/m/MysticRetrieval.java
+++ b/Mage.Sets/src/mage/cards/m/MysticRetrieval.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.TimingRule;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -23,8 +22,8 @@ public final class MysticRetrieval extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public MysticRetrieval(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MysticalTeachings.java b/Mage.Sets/src/mage/cards/m/MysticalTeachings.java
index 381db20fcb4..a4485b87c64 100644
--- a/Mage.Sets/src/mage/cards/m/MysticalTeachings.java
+++ b/Mage.Sets/src/mage/cards/m/MysticalTeachings.java
@@ -13,7 +13,6 @@ import mage.constants.TimingRule;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -27,7 +26,7 @@ public final class MysticalTeachings extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
+ CardType.INSTANT.getPredicate(),
new AbilityPredicate(FlashAbility.class)));
}
diff --git a/Mage.Sets/src/mage/cards/m/MysticalTutor.java b/Mage.Sets/src/mage/cards/m/MysticalTutor.java
index 1803e72bf8e..ae258c4689c 100644
--- a/Mage.Sets/src/mage/cards/m/MysticalTutor.java
+++ b/Mage.Sets/src/mage/cards/m/MysticalTutor.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -20,8 +19,8 @@ public final class MysticalTutor extends CardImpl {
private static final FilterCard filter = new FilterCard("instant or sorcery card");
static{
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public MysticalTutor(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/m/MythRealized.java b/Mage.Sets/src/mage/cards/m/MythRealized.java
index 5636ae35972..5595d6d2bfd 100644
--- a/Mage.Sets/src/mage/cards/m/MythRealized.java
+++ b/Mage.Sets/src/mage/cards/m/MythRealized.java
@@ -24,11 +24,9 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.players.Player;
/**
@@ -40,7 +38,7 @@ public final class MythRealized extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public MythRealized(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NagaOracle.java b/Mage.Sets/src/mage/cards/n/NagaOracle.java
index 22e5123b44e..e1d1376f291 100644
--- a/Mage.Sets/src/mage/cards/n/NagaOracle.java
+++ b/Mage.Sets/src/mage/cards/n/NagaOracle.java
@@ -32,9 +32,9 @@ public final class NagaOracle extends CardImpl {
// and the rest back on top of your library in any order.
Effect effect = new LookLibraryAndPickControllerEffect(
/* oh god, Microsoft looks conservative with their function parameters in comparison */
- new StaticValue(3),
+ StaticValue.get(3),
false,
- new StaticValue(3),
+ StaticValue.get(3),
new FilterCard("cards"),
Zone.LIBRARY,
true,
diff --git a/Mage.Sets/src/mage/cards/n/NaggingThoughts.java b/Mage.Sets/src/mage/cards/n/NaggingThoughts.java
index 9aa95cbb7ee..6da1d42ae98 100644
--- a/Mage.Sets/src/mage/cards/n/NaggingThoughts.java
+++ b/Mage.Sets/src/mage/cards/n/NaggingThoughts.java
@@ -22,7 +22,7 @@ public final class NaggingThoughts extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{U}");
// Look at the top two cards of your library. Put one of them into your hand and the other into your graveyard.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.GRAVEYARD, false, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(2), false, StaticValue.get(1), new FilterCard(), Zone.GRAVEYARD, false, false));
// Madness {1}{U}
this.addAbility(new MadnessAbility(this, new ManaCostsImpl("{1}{U}")));
diff --git a/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java b/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java
index 693c492a3cb..659368cc101 100644
--- a/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java
+++ b/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java
@@ -28,7 +28,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -46,10 +45,10 @@ public final class NahiriTheHarbinger extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("enchantment, tapped artifact, or tapped creature");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ENCHANTMENT),
- (Predicates.and(new CardTypePredicate(CardType.ARTIFACT),
+ filter.add(Predicates.or(CardType.ENCHANTMENT.getPredicate(),
+ (Predicates.and(CardType.ARTIFACT.getPredicate(),
TappedPredicate.instance)),
- (Predicates.and(new CardTypePredicate(CardType.CREATURE),
+ (Predicates.and(CardType.CREATURE.getPredicate(),
TappedPredicate.instance))));
}
@@ -88,8 +87,8 @@ class NahiriTheHarbingerEffect extends SearchEffect {
private static final FilterCard filterCard = new FilterCard("artifact or creature card");
static {
- filterCard.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ filterCard.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
NahiriTheHarbingerEffect() {
diff --git a/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java b/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java
index d39e57e989d..8b268d3ff52 100644
--- a/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java
+++ b/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java
@@ -48,7 +48,7 @@ public final class NajeelaTheBladeBlossom extends CardImpl {
// Whenever a Warrior attacks, you may have its controller create a 1/1 white Warrior creature token that's tapped and attacking.
this.addAbility(new AttacksAllTriggeredAbility(
- new CreateTokenTargetEffect(new WarriorToken(), new StaticValue(1), true, true)
+ new CreateTokenTargetEffect(new WarriorToken(), StaticValue.get(1), true, true)
.setText("you may have its controller create a 1/1 white Warrior creature token that's tapped and attacking"),
true, filter, SetTargetPointer.PLAYER, false, true
));
diff --git a/Mage.Sets/src/mage/cards/n/NarsetParterOfVeils.java b/Mage.Sets/src/mage/cards/n/NarsetParterOfVeils.java
index 9a6571e6ce1..20996fe8a01 100644
--- a/Mage.Sets/src/mage/cards/n/NarsetParterOfVeils.java
+++ b/Mage.Sets/src/mage/cards/n/NarsetParterOfVeils.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
@@ -28,8 +27,8 @@ public final class NarsetParterOfVeils extends CardImpl {
private static final FilterCard filter = new FilterCard("noncreature, nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public NarsetParterOfVeils(UUID ownerId, CardSetInfo setInfo) {
@@ -44,7 +43,7 @@ public final class NarsetParterOfVeils extends CardImpl {
// -2: Look at the top four cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(1), filter,
+ StaticValue.get(4), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND,
true, false, false
).setBackInRandomOrder(true).setText("Look at the top four cards of your library. " +
diff --git a/Mage.Sets/src/mage/cards/n/NaruMehaMasterWizard.java b/Mage.Sets/src/mage/cards/n/NaruMehaMasterWizard.java
index 38e50a96952..f042edccaea 100644
--- a/Mage.Sets/src/mage/cards/n/NaruMehaMasterWizard.java
+++ b/Mage.Sets/src/mage/cards/n/NaruMehaMasterWizard.java
@@ -21,7 +21,6 @@ import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetSpell;
@@ -38,8 +37,8 @@ public final class NaruMehaMasterWizard extends CardImpl {
wizardFilter.add(new ControllerPredicate(TargetController.YOU));
spellFilter.add(new ControllerPredicate(TargetController.YOU));
spellFilter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/n/NaturesChosen.java b/Mage.Sets/src/mage/cards/n/NaturesChosen.java
index 6fb1055bef0..744faaf1ec9 100644
--- a/Mage.Sets/src/mage/cards/n/NaturesChosen.java
+++ b/Mage.Sets/src/mage/cards/n/NaturesChosen.java
@@ -23,9 +23,7 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
-import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -40,9 +38,9 @@ public final class NaturesChosen extends CardImpl {
static {
filterPermanent.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
private static final FilterCreaturePermanent filterWhiteUntappedCreature = new FilterCreaturePermanent(" if enchanted creature is white and is untapped");
diff --git a/Mage.Sets/src/mage/cards/n/NayaPanorama.java b/Mage.Sets/src/mage/cards/n/NayaPanorama.java
index 9fa67f37192..df2d342629c 100644
--- a/Mage.Sets/src/mage/cards/n/NayaPanorama.java
+++ b/Mage.Sets/src/mage/cards/n/NayaPanorama.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -29,7 +28,7 @@ public final class NayaPanorama extends CardImpl {
private static final FilterCard filter = new FilterCard("a basic Mountain, Forest, or Plains card");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SupertypePredicate(SuperType.BASIC));
filter.add(Predicates.or(
new SubtypePredicate(SubType.MOUNTAIN),
diff --git a/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java b/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java
index bd4511146b4..bc48df33e56 100644
--- a/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java
+++ b/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java
@@ -17,7 +17,6 @@ import mage.constants.TargetController;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -45,7 +44,7 @@ public final class NazahnReveredBladesmith extends CardImpl {
private static final FilterCard filter = new FilterCard("Equipment card");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
}
diff --git a/Mage.Sets/src/mage/cards/n/Nekrataal.java b/Mage.Sets/src/mage/cards/n/Nekrataal.java
index 2b33ca4d12d..04a6060fcb7 100644
--- a/Mage.Sets/src/mage/cards/n/Nekrataal.java
+++ b/Mage.Sets/src/mage/cards/n/Nekrataal.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -28,7 +27,7 @@ public final class Nekrataal extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact, nonblack creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/n/Neoform.java b/Mage.Sets/src/mage/cards/n/Neoform.java
index 56cd8b5d21d..8fcfcb7ee23 100644
--- a/Mage.Sets/src/mage/cards/n/Neoform.java
+++ b/Mage.Sets/src/mage/cards/n/Neoform.java
@@ -4,7 +4,6 @@ import mage.abilities.Ability;
import mage.abilities.costs.Cost;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.effects.ContinuousEffectImpl;
-import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.cards.Card;
@@ -14,7 +13,6 @@ import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.events.EntersTheBattlefieldEvent;
@@ -87,7 +85,7 @@ class NeoformEffect extends OneShotEffect {
int newConvertedCost = sacrificedPermanent.getConvertedManaCost() + 1;
FilterCard filter = new FilterCard("creature card with converted mana cost " + newConvertedCost);
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, newConvertedCost));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
TargetCardInLibrary target = new TargetCardInLibrary(filter);
if (controller.searchLibrary(target, source, game)) {
Card card = controller.getLibrary().getCard(target.getFirstTarget(), game);
diff --git a/Mage.Sets/src/mage/cards/n/NessianDemolok.java b/Mage.Sets/src/mage/cards/n/NessianDemolok.java
index 2ecd67ab9a7..e44816f6df8 100644
--- a/Mage.Sets/src/mage/cards/n/NessianDemolok.java
+++ b/Mage.Sets/src/mage/cards/n/NessianDemolok.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -27,7 +26,7 @@ public final class NessianDemolok extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public NessianDemolok(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NettlevineBlight.java b/Mage.Sets/src/mage/cards/n/NettlevineBlight.java
index 446ee50799f..e3cdb3f802b 100644
--- a/Mage.Sets/src/mage/cards/n/NettlevineBlight.java
+++ b/Mage.Sets/src/mage/cards/n/NettlevineBlight.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.CanBeEnchantedByPredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
@@ -33,8 +32,8 @@ public final class NettlevineBlight extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or land permanent");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public NettlevineBlight(UUID ownerId, CardSetInfo setInfo) {
@@ -94,8 +93,8 @@ class NettlevineBlightEffect extends OneShotEffect {
}
if (newController != null) {
FilterPermanent filter = new FilterPermanent("creature or land permanent you control");
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
filter.add(new ControllerIdPredicate(newController.getId()));
filter.add(new CanBeEnchantedByPredicate(nettlevineBlight));
Target target = new TargetPermanent(filter);
diff --git a/Mage.Sets/src/mage/cards/n/NeurokProdigy.java b/Mage.Sets/src/mage/cards/n/NeurokProdigy.java
index 8522dfe6c31..2405251ded9 100644
--- a/Mage.Sets/src/mage/cards/n/NeurokProdigy.java
+++ b/Mage.Sets/src/mage/cards/n/NeurokProdigy.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInHand;
/**
@@ -25,7 +24,7 @@ public final class NeurokProdigy extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact card");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public NeurokProdigy(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NeurokTransmuter.java b/Mage.Sets/src/mage/cards/n/NeurokTransmuter.java
index f7a8b2c2273..c14a3e98efe 100644
--- a/Mage.Sets/src/mage/cards/n/NeurokTransmuter.java
+++ b/Mage.Sets/src/mage/cards/n/NeurokTransmuter.java
@@ -5,14 +5,11 @@ import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
-import mage.abilities.costs.common.TapSourceCost;
-import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.AddCardTypeTargetEffect;
import mage.abilities.effects.common.continuous.BecomesColorTargetEffect;
import mage.abilities.effects.common.continuous.LoseArtifactTypeTargetEffect;
-import mage.abilities.effects.common.continuous.LoseCreatureTypeSourceEffect;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -20,9 +17,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
-import mage.target.TargetPermanent;
-import mage.target.common.TargetArtifactPermanent;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -34,7 +28,7 @@ public final class NeurokTransmuter extends CardImpl {
static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public NeurokTransmuter(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NevinyrralsDisk.java b/Mage.Sets/src/mage/cards/n/NevinyrralsDisk.java
index 46bbd99d9d0..970b63e43b3 100644
--- a/Mage.Sets/src/mage/cards/n/NevinyrralsDisk.java
+++ b/Mage.Sets/src/mage/cards/n/NevinyrralsDisk.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -27,9 +26,9 @@ public final class NevinyrralsDisk extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public NevinyrralsDisk(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NezahalPrimalTide.java b/Mage.Sets/src/mage/cards/n/NezahalPrimalTide.java
index ed2ae356ea9..3a28e370c3f 100644
--- a/Mage.Sets/src/mage/cards/n/NezahalPrimalTide.java
+++ b/Mage.Sets/src/mage/cards/n/NezahalPrimalTide.java
@@ -23,7 +23,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInHand;
/**
@@ -35,7 +34,7 @@ public final class NezahalPrimalTide extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public NezahalPrimalTide(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NicolBolasPlaneswalker.java b/Mage.Sets/src/mage/cards/n/NicolBolasPlaneswalker.java
index b9e0111c7d0..06c327cd359 100644
--- a/Mage.Sets/src/mage/cards/n/NicolBolasPlaneswalker.java
+++ b/Mage.Sets/src/mage/cards/n/NicolBolasPlaneswalker.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
@@ -31,7 +30,7 @@ public final class NicolBolasPlaneswalker extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public NicolBolasPlaneswalker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NicolBolasTheArisen.java b/Mage.Sets/src/mage/cards/n/NicolBolasTheArisen.java
index 51ac41ea426..8b8d2f63f9e 100644
--- a/Mage.Sets/src/mage/cards/n/NicolBolasTheArisen.java
+++ b/Mage.Sets/src/mage/cards/n/NicolBolasTheArisen.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetPlayer;
@@ -34,8 +33,8 @@ public final class NicolBolasTheArisen extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/n/NicolBolasTheRavager.java b/Mage.Sets/src/mage/cards/n/NicolBolasTheRavager.java
index b6c5f0efd2e..c71dab4b0b8 100644
--- a/Mage.Sets/src/mage/cards/n/NicolBolasTheRavager.java
+++ b/Mage.Sets/src/mage/cards/n/NicolBolasTheRavager.java
@@ -41,7 +41,7 @@ public final class NicolBolasTheRavager extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Nicol Bolas, the Ravager enters the battlefield, each opponent discards a card.
- this.addAbility(new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(new StaticValue(1), false, TargetController.OPPONENT)));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(StaticValue.get(1), false, TargetController.OPPONENT)));
// {4}{U}{B}{R}: Exile Nicol Bolas, the Ravager, then return him to the battlefield transformed under his owner's control. Activate this ability only any time you could cast a sorcerry.
this.addAbility(new TransformAbility());
diff --git a/Mage.Sets/src/mage/cards/n/NimDevourer.java b/Mage.Sets/src/mage/cards/n/NimDevourer.java
index bf9f12e8e3f..d386661b5c6 100644
--- a/Mage.Sets/src/mage/cards/n/NimDevourer.java
+++ b/Mage.Sets/src/mage/cards/n/NimDevourer.java
@@ -23,7 +23,6 @@ import mage.constants.PhaseStep;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -39,7 +38,7 @@ public final class NimDevourer extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public NimDevourer(UUID ownerId, CardSetInfo setInfo) {
@@ -49,7 +48,7 @@ public final class NimDevourer extends CardImpl {
this.toughness = new MageInt(1);
// Nim Devourer gets +1/+0 for each artifact you control.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
// {B}{B}: Return Nim Devourer from your graveyard to the battlefield, then sacrifice a creature. Activate this ability only during your upkeep.
Ability ability = new ConditionalActivatedAbility(Zone.GRAVEYARD,
diff --git a/Mage.Sets/src/mage/cards/n/NimGrotesque.java b/Mage.Sets/src/mage/cards/n/NimGrotesque.java
index 7effd550150..03442660b89 100644
--- a/Mage.Sets/src/mage/cards/n/NimGrotesque.java
+++ b/Mage.Sets/src/mage/cards/n/NimGrotesque.java
@@ -29,7 +29,7 @@ public final class NimGrotesque extends CardImpl {
this.toughness = new MageInt(6);
// Nim Grotesque gets +1/+0 for each artifact you control.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent()), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent()), StaticValue.get(0), Duration.WhileOnBattlefield)));
}
public NimGrotesque(final NimGrotesque card) {
diff --git a/Mage.Sets/src/mage/cards/n/NimLasher.java b/Mage.Sets/src/mage/cards/n/NimLasher.java
index f31e98ace31..9c489975d08 100644
--- a/Mage.Sets/src/mage/cards/n/NimLasher.java
+++ b/Mage.Sets/src/mage/cards/n/NimLasher.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author Loki
@@ -24,7 +23,7 @@ public final class NimLasher extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public NimLasher(UUID ownerId, CardSetInfo setInfo) {
@@ -33,7 +32,7 @@ public final class NimLasher extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
}
public NimLasher(final NimLasher card) {
diff --git a/Mage.Sets/src/mage/cards/n/NimShambler.java b/Mage.Sets/src/mage/cards/n/NimShambler.java
index 27f19d64ee3..09a9d8dcddc 100644
--- a/Mage.Sets/src/mage/cards/n/NimShambler.java
+++ b/Mage.Sets/src/mage/cards/n/NimShambler.java
@@ -18,7 +18,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
@@ -29,7 +28,7 @@ public final class NimShambler extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public NimShambler(UUID ownerId, CardSetInfo setInfo) {
@@ -38,7 +37,7 @@ public final class NimShambler extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(),
new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))));
}
diff --git a/Mage.Sets/src/mage/cards/n/NimShrieker.java b/Mage.Sets/src/mage/cards/n/NimShrieker.java
index 8bef1efc8ab..d6a90eef37e 100644
--- a/Mage.Sets/src/mage/cards/n/NimShrieker.java
+++ b/Mage.Sets/src/mage/cards/n/NimShrieker.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author Loki
@@ -25,7 +24,7 @@ public final class NimShrieker extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public NimShrieker(UUID ownerId, CardSetInfo setInfo) {
@@ -35,7 +34,7 @@ public final class NimShrieker extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance());
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield)));
}
public NimShrieker(final NimShrieker card) {
diff --git a/Mage.Sets/src/mage/cards/n/NissaGenesisMage.java b/Mage.Sets/src/mage/cards/n/NissaGenesisMage.java
index 16296836744..65b8923e45a 100644
--- a/Mage.Sets/src/mage/cards/n/NissaGenesisMage.java
+++ b/Mage.Sets/src/mage/cards/n/NissaGenesisMage.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetLandPermanent;
@@ -33,8 +32,8 @@ public final class NissaGenesisMage extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
@@ -58,7 +57,7 @@ public final class NissaGenesisMage extends CardImpl {
//-10: Look at the top ten cards of your library. You may put any number of creature and/or land cards from among them onto the battlefield. Put the rest on the bottom of your library in a random order.);
this.addAbility(new LoyaltyAbility(
- new LookLibraryAndPickControllerEffect(new StaticValue(10), false, new StaticValue(10), filter,
+ new LookLibraryAndPickControllerEffect(StaticValue.get(10), false, StaticValue.get(10), filter,
Zone.LIBRARY, true, false, true, Zone.BATTLEFIELD, true, true, false).setBackInRandomOrder(true),
-10));
}
diff --git a/Mage.Sets/src/mage/cards/n/NissaSageAnimist.java b/Mage.Sets/src/mage/cards/n/NissaSageAnimist.java
index b64572e12c7..fac457a76b8 100644
--- a/Mage.Sets/src/mage/cards/n/NissaSageAnimist.java
+++ b/Mage.Sets/src/mage/cards/n/NissaSageAnimist.java
@@ -48,7 +48,7 @@ public final class NissaSageAnimist extends CardImpl {
// -7: Untap up to six target lands. They become 6/6 Elemental creatures. They're still lands.
Ability ability = new LoyaltyAbility(new UntapTargetEffect(), -7);
- ability.addTarget(new TargetLandPermanent(0, 6, StaticFilters.FILTER_LANDS, false));
+ ability.addTarget(new TargetLandPermanent(0, 6, StaticFilters.FILTER_LAND, false));
ability.addEffect(new NissaSageAnimistMinusAnimateEffect());
this.addAbility(ability);
}
@@ -127,54 +127,4 @@ class NissaSageAnimistMinusAnimateEffect extends OneShotEffect {
}
return true;
}
-
-// class NissaSageAnimistMinusSevenEffect extends ContinuousEffectImpl {
-//
-// NissaSageAnimistMinusSevenEffect() {
-// super(Duration.EndOfGame, Outcome.BecomeCreature);
-// this.staticText = "They become 6/6 Elemental creatures. They're still lands";
-// }
-//
-// NissaSageAnimistMinusSevenEffect(final NissaSageAnimistMinusSevenEffect effect) {
-// super(effect);
-// }
-//
-// @Override
-// public NissaSageAnimistMinusSevenEffect copy() {
-// return new NissaSageAnimistMinusSevenEffect(this);
-// }
-//
-// @Override
-// public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
-// for (UUID permanentId : this.getTargetPointer().getTargets(game, source)) {
-// Permanent permanent = game.getPermanent(permanentId);
-// if (permanent != null) {
-// switch (layer) {
-// case TypeChangingEffects_4:
-// permanent.addCardType(CardType.CREATURE);
-// if (!permanent.hasSubtype(SubType.ELEMENTAL, game)) {
-// permanent.getSubtype(game).add(SubType.ELEMENTAL);
-// }
-// break;
-// case PTChangingEffects_7:
-// if (sublayer == SubLayer.SetPT_7b) {
-// permanent.getToughness().setValue(6);
-// permanent.getPower().setValue(6);
-// }
-// }
-// }
-// }
-// return true;
-// }
-//
-// @Override
-// public boolean apply(Game game, Ability source) {
-// return false;
-// }
-//
-// @Override
-// public boolean hasLayer(Layer layer) {
-// return layer == Layer.TypeChangingEffects_4 || layer == Layer.PTChangingEffects_7;
-// }
-// }
}
diff --git a/Mage.Sets/src/mage/cards/n/NissaStewardOfElements.java b/Mage.Sets/src/mage/cards/n/NissaStewardOfElements.java
index 67a19ebd99a..dc917ee849a 100644
--- a/Mage.Sets/src/mage/cards/n/NissaStewardOfElements.java
+++ b/Mage.Sets/src/mage/cards/n/NissaStewardOfElements.java
@@ -21,7 +21,6 @@ import mage.counters.CounterType;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterPermanentCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.permanent.token.TokenImpl;
@@ -96,8 +95,8 @@ class NissaStewardOfElementsEffect extends OneShotEffect {
}
int count = 1 + new CountersSourceCount(CounterType.LOYALTY).calculate(game, source, this);
FilterPermanentCard filter = new FilterPermanentCard();
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, count));
Card card = controller.getLibrary().getFromTop(game);
if (card != null) {
diff --git a/Mage.Sets/src/mage/cards/n/NissaWhoShakesTheWorld.java b/Mage.Sets/src/mage/cards/n/NissaWhoShakesTheWorld.java
index 4156d5ea052..b97dfb20564 100644
--- a/Mage.Sets/src/mage/cards/n/NissaWhoShakesTheWorld.java
+++ b/Mage.Sets/src/mage/cards/n/NissaWhoShakesTheWorld.java
@@ -22,7 +22,6 @@ import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.command.emblems.NissaWhoShakesTheWorldEmblem;
@@ -44,7 +43,7 @@ public final class NissaWhoShakesTheWorld extends CardImpl {
private static final FilterCard filter2 = new FilterCard("Forest cards");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
filter2.add(new SubtypePredicate(SubType.FOREST));
}
diff --git a/Mage.Sets/src/mage/cards/n/NissasDefeat.java b/Mage.Sets/src/mage/cards/n/NissasDefeat.java
index 829cbcd1edd..cd23db9dede 100644
--- a/Mage.Sets/src/mage/cards/n/NissasDefeat.java
+++ b/Mage.Sets/src/mage/cards/n/NissasDefeat.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
@@ -30,8 +29,8 @@ public final class NissasDefeat extends CardImpl {
static {
filter.add(Predicates.or(new SubtypePredicate(SubType.FOREST),
- (Predicates.and(new ColorPredicate(ObjectColor.GREEN), new CardTypePredicate(CardType.ENCHANTMENT))),
- (Predicates.and(new ColorPredicate(ObjectColor.GREEN), new CardTypePredicate(CardType.PLANESWALKER)))));
+ (Predicates.and(new ColorPredicate(ObjectColor.GREEN), CardType.ENCHANTMENT.getPredicate())),
+ (Predicates.and(new ColorPredicate(ObjectColor.GREEN), CardType.PLANESWALKER.getPredicate()))));
}
public NissasDefeat(UUID ownerId, CardSetInfo setInfo) {
@@ -57,7 +56,7 @@ class NissasDefeatEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.NISSA));
}
diff --git a/Mage.Sets/src/mage/cards/n/NivixGuildmage.java b/Mage.Sets/src/mage/cards/n/NivixGuildmage.java
index a53248ada54..94845e98831 100644
--- a/Mage.Sets/src/mage/cards/n/NivixGuildmage.java
+++ b/Mage.Sets/src/mage/cards/n/NivixGuildmage.java
@@ -16,7 +16,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetSpell;
@@ -30,8 +29,8 @@ public final class NivixGuildmage extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/n/NivmagusElemental.java b/Mage.Sets/src/mage/cards/n/NivmagusElemental.java
index 76a8514998c..a8a01f73269 100644
--- a/Mage.Sets/src/mage/cards/n/NivmagusElemental.java
+++ b/Mage.Sets/src/mage/cards/n/NivmagusElemental.java
@@ -16,7 +16,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetSpell;
@@ -31,8 +30,8 @@ public final class NivmagusElemental extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public NivmagusElemental(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NoEscape.java b/Mage.Sets/src/mage/cards/n/NoEscape.java
index c2a428a973b..384d09ce1e5 100644
--- a/Mage.Sets/src/mage/cards/n/NoEscape.java
+++ b/Mage.Sets/src/mage/cards/n/NoEscape.java
@@ -8,7 +8,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
import java.util.UUID;
@@ -22,8 +21,8 @@ public final class NoEscape extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/n/NomadMythmaker.java b/Mage.Sets/src/mage/cards/n/NomadMythmaker.java
index 2a0b8cdc631..34a8f59dd8b 100644
--- a/Mage.Sets/src/mage/cards/n/NomadMythmaker.java
+++ b/Mage.Sets/src/mage/cards/n/NomadMythmaker.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -34,7 +33,7 @@ public final class NomadMythmaker extends CardImpl {
private static final FilterCard FILTER = new FilterCard("Aura card from a graveyard");
static {
- FILTER.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ FILTER.add(CardType.ENCHANTMENT.getPredicate());
FILTER.add(new SubtypePredicate(SubType.AURA));
}
diff --git a/Mage.Sets/src/mage/cards/n/NovablastWurm.java b/Mage.Sets/src/mage/cards/n/NovablastWurm.java
index e8c8fc9e02e..47a93bd061e 100644
--- a/Mage.Sets/src/mage/cards/n/NovablastWurm.java
+++ b/Mage.Sets/src/mage/cards/n/NovablastWurm.java
@@ -10,7 +10,7 @@ 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.permanent.AnotherPredicate;
/**
@@ -23,7 +23,7 @@ public final class NovablastWurm extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public NovablastWurm(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NoxiousGhoul.java b/Mage.Sets/src/mage/cards/n/NoxiousGhoul.java
index a7892984442..bceb6def7cd 100644
--- a/Mage.Sets/src/mage/cards/n/NoxiousGhoul.java
+++ b/Mage.Sets/src/mage/cards/n/NoxiousGhoul.java
@@ -14,7 +14,6 @@ import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -30,7 +29,7 @@ public final class NoxiousGhoul extends CardImpl {
private static final FilterPermanent filter2 = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.not(new SubtypePredicate(SubType.ZOMBIE)));
filter2.add(NoxiousGhoulPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/n/NoyanDarRoilShaper.java b/Mage.Sets/src/mage/cards/n/NoyanDarRoilShaper.java
index 7eaf1dad610..d94eb12eee8 100644
--- a/Mage.Sets/src/mage/cards/n/NoyanDarRoilShaper.java
+++ b/Mage.Sets/src/mage/cards/n/NoyanDarRoilShaper.java
@@ -22,10 +22,8 @@ import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
import mage.target.targetpointer.FixedTarget;
@@ -40,8 +38,8 @@ public final class NoyanDarRoilShaper extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public NoyanDarRoilShaper(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/Nucklavee.java b/Mage.Sets/src/mage/cards/n/Nucklavee.java
index 1ca6151aa1d..adf8888f4a3 100644
--- a/Mage.Sets/src/mage/cards/n/Nucklavee.java
+++ b/Mage.Sets/src/mage/cards/n/Nucklavee.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCardInYourGraveyard;
@@ -26,9 +25,9 @@ public final class Nucklavee extends CardImpl {
static {
filterRed.add(new ColorPredicate(ObjectColor.RED));
- filterRed.add(new CardTypePredicate(CardType.SORCERY));
+ filterRed.add(CardType.SORCERY.getPredicate());
filterBlue.add(new ColorPredicate(ObjectColor.BLUE));
- filterBlue.add(new CardTypePredicate(CardType.INSTANT));
+ filterBlue.add(CardType.INSTANT.getPredicate());
}
public Nucklavee(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NullBrooch.java b/Mage.Sets/src/mage/cards/n/NullBrooch.java
index ddc99be9568..f96fea2f6c0 100644
--- a/Mage.Sets/src/mage/cards/n/NullBrooch.java
+++ b/Mage.Sets/src/mage/cards/n/NullBrooch.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -26,7 +25,7 @@ public final class NullBrooch extends CardImpl {
private static final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public NullBrooch(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NullProfusion.java b/Mage.Sets/src/mage/cards/n/NullProfusion.java
index 6332585855b..263d299c775 100644
--- a/Mage.Sets/src/mage/cards/n/NullProfusion.java
+++ b/Mage.Sets/src/mage/cards/n/NullProfusion.java
@@ -37,7 +37,7 @@ public final class NullProfusion extends CardImpl {
// Your maximum hand size is two.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new MaximumHandSizeControllerEffect(
- new StaticValue(2),
+ StaticValue.get(2),
Duration.WhileOnBattlefield,
HandSizeModification.SET,
TargetController.YOU
diff --git a/Mage.Sets/src/mage/cards/n/Nullify.java b/Mage.Sets/src/mage/cards/n/Nullify.java
index 64c3afb3843..4eb438d6c37 100644
--- a/Mage.Sets/src/mage/cards/n/Nullify.java
+++ b/Mage.Sets/src/mage/cards/n/Nullify.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetSpell;
@@ -23,7 +22,7 @@ public final class Nullify extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
+ CardType.CREATURE.getPredicate(),
new SubtypePredicate(SubType.AURA)));
}
diff --git a/Mage.Sets/src/mage/cards/n/NumbingDose.java b/Mage.Sets/src/mage/cards/n/NumbingDose.java
index 939edbe932d..aadcc8006bb 100644
--- a/Mage.Sets/src/mage/cards/n/NumbingDose.java
+++ b/Mage.Sets/src/mage/cards/n/NumbingDose.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -34,8 +33,8 @@ public final class NumbingDose extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public NumbingDose(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/n/NyxInfusion.java b/Mage.Sets/src/mage/cards/n/NyxInfusion.java
index 706e5f8a6f7..4843260a8c0 100644
--- a/Mage.Sets/src/mage/cards/n/NyxInfusion.java
+++ b/Mage.Sets/src/mage/cards/n/NyxInfusion.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -30,7 +29,7 @@ public final class NyxInfusion extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("enchantment");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public NyxInfusion(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OathOfChandra.java b/Mage.Sets/src/mage/cards/o/OathOfChandra.java
index a6018a68aa1..6dfec92ff91 100644
--- a/Mage.Sets/src/mage/cards/o/OathOfChandra.java
+++ b/Mage.Sets/src/mage/cards/o/OathOfChandra.java
@@ -48,7 +48,7 @@ public final class OathOfChandra extends CardImpl {
this.addAbility(ability);
// At the beginning of each end step, if a planeswalker entered the battlefield under your control this turn, Oath of Chandra deals 2 damage to each opponent.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
- new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT),
+ new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT),
TargetController.ANY, false), OathOfChandraCondition.instance,
"At the beginning of each end step, if a planeswalker entered the battlefield under your control this turn, {this} deals 2 damage to each opponent."), new OathOfChandraWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/o/OathOfNissa.java b/Mage.Sets/src/mage/cards/o/OathOfNissa.java
index 34f1e1b060c..707f5da1111 100644
--- a/Mage.Sets/src/mage/cards/o/OathOfNissa.java
+++ b/Mage.Sets/src/mage/cards/o/OathOfNissa.java
@@ -11,7 +11,6 @@ import mage.cards.*;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.ManaPoolItem;
import mage.players.Player;
@@ -51,9 +50,9 @@ class OathOfNissaEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("a creature, land, or planeswalker card");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public OathOfNissaEffect() {
diff --git a/Mage.Sets/src/mage/cards/o/Obliterate.java b/Mage.Sets/src/mage/cards/o/Obliterate.java
index 23e02617ffc..8cfd66e0b3a 100644
--- a/Mage.Sets/src/mage/cards/o/Obliterate.java
+++ b/Mage.Sets/src/mage/cards/o/Obliterate.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,9 +20,9 @@ public final class Obliterate extends CardImpl {
static{
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Obliterate(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OboroEnvoy.java b/Mage.Sets/src/mage/cards/o/OboroEnvoy.java
index fa6d5891b0c..eb728f92e87 100644
--- a/Mage.Sets/src/mage/cards/o/OboroEnvoy.java
+++ b/Mage.Sets/src/mage/cards/o/OboroEnvoy.java
@@ -39,7 +39,7 @@ public final class OboroEnvoy extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {2}, Return a land you control to its owner's hand: Target creature gets -X/-0 until end of turn, where X is the number of cards in your hand.
- Effect effect = new BoostTargetEffect(new SignInversionDynamicValue(CardsInControllerHandCount.instance), new StaticValue(-0), Duration.EndOfTurn, true);
+ Effect effect = new BoostTargetEffect(new SignInversionDynamicValue(CardsInControllerHandCount.instance), StaticValue.get(-0), Duration.EndOfTurn, true);
effect.setText("Target creature gets -X/-0 until end of turn, where X is the number of cards in your hand");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(2));
ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land"))));
diff --git a/Mage.Sets/src/mage/cards/o/ObzedatsAid.java b/Mage.Sets/src/mage/cards/o/ObzedatsAid.java
index 418454f3ca5..7a7ff79a5af 100644
--- a/Mage.Sets/src/mage/cards/o/ObzedatsAid.java
+++ b/Mage.Sets/src/mage/cards/o/ObzedatsAid.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -21,11 +20,11 @@ public final class ObzedatsAid extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public ObzedatsAid(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OdunosRiverTrawler.java b/Mage.Sets/src/mage/cards/o/OdunosRiverTrawler.java
index 32b2badcf26..03fb54ecdad 100644
--- a/Mage.Sets/src/mage/cards/o/OdunosRiverTrawler.java
+++ b/Mage.Sets/src/mage/cards/o/OdunosRiverTrawler.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -26,8 +25,8 @@ public final class OdunosRiverTrawler extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment creature card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
}
public OdunosRiverTrawler(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java b/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java
index 5478933ae8f..95bed860cf3 100644
--- a/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java
+++ b/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java
@@ -12,7 +12,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
@@ -30,7 +29,7 @@ public final class OgreGeargrabber extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Equipment an opponent controls");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
filter.add(new ControllerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/o/OjutaiExemplars.java b/Mage.Sets/src/mage/cards/o/OjutaiExemplars.java
index c4fd7a50597..5ec53329804 100644
--- a/Mage.Sets/src/mage/cards/o/OjutaiExemplars.java
+++ b/Mage.Sets/src/mage/cards/o/OjutaiExemplars.java
@@ -22,7 +22,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
@@ -36,7 +35,7 @@ public final class OjutaiExemplars extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public OjutaiExemplars(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OketrasMonument.java b/Mage.Sets/src/mage/cards/o/OketrasMonument.java
index e30a4796a0f..c71f7ff230d 100644
--- a/Mage.Sets/src/mage/cards/o/OketrasMonument.java
+++ b/Mage.Sets/src/mage/cards/o/OketrasMonument.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.permanent.token.WarriorVigilantToken;
@@ -29,10 +28,10 @@ public final class OketrasMonument extends CardImpl {
private static final FilterSpell filter2 = new FilterSpell("a creature spell");
static {
- filter.add(Predicates.and(new ColorPredicate(ObjectColor.WHITE), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.and(new ColorPredicate(ObjectColor.WHITE), CardType.CREATURE.getPredicate()));
}
static {
- filter2.add(new CardTypePredicate(CardType.CREATURE));
+ filter2.add(CardType.CREATURE.getPredicate());
}
public OketrasMonument(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java b/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java
index 3d51dcc1091..125e2172b4c 100644
--- a/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java
+++ b/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java
@@ -47,7 +47,7 @@ public final class OloroAgelessAscetic extends CardImpl {
// At the beginning of your upkeep, if Oloro, Ageless Ascetic is in the command zone, you gain 2 life.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND,
- new GainLifeEffect(new StaticValue(2), "if {this} is in the command zone, you gain 2 life"), TargetController.YOU, false));
+ new GainLifeEffect(StaticValue.get(2), "if {this} is in the command zone, you gain 2 life"), TargetController.YOU, false));
}
public OloroAgelessAscetic(final OloroAgelessAscetic card) {
diff --git a/Mage.Sets/src/mage/cards/o/OnceUponATime.java b/Mage.Sets/src/mage/cards/o/OnceUponATime.java
index 871e8985a41..db44847a9b3 100644
--- a/Mage.Sets/src/mage/cards/o/OnceUponATime.java
+++ b/Mage.Sets/src/mage/cards/o/OnceUponATime.java
@@ -12,7 +12,6 @@ import mage.constants.WatcherScope;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.watchers.Watcher;
@@ -30,8 +29,8 @@ public final class OnceUponATime extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
@@ -46,7 +45,7 @@ public final class OnceUponATime extends CardImpl {
// Look at the top five cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter,
+ StaticValue.get(5), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND,
true, false, false
).setBackInRandomOrder(true).setText("Look at the top five cards of your library. " +
diff --git a/Mage.Sets/src/mage/cards/o/OneWithTheStars.java b/Mage.Sets/src/mage/cards/o/OneWithTheStars.java
index 262efaa5ef9..168757c0575 100644
--- a/Mage.Sets/src/mage/cards/o/OneWithTheStars.java
+++ b/Mage.Sets/src/mage/cards/o/OneWithTheStars.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -26,8 +25,8 @@ public final class OneWithTheStars extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/o/OnwardVictory.java b/Mage.Sets/src/mage/cards/o/OnwardVictory.java
index e5d5aa698d1..c18eb6220f6 100644
--- a/Mage.Sets/src/mage/cards/o/OnwardVictory.java
+++ b/Mage.Sets/src/mage/cards/o/OnwardVictory.java
@@ -25,7 +25,7 @@ public final class OnwardVictory extends SplitCard {
// Onward
// Target creature gets +X/+0 until end of turn where X is its power.
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent());
- getLeftHalfCard().getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, new StaticValue(0), Duration.EndOfTurn, true));
+ getLeftHalfCard().getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, StaticValue.get(0), Duration.EndOfTurn, true));
// to
// Victory
diff --git a/Mage.Sets/src/mage/cards/o/OpalAcrolith.java b/Mage.Sets/src/mage/cards/o/OpalAcrolith.java
index 235bf3a3620..1708c54e16f 100644
--- a/Mage.Sets/src/mage/cards/o/OpalAcrolith.java
+++ b/Mage.Sets/src/mage/cards/o/OpalAcrolith.java
@@ -18,7 +18,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.TokenImpl;
/**
@@ -30,7 +29,7 @@ public final class OpalAcrolith extends CardImpl {
private static final FilterSpell filter = new FilterSpell("creature spell");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public OpalAcrolith(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OpalTitan.java b/Mage.Sets/src/mage/cards/o/OpalTitan.java
index d75f1cd1e67..5784ded4cff 100644
--- a/Mage.Sets/src/mage/cards/o/OpalTitan.java
+++ b/Mage.Sets/src/mage/cards/o/OpalTitan.java
@@ -17,9 +17,6 @@ import mage.constants.CardType;
import mage.constants.DependencyType;
import mage.constants.Duration;
import mage.constants.Layer;
-import static mage.constants.Layer.AbilityAddingRemovingEffects_6;
-import static mage.constants.Layer.PTChangingEffects_7;
-import static mage.constants.Layer.TypeChangingEffects_4;
import mage.constants.Outcome;
import mage.constants.SetTargetPointer;
import mage.constants.SubLayer;
@@ -27,7 +24,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
@@ -41,7 +37,7 @@ public final class OpalTitan extends CardImpl {
private static final FilterSpell filter = new FilterSpell("creature spell");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public OpalTitan(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OpenTheGates.java b/Mage.Sets/src/mage/cards/o/OpenTheGates.java
index 673655a8213..91aa07c3e3f 100644
--- a/Mage.Sets/src/mage/cards/o/OpenTheGates.java
+++ b/Mage.Sets/src/mage/cards/o/OpenTheGates.java
@@ -8,7 +8,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -26,7 +25,7 @@ public final class OpenTheGates extends CardImpl {
filter.add(Predicates.or(
Predicates.and(
new SupertypePredicate(SuperType.BASIC),
- new CardTypePredicate(CardType.LAND)
+ CardType.LAND.getPredicate()
), new SubtypePredicate(SubType.GATE)
));
}
diff --git a/Mage.Sets/src/mage/cards/o/OpportunisticDragon.java b/Mage.Sets/src/mage/cards/o/OpportunisticDragon.java
index 60d557c2625..3876c45e41b 100644
--- a/Mage.Sets/src/mage/cards/o/OpportunisticDragon.java
+++ b/Mage.Sets/src/mage/cards/o/OpportunisticDragon.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
@@ -32,7 +31,7 @@ public final class OpportunisticDragon extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
+ CardType.ARTIFACT.getPredicate(),
new SubtypePredicate(SubType.HUMAN)
));
filter.add(new ControllerPredicate(TargetController.OPPONENT));
diff --git a/Mage.Sets/src/mage/cards/o/Opposition.java b/Mage.Sets/src/mage/cards/o/Opposition.java
index 30112bc8ee0..3176295596f 100644
--- a/Mage.Sets/src/mage/cards/o/Opposition.java
+++ b/Mage.Sets/src/mage/cards/o/Opposition.java
@@ -13,7 +13,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
@@ -28,9 +27,9 @@ public final class Opposition extends CardImpl {
static {
artifactcreatureorland.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
private static final FilterControlledCreaturePermanent untappedcreatureyoucontrol = new FilterControlledCreaturePermanent("untapped creature you control");
diff --git a/Mage.Sets/src/mage/cards/o/OranRiefTheVastwood.java b/Mage.Sets/src/mage/cards/o/OranRiefTheVastwood.java
index 409f109a41a..68a443cb455 100644
--- a/Mage.Sets/src/mage/cards/o/OranRiefTheVastwood.java
+++ b/Mage.Sets/src/mage/cards/o/OranRiefTheVastwood.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -65,7 +64,7 @@ class OranRiefTheVastwoodEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
FilterPermanent filter = new FilterPermanent();
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ColorPredicate(ObjectColor.GREEN));
for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
if (permanent.getTurnsOnBattlefield() == 0) {
diff --git a/Mage.Sets/src/mage/cards/o/OrcishVandal.java b/Mage.Sets/src/mage/cards/o/OrcishVandal.java
index 537a434849b..383c5b6f886 100644
--- a/Mage.Sets/src/mage/cards/o/OrcishVandal.java
+++ b/Mage.Sets/src/mage/cards/o/OrcishVandal.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetAnyTarget;
@@ -26,7 +25,7 @@ public final class OrcishVandal extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public OrcishVandal(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/o/OreadOfMountainsBlaze.java b/Mage.Sets/src/mage/cards/o/OreadOfMountainsBlaze.java
new file mode 100644
index 00000000000..8f2f8c49e0c
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/o/OreadOfMountainsBlaze.java
@@ -0,0 +1,44 @@
+package mage.cards.o;
+
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.DiscardCardCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.SubType;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class OreadOfMountainsBlaze extends CardImpl {
+
+ public OreadOfMountainsBlaze(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{1}{R}");
+
+ this.subtype.add(SubType.NYMPH);
+ this.power = new MageInt(1);
+ this.toughness = new MageInt(3);
+
+ // {2}{R}, Discard a card: Draw a card.
+ Ability ability = new SimpleActivatedAbility(
+ new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{R}")
+ );
+ ability.addCost(new DiscardCardCost());
+ this.addAbility(ability);
+ }
+
+ private OreadOfMountainsBlaze(final OreadOfMountainsBlaze card) {
+ super(card);
+ }
+
+ @Override
+ public OreadOfMountainsBlaze copy() {
+ return new OreadOfMountainsBlaze(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/cards/o/OxiddaDaredevil.java b/Mage.Sets/src/mage/cards/o/OxiddaDaredevil.java
index 2f74bc97357..1639238a008 100644
--- a/Mage.Sets/src/mage/cards/o/OxiddaDaredevil.java
+++ b/Mage.Sets/src/mage/cards/o/OxiddaDaredevil.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -26,7 +25,7 @@ public final class OxiddaDaredevil extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public OxiddaDaredevil (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PacificationArray.java b/Mage.Sets/src/mage/cards/p/PacificationArray.java
index 294b334f87e..dbbfde8dc86 100644
--- a/Mage.Sets/src/mage/cards/p/PacificationArray.java
+++ b/Mage.Sets/src/mage/cards/p/PacificationArray.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -24,8 +23,8 @@ public final class PacificationArray extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact or creature");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public PacificationArray(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/ParadoxicalOutcome.java b/Mage.Sets/src/mage/cards/p/ParadoxicalOutcome.java
index 5580ac75a1d..196052208e7 100644
--- a/Mage.Sets/src/mage/cards/p/ParadoxicalOutcome.java
+++ b/Mage.Sets/src/mage/cards/p/ParadoxicalOutcome.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -33,7 +32,7 @@ public final class ParadoxicalOutcome extends CardImpl {
private static FilterControlledPermanent filter = new FilterControlledPermanent("any number of target nonland, nontoken permanents you control");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(Predicates.not(TokenPredicate.instance));
}
diff --git a/Mage.Sets/src/mage/cards/p/ParallelEvolution.java b/Mage.Sets/src/mage/cards/p/ParallelEvolution.java
index 84af3037c4e..22543370f25 100644
--- a/Mage.Sets/src/mage/cards/p/ParallelEvolution.java
+++ b/Mage.Sets/src/mage/cards/p/ParallelEvolution.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.TimingRule;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -50,7 +49,7 @@ class ParallelEvolutionEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(TokenPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheOrochi.java b/Mage.Sets/src/mage/cards/p/PatronOfTheOrochi.java
index 819c291b8bc..1d47d5a9665 100644
--- a/Mage.Sets/src/mage/cards/p/PatronOfTheOrochi.java
+++ b/Mage.Sets/src/mage/cards/p/PatronOfTheOrochi.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
@@ -58,7 +57,7 @@ class PatronOfTheOrochiEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent();
static {
filter.add(Predicates.or( new SubtypePredicate(SubType.FOREST),
- Predicates.and(new CardTypePredicate(CardType.CREATURE),
+ Predicates.and(CardType.CREATURE.getPredicate(),
new ColorPredicate(ObjectColor.GREEN))
));
}
diff --git a/Mage.Sets/src/mage/cards/p/PeerThroughDepths.java b/Mage.Sets/src/mage/cards/p/PeerThroughDepths.java
index f508a5a8f2d..70f82788391 100644
--- a/Mage.Sets/src/mage/cards/p/PeerThroughDepths.java
+++ b/Mage.Sets/src/mage/cards/p/PeerThroughDepths.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -23,8 +22,8 @@ public final class PeerThroughDepths extends CardImpl {
private static final FilterCard filter = new FilterCard("an instant or sorcery card");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.SORCERY),
- new CardTypePredicate(CardType.INSTANT)));
+ CardType.SORCERY.getPredicate(),
+ CardType.INSTANT.getPredicate()));
}
@@ -35,7 +34,7 @@ public final class PeerThroughDepths extends CardImpl {
// Look at the top five cards of your library. You may reveal an instant or sorcery card from among them and put it into your hand.
// Put the rest on the bottom of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(1), filter, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(1), filter, false));
}
public PeerThroughDepths (final PeerThroughDepths card) {
diff --git a/Mage.Sets/src/mage/cards/p/PerilousPredicament.java b/Mage.Sets/src/mage/cards/p/PerilousPredicament.java
index 1f4da9092d3..0c13ea4f7f5 100644
--- a/Mage.Sets/src/mage/cards/p/PerilousPredicament.java
+++ b/Mage.Sets/src/mage/cards/p/PerilousPredicament.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.filter.common.FilterArtifactCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -68,7 +67,7 @@ class PerilousPredicamentSacrificeOpponentsEffect extends OneShotEffect {
FilterArtifactCreaturePermanent filterArtifact = new FilterArtifactCreaturePermanent("an artifact creature");
filterArtifact.add(new ControllerIdPredicate(player.getId()));
FilterCreaturePermanent filterNonArtifact = new FilterCreaturePermanent("a nonartifact creature");
- filterNonArtifact.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filterNonArtifact.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filterNonArtifact.add(new ControllerIdPredicate(player.getId()));
if (game.getBattlefield().countAll(filterArtifact, player.getId(), game) > 0) {
TargetPermanent target = new TargetPermanent(1, 1, filterArtifact, true);
diff --git a/Mage.Sets/src/mage/cards/p/Perish.java b/Mage.Sets/src/mage/cards/p/Perish.java
index f92b95dfd47..f107672c6da 100644
--- a/Mage.Sets/src/mage/cards/p/Perish.java
+++ b/Mage.Sets/src/mage/cards/p/Perish.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -21,7 +20,7 @@ public final class Perish extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.GREEN));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public Perish(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PerniciousDeed.java b/Mage.Sets/src/mage/cards/p/PerniciousDeed.java
index 0654ce7a44f..9a965d344a7 100644
--- a/Mage.Sets/src/mage/cards/p/PerniciousDeed.java
+++ b/Mage.Sets/src/mage/cards/p/PerniciousDeed.java
@@ -15,7 +15,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
@@ -65,9 +64,9 @@ class PerniciousDeedEffect extends OneShotEffect {
FilterPermanent filter = new FilterPermanent("artifacts, creatures, and enchantments");
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, source.getManaCostsToPay().getX() + 1));
return new DestroyAllEffect(filter).apply(game, source);
diff --git a/Mage.Sets/src/mage/cards/p/PersonalTutor.java b/Mage.Sets/src/mage/cards/p/PersonalTutor.java
index 8d4d3ddb3ef..5bb6d90db14 100644
--- a/Mage.Sets/src/mage/cards/p/PersonalTutor.java
+++ b/Mage.Sets/src/mage/cards/p/PersonalTutor.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -17,7 +16,7 @@ import mage.target.common.TargetCardInLibrary;
public final class PersonalTutor extends CardImpl {
private static final FilterCard filter = new FilterCard("Sorcery card");
static{
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public PersonalTutor(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PestilentSpirit.java b/Mage.Sets/src/mage/cards/p/PestilentSpirit.java
index 56f1611be3b..2edb9ec3292 100644
--- a/Mage.Sets/src/mage/cards/p/PestilentSpirit.java
+++ b/Mage.Sets/src/mage/cards/p/PestilentSpirit.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterObject;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -25,8 +24,8 @@ public final class PestilentSpirit extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/p/PetrifiedWoodKin.java b/Mage.Sets/src/mage/cards/p/PetrifiedWoodKin.java
index 5ebe0cbb212..a42b819797a 100644
--- a/Mage.Sets/src/mage/cards/p/PetrifiedWoodKin.java
+++ b/Mage.Sets/src/mage/cards/p/PetrifiedWoodKin.java
@@ -18,7 +18,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.counters.CounterType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -33,7 +32,7 @@ public final class PetrifiedWoodKin extends CardImpl {
private static final FilterCard filter = new FilterCard("instants");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public PetrifiedWoodKin(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PharikasMender.java b/Mage.Sets/src/mage/cards/p/PharikasMender.java
index 25c8409623f..92546fc6df5 100644
--- a/Mage.Sets/src/mage/cards/p/PharikasMender.java
+++ b/Mage.Sets/src/mage/cards/p/PharikasMender.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.common.TargetCardInYourGraveyard;
@@ -25,8 +24,8 @@ public final class PharikasMender extends CardImpl {
private static final FilterCard filter = new FilterCard("creature or enchantment card from your graveyard");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public PharikasMender(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PhylacteryLich.java b/Mage.Sets/src/mage/cards/p/PhylacteryLich.java
index 3731d85f8bf..a6de78d8374 100644
--- a/Mage.Sets/src/mage/cards/p/PhylacteryLich.java
+++ b/Mage.Sets/src/mage/cards/p/PhylacteryLich.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
@@ -95,7 +94,7 @@ class PhylacteryLichEffect extends OneShotEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public PhylacteryLichEffect() {
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianMetamorph.java b/Mage.Sets/src/mage/cards/p/PhyrexianMetamorph.java
index 688cded0513..ddf5f6177bd 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexianMetamorph.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexianMetamorph.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.util.functions.ApplyToPermanent;
@@ -31,8 +30,8 @@ public final class PhyrexianMetamorph extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public PhyrexianMetamorph(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianNegator.java b/Mage.Sets/src/mage/cards/p/PhyrexianNegator.java
index 728446d4d49..1511c15e121 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexianNegator.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexianNegator.java
@@ -74,7 +74,7 @@ class PhyrexianNegatorTriggeredAbility extends TriggeredAbilityImpl {
Player player = game.getPlayer(controller);
if (player != null) {
getEffects().get(0).setTargetPointer(new FixedTarget(player.getId()));
- ((SacrificeEffect) getEffects().get(0)).setAmount(new StaticValue(event.getAmount()));
+ ((SacrificeEffect) getEffects().get(0)).setAmount(StaticValue.get(event.getAmount()));
return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianObliterator.java b/Mage.Sets/src/mage/cards/p/PhyrexianObliterator.java
index cfd66b75247..167ae39f705 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexianObliterator.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexianObliterator.java
@@ -77,7 +77,7 @@ class PhyrexianObliteratorTriggeredAbility extends TriggeredAbilityImpl {
Player player = game.getPlayer(controller);
if (player != null) {
getEffects().get(0).setTargetPointer(new FixedTarget(player.getId()));
- ((SacrificeEffect) getEffects().get(0)).setAmount(new StaticValue(event.getAmount()));
+ ((SacrificeEffect) getEffects().get(0)).setAmount(StaticValue.get(event.getAmount()));
return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianScriptures.java b/Mage.Sets/src/mage/cards/p/PhyrexianScriptures.java
index 91074ecc39f..3e83ce4d964 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexianScriptures.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexianScriptures.java
@@ -20,7 +20,6 @@ import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -34,7 +33,7 @@ public final class PhyrexianScriptures extends CardImpl {
private static final FilterCard filter2 = new FilterCard("opponents' cards");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter2.add(new OwnerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java b/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java
index b48842a7eac..7347df1497f 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java
@@ -106,7 +106,7 @@ class PhyrexianTotemTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getTargetId().equals(getSourceId())) {
getEffects().get(0).setTargetPointer(new FixedTarget(getControllerId()));
- ((SacrificeEffect) getEffects().get(0)).setAmount(new StaticValue(event.getAmount()));
+ ((SacrificeEffect) getEffects().get(0)).setAmount(StaticValue.get(event.getAmount()));
return true;
}
return false;
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexiasCore.java b/Mage.Sets/src/mage/cards/p/PhyrexiasCore.java
index 99777628ef5..25b3397eab1 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexiasCore.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexiasCore.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -25,7 +24,7 @@ public final class PhyrexiasCore extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public PhyrexiasCore(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PiecesOfThePuzzle.java b/Mage.Sets/src/mage/cards/p/PiecesOfThePuzzle.java
index 51aac31bb4c..745b5176102 100644
--- a/Mage.Sets/src/mage/cards/p/PiecesOfThePuzzle.java
+++ b/Mage.Sets/src/mage/cards/p/PiecesOfThePuzzle.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,14 +21,14 @@ public final class PiecesOfThePuzzle extends CardImpl {
private static final FilterCard FILTER = new FilterCard("up to two instant and/or sorcery cards");
static {
- FILTER.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ FILTER.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public PiecesOfThePuzzle(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{U}");
// Reveal the top five cards of your library. Put up to two instant and/or sorcery cards from among them into your hand and the rest into your graveyard.
- Effect effect = new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(2), FILTER, Zone.GRAVEYARD, false, true, true, Zone.HAND, false);
+ Effect effect = new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(2), FILTER, Zone.GRAVEYARD, false, true, true, Zone.HAND, false);
effect.setText("Reveal the top five cards of your library. Put up to two instant and/or sorcery cards from among them into your hand and the rest into your graveyard");
this.getSpellAbility().addEffect(effect);
}
diff --git a/Mage.Sets/src/mage/cards/p/PilgrimsEye.java b/Mage.Sets/src/mage/cards/p/PilgrimsEye.java
index 29e2d461cf9..d48e900f17c 100644
--- a/Mage.Sets/src/mage/cards/p/PilgrimsEye.java
+++ b/Mage.Sets/src/mage/cards/p/PilgrimsEye.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -28,7 +27,7 @@ public final class PilgrimsEye extends CardImpl {
static {
filter.add(new SupertypePredicate(SuperType.BASIC));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public PilgrimsEye (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/Pillage.java b/Mage.Sets/src/mage/cards/p/Pillage.java
index c28912fbb13..06e1b01e24a 100644
--- a/Mage.Sets/src/mage/cards/p/Pillage.java
+++ b/Mage.Sets/src/mage/cards/p/Pillage.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,8 +21,8 @@ public final class Pillage extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Pillage(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PistonSledge.java b/Mage.Sets/src/mage/cards/p/PistonSledge.java
index cf3dd53640a..8121bd1707e 100644
--- a/Mage.Sets/src/mage/cards/p/PistonSledge.java
+++ b/Mage.Sets/src/mage/cards/p/PistonSledge.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetControlledPermanent;
@@ -31,7 +30,7 @@ public final class PistonSledge extends CardImpl {
private static FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public PistonSledge (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/Plaguebearer.java b/Mage.Sets/src/mage/cards/p/Plaguebearer.java
index a9dec0874b5..c174bc53a14 100644
--- a/Mage.Sets/src/mage/cards/p/Plaguebearer.java
+++ b/Mage.Sets/src/mage/cards/p/Plaguebearer.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.XCMCPermanentAdjuster;
@@ -28,7 +27,7 @@ public final class Plaguebearer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nonblack creature with converted mana cost X");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/p/Plaguecrafter.java b/Mage.Sets/src/mage/cards/p/Plaguecrafter.java
index 19830b5503a..f176630b163 100644
--- a/Mage.Sets/src/mage/cards/p/Plaguecrafter.java
+++ b/Mage.Sets/src/mage/cards/p/Plaguecrafter.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -87,8 +86,8 @@ class PlaguecrafterEffect extends OneShotEffect {
}
FilterControlledPermanent filter = new FilterControlledPermanent("creature or planeswalker");
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true);
if (target.canChoose(player.getId(), game)) {
diff --git a/Mage.Sets/src/mage/cards/p/PlanarOutburst.java b/Mage.Sets/src/mage/cards/p/PlanarOutburst.java
index 0d7bfc485ab..8e2dc8ccabb 100644
--- a/Mage.Sets/src/mage/cards/p/PlanarOutburst.java
+++ b/Mage.Sets/src/mage/cards/p/PlanarOutburst.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class PlanarOutburst extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonland creatures");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public PlanarOutburst(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PleaForGuidance.java b/Mage.Sets/src/mage/cards/p/PleaForGuidance.java
index d2f22207f67..0ad836e6b0a 100644
--- a/Mage.Sets/src/mage/cards/p/PleaForGuidance.java
+++ b/Mage.Sets/src/mage/cards/p/PleaForGuidance.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -18,7 +17,7 @@ public final class PleaForGuidance extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment cards");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public PleaForGuidance(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/Plunder.java b/Mage.Sets/src/mage/cards/p/Plunder.java
index b2292ea087f..8465178441f 100644
--- a/Mage.Sets/src/mage/cards/p/Plunder.java
+++ b/Mage.Sets/src/mage/cards/p/Plunder.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,7 +21,7 @@ public final class Plunder extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.LAND.getPredicate()));
}
public Plunder(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PolisCrusher.java b/Mage.Sets/src/mage/cards/p/PolisCrusher.java
index 22c4d9118b7..12fd94dcb29 100644
--- a/Mage.Sets/src/mage/cards/p/PolisCrusher.java
+++ b/Mage.Sets/src/mage/cards/p/PolisCrusher.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
@@ -32,7 +31,7 @@ public final class PolisCrusher extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantments");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public PolisCrusher(UUID ownerId, CardSetInfo setInfo) {
@@ -96,7 +95,7 @@ class PolisCrusherTriggeredAbility extends TriggeredAbilityImpl {
Player player = game.getPlayer(event.getTargetId());
if (player != null) {
FilterPermanent filter = new FilterPermanent("an enchantment controlled by " + player.getLogName());
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter.add(new ControllerIdPredicate(event.getTargetId()));
this.getTargets().clear();
this.addTarget(new TargetPermanent(filter));
diff --git a/Mage.Sets/src/mage/cards/p/PossessedSkaab.java b/Mage.Sets/src/mage/cards/p/PossessedSkaab.java
index adb7dea7886..acd47e5fb02 100644
--- a/Mage.Sets/src/mage/cards/p/PossessedSkaab.java
+++ b/Mage.Sets/src/mage/cards/p/PossessedSkaab.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -36,9 +35,9 @@ public final class PossessedSkaab extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public PossessedSkaab(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PowderKeg.java b/Mage.Sets/src/mage/cards/p/PowderKeg.java
index cc5ca568129..d67ae2924ab 100644
--- a/Mage.Sets/src/mage/cards/p/PowderKeg.java
+++ b/Mage.Sets/src/mage/cards/p/PowderKeg.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -71,7 +70,7 @@ class PowderKegEffect extends OneShotEffect {
}
int count = sourcePermanent.getCounters(game).getCount(CounterType.FUSE);
FilterPermanent filter = new FilterPermanent();
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, count));
for (Permanent perm : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) {
perm.destroy(source.getSourceId(), game, false);
diff --git a/Mage.Sets/src/mage/cards/p/PowerstoneShard.java b/Mage.Sets/src/mage/cards/p/PowerstoneShard.java
index 5d7fea09c06..7862217f161 100644
--- a/Mage.Sets/src/mage/cards/p/PowerstoneShard.java
+++ b/Mage.Sets/src/mage/cards/p/PowerstoneShard.java
@@ -9,7 +9,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
/**
@@ -22,7 +21,7 @@ public final class PowerstoneShard extends CardImpl {
static {
filter.add(new NamePredicate("Powerstone Shard"));
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public PowerstoneShard(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PriceOfBetrayal.java b/Mage.Sets/src/mage/cards/p/PriceOfBetrayal.java
index 25b2ce6cc70..79839d09aa0 100644
--- a/Mage.Sets/src/mage/cards/p/PriceOfBetrayal.java
+++ b/Mage.Sets/src/mage/cards/p/PriceOfBetrayal.java
@@ -12,7 +12,6 @@ import mage.filter.FilterOpponent;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterPermanentOrPlayer;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -29,9 +28,9 @@ public final class PriceOfBetrayal extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/p/PrimalAmulet.java b/Mage.Sets/src/mage/cards/p/PrimalAmulet.java
index 2136cf03af3..390e8f55efc 100644
--- a/Mage.Sets/src/mage/cards/p/PrimalAmulet.java
+++ b/Mage.Sets/src/mage/cards/p/PrimalAmulet.java
@@ -18,7 +18,6 @@ import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.common.FilterInstantOrSorcerySpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -33,8 +32,8 @@ public final class PrimalAmulet extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/p/PrimalCommand.java b/Mage.Sets/src/mage/cards/p/PrimalCommand.java
index 93ddcec52b5..ef4df802f1c 100644
--- a/Mage.Sets/src/mage/cards/p/PrimalCommand.java
+++ b/Mage.Sets/src/mage/cards/p/PrimalCommand.java
@@ -16,7 +16,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.Target;
@@ -33,7 +32,7 @@ public final class PrimalCommand extends CardImpl {
private static final FilterPermanent filterNonCreature = new FilterPermanent("noncreature permanent");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public PrimalCommand(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PrimeSpeakerVannifar.java b/Mage.Sets/src/mage/cards/p/PrimeSpeakerVannifar.java
index e0c0313c7ec..887b3bbd484 100644
--- a/Mage.Sets/src/mage/cards/p/PrimeSpeakerVannifar.java
+++ b/Mage.Sets/src/mage/cards/p/PrimeSpeakerVannifar.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -90,7 +89,7 @@ class PrimeSpeakerVannifarEffect extends OneShotEffect {
int newConvertedCost = sacrificedPermanent.getConvertedManaCost() + 1;
FilterCard filter = new FilterCard("creature card with converted mana cost " + newConvertedCost);
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, newConvertedCost));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
TargetCardInLibrary target = new TargetCardInLibrary(filter);
if (controller.searchLibrary(target, source, game)) {
Card card = controller.getLibrary().getCard(target.getFirstTarget(), game);
diff --git a/Mage.Sets/src/mage/cards/p/PrimevalBounty.java b/Mage.Sets/src/mage/cards/p/PrimevalBounty.java
index 26c79a89e81..f61d0018d00 100644
--- a/Mage.Sets/src/mage/cards/p/PrimevalBounty.java
+++ b/Mage.Sets/src/mage/cards/p/PrimevalBounty.java
@@ -17,7 +17,6 @@ import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
import mage.filter.common.FilterLandPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.BeastToken;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -30,7 +29,7 @@ public final class PrimevalBounty extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public PrimevalBounty(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PristineAngel.java b/Mage.Sets/src/mage/cards/p/PristineAngel.java
index 420df3423f0..0a54a1a39f1 100644
--- a/Mage.Sets/src/mage/cards/p/PristineAngel.java
+++ b/Mage.Sets/src/mage/cards/p/PristineAngel.java
@@ -21,7 +21,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
@@ -35,7 +34,7 @@ public final class PristineAngel extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
+ CardType.ARTIFACT.getPredicate(),
new ColorPredicate(ObjectColor.BLACK),
new ColorPredicate(ObjectColor.BLUE),
new ColorPredicate(ObjectColor.GREEN),
diff --git a/Mage.Sets/src/mage/cards/p/PristineSkywise.java b/Mage.Sets/src/mage/cards/p/PristineSkywise.java
index 71d31cb03fc..df196781255 100644
--- a/Mage.Sets/src/mage/cards/p/PristineSkywise.java
+++ b/Mage.Sets/src/mage/cards/p/PristineSkywise.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,7 +25,7 @@ public final class PristineSkywise extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public PristineSkywise(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/ProfoundJourney.java b/Mage.Sets/src/mage/cards/p/ProfoundJourney.java
index af2971e72a1..7a1709650d7 100644
--- a/Mage.Sets/src/mage/cards/p/ProfoundJourney.java
+++ b/Mage.Sets/src/mage/cards/p/ProfoundJourney.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -22,11 +21,11 @@ public final class ProfoundJourney extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public ProfoundJourney(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/ProphetOfKruphix.java b/Mage.Sets/src/mage/cards/p/ProphetOfKruphix.java
index b3910149683..4feb4c5edcb 100644
--- a/Mage.Sets/src/mage/cards/p/ProphetOfKruphix.java
+++ b/Mage.Sets/src/mage/cards/p/ProphetOfKruphix.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -27,8 +26,8 @@ public final class ProphetOfKruphix extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public ProphetOfKruphix(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PropheticBolt.java b/Mage.Sets/src/mage/cards/p/PropheticBolt.java
index 76a980aabe1..3e0479362bc 100644
--- a/Mage.Sets/src/mage/cards/p/PropheticBolt.java
+++ b/Mage.Sets/src/mage/cards/p/PropheticBolt.java
@@ -25,7 +25,7 @@ public final class PropheticBolt extends CardImpl {
// Prophetic Bolt deals 4 damage to any target. Look at the top four cards of your library. Put one of those cards into your hand and the rest on the bottom of your library in any order.
this.getSpellAbility().addEffect(new DamageTargetEffect(4));
this.getSpellAbility().addTarget(new TargetAnyTarget());
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false));
}
public PropheticBolt(final PropheticBolt card) {
diff --git a/Mage.Sets/src/mage/cards/p/ProwlingSerpopard.java b/Mage.Sets/src/mage/cards/p/ProwlingSerpopard.java
index e84228b145d..e676d6beb9a 100644
--- a/Mage.Sets/src/mage/cards/p/ProwlingSerpopard.java
+++ b/Mage.Sets/src/mage/cards/p/ProwlingSerpopard.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class ProwlingSerpopard extends CardImpl {
private static final FilterSpell filterTarget = new FilterSpell("Creature spells you control");
static {
- filterTarget.add(new CardTypePredicate(CardType.CREATURE));
+ filterTarget.add(CardType.CREATURE.getPredicate());
}
public ProwlingSerpopard(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PsychicRebuttal.java b/Mage.Sets/src/mage/cards/p/PsychicRebuttal.java
index 1e85aba50da..79509f9d388 100644
--- a/Mage.Sets/src/mage/cards/p/PsychicRebuttal.java
+++ b/Mage.Sets/src/mage/cards/p/PsychicRebuttal.java
@@ -14,7 +14,6 @@ import mage.filter.FilterSpell;
import mage.filter.predicate.ObjectPlayer;
import mage.filter.predicate.ObjectPlayerPredicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.stack.Spell;
import mage.game.stack.StackObject;
@@ -31,7 +30,7 @@ public final class PsychicRebuttal extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant or sorcery spell that targets you");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
filter.add(new PsychicRebuttalPredicate());
}
diff --git a/Mage.Sets/src/mage/cards/p/PteronGhost.java b/Mage.Sets/src/mage/cards/p/PteronGhost.java
index 29b7ef20712..2c4d7edeb18 100644
--- a/Mage.Sets/src/mage/cards/p/PteronGhost.java
+++ b/Mage.Sets/src/mage/cards/p/PteronGhost.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -25,7 +24,7 @@ public final class PteronGhost extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public PteronGhost(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PucasMischief.java b/Mage.Sets/src/mage/cards/p/PucasMischief.java
index dcf0628b1b4..87de7aab078 100644
--- a/Mage.Sets/src/mage/cards/p/PucasMischief.java
+++ b/Mage.Sets/src/mage/cards/p/PucasMischief.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -56,7 +55,7 @@ class TargetControlledPermanentWithCMCGreaterOrLessThanOpponentPermanent extends
public TargetControlledPermanentWithCMCGreaterOrLessThanOpponentPermanent() {
super();
this.filter = this.filter.copy();
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
setTargetName("nonland permanent you control");
}
@@ -92,7 +91,7 @@ class PucasMischiefSecondTarget extends TargetPermanent {
super();
this.filter = this.filter.copy();
filter.add(new ControllerPredicate(TargetController.OPPONENT));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
setTargetName("permanent an opponent controls with an equal or lesser converted mana cost");
}
diff --git a/Mage.Sets/src/mage/cards/p/PullFromTheDeep.java b/Mage.Sets/src/mage/cards/p/PullFromTheDeep.java
index c0401281067..d7ce7af7ee1 100644
--- a/Mage.Sets/src/mage/cards/p/PullFromTheDeep.java
+++ b/Mage.Sets/src/mage/cards/p/PullFromTheDeep.java
@@ -9,7 +9,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.targetpointer.SecondTargetPointer;
@@ -23,8 +22,8 @@ public final class PullFromTheDeep extends CardImpl {
private static final FilterCard filterSorcery = new FilterCard("sorcery card from your graveyard");
static {
- filterInstant.add(new CardTypePredicate(CardType.INSTANT));
- filterSorcery.add(new CardTypePredicate(CardType.SORCERY));
+ filterInstant.add(CardType.INSTANT.getPredicate());
+ filterSorcery.add(CardType.SORCERY.getPredicate());
}
public PullFromTheDeep(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PulseOfMurasa.java b/Mage.Sets/src/mage/cards/p/PulseOfMurasa.java
index f1f541e9932..6817ed74175 100644
--- a/Mage.Sets/src/mage/cards/p/PulseOfMurasa.java
+++ b/Mage.Sets/src/mage/cards/p/PulseOfMurasa.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInGraveyard;
/**
@@ -22,8 +21,8 @@ public final class PulseOfMurasa extends CardImpl {
static {
FILTER.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public PulseOfMurasa(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/Purge.java b/Mage.Sets/src/mage/cards/p/Purge.java
index 35262d68299..ca2e464ff48 100644
--- a/Mage.Sets/src/mage/cards/p/Purge.java
+++ b/Mage.Sets/src/mage/cards/p/Purge.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -22,7 +21,7 @@ public final class Purge extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature or black creature");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
(new ColorPredicate(ObjectColor.BLACK))));
}
diff --git a/Mage.Sets/src/mage/cards/p/Purify.java b/Mage.Sets/src/mage/cards/p/Purify.java
index 91f568a184e..bf01f26f71e 100644
--- a/Mage.Sets/src/mage/cards/p/Purify.java
+++ b/Mage.Sets/src/mage/cards/p/Purify.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,8 +19,8 @@ public final class Purify extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public Purify(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/p/PurphorosBronzeBlooded.java b/Mage.Sets/src/mage/cards/p/PurphorosBronzeBlooded.java
index 01534d5f4dd..00e7cf2696b 100644
--- a/Mage.Sets/src/mage/cards/p/PurphorosBronzeBlooded.java
+++ b/Mage.Sets/src/mage/cards/p/PurphorosBronzeBlooded.java
@@ -22,7 +22,6 @@ import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -81,7 +80,7 @@ class PurphurosBronzeBloodedEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
+ CardType.ARTIFACT.getPredicate(),
new ColorPredicate(ObjectColor.RED)
));
}
diff --git a/Mage.Sets/src/mage/cards/p/Putrefy.java b/Mage.Sets/src/mage/cards/p/Putrefy.java
index 078558af331..b0b3c0f39bc 100644
--- a/Mage.Sets/src/mage/cards/p/Putrefy.java
+++ b/Mage.Sets/src/mage/cards/p/Putrefy.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,8 +20,8 @@ public final class Putrefy extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public Putrefy (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/q/QuietContemplation.java b/Mage.Sets/src/mage/cards/q/QuietContemplation.java
index afefc55811f..f777c0d658c 100644
--- a/Mage.Sets/src/mage/cards/q/QuietContemplation.java
+++ b/Mage.Sets/src/mage/cards/q/QuietContemplation.java
@@ -16,7 +16,6 @@ import mage.constants.TargetController;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -30,7 +29,7 @@ public final class QuietContemplation extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
filter.add(new ControllerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/r/RabbleRouser.java b/Mage.Sets/src/mage/cards/r/RabbleRouser.java
index 3ea9d9ab5d4..989395a15d1 100644
--- a/Mage.Sets/src/mage/cards/r/RabbleRouser.java
+++ b/Mage.Sets/src/mage/cards/r/RabbleRouser.java
@@ -40,7 +40,7 @@ public final class RabbleRouser extends CardImpl {
//{R}, {T}: Attacking creatures get +X/+0 until end of turn, where X is Rabble-Rouser's power.
DynamicValue amount = new SourcePermanentPowerCount();
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new BoostAllEffect(amount, new StaticValue(0), Duration.EndOfTurn, new FilterAttackingCreature(), false,
+ new BoostAllEffect(amount, StaticValue.get(0), Duration.EndOfTurn, new FilterAttackingCreature(), false,
"Attacking creatures get +X/+0 until end of turn, where X is {this}'s power", true),
new ManaCostsImpl("{R}"));
ability.addCost(new TapSourceCost());
diff --git a/Mage.Sets/src/mage/cards/r/RadiantPurge.java b/Mage.Sets/src/mage/cards/r/RadiantPurge.java
index f4a393fd22c..6fd5551a3d8 100644
--- a/Mage.Sets/src/mage/cards/r/RadiantPurge.java
+++ b/Mage.Sets/src/mage/cards/r/RadiantPurge.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.MulticoloredPredicate;
import mage.target.TargetPermanent;
@@ -21,8 +20,8 @@ public final class RadiantPurge extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("multicolored creature or multicolored enchantment");
static {
filter.add(Predicates.or(
- Predicates.and(new CardTypePredicate(CardType.CREATURE), MulticoloredPredicate.instance),
- Predicates.and(new CardTypePredicate(CardType.ENCHANTMENT), MulticoloredPredicate.instance)));
+ Predicates.and(CardType.CREATURE.getPredicate(), MulticoloredPredicate.instance),
+ Predicates.and(CardType.ENCHANTMENT.getPredicate(), MulticoloredPredicate.instance)));
}
public RadiantPurge(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RafterDemon.java b/Mage.Sets/src/mage/cards/r/RafterDemon.java
index 10e7f1afef7..9891e41b349 100644
--- a/Mage.Sets/src/mage/cards/r/RafterDemon.java
+++ b/Mage.Sets/src/mage/cards/r/RafterDemon.java
@@ -34,7 +34,7 @@ public final class RafterDemon extends CardImpl {
// When Rafter Demon enters the battlefield, if its spectacle cost was paid, each opponent discards a card.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(
- new StaticValue(1), false, TargetController.OPPONENT
+ StaticValue.get(1), false, TargetController.OPPONENT
)), SpectacleCondition.instance,
"When {this} enters the battlefield, " +
"if its spectacle cost was paid, " +
diff --git a/Mage.Sets/src/mage/cards/r/Ragamuffyn.java b/Mage.Sets/src/mage/cards/r/Ragamuffyn.java
index c5eb58d64e1..57e98f0ae10 100644
--- a/Mage.Sets/src/mage/cards/r/Ragamuffyn.java
+++ b/Mage.Sets/src/mage/cards/r/Ragamuffyn.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -29,7 +28,7 @@ public final class Ragamuffyn extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a creature or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public Ragamuffyn(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RageExtractor.java b/Mage.Sets/src/mage/cards/r/RageExtractor.java
index 1b0351aa64c..10bfaa1f765 100644
--- a/Mage.Sets/src/mage/cards/r/RageExtractor.java
+++ b/Mage.Sets/src/mage/cards/r/RageExtractor.java
@@ -66,7 +66,7 @@ class RageExtractorTriggeredAbility extends TriggeredAbilityImpl {
if (spell != null) {
for (ManaCost cost : spell.getCard().getManaCost()) {
if (cost instanceof PhyrexianManaCost) {
- ((DamageTargetEffect)getEffects().get(0)).setAmount(new StaticValue(spell.getConvertedManaCost()));
+ ((DamageTargetEffect)getEffects().get(0)).setAmount(StaticValue.get(spell.getConvertedManaCost()));
return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/r/RagebloodShaman.java b/Mage.Sets/src/mage/cards/r/RagebloodShaman.java
index df4e25fe796..ae12ac75d16 100644
--- a/Mage.Sets/src/mage/cards/r/RagebloodShaman.java
+++ b/Mage.Sets/src/mage/cards/r/RagebloodShaman.java
@@ -36,7 +36,7 @@ public final class RagebloodShaman extends CardImpl {
// Trample
this.addAbility(TrampleAbility.getInstance());
// Other Minotaur creatures you control get +1/+1 and have trample.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(new StaticValue(1), new StaticValue(1), Duration.WhileOnBattlefield, filter, true)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(StaticValue.get(1), StaticValue.get(1), Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter, true)));
}
diff --git a/Mage.Sets/src/mage/cards/r/RakdosCharm.java b/Mage.Sets/src/mage/cards/r/RakdosCharm.java
index ee46d6514bf..4ebe2b7e22f 100644
--- a/Mage.Sets/src/mage/cards/r/RakdosCharm.java
+++ b/Mage.Sets/src/mage/cards/r/RakdosCharm.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -68,7 +67,7 @@ public final class RakdosCharm extends CardImpl {
public boolean apply(Game game, Ability source) {
FilterPermanent filter = new FilterPermanent();
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) {
Player controller = game.getPlayer(permanent.getControllerId());
diff --git a/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java b/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java
index 5af3ca5d8db..4f5f3f3b79e 100644
--- a/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java
+++ b/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java
@@ -42,7 +42,7 @@ public final class RakdosRiteknife extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +1/+0 for each blood counter on Rakdos Riteknife and has "{T}, Sacrifice a creature: Put a blood counter on Rakdos Riteknife."
- SimpleStaticAbility staticAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CountersSourceCount(CounterType.BLOOD), new StaticValue(0)).setText("Equipped creature gets +1/+0 for each blood counter on {this}"));
+ SimpleStaticAbility staticAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CountersSourceCount(CounterType.BLOOD), StaticValue.get(0)).setText("Equipped creature gets +1/+0 for each blood counter on {this}"));
SimpleActivatedAbility grantedAbility = new SimpleActivatedAbility(new RakdosRiteKnifeEffect(this.getId()), new TapSourceCost());
grantedAbility.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
staticAbility.addEffect(new GainAbilityAttachedEffect(grantedAbility, AttachmentType.EQUIPMENT).setText("and has \"{T}, Sacrifice a creature: Put a blood counter on {this}.\""));
diff --git a/Mage.Sets/src/mage/cards/r/RalIzzetViceroy.java b/Mage.Sets/src/mage/cards/r/RalIzzetViceroy.java
index 7390e5066ec..5b6b887a5dc 100644
--- a/Mage.Sets/src/mage/cards/r/RalIzzetViceroy.java
+++ b/Mage.Sets/src/mage/cards/r/RalIzzetViceroy.java
@@ -35,7 +35,7 @@ public final class RalIzzetViceroy extends CardImpl {
// +1: Look at the top two cards of your library. Put one of them into your hand and the other into your graveyard.
this.addAbility(new LoyaltyAbility(
new LookLibraryAndPickControllerEffect(
- new StaticValue(2), false, new StaticValue(1),
+ StaticValue.get(2), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false
), 1
));
diff --git a/Mage.Sets/src/mage/cards/r/RalsOutburst.java b/Mage.Sets/src/mage/cards/r/RalsOutburst.java
index 40944d79510..43c5dffb7c0 100644
--- a/Mage.Sets/src/mage/cards/r/RalsOutburst.java
+++ b/Mage.Sets/src/mage/cards/r/RalsOutburst.java
@@ -24,7 +24,7 @@ public final class RalsOutburst extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(2), false, new StaticValue(1),
+ StaticValue.get(2), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false
));
}
diff --git a/Mage.Sets/src/mage/cards/r/RalsStaticaster.java b/Mage.Sets/src/mage/cards/r/RalsStaticaster.java
index 87de152208a..4a7af073637 100644
--- a/Mage.Sets/src/mage/cards/r/RalsStaticaster.java
+++ b/Mage.Sets/src/mage/cards/r/RalsStaticaster.java
@@ -16,7 +16,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -30,7 +29,7 @@ public final class RalsStaticaster extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.RAL));
}
@@ -48,7 +47,7 @@ public final class RalsStaticaster extends CardImpl {
// Whenever Ral's Staticaster attacks, if you control a Ral planeswalker, Ral's Staticaster gets +1/+0 for each card in your hand until end of turn.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new BoostSourceEffect(
- CardsInControllerHandCount.instance, new StaticValue(0),
+ CardsInControllerHandCount.instance, StaticValue.get(0),
Duration.EndOfTurn, true), false),
new PermanentsOnTheBattlefieldCondition(filter),
"Whenever {this} attacks, if you control a Ral planeswalker, "
diff --git a/Mage.Sets/src/mage/cards/r/RamunapRuins.java b/Mage.Sets/src/mage/cards/r/RamunapRuins.java
index 8d0421a4f97..20886a354bc 100644
--- a/Mage.Sets/src/mage/cards/r/RamunapRuins.java
+++ b/Mage.Sets/src/mage/cards/r/RamunapRuins.java
@@ -49,7 +49,7 @@ public final class RamunapRuins extends CardImpl {
this.addAbility(manaAbility);
// {2}{R}{R}, {t}, Sacrifice a Desert: Ramunap Ruins deals 2 damage to each opponent.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT),
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT),
new ManaCostsImpl("{2}{R}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true)));
diff --git a/Mage.Sets/src/mage/cards/r/RangerOfEos.java b/Mage.Sets/src/mage/cards/r/RangerOfEos.java
index 7cc25ab1211..6fa61340b6b 100644
--- a/Mage.Sets/src/mage/cards/r/RangerOfEos.java
+++ b/Mage.Sets/src/mage/cards/r/RangerOfEos.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.ComparisonType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInLibrary;
@@ -25,7 +24,7 @@ public final class RangerOfEos extends CardImpl {
private static final FilterCard filter = new FilterCard("creature cards with converted mana cost 1 or less");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 2));
}
diff --git a/Mage.Sets/src/mage/cards/r/RansackTheLab.java b/Mage.Sets/src/mage/cards/r/RansackTheLab.java
index 252f5e0b825..7242bd300a1 100644
--- a/Mage.Sets/src/mage/cards/r/RansackTheLab.java
+++ b/Mage.Sets/src/mage/cards/r/RansackTheLab.java
@@ -19,7 +19,7 @@ public final class RansackTheLab extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}");
// Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1),
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
}
diff --git a/Mage.Sets/src/mage/cards/r/RatColony.java b/Mage.Sets/src/mage/cards/r/RatColony.java
index 86b6a1d5c24..ac4d8ab9ccd 100644
--- a/Mage.Sets/src/mage/cards/r/RatColony.java
+++ b/Mage.Sets/src/mage/cards/r/RatColony.java
@@ -41,7 +41,7 @@ public final class RatColony extends CardImpl {
// Rat Colony gets +1/+0 for each other Rat you control.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter),
- new StaticValue(0), Duration.WhileOnBattlefield, false)));
+ StaticValue.get(0), Duration.WhileOnBattlefield, false)));
// A deck can have any number of cards named Rat Colony.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("A deck can have any number of cards named Rat Colony.")));
diff --git a/Mage.Sets/src/mage/cards/r/RatsOfRath.java b/Mage.Sets/src/mage/cards/r/RatsOfRath.java
index 95c828652e4..1a574db11e9 100644
--- a/Mage.Sets/src/mage/cards/r/RatsOfRath.java
+++ b/Mage.Sets/src/mage/cards/r/RatsOfRath.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -30,9 +29,9 @@ public final class RatsOfRath extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public RatsOfRath(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RavenFamiliar.java b/Mage.Sets/src/mage/cards/r/RavenFamiliar.java
index f867635d394..5082eff967c 100644
--- a/Mage.Sets/src/mage/cards/r/RavenFamiliar.java
+++ b/Mage.Sets/src/mage/cards/r/RavenFamiliar.java
@@ -33,7 +33,7 @@ public final class RavenFamiliar extends CardImpl {
this.addAbility(new EchoAbility("{2}{U}"));
// When Raven Familiar enters the battlefield, look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.
this.addAbility(new EntersBattlefieldTriggeredAbility(
- new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1), StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false),
+ new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false),
false));
}
diff --git a/Mage.Sets/src/mage/cards/r/RavenousIntruder.java b/Mage.Sets/src/mage/cards/r/RavenousIntruder.java
index 0167c74a963..976b94e0391 100644
--- a/Mage.Sets/src/mage/cards/r/RavenousIntruder.java
+++ b/Mage.Sets/src/mage/cards/r/RavenousIntruder.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -25,7 +24,7 @@ public final class RavenousIntruder extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public RavenousIntruder(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RavenousVampire.java b/Mage.Sets/src/mage/cards/r/RavenousVampire.java
index cb25de6a55f..7361b695182 100644
--- a/Mage.Sets/src/mage/cards/r/RavenousVampire.java
+++ b/Mage.Sets/src/mage/cards/r/RavenousVampire.java
@@ -16,7 +16,6 @@ import mage.constants.TargetController;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
@@ -28,7 +27,7 @@ public final class RavenousVampire extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a nonartifact creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public RavenousVampire(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RazorBarrier.java b/Mage.Sets/src/mage/cards/r/RazorBarrier.java
index c5f502a51b5..cf1e93039a5 100644
--- a/Mage.Sets/src/mage/cards/r/RazorBarrier.java
+++ b/Mage.Sets/src/mage/cards/r/RazorBarrier.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.FilterObject;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetControlledPermanent;
@@ -46,7 +45,7 @@ class RazorBarrierEffect extends OneShotEffect {
private static final FilterObject filter = new FilterObject("colorless");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
RazorBarrierEffect() {
diff --git a/Mage.Sets/src/mage/cards/r/RealityRipple.java b/Mage.Sets/src/mage/cards/r/RealityRipple.java
index 845278b41c7..d1a801940dd 100644
--- a/Mage.Sets/src/mage/cards/r/RealityRipple.java
+++ b/Mage.Sets/src/mage/cards/r/RealityRipple.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,9 +20,9 @@ public final class RealityRipple extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public RealityRipple(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RealityStrobe.java b/Mage.Sets/src/mage/cards/r/RealityStrobe.java
index 08893bd4b61..7176e3a00e7 100644
--- a/Mage.Sets/src/mage/cards/r/RealityStrobe.java
+++ b/Mage.Sets/src/mage/cards/r/RealityStrobe.java
@@ -30,7 +30,7 @@ public final class RealityStrobe extends CardImpl {
// Exile Reality Strobe
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
// with three time counters on it.
- Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), false, true);
+ Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), StaticValue.get(3), false, true);
effect.setText("with 3 time counters on it");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetPermanent());
diff --git a/Mage.Sets/src/mage/cards/r/ReapIntellect.java b/Mage.Sets/src/mage/cards/r/ReapIntellect.java
index 50e28670a39..eae5630c9ac 100644
--- a/Mage.Sets/src/mage/cards/r/ReapIntellect.java
+++ b/Mage.Sets/src/mage/cards/r/ReapIntellect.java
@@ -10,7 +10,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -53,7 +52,7 @@ class ReapIntellectEffect extends OneShotEffect {
private static final FilterCard filterNonLands = new FilterCard("up to X nonland cards");
static {
- filterNonLands.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filterNonLands.add(Predicates.not(CardType.LAND.getPredicate()));
}
public ReapIntellectEffect() {
diff --git a/Mage.Sets/src/mage/cards/r/ReclaimingVines.java b/Mage.Sets/src/mage/cards/r/ReclaimingVines.java
index 8f7dd26919c..5233fde4632 100644
--- a/Mage.Sets/src/mage/cards/r/ReclaimingVines.java
+++ b/Mage.Sets/src/mage/cards/r/ReclaimingVines.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,9 +20,9 @@ public final class ReclaimingVines extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public ReclaimingVines(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/ReclusiveArtificer.java b/Mage.Sets/src/mage/cards/r/ReclusiveArtificer.java
index a3740bd2c65..056e4d8c6a2 100644
--- a/Mage.Sets/src/mage/cards/r/ReclusiveArtificer.java
+++ b/Mage.Sets/src/mage/cards/r/ReclusiveArtificer.java
@@ -13,7 +13,6 @@ 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.target.common.TargetCreaturePermanent;
/**
@@ -25,7 +24,7 @@ public final class ReclusiveArtificer extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifacts you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ReclusiveArtificer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/ReclusiveWight.java b/Mage.Sets/src/mage/cards/r/ReclusiveWight.java
index 936f3a340a9..1faa611123c 100644
--- a/Mage.Sets/src/mage/cards/r/ReclusiveWight.java
+++ b/Mage.Sets/src/mage/cards/r/ReclusiveWight.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
/**
@@ -26,7 +25,7 @@ public final class ReclusiveWight extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("another nonland permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/r/Recoup.java b/Mage.Sets/src/mage/cards/r/Recoup.java
index 61ebbad0c6e..81463580188 100644
--- a/Mage.Sets/src/mage/cards/r/Recoup.java
+++ b/Mage.Sets/src/mage/cards/r/Recoup.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.TimingRule;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInYourGraveyard;
@@ -30,7 +29,7 @@ public final class Recoup extends CardImpl {
private static final FilterCard filter = new FilterCard("sorcery card");
static{
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public Recoup(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/Regression.java b/Mage.Sets/src/mage/cards/r/Regression.java
index 158c9f29fd7..bd4257d50b8 100644
--- a/Mage.Sets/src/mage/cards/r/Regression.java
+++ b/Mage.Sets/src/mage/cards/r/Regression.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -20,7 +19,7 @@ public final class Regression extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact or enchantment");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public Regression(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/ReiverDemon.java b/Mage.Sets/src/mage/cards/r/ReiverDemon.java
index fa048d0f34e..695f4151a08 100644
--- a/Mage.Sets/src/mage/cards/r/ReiverDemon.java
+++ b/Mage.Sets/src/mage/cards/r/ReiverDemon.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.watchers.common.CastFromHandWatcher;
@@ -28,7 +27,7 @@ public final class ReiverDemon extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact, nonblack creatures");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/r/Relearn.java b/Mage.Sets/src/mage/cards/r/Relearn.java
index e432046bd09..adba96d97cd 100644
--- a/Mage.Sets/src/mage/cards/r/Relearn.java
+++ b/Mage.Sets/src/mage/cards/r/Relearn.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -21,8 +20,8 @@ public final class Relearn extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public Relearn(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RelicSeeker.java b/Mage.Sets/src/mage/cards/r/RelicSeeker.java
index 4cd4d765a11..14ec4145836 100644
--- a/Mage.Sets/src/mage/cards/r/RelicSeeker.java
+++ b/Mage.Sets/src/mage/cards/r/RelicSeeker.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -24,7 +23,7 @@ public final class RelicSeeker extends CardImpl {
private static final FilterCard filter = new FilterCard("an Equipment card");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
}
diff --git a/Mage.Sets/src/mage/cards/r/RemorselessPunishment.java b/Mage.Sets/src/mage/cards/r/RemorselessPunishment.java
index 56387c62954..fdc99657035 100644
--- a/Mage.Sets/src/mage/cards/r/RemorselessPunishment.java
+++ b/Mage.Sets/src/mage/cards/r/RemorselessPunishment.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -46,7 +45,7 @@ class RemorselessPunishmentEffect extends OneShotEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("creature or planeswalker");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.PLANESWALKER)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.PLANESWALKER.getPredicate()));
}
public RemorselessPunishmentEffect() {
diff --git a/Mage.Sets/src/mage/cards/r/RenegadeFirebrand.java b/Mage.Sets/src/mage/cards/r/RenegadeFirebrand.java
index 8f2dd1556ed..55df96242d4 100644
--- a/Mage.Sets/src/mage/cards/r/RenegadeFirebrand.java
+++ b/Mage.Sets/src/mage/cards/r/RenegadeFirebrand.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -30,7 +29,7 @@ public final class RenegadeFirebrand extends CardImpl {
private static final String rule = "As long as you control a Chandra planeswalker, {this} gets +1/+0";
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.CHANDRA));
}
diff --git a/Mage.Sets/src/mage/cards/r/Reprocess.java b/Mage.Sets/src/mage/cards/r/Reprocess.java
index f43ce6c2182..e25958e0f19 100644
--- a/Mage.Sets/src/mage/cards/r/Reprocess.java
+++ b/Mage.Sets/src/mage/cards/r/Reprocess.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -45,8 +44,8 @@ class ReprocessEffect extends OneShotEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifacts, creatures, and/or lands");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public ReprocessEffect() {
diff --git a/Mage.Sets/src/mage/cards/r/RescuerSphinx.java b/Mage.Sets/src/mage/cards/r/RescuerSphinx.java
index 6987050ccdb..caa6c5b79c9 100644
--- a/Mage.Sets/src/mage/cards/r/RescuerSphinx.java
+++ b/Mage.Sets/src/mage/cards/r/RescuerSphinx.java
@@ -16,7 +16,6 @@ import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -60,7 +59,7 @@ class RescuerSphinxEffect extends OneShotEffect {
= new FilterControlledPermanent("nonland permanent you control");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
RescuerSphinxEffect() {
diff --git a/Mage.Sets/src/mage/cards/r/Retether.java b/Mage.Sets/src/mage/cards/r/Retether.java
index 54e19e039fb..0659f965ffb 100644
--- a/Mage.Sets/src/mage/cards/r/Retether.java
+++ b/Mage.Sets/src/mage/cards/r/Retether.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.CanBeEnchantedByPredicate;
import mage.game.Game;
@@ -53,7 +52,7 @@ class RetetherEffect extends OneShotEffect {
private static final FilterCard filterAura = new FilterCard("Aura card from your graveyard");
static {
- filterAura.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterAura.add(CardType.ENCHANTMENT.getPredicate());
filterAura.add(new SubtypePredicate(SubType.AURA));
}
@@ -101,7 +100,7 @@ class RetetherEffect extends OneShotEffect {
}
}
if (target != null) {
- target.getFilter().add(new CardTypePredicate(CardType.CREATURE));
+ target.getFilter().add(CardType.CREATURE.getPredicate());
target.setNotTarget(true);
if (target.canChoose(controller.getId(), game)) {
target.setTargetName("creature to enchant (" + aura.getLogName() + ')');
diff --git a/Mage.Sets/src/mage/cards/r/ReturnToTheEarth.java b/Mage.Sets/src/mage/cards/r/ReturnToTheEarth.java
index 7e8758b6a46..5c151e07529 100644
--- a/Mage.Sets/src/mage/cards/r/ReturnToTheEarth.java
+++ b/Mage.Sets/src/mage/cards/r/ReturnToTheEarth.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -23,10 +22,10 @@ public final class ReturnToTheEarth extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT),
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
Predicates.and(
- new CardTypePredicate(CardType.CREATURE),
+ CardType.CREATURE.getPredicate(),
new AbilityPredicate(FlyingAbility.class))
));
}
diff --git a/Mage.Sets/src/mage/cards/r/Reverberate.java b/Mage.Sets/src/mage/cards/r/Reverberate.java
index 0647a7d6a82..bb79cb28c65 100644
--- a/Mage.Sets/src/mage/cards/r/Reverberate.java
+++ b/Mage.Sets/src/mage/cards/r/Reverberate.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -22,8 +21,8 @@ public final class Reverberate extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public Reverberate(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/Reverberation.java b/Mage.Sets/src/mage/cards/r/Reverberation.java
index 592fd5476fa..1685d0e1919 100644
--- a/Mage.Sets/src/mage/cards/r/Reverberation.java
+++ b/Mage.Sets/src/mage/cards/r/Reverberation.java
@@ -8,7 +8,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.DamageEvent;
import mage.game.events.GameEvent;
@@ -26,7 +25,7 @@ public final class Reverberation extends CardImpl {
private static final FilterSpell filter = new FilterSpell("sorcery spell");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public Reverberation(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RevivingMelody.java b/Mage.Sets/src/mage/cards/r/RevivingMelody.java
index b9e3573fa37..a973fc9a433 100644
--- a/Mage.Sets/src/mage/cards/r/RevivingMelody.java
+++ b/Mage.Sets/src/mage/cards/r/RevivingMelody.java
@@ -7,7 +7,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import java.util.UUID;
@@ -20,7 +19,7 @@ public final class RevivingMelody extends CardImpl {
private static final FilterCard filterCard = new FilterCard("enchantment card from your graveyard");
static {
- filterCard.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterCard.add(CardType.ENCHANTMENT.getPredicate());
}
public RevivingMelody(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RevolutionaryRebuff.java b/Mage.Sets/src/mage/cards/r/RevolutionaryRebuff.java
index 63f10b7864a..24c4c8da94e 100644
--- a/Mage.Sets/src/mage/cards/r/RevolutionaryRebuff.java
+++ b/Mage.Sets/src/mage/cards/r/RevolutionaryRebuff.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -23,7 +22,7 @@ public final class RevolutionaryRebuff extends CardImpl {
// Counter target nonartifact spell unless its controller pays 2.
FilterSpell filter = new FilterSpell("nonartifact spell");
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
this.getSpellAbility().addTarget(new TargetSpell(filter));
this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(2)));
}
diff --git a/Mage.Sets/src/mage/cards/r/RhonassMonument.java b/Mage.Sets/src/mage/cards/r/RhonassMonument.java
index ea6dbd1012b..f47db2b9d13 100644
--- a/Mage.Sets/src/mage/cards/r/RhonassMonument.java
+++ b/Mage.Sets/src/mage/cards/r/RhonassMonument.java
@@ -20,7 +20,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -34,11 +33,11 @@ public final class RhonassMonument extends CardImpl {
private static final FilterSpell filter2 = new FilterSpell("a creature spell");
static {
- filter.add(Predicates.and(new ColorPredicate(ObjectColor.GREEN), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.and(new ColorPredicate(ObjectColor.GREEN), CardType.CREATURE.getPredicate()));
}
static {
- filter2.add(new CardTypePredicate(CardType.CREATURE));
+ filter2.add(CardType.CREATURE.getPredicate());
}
public RhonassMonument(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java
index 800680e4ef5..90217b9f5f5 100644
--- a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java
+++ b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java
@@ -18,7 +18,7 @@ import mage.constants.Outcome;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -68,7 +68,7 @@ class RhysTheRedeemedEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(TokenPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/r/Riddleform.java b/Mage.Sets/src/mage/cards/r/Riddleform.java
index 4e99549884c..ab7e8076c56 100644
--- a/Mage.Sets/src/mage/cards/r/Riddleform.java
+++ b/Mage.Sets/src/mage/cards/r/Riddleform.java
@@ -19,9 +19,7 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
/**
*
@@ -32,7 +30,7 @@ public final class Riddleform extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Riddleform(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java b/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java
index 255c570ecfd..ee9ec46a287 100644
--- a/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java
+++ b/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java
@@ -14,7 +14,6 @@ import mage.constants.*;
import mage.filter.FilterSpell;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@@ -30,8 +29,8 @@ public final class RikuOfTwoReflections extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filterPermanent.add(Predicates.not(TokenPredicate.instance));
filterPermanent.add(AnotherPredicate.instance);
diff --git a/Mage.Sets/src/mage/cards/r/RimehornAurochs.java b/Mage.Sets/src/mage/cards/r/RimehornAurochs.java
index b1488d7428a..8145bfdae6f 100644
--- a/Mage.Sets/src/mage/cards/r/RimehornAurochs.java
+++ b/Mage.Sets/src/mage/cards/r/RimehornAurochs.java
@@ -47,7 +47,7 @@ public final class RimehornAurochs extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Whenever Rimehorn Aurochs attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.EndOfTurn, true), false));
// {2}{S}: Target creature blocks target creature this turn if able.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RimehornAurochsEffect(), new ManaCostsImpl("{2}{S}"));
diff --git a/Mage.Sets/src/mage/cards/r/RingOfGix.java b/Mage.Sets/src/mage/cards/r/RingOfGix.java
index 829e52ea8db..1a0a80ff591 100644
--- a/Mage.Sets/src/mage/cards/r/RingOfGix.java
+++ b/Mage.Sets/src/mage/cards/r/RingOfGix.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -27,9 +26,9 @@ public final class RingOfGix extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public RingOfGix(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RingOfImmortals.java b/Mage.Sets/src/mage/cards/r/RingOfImmortals.java
index bca0f2387d0..0e788e85c6e 100644
--- a/Mage.Sets/src/mage/cards/r/RingOfImmortals.java
+++ b/Mage.Sets/src/mage/cards/r/RingOfImmortals.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.other.TargetsPermanentPredicate;
import mage.target.TargetSpell;
@@ -29,7 +28,7 @@ public final class RingOfImmortals extends CardImpl {
private static final FilterSpell filter = new FilterSpell("instant or Aura spell that targets a permanent you control");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new SubtypePredicate(SubType.AURA)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), new SubtypePredicate(SubType.AURA)));
filter.add(new TargetsPermanentPredicate(new FilterControlledPermanent()));
}
diff --git a/Mage.Sets/src/mage/cards/r/RiptideChimera.java b/Mage.Sets/src/mage/cards/r/RiptideChimera.java
index af49f2012a2..58dbace8c2c 100644
--- a/Mage.Sets/src/mage/cards/r/RiptideChimera.java
+++ b/Mage.Sets/src/mage/cards/r/RiptideChimera.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class RiptideChimera extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an enchantment you control");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public RiptideChimera(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RiptideMangler.java b/Mage.Sets/src/mage/cards/r/RiptideMangler.java
index 52742ac9f9a..32ffe916cb4 100644
--- a/Mage.Sets/src/mage/cards/r/RiptideMangler.java
+++ b/Mage.Sets/src/mage/cards/r/RiptideMangler.java
@@ -71,7 +71,7 @@ class RiptideManglerEffect extends OneShotEffect {
if (permanent == null) {
return false;
}
- game.addEffect(new SetPowerSourceEffect(new StaticValue(permanent.getPower().getValue()), Duration.WhileOnBattlefield, SubLayer.SetPT_7b), source);
+ game.addEffect(new SetPowerSourceEffect(StaticValue.get(permanent.getPower().getValue()), Duration.WhileOnBattlefield, SubLayer.SetPT_7b), source);
return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/r/RiseOfTheHobgoblins.java b/Mage.Sets/src/mage/cards/r/RiseOfTheHobgoblins.java
index ac9d8252af3..b83c046b5f2 100644
--- a/Mage.Sets/src/mage/cards/r/RiseOfTheHobgoblins.java
+++ b/Mage.Sets/src/mage/cards/r/RiseOfTheHobgoblins.java
@@ -22,12 +22,10 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.token.GoblinSoldierToken;
-import mage.game.permanent.token.TokenImpl;
import mage.game.permanent.token.Token;
import mage.players.Player;
@@ -42,7 +40,7 @@ public final class RiseOfTheHobgoblins extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.or(
new ColorPredicate(ObjectColor.RED),
new ColorPredicate(ObjectColor.WHITE)));
diff --git a/Mage.Sets/src/mage/cards/r/RiteOfRuin.java b/Mage.Sets/src/mage/cards/r/RiteOfRuin.java
index a170b2f725c..62c2a1c1b56 100644
--- a/Mage.Sets/src/mage/cards/r/RiteOfRuin.java
+++ b/Mage.Sets/src/mage/cards/r/RiteOfRuin.java
@@ -11,7 +11,6 @@ import mage.choices.ChoiceImpl;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -84,7 +83,7 @@ class RiteOfRuinEffect extends OneShotEffect {
int count = 1;
for (CardType cardType : order) {
FilterControlledPermanent filter = new FilterControlledPermanent(cardType + " you control");
- filter.add(new CardTypePredicate(cardType));
+ filter.add(cardType.getPredicate());
new SacrificeAllEffect(count, filter).apply(game, source);
count++;
}
diff --git a/Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java b/Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java
index f4a6f07e6ad..08d6af5f839 100644
--- a/Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java
+++ b/Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java
@@ -12,7 +12,6 @@ import mage.constants.Duration;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -26,7 +25,7 @@ public final class RitualOfTheMachine extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact, nonblack creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/r/RofellossGift.java b/Mage.Sets/src/mage/cards/r/RofellossGift.java
index 0b89988c673..f44741f6982 100644
--- a/Mage.Sets/src/mage/cards/r/RofellossGift.java
+++ b/Mage.Sets/src/mage/cards/r/RofellossGift.java
@@ -2,14 +2,12 @@ package mage.cards.r;
import mage.ObjectColor;
import mage.abilities.Ability;
-import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.cards.*;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -47,7 +45,7 @@ class RofellossGiftEffect extends OneShotEffect {
static {
filter1.add(new ColorPredicate(ObjectColor.GREEN));
- filter2.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter2.add(CardType.ENCHANTMENT.getPredicate());
}
public RofellossGiftEffect() {
diff --git a/Mage.Sets/src/mage/cards/r/RoilmagesTrick.java b/Mage.Sets/src/mage/cards/r/RoilmagesTrick.java
index 496d1bd6a7b..8533a961543 100644
--- a/Mage.Sets/src/mage/cards/r/RoilmagesTrick.java
+++ b/Mage.Sets/src/mage/cards/r/RoilmagesTrick.java
@@ -34,7 +34,7 @@ public final class RoilmagesTrick extends CardImpl {
// Converge — Creatures your opponents control get -X/-0 until end of turn, where X is the number of colors of mana spent to cast Roilmage's Trick.
this.getSpellAbility().setAbilityWord(AbilityWord.CONVERGE);
this.getSpellAbility().addEffect(new BoostAllEffect(
- new SignInversionDynamicValue(ColorsOfManaSpentToCastCount.getInstance()), new StaticValue(-0), Duration.EndOfTurn, filter, false,
+ new SignInversionDynamicValue(ColorsOfManaSpentToCastCount.getInstance()), StaticValue.get(-0), Duration.EndOfTurn, filter, false,
"Creatures your opponents control get -X/-0 until end of turn, where X is the number of colors of mana spent to cast {this}.
", true));
// Draw a card.
diff --git a/Mage.Sets/src/mage/cards/r/RooftopStorm.java b/Mage.Sets/src/mage/cards/r/RooftopStorm.java
index e232c406224..23b6a210de0 100644
--- a/Mage.Sets/src/mage/cards/r/RooftopStorm.java
+++ b/Mage.Sets/src/mage/cards/r/RooftopStorm.java
@@ -12,7 +12,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -47,7 +46,7 @@ class RooftopStormRuleEffect extends ContinuousEffectImpl {
static {
filter.add(new SubtypePredicate(SubType.ZOMBIE));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
static AlternativeCostSourceAbility alternativeCastingCostAbility
diff --git a/Mage.Sets/src/mage/cards/r/Rootgrapple.java b/Mage.Sets/src/mage/cards/r/Rootgrapple.java
index 19052d3dad5..023e9fe9485 100644
--- a/Mage.Sets/src/mage/cards/r/Rootgrapple.java
+++ b/Mage.Sets/src/mage/cards/r/Rootgrapple.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
@@ -27,7 +26,7 @@ public final class Rootgrapple extends CardImpl {
private static final FilterPermanent filterTreefolk = new FilterPermanent("If you control a Treefolk,");
static {
- filterNoncreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNoncreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
filterTreefolk.add(new SubtypePredicate(SubType.TREEFOLK));
}
diff --git a/Mage.Sets/src/mage/cards/r/RubblebeltRioters.java b/Mage.Sets/src/mage/cards/r/RubblebeltRioters.java
index 836019948d6..a9b33ad769e 100644
--- a/Mage.Sets/src/mage/cards/r/RubblebeltRioters.java
+++ b/Mage.Sets/src/mage/cards/r/RubblebeltRioters.java
@@ -32,7 +32,7 @@ public final class RubblebeltRioters extends CardImpl {
// Whenever Rubblebelt Rioters attacks, it gets +X/+0 until end of turn, where X is the greatest power among creatures you control.
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(
- GreatestPowerAmongControlledCreaturesValue.instance, new StaticValue(0),
+ GreatestPowerAmongControlledCreaturesValue.instance, StaticValue.get(0),
Duration.EndOfTurn, true
), false));
}
diff --git a/Mage.Sets/src/mage/cards/r/RumblingCrescendo.java b/Mage.Sets/src/mage/cards/r/RumblingCrescendo.java
index 931f9b65385..8572dbe0ab0 100644
--- a/Mage.Sets/src/mage/cards/r/RumblingCrescendo.java
+++ b/Mage.Sets/src/mage/cards/r/RumblingCrescendo.java
@@ -16,7 +16,7 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.target.TargetPermanent;
import mage.target.targetadjustment.VerseCounterAdjuster;
@@ -29,7 +29,7 @@ public final class RumblingCrescendo extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("up to X target lands, where X is the number of verse counters on {this}");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public RumblingCrescendo(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RuneOfProtectionArtifacts.java b/Mage.Sets/src/mage/cards/r/RuneOfProtectionArtifacts.java
index 479ee00b076..2a71ba44eb1 100644
--- a/Mage.Sets/src/mage/cards/r/RuneOfProtectionArtifacts.java
+++ b/Mage.Sets/src/mage/cards/r/RuneOfProtectionArtifacts.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterObject;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class RuneOfProtectionArtifacts extends CardImpl {
private static final FilterObject filter = new FilterObject("artifact source");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public RuneOfProtectionArtifacts(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RuneOfProtectionLands.java b/Mage.Sets/src/mage/cards/r/RuneOfProtectionLands.java
index 3d7e637519e..cc6d65e51a1 100644
--- a/Mage.Sets/src/mage/cards/r/RuneOfProtectionLands.java
+++ b/Mage.Sets/src/mage/cards/r/RuneOfProtectionLands.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterObject;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class RuneOfProtectionLands extends CardImpl {
private static final FilterObject filter = new FilterObject("land source");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public RuneOfProtectionLands(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RunechantersPike.java b/Mage.Sets/src/mage/cards/r/RunechantersPike.java
index 8c61e3ba2a2..338d9317da5 100644
--- a/Mage.Sets/src/mage/cards/r/RunechantersPike.java
+++ b/Mage.Sets/src/mage/cards/r/RunechantersPike.java
@@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -29,8 +28,8 @@ public final class RunechantersPike extends CardImpl {
static {
filterCard.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public RunechantersPike(UUID ownerId, CardSetInfo setInfo) {
@@ -42,7 +41,7 @@ public final class RunechantersPike extends CardImpl {
// Equipped creature has first strike and gets +X/+0 where X is the number of instant and sorcery cards in your graveyard.
Effect effect = new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT);
- Effect effect2 = new BoostEquippedEffect(new RunechantersPikeValue(), new StaticValue(0));
+ Effect effect2 = new BoostEquippedEffect(new RunechantersPikeValue(), StaticValue.get(0));
effect.setText("Equipped creature has first strike");
effect2.setText(" and gets +X/+0 where X is the number of instant and sorcery cards in your graveyard.");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
diff --git a/Mage.Sets/src/mage/cards/r/RunedArch.java b/Mage.Sets/src/mage/cards/r/RunedArch.java
index 0195c1977c3..14d726e0ed3 100644
--- a/Mage.Sets/src/mage/cards/r/RunedArch.java
+++ b/Mage.Sets/src/mage/cards/r/RunedArch.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.Duration;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.XTargetsAdjuster;
@@ -28,7 +27,7 @@ public final class RunedArch extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creatures with power 2 or less");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new PowerPredicate(ComparisonType.FEWER_THAN, 3));
}
diff --git a/Mage.Sets/src/mage/cards/r/RushOfBlood.java b/Mage.Sets/src/mage/cards/r/RushOfBlood.java
index 09daee68f03..da5f102f203 100644
--- a/Mage.Sets/src/mage/cards/r/RushOfBlood.java
+++ b/Mage.Sets/src/mage/cards/r/RushOfBlood.java
@@ -22,7 +22,7 @@ public final class RushOfBlood extends CardImpl {
// Target creature gets +X/+0 until end of turn, where X is its power.
- this.getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, new StaticValue(0), Duration.EndOfTurn, true));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, StaticValue.get(0), Duration.EndOfTurn, true));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/r/RustScarab.java b/Mage.Sets/src/mage/cards/r/RustScarab.java
index 2a98ffc245f..90446812a68 100644
--- a/Mage.Sets/src/mage/cards/r/RustScarab.java
+++ b/Mage.Sets/src/mage/cards/r/RustScarab.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -74,7 +73,7 @@ class BecomesBlockedTriggeredAbility extends TriggeredAbilityImpl {
if (defenderId != null) {
this.getTargets().clear();
FilterPermanent filter = new FilterPermanent("artifact or enchantment defending player controls");
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
filter.add(new ControllerIdPredicate(defenderId));
Target target = new TargetPermanent(filter);
this.addTarget(target);
diff --git a/Mage.Sets/src/mage/cards/r/RustedSlasher.java b/Mage.Sets/src/mage/cards/r/RustedSlasher.java
index 8c4fd36a6bd..9e6e9010b43 100644
--- a/Mage.Sets/src/mage/cards/r/RustedSlasher.java
+++ b/Mage.Sets/src/mage/cards/r/RustedSlasher.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -24,7 +23,7 @@ public final class RustedSlasher extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public RustedSlasher (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/r/RuthlessSniper.java b/Mage.Sets/src/mage/cards/r/RuthlessSniper.java
index bc84b921803..da492f5da04 100644
--- a/Mage.Sets/src/mage/cards/r/RuthlessSniper.java
+++ b/Mage.Sets/src/mage/cards/r/RuthlessSniper.java
@@ -35,7 +35,7 @@ public final class RuthlessSniper extends CardImpl {
new DoIfCostPaid(
new AddCountersTargetEffect(
CounterType.M1M1.createInstance(),
- new StaticValue(1),
+ StaticValue.get(1),
Outcome.Removal),
new ManaCostsImpl("{1}")));
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java b/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java
index 78b2188a008..680f64625cd 100644
--- a/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java
+++ b/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -29,7 +28,7 @@ public final class SacredWhiteDeer extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.YOU));
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.YANGGU));
}
diff --git a/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java b/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java
index 5fd5a65efeb..94b261a3ced 100644
--- a/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java
+++ b/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,7 +25,7 @@ public final class SageOfTheInwardEye extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public SageOfTheInwardEye(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SagesKnowledge.java b/Mage.Sets/src/mage/cards/s/SagesKnowledge.java
index 131c527e80c..dab0d927f03 100644
--- a/Mage.Sets/src/mage/cards/s/SagesKnowledge.java
+++ b/Mage.Sets/src/mage/cards/s/SagesKnowledge.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -19,7 +18,7 @@ public final class SagesKnowledge extends CardImpl {
static final FilterCard filter = new FilterCard("sorcery card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public SagesKnowledge(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SaheeliSublimeArtificer.java b/Mage.Sets/src/mage/cards/s/SaheeliSublimeArtificer.java
index bb20999d03e..34ea37a1612 100644
--- a/Mage.Sets/src/mage/cards/s/SaheeliSublimeArtificer.java
+++ b/Mage.Sets/src/mage/cards/s/SaheeliSublimeArtificer.java
@@ -18,7 +18,6 @@ import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.ServoToken;
@@ -41,8 +40,8 @@ public final class SaheeliSublimeArtificer extends CardImpl {
filter.add(new AnotherTargetPredicate(1));
filter2.add(new AnotherTargetPredicate(2));
filter2.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java b/Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java
index 2729425cf22..9539b9053eb 100644
--- a/Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java
+++ b/Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java
@@ -17,7 +17,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterControlledArtifactPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.ThopterColorlessToken;
import mage.target.common.TargetControlledPermanent;
@@ -31,7 +30,7 @@ public final class SaiMasterThopterist extends CardImpl {
private static final FilterControlledArtifactPermanent filter2 = new FilterControlledArtifactPermanent("artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public SaiMasterThopterist(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SaiTok.java b/Mage.Sets/src/mage/cards/s/SaiTok.java
index 2fea4bab8d8..fb5387db8a2 100644
--- a/Mage.Sets/src/mage/cards/s/SaiTok.java
+++ b/Mage.Sets/src/mage/cards/s/SaiTok.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.TargetPermanent;
@@ -21,8 +20,8 @@ public final class SaiTok extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or planeswalker if it has converted mana cost 4 or less");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.CREATURE.getPredicate());
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 5));
}
diff --git a/Mage.Sets/src/mage/cards/s/SalvageSlasher.java b/Mage.Sets/src/mage/cards/s/SalvageSlasher.java
index f786b4b01c9..4fa24e8edb2 100644
--- a/Mage.Sets/src/mage/cards/s/SalvageSlasher.java
+++ b/Mage.Sets/src/mage/cards/s/SalvageSlasher.java
@@ -31,7 +31,7 @@ public final class SalvageSlasher extends CardImpl {
// Salvage Slasher gets +1/+0 for each artifact card in your graveyard.
BoostSourceEffect effect = new BoostSourceEffect(new CardsInControllerGraveyardCount(new FilterArtifactCard()),
- new StaticValue(0),
+ StaticValue.get(0),
Duration.WhileOnBattlefield);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
}
diff --git a/Mage.Sets/src/mage/cards/s/SalvagingStation.java b/Mage.Sets/src/mage/cards/s/SalvagingStation.java
index 87cdb06bb80..313864362b9 100644
--- a/Mage.Sets/src/mage/cards/s/SalvagingStation.java
+++ b/Mage.Sets/src/mage/cards/s/SalvagingStation.java
@@ -15,7 +15,6 @@ import mage.constants.ComparisonType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInYourGraveyard;
@@ -28,8 +27,8 @@ public final class SalvagingStation extends CardImpl {
private static final FilterCard filter = new FilterCard("noncreature artifact card with converted mana cost 1 or less");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 2));
}
diff --git a/Mage.Sets/src/mage/cards/s/SamutTheTested.java b/Mage.Sets/src/mage/cards/s/SamutTheTested.java
index 45553819861..b113c76d80e 100644
--- a/Mage.Sets/src/mage/cards/s/SamutTheTested.java
+++ b/Mage.Sets/src/mage/cards/s/SamutTheTested.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
import mage.target.common.TargetAnyTargetAmount;
import mage.target.common.TargetCreaturePermanent;
@@ -49,8 +48,8 @@ public final class SamutTheTested extends CardImpl {
// -7: Search your library or up to two creature and/or planeswalkercards, put them onto the battlefield, then shuffle your library.
FilterCard filterCard = new FilterCard("creature or planeswalker card");
filterCard.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, filterCard), false, true);
ability = new LoyaltyAbility(effect, -7);
diff --git a/Mage.Sets/src/mage/cards/s/SandsOfTime.java b/Mage.Sets/src/mage/cards/s/SandsOfTime.java
index 0875eaa5057..8284670d768 100644
--- a/Mage.Sets/src/mage/cards/s/SandsOfTime.java
+++ b/Mage.Sets/src/mage/cards/s/SandsOfTime.java
@@ -1,7 +1,6 @@
package mage.cards.s;
-import java.util.List;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@@ -11,13 +10,11 @@ import mage.abilities.effects.common.SkipUntapStepEffect;
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.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -54,9 +51,9 @@ class SandsOfTimeEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public SandsOfTimeEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/SapphireDrake.java b/Mage.Sets/src/mage/cards/s/SapphireDrake.java
index 4502b7ceb48..4a23d23b85f 100644
--- a/Mage.Sets/src/mage/cards/s/SapphireDrake.java
+++ b/Mage.Sets/src/mage/cards/s/SapphireDrake.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -24,7 +23,7 @@ public final class SapphireDrake extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new CounterPredicate(CounterType.P1P1));
}
diff --git a/Mage.Sets/src/mage/cards/s/SaprazzanBailiff.java b/Mage.Sets/src/mage/cards/s/SaprazzanBailiff.java
index 3d935ac2dc8..8b9c54db3de 100644
--- a/Mage.Sets/src/mage/cards/s/SaprazzanBailiff.java
+++ b/Mage.Sets/src/mage/cards/s/SaprazzanBailiff.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -31,8 +30,8 @@ public final class SaprazzanBailiff extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public SaprazzanBailiff(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SarkhanFireblood.java b/Mage.Sets/src/mage/cards/s/SarkhanFireblood.java
index c7dfe6717e4..274afded81c 100644
--- a/Mage.Sets/src/mage/cards/s/SarkhanFireblood.java
+++ b/Mage.Sets/src/mage/cards/s/SarkhanFireblood.java
@@ -47,7 +47,7 @@ public final class SarkhanFireblood extends CardImpl {
// +1: Add two mana of any combination of colors. Spend this mana only to cast Dragon spells.
this.addAbility(new LoyaltyAbility(
new AddConditionalManaOfAnyColorEffect(
- new StaticValue(2),
+ StaticValue.get(2),
new ConditionalSpellManaBuilder(filter),
false
), 1
diff --git a/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java b/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java
index 9fdeaddc8b8..e22f89568b8 100644
--- a/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java
+++ b/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java
@@ -18,7 +18,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -143,7 +142,7 @@ class SarkhanTheMadDragonDamageEffect extends OneShotEffect {
static {
filter = new FilterControlledPermanent();
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SubtypePredicate(SubType.DRAGON));
}
diff --git a/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java b/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java
index d61bdcf846d..06b3411b02b 100644
--- a/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java
+++ b/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java
@@ -34,7 +34,7 @@ public final class SarkhansDragonfire extends CardImpl {
// Look at the top five cards of your library. You may reveal a red card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter,
+ StaticValue.get(5), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false
).setBackInRandomOrder(true).setText("Look at the top five cards of your library. "
+ "You may reveal a red card from among them and put it into your hand. "
diff --git a/Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java b/Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java
index 95f462deeaa..8e07a96e41a 100644
--- a/Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java
+++ b/Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java
@@ -15,7 +15,6 @@ import mage.filter.FilterPermanent;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreatureSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetAnyTarget;
@@ -35,8 +34,8 @@ public final class SarkhansUnsealing extends CardImpl {
filter.add(new PowerPredicate(ComparisonType.FEWER_THAN, 7));
filter2.add(new PowerPredicate(ComparisonType.MORE_THAN, 6));
filter3.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
filter3.add(new ControllerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/s/SatyrEnchanter.java b/Mage.Sets/src/mage/cards/s/SatyrEnchanter.java
index a4890a89d85..2745ead8575 100644
--- a/Mage.Sets/src/mage/cards/s/SatyrEnchanter.java
+++ b/Mage.Sets/src/mage/cards/s/SatyrEnchanter.java
@@ -9,7 +9,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class SatyrEnchanter extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public SatyrEnchanter(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ScaldingSalamander.java b/Mage.Sets/src/mage/cards/s/ScaldingSalamander.java
index efb5f5926d3..d0e9bb3c5d7 100644
--- a/Mage.Sets/src/mage/cards/s/ScaldingSalamander.java
+++ b/Mage.Sets/src/mage/cards/s/ScaldingSalamander.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
/**
@@ -25,7 +24,7 @@ public final class ScaldingSalamander extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature without flying defending player controls");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(DefendingPlayerControlsPredicate.instance);
filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class)));
}
diff --git a/Mage.Sets/src/mage/cards/s/Scarecrone.java b/Mage.Sets/src/mage/cards/s/Scarecrone.java
index c6ae621037c..b9a45528475 100644
--- a/Mage.Sets/src/mage/cards/s/Scarecrone.java
+++ b/Mage.Sets/src/mage/cards/s/Scarecrone.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -30,8 +29,8 @@ public final class Scarecrone extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact creature card from your graveyard");
private static final FilterControlledCreaturePermanent filterScarecrow = new FilterControlledCreaturePermanent("Scarecrow");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
filterScarecrow.add(new SubtypePredicate(SubType.SCARECROW));
}
diff --git a/Mage.Sets/src/mage/cards/s/ScatterArc.java b/Mage.Sets/src/mage/cards/s/ScatterArc.java
index a093ddc2b2e..71e2a9963b1 100644
--- a/Mage.Sets/src/mage/cards/s/ScatterArc.java
+++ b/Mage.Sets/src/mage/cards/s/ScatterArc.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -21,7 +20,7 @@ public final class ScatterArc extends CardImpl {
private static final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ScatterArc(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java b/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java
index 0580b379d11..8f09e10eff4 100644
--- a/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java
+++ b/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerIdPredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
@@ -84,7 +83,7 @@ class ScionOfDarknessTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
FilterCard filter = new FilterCard("creature in " + damagedPlayer.getName() + "'s graveyard");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new OwnerIdPredicate(damagedPlayer.getId()));
TargetCardInGraveyard target = new TargetCardInGraveyard(filter);
this.getTargets().clear();
diff --git a/Mage.Sets/src/mage/cards/s/Scourglass.java b/Mage.Sets/src/mage/cards/s/Scourglass.java
index 534242eccbc..3335408d884 100644
--- a/Mage.Sets/src/mage/cards/s/Scourglass.java
+++ b/Mage.Sets/src/mage/cards/s/Scourglass.java
@@ -15,7 +15,6 @@ import mage.constants.PhaseStep;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,7 +25,7 @@ public final class Scourglass extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("permanents except for artifacts and lands");
static {
- filter.add(Predicates.not(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.LAND))));
+ filter.add(Predicates.not(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.LAND.getPredicate())));
}
public Scourglass(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ScoutTheBorders.java b/Mage.Sets/src/mage/cards/s/ScoutTheBorders.java
index 68f30a4a135..e6f6f533f9f 100644
--- a/Mage.Sets/src/mage/cards/s/ScoutTheBorders.java
+++ b/Mage.Sets/src/mage/cards/s/ScoutTheBorders.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -47,7 +46,7 @@ class ScoutTheBordersEffect extends OneShotEffect {
private static final FilterCard filterPutInHand = new FilterCard("creature or land card to put in hand");
static {
- filterPutInHand.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filterPutInHand.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public ScoutTheBordersEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/ScribeOfTheMindful.java b/Mage.Sets/src/mage/cards/s/ScribeOfTheMindful.java
index 4b6f73553e7..2e2b4c9bff8 100644
--- a/Mage.Sets/src/mage/cards/s/ScribeOfTheMindful.java
+++ b/Mage.Sets/src/mage/cards/s/ScribeOfTheMindful.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -30,8 +29,8 @@ public final class ScribeOfTheMindful extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public ScribeOfTheMindful(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/Scrivener.java b/Mage.Sets/src/mage/cards/s/Scrivener.java
index 9510e328b88..9540f3aaab5 100644
--- a/Mage.Sets/src/mage/cards/s/Scrivener.java
+++ b/Mage.Sets/src/mage/cards/s/Scrivener.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -24,7 +23,7 @@ public final class Scrivener extends CardImpl {
private static final FilterCard filter = new FilterCard("instant card from your graveyard");
static{
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public Scrivener(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java b/Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java
index d4e076f8ae5..a7ebd264d52 100644
--- a/Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java
+++ b/Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java
@@ -20,7 +20,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
@@ -32,7 +31,7 @@ public final class ScrollOfTheMasters extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ScrollOfTheMasters(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SculptingSteel.java b/Mage.Sets/src/mage/cards/s/SculptingSteel.java
index c0f53f0c229..c036b59a282 100644
--- a/Mage.Sets/src/mage/cards/s/SculptingSteel.java
+++ b/Mage.Sets/src/mage/cards/s/SculptingSteel.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public final class SculptingSteel extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public SculptingSteel(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SeaGateOracle.java b/Mage.Sets/src/mage/cards/s/SeaGateOracle.java
index d00986166ee..d1b6ac4e320 100644
--- a/Mage.Sets/src/mage/cards/s/SeaGateOracle.java
+++ b/Mage.Sets/src/mage/cards/s/SeaGateOracle.java
@@ -28,7 +28,7 @@ public final class SeaGateOracle extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(3);
- this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false), false));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(2), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false), false));
}
diff --git a/Mage.Sets/src/mage/cards/s/SeekTheWilds.java b/Mage.Sets/src/mage/cards/s/SeekTheWilds.java
index d5eae19227b..5db58167d56 100644
--- a/Mage.Sets/src/mage/cards/s/SeekTheWilds.java
+++ b/Mage.Sets/src/mage/cards/s/SeekTheWilds.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,14 +19,14 @@ public final class SeekTheWilds extends CardImpl {
private static final FilterCard filter = new FilterCard("a creature or land card");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public SeekTheWilds(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{G}");
// Look at the top four cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), filter, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), filter, false));
}
diff --git a/Mage.Sets/src/mage/cards/s/Seeker.java b/Mage.Sets/src/mage/cards/s/Seeker.java
index b90758cde4a..b909c439b68 100644
--- a/Mage.Sets/src/mage/cards/s/Seeker.java
+++ b/Mage.Sets/src/mage/cards/s/Seeker.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -33,8 +32,8 @@ public final class Seeker extends CardImpl {
static {
filter.add(Predicates.not(
Predicates.or(
- Predicates.and(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)),
- Predicates.and(new CardTypePredicate(CardType.CREATURE), new ColorPredicate(ObjectColor.WHITE)
+ Predicates.and(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()),
+ Predicates.and(CardType.CREATURE.getPredicate(), new ColorPredicate(ObjectColor.WHITE)
))));
}
diff --git a/Mage.Sets/src/mage/cards/s/SeekerOfTheWay.java b/Mage.Sets/src/mage/cards/s/SeekerOfTheWay.java
index 16d5aa11f69..c551e6d2d3d 100644
--- a/Mage.Sets/src/mage/cards/s/SeekerOfTheWay.java
+++ b/Mage.Sets/src/mage/cards/s/SeekerOfTheWay.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class SeekerOfTheWay extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public SeekerOfTheWay(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SelfInflictedWound.java b/Mage.Sets/src/mage/cards/s/SelfInflictedWound.java
index 52812cd5b7e..dd6caca7c7c 100644
--- a/Mage.Sets/src/mage/cards/s/SelfInflictedWound.java
+++ b/Mage.Sets/src/mage/cards/s/SelfInflictedWound.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
@@ -70,7 +69,7 @@ class SelfInflictedWoundEffect extends OneShotEffect {
return false;
}
FilterControlledPermanent filter = new FilterControlledPermanent("a green or white creature");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(Predicates.or(new ColorPredicate(ObjectColor.GREEN), new ColorPredicate(ObjectColor.WHITE)));
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true);
diff --git a/Mage.Sets/src/mage/cards/s/SensorSplicer.java b/Mage.Sets/src/mage/cards/s/SensorSplicer.java
index 210fd30a86d..0a03448daba 100644
--- a/Mage.Sets/src/mage/cards/s/SensorSplicer.java
+++ b/Mage.Sets/src/mage/cards/s/SensorSplicer.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.permanent.token.GolemToken;
@@ -28,7 +27,7 @@ public final class SensorSplicer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Golem creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SubtypePredicate(SubType.GOLEM));
}
diff --git a/Mage.Sets/src/mage/cards/s/Sentinel.java b/Mage.Sets/src/mage/cards/s/Sentinel.java
index 2601ee42de0..bdbfd2e58cb 100644
--- a/Mage.Sets/src/mage/cards/s/Sentinel.java
+++ b/Mage.Sets/src/mage/cards/s/Sentinel.java
@@ -81,7 +81,7 @@ class SentinelEffect extends OneShotEffect {
Permanent targetPermanent = game.getPermanentOrLKIBattlefield(targetPointer.getFirst(game, source));
if (controller != null && targetPermanent != null) {
int newToughness = CardUtil.addWithOverflowCheck(targetPermanent.getPower().getValue(), 1);
- game.addEffect(new SetToughnessSourceEffect(new StaticValue(newToughness), Duration.Custom, SubLayer.SetPT_7b), source);
+ game.addEffect(new SetToughnessSourceEffect(StaticValue.get(newToughness), Duration.Custom, SubLayer.SetPT_7b), source);
return true;
}
return false;
diff --git a/Mage.Sets/src/mage/cards/s/SentinelTower.java b/Mage.Sets/src/mage/cards/s/SentinelTower.java
index bc33d74c3b3..be47a83810a 100644
--- a/Mage.Sets/src/mage/cards/s/SentinelTower.java
+++ b/Mage.Sets/src/mage/cards/s/SentinelTower.java
@@ -80,7 +80,7 @@ class SentinelTowerTriggeredAbility extends SpellCastAllTriggeredAbility {
}
for (Effect effect : this.getEffects()) {
if (effect instanceof DamageTargetEffect) {
- ((DamageTargetEffect) effect).setAmount(new StaticValue(damageToDeal));
+ ((DamageTargetEffect) effect).setAmount(StaticValue.get(damageToDeal));
return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/s/Serenity.java b/Mage.Sets/src/mage/cards/s/Serenity.java
index 0e19a076385..d8b92ae15ea 100644
--- a/Mage.Sets/src/mage/cards/s/Serenity.java
+++ b/Mage.Sets/src/mage/cards/s/Serenity.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.events.GameEvent.EventType;
/**
@@ -23,7 +22,7 @@ public final class Serenity extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifacts and enchantments");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public Serenity(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java b/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java
index 201092a0c14..eb0c62b6254 100644
--- a/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java
+++ b/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java
@@ -17,7 +17,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.VerseCounterAdjuster;
@@ -31,8 +30,8 @@ public final class SerrasLiturgy extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SerrasSanctum.java b/Mage.Sets/src/mage/cards/s/SerrasSanctum.java
index 46d74eabd50..7e02a9b7189 100644
--- a/Mage.Sets/src/mage/cards/s/SerrasSanctum.java
+++ b/Mage.Sets/src/mage/cards/s/SerrasSanctum.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class SerrasSanctum extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("enchantment you control");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public SerrasSanctum(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SettleTheScore.java b/Mage.Sets/src/mage/cards/s/SettleTheScore.java
index a8ee4159483..c8a29482c71 100644
--- a/Mage.Sets/src/mage/cards/s/SettleTheScore.java
+++ b/Mage.Sets/src/mage/cards/s/SettleTheScore.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -48,7 +47,7 @@ class SettleTheScoreEffect extends OneShotEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("planeswalker you control");
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
}
public SettleTheScoreEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java b/Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java
index 621daf3a92a..ffe2967acee 100644
--- a/Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java
+++ b/Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java
@@ -22,9 +22,7 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.StaticFilters;
-import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -35,7 +33,7 @@ public final class ShalaiVoiceOfPlenty extends CardImpl {
private static final FilterControlledPermanent filter1 = new FilterControlledPermanent("planeswalkers you control");
static {
- filter1.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter1.add(CardType.PLANESWALKER.getPredicate());
}
public ShalaiVoiceOfPlenty(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 c666d6d3bfe..a50bb9be0ca 100644
--- a/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java
+++ b/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java
@@ -41,7 +41,7 @@ public final class ShaleskinBruiser extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Whenever Shaleskin Bruiser attacks, it gets +3/+0 until end of turn for each other attacking Beast.
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 3);
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, StaticValue.get(0), Duration.EndOfTurn, true), false));
}
public ShaleskinBruiser(final ShaleskinBruiser card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShardingSphinx.java b/Mage.Sets/src/mage/cards/s/ShardingSphinx.java
index 122a5f41d4c..647315378df 100644
--- a/Mage.Sets/src/mage/cards/s/ShardingSphinx.java
+++ b/Mage.Sets/src/mage/cards/s/ShardingSphinx.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SetTargetPointer;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.ThopterToken;
/**
@@ -24,7 +23,7 @@ public final class ShardingSphinx extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an artifact creature you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ShardingSphinx(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ShatteredDreams.java b/Mage.Sets/src/mage/cards/s/ShatteredDreams.java
index 0c436825811..2cf1887daec 100644
--- a/Mage.Sets/src/mage/cards/s/ShatteredDreams.java
+++ b/Mage.Sets/src/mage/cards/s/ShatteredDreams.java
@@ -7,7 +7,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetOpponent;
/**
@@ -18,7 +17,7 @@ public final class ShatteredDreams extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact card from it");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ShatteredDreams(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java b/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java
index 2db55d0a3c5..08665eb086e 100644
--- a/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java
+++ b/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -52,7 +51,7 @@ public final class ShattergangBrothers extends CardImpl {
this.addAbility(ability);
// {2}{G}, Sacrifice an enchantment: Each other player sacrifices an enchantment.
filter = new FilterControlledPermanent("an enchantment");
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(filter), new ManaCostsImpl("{2}{G}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ShefetMonitor.java b/Mage.Sets/src/mage/cards/s/ShefetMonitor.java
index 837667f040f..e082e7038d6 100644
--- a/Mage.Sets/src/mage/cards/s/ShefetMonitor.java
+++ b/Mage.Sets/src/mage/cards/s/ShefetMonitor.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -30,7 +29,7 @@ public final class ShefetMonitor extends CardImpl {
filter.add(
Predicates.or(
Predicates.and(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
new SupertypePredicate(SuperType.BASIC)),
new SubtypePredicate(SubType.DESERT)));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShellOfTheLastKappa.java b/Mage.Sets/src/mage/cards/s/ShellOfTheLastKappa.java
index 3f90c146498..ca9706cca53 100644
--- a/Mage.Sets/src/mage/cards/s/ShellOfTheLastKappa.java
+++ b/Mage.Sets/src/mage/cards/s/ShellOfTheLastKappa.java
@@ -20,7 +20,6 @@ import mage.filter.FilterSpell;
import mage.filter.predicate.ObjectPlayer;
import mage.filter.predicate.ObjectPlayerPredicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
@@ -42,8 +41,8 @@ public final class ShellOfTheLastKappa extends CardImpl {
static {
filter.add(new TargetYouPredicate());
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public ShellOfTheLastKappa(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ShiftingSky.java b/Mage.Sets/src/mage/cards/s/ShiftingSky.java
index 6930e2d389a..33d7c11cf67 100644
--- a/Mage.Sets/src/mage/cards/s/ShiftingSky.java
+++ b/Mage.Sets/src/mage/cards/s/ShiftingSky.java
@@ -18,7 +18,6 @@ import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -54,7 +53,7 @@ class ShiftingSkyEffect extends ContinuousEffectImpl {
private static final FilterPermanent filter = new FilterPermanent("All nonland permanents");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public ShiftingSkyEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/ShimianSpecter.java b/Mage.Sets/src/mage/cards/s/ShimianSpecter.java
index 8ef4aa960c5..a999fd6ac7e 100644
--- a/Mage.Sets/src/mage/cards/s/ShimianSpecter.java
+++ b/Mage.Sets/src/mage/cards/s/ShimianSpecter.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterNonlandCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -61,7 +60,7 @@ class ShimianSpecterEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public ShimianSpecterEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/ShimmerOfPossibility.java b/Mage.Sets/src/mage/cards/s/ShimmerOfPossibility.java
index 46bfea6cf19..5b3056dc541 100644
--- a/Mage.Sets/src/mage/cards/s/ShimmerOfPossibility.java
+++ b/Mage.Sets/src/mage/cards/s/ShimmerOfPossibility.java
@@ -20,7 +20,7 @@ public final class ShimmerOfPossibility extends CardImpl {
// Look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in a random order.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(1), StaticFilters.FILTER_CARD, Zone.LIBRARY,
+ StaticValue.get(4), false, StaticValue.get(1), StaticFilters.FILTER_CARD, Zone.LIBRARY,
false, false, false, Zone.HAND, false, false, false
).setBackInRandomOrder(true));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShockmawDragon.java b/Mage.Sets/src/mage/cards/s/ShockmawDragon.java
index 7945aa60f16..b3c6643bba5 100644
--- a/Mage.Sets/src/mage/cards/s/ShockmawDragon.java
+++ b/Mage.Sets/src/mage/cards/s/ShockmawDragon.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
@@ -74,7 +73,7 @@ class PolisCrusherTriggeredAbility extends TriggeredAbilityImpl {
Player player = game.getPlayer(event.getTargetId());
if (player != null) {
FilterPermanent filter = new FilterPermanent("a creature controlled by " + player.getLogName());
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerIdPredicate(event.getTargetId()));
this.getTargets().clear();
this.addTarget(new TargetPermanent(filter));
diff --git a/Mage.Sets/src/mage/cards/s/ShowAndTell.java b/Mage.Sets/src/mage/cards/s/ShowAndTell.java
index 766d129c6c0..1e00cb47566 100644
--- a/Mage.Sets/src/mage/cards/s/ShowAndTell.java
+++ b/Mage.Sets/src/mage/cards/s/ShowAndTell.java
@@ -1,11 +1,6 @@
package mage.cards.s;
-import java.util.ArrayList;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.cards.Card;
@@ -16,19 +11,21 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInHand;
+import java.util.LinkedHashSet;
+import java.util.Set;
+import java.util.UUID;
+
/**
- *
* @author North
*/
public final class ShowAndTell extends CardImpl {
public ShowAndTell(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{U}");
+ super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
// Each player may put an artifact, creature, enchantment, or land card from their hand onto the battlefield.
this.getSpellAbility().addEffect(new ShowAndTellEffect());
@@ -49,12 +46,12 @@ class ShowAndTellEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("artifact, creature, enchantment, or land card");
static {
- List cardTypes = new ArrayList<>();
- cardTypes.add(new CardTypePredicate(CardType.ARTIFACT));
- cardTypes.add(new CardTypePredicate(CardType.CREATURE));
- cardTypes.add(new CardTypePredicate(CardType.ENCHANTMENT));
- cardTypes.add(new CardTypePredicate(CardType.LAND));
- filter.add(Predicates.or(cardTypes));
+ filter.add(Predicates.or(
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()
+ ));
}
public ShowAndTellEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/ShrapnelBlast.java b/Mage.Sets/src/mage/cards/s/ShrapnelBlast.java
index 8dc39e717e5..60bbb761000 100644
--- a/Mage.Sets/src/mage/cards/s/ShrapnelBlast.java
+++ b/Mage.Sets/src/mage/cards/s/ShrapnelBlast.java
@@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledArtifactPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetAnyTarget;
@@ -20,7 +19,7 @@ public final class ShrapnelBlast extends CardImpl {
private static final FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ShrapnelBlast(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ShredsOfSanity.java b/Mage.Sets/src/mage/cards/s/ShredsOfSanity.java
index 172af9fbd32..b9d2ae6bcf0 100644
--- a/Mage.Sets/src/mage/cards/s/ShredsOfSanity.java
+++ b/Mage.Sets/src/mage/cards/s/ShredsOfSanity.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -29,8 +28,8 @@ public final class ShredsOfSanity extends CardImpl {
private static final FilterCard filterSorcery = new FilterCard("a sorcery card in your graveyard");
static {
- filterInstant.add(new CardTypePredicate(CardType.INSTANT));
- filterSorcery.add(new CardTypePredicate(CardType.SORCERY));
+ filterInstant.add(CardType.INSTANT.getPredicate());
+ filterSorcery.add(CardType.SORCERY.getPredicate());
}
public ShredsOfSanity(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/ShrewdNegotiation.java b/Mage.Sets/src/mage/cards/s/ShrewdNegotiation.java
index a2f724c6652..573fbde3f11 100644
--- a/Mage.Sets/src/mage/cards/s/ShrewdNegotiation.java
+++ b/Mage.Sets/src/mage/cards/s/ShrewdNegotiation.java
@@ -11,7 +11,6 @@ import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
@@ -28,8 +27,8 @@ public final class ShrewdNegotiation extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.NOT_YOU));
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public ShrewdNegotiation(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/Shriekmaw.java b/Mage.Sets/src/mage/cards/s/Shriekmaw.java
index 5340c5aca7e..6fcb8486474 100644
--- a/Mage.Sets/src/mage/cards/s/Shriekmaw.java
+++ b/Mage.Sets/src/mage/cards/s/Shriekmaw.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
@@ -29,7 +28,7 @@ public final class Shriekmaw extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact, nonblack creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java b/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java
index 04c69561b69..4579a9c2b1f 100644
--- a/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java
+++ b/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java
@@ -18,7 +18,6 @@ import mage.constants.Duration;
import mage.constants.SuperType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -30,7 +29,7 @@ public final class ShuYunTheSilentTempest extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ShuYunTheSilentTempest(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SiegeModification.java b/Mage.Sets/src/mage/cards/s/SiegeModification.java
index a0892270298..e96784bece8 100644
--- a/Mage.Sets/src/mage/cards/s/SiegeModification.java
+++ b/Mage.Sets/src/mage/cards/s/SiegeModification.java
@@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
@@ -28,7 +27,7 @@ public final class SiegeModification extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or vehicle");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
new SubtypePredicate(SubType.VEHICLE)));
}
diff --git a/Mage.Sets/src/mage/cards/s/SightBeyondSight.java b/Mage.Sets/src/mage/cards/s/SightBeyondSight.java
index ea21f3a08d3..3051bee5904 100644
--- a/Mage.Sets/src/mage/cards/s/SightBeyondSight.java
+++ b/Mage.Sets/src/mage/cards/s/SightBeyondSight.java
@@ -21,7 +21,7 @@ public final class SightBeyondSight extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{U}");
// Look at the top two cards of your library. Put of them into your hand and the other on the bottom of your library.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(2), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false));
// Rebound
this.addAbility(new ReboundAbility());
diff --git a/Mage.Sets/src/mage/cards/s/SigilOfTheEmptyThrone.java b/Mage.Sets/src/mage/cards/s/SigilOfTheEmptyThrone.java
index 98fff5fcec5..94575cfaedf 100644
--- a/Mage.Sets/src/mage/cards/s/SigilOfTheEmptyThrone.java
+++ b/Mage.Sets/src/mage/cards/s/SigilOfTheEmptyThrone.java
@@ -9,7 +9,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.AngelToken;
/**
@@ -21,7 +20,7 @@ public final class SigilOfTheEmptyThrone extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public SigilOfTheEmptyThrone(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SilentSentinel.java b/Mage.Sets/src/mage/cards/s/SilentSentinel.java
index 1dcdc62905e..220169da944 100644
--- a/Mage.Sets/src/mage/cards/s/SilentSentinel.java
+++ b/Mage.Sets/src/mage/cards/s/SilentSentinel.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerPredicate;
import mage.target.common.TargetCardInGraveyard;
@@ -25,7 +24,7 @@ public final class SilentSentinel extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter.add(new OwnerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/s/SilhanaWayfinder.java b/Mage.Sets/src/mage/cards/s/SilhanaWayfinder.java
index 38d0f6e90e5..34d46a83aee 100644
--- a/Mage.Sets/src/mage/cards/s/SilhanaWayfinder.java
+++ b/Mage.Sets/src/mage/cards/s/SilhanaWayfinder.java
@@ -11,7 +11,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -25,8 +24,8 @@ public final class SilhanaWayfinder extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
@@ -40,7 +39,7 @@ public final class SilhanaWayfinder extends CardImpl {
// When Silhana Wayfinder enters the battlefield, look at the top four cards of your library. You may reveal a creature or land card from among them and put it on top of your library. Put the rest on the bottom of your library in a random order.
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(1), filter, Zone.LIBRARY, false,
+ StaticValue.get(4), false, StaticValue.get(1), filter, Zone.LIBRARY, false,
true, true, Zone.LIBRARY, false, true, false
).setBackInRandomOrder(true).setText("look at the top four cards of your library. " +
"You may reveal a creature or land card from among them " +
diff --git a/Mage.Sets/src/mage/cards/s/SilumgarsCommand.java b/Mage.Sets/src/mage/cards/s/SilumgarsCommand.java
index b4c37bd9bc7..966df4d0ad1 100644
--- a/Mage.Sets/src/mage/cards/s/SilumgarsCommand.java
+++ b/Mage.Sets/src/mage/cards/s/SilumgarsCommand.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.filter.FilterPermanent;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.TargetSpell;
import mage.target.common.TargetCreaturePermanent;
@@ -29,8 +28,8 @@ public final class SilumgarsCommand extends CardImpl {
private static final FilterPermanent filter2 = new FilterPermanent("planeswalker");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filter2.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filter2.add(CardType.PLANESWALKER.getPredicate());
}
public SilumgarsCommand(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SilvergillDouser.java b/Mage.Sets/src/mage/cards/s/SilvergillDouser.java
index efbdede1e27..903197f46df 100644
--- a/Mage.Sets/src/mage/cards/s/SilvergillDouser.java
+++ b/Mage.Sets/src/mage/cards/s/SilvergillDouser.java
@@ -42,7 +42,7 @@ public final class SilvergillDouser extends CardImpl {
// {tap}: Target creature gets -X/-0 until end of turn, where X is the number of Merfolk and/or Faeries you control.
DynamicValue number = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(filter), -1);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(number, new StaticValue(0), Duration.EndOfTurn, true), new TapSourceCost());
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(number, StaticValue.get(0), Duration.EndOfTurn, true), new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SingleCombat.java b/Mage.Sets/src/mage/cards/s/SingleCombat.java
index d4c235beb12..309fe92b2f3 100644
--- a/Mage.Sets/src/mage/cards/s/SingleCombat.java
+++ b/Mage.Sets/src/mage/cards/s/SingleCombat.java
@@ -13,7 +13,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.PermanentIdPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -54,8 +53,8 @@ class SingleCombatEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SionaCaptainOfThePyleas.java b/Mage.Sets/src/mage/cards/s/SionaCaptainOfThePyleas.java
index 4e53bd72332..97838a6a850 100644
--- a/Mage.Sets/src/mage/cards/s/SionaCaptainOfThePyleas.java
+++ b/Mage.Sets/src/mage/cards/s/SionaCaptainOfThePyleas.java
@@ -44,7 +44,7 @@ public final class SionaCaptainOfThePyleas extends CardImpl {
// When Siona, Captain of the Pyleas enters the battlefield, look at the top seven cards of your library. You may reveal an Aura card among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new EntersBattlefieldTriggeredAbility(
new LookLibraryAndPickControllerEffect(
- new StaticValue(7), false, new StaticValue(1), filter,
+ StaticValue.get(7), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND,
true, false, false
).setBackInRandomOrder(true).setText("Look at the top seven cards of your library. " +
diff --git a/Mage.Sets/src/mage/cards/s/SithRuins.java b/Mage.Sets/src/mage/cards/s/SithRuins.java
index 1d294501087..3c88ffc7665 100644
--- a/Mage.Sets/src/mage/cards/s/SithRuins.java
+++ b/Mage.Sets/src/mage/cards/s/SithRuins.java
@@ -13,7 +13,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -59,7 +58,7 @@ public final class SithRuins extends CardImpl {
addCost(new TapSourceCost());
addCost(new SacrificeSourceCost());
FilterCard filter = new FilterCard("basic Island, Swamp or Mountain");
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
List> subtypePredicates = new ArrayList<>();
subtypePredicates.add(new SubtypePredicate(SubType.SWAMP));
subtypePredicates.add(new SubtypePredicate(SubType.MOUNTAIN));
diff --git a/Mage.Sets/src/mage/cards/s/SkallaWolf.java b/Mage.Sets/src/mage/cards/s/SkallaWolf.java
index 130422f9fb8..5407429b46d 100644
--- a/Mage.Sets/src/mage/cards/s/SkallaWolf.java
+++ b/Mage.Sets/src/mage/cards/s/SkallaWolf.java
@@ -37,7 +37,7 @@ public final class SkallaWolf extends CardImpl {
// When Skalla Wolf enters the battlefield, look at the top five cards of your library. You may reveal a green card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new EntersBattlefieldTriggeredAbility(
new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter,
+ StaticValue.get(5), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false
).setBackInRandomOrder(true).setText("look at the top five cards of your library. "
+ "You may reveal a green card from among them and put it into your hand. "
diff --git a/Mage.Sets/src/mage/cards/s/SkeletalScrying.java b/Mage.Sets/src/mage/cards/s/SkeletalScrying.java
index 558d6319396..7e65477a115 100644
--- a/Mage.Sets/src/mage/cards/s/SkeletalScrying.java
+++ b/Mage.Sets/src/mage/cards/s/SkeletalScrying.java
@@ -82,7 +82,7 @@ class SkeletalScryingEffect extends OneShotEffect {
protected DynamicValue amount;
public SkeletalScryingEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public SkeletalScryingEffect(DynamicValue amount) {
diff --git a/Mage.Sets/src/mage/cards/s/SkeletonShard.java b/Mage.Sets/src/mage/cards/s/SkeletonShard.java
index 97eb30fb380..e0dfa75931c 100644
--- a/Mage.Sets/src/mage/cards/s/SkeletonShard.java
+++ b/Mage.Sets/src/mage/cards/s/SkeletonShard.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.common.TargetCardInYourGraveyard;
@@ -25,8 +24,8 @@ public final class SkeletonShard extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact creature card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
}
public SkeletonShard(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SkilledAnimator.java b/Mage.Sets/src/mage/cards/s/SkilledAnimator.java
index 5366cf5e80d..cf1a16f4939 100644
--- a/Mage.Sets/src/mage/cards/s/SkilledAnimator.java
+++ b/Mage.Sets/src/mage/cards/s/SkilledAnimator.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.SubLayer;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.TokenImpl;
@@ -29,7 +28,7 @@ public final class SkilledAnimator extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public SkilledAnimator(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SkirkShaman.java b/Mage.Sets/src/mage/cards/s/SkirkShaman.java
index 96c784ff610..c15dee41613 100644
--- a/Mage.Sets/src/mage/cards/s/SkirkShaman.java
+++ b/Mage.Sets/src/mage/cards/s/SkirkShaman.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -27,8 +26,8 @@ public final class SkirkShaman extends CardImpl {
static {
filter.add(Predicates.not(
Predicates.or(
- Predicates.and(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)),
- Predicates.and(new CardTypePredicate(CardType.CREATURE), new ColorPredicate(ObjectColor.RED)
+ Predicates.and(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()),
+ Predicates.and(CardType.CREATURE.getPredicate(), new ColorPredicate(ObjectColor.RED)
))));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkullOfOrm.java b/Mage.Sets/src/mage/cards/s/SkullOfOrm.java
index 91951ee2766..df1a8c8dcf3 100644
--- a/Mage.Sets/src/mage/cards/s/SkullOfOrm.java
+++ b/Mage.Sets/src/mage/cards/s/SkullOfOrm.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -24,7 +23,7 @@ public final class SkullOfOrm extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public SkullOfOrm(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/Skybind.java b/Mage.Sets/src/mage/cards/s/Skybind.java
index d986194a029..8caa7cfb1b4 100644
--- a/Mage.Sets/src/mage/cards/s/Skybind.java
+++ b/Mage.Sets/src/mage/cards/s/Skybind.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -29,7 +28,7 @@ public final class Skybind extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nonenchantment permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.not(CardType.ENCHANTMENT.getPredicate()));
}
public Skybind(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SkyshipWeatherlight.java b/Mage.Sets/src/mage/cards/s/SkyshipWeatherlight.java
index da4ce8dc168..817b025966f 100644
--- a/Mage.Sets/src/mage/cards/s/SkyshipWeatherlight.java
+++ b/Mage.Sets/src/mage/cards/s/SkyshipWeatherlight.java
@@ -23,7 +23,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.ExileZone;
import mage.game.Game;
import mage.players.Player;
@@ -66,8 +65,8 @@ class SkyshipWeatherlightEffect extends SearchEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public SkyshipWeatherlightEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/SkywiseTeachings.java b/Mage.Sets/src/mage/cards/s/SkywiseTeachings.java
index 1503499b414..9f09b33c69c 100644
--- a/Mage.Sets/src/mage/cards/s/SkywiseTeachings.java
+++ b/Mage.Sets/src/mage/cards/s/SkywiseTeachings.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.SkywiseTeachingsToken;
/**
@@ -23,7 +22,7 @@ public final class SkywiseTeachings extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public SkywiseTeachings(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SleightOfHand.java b/Mage.Sets/src/mage/cards/s/SleightOfHand.java
index da5fd503202..b45d2f89ea8 100644
--- a/Mage.Sets/src/mage/cards/s/SleightOfHand.java
+++ b/Mage.Sets/src/mage/cards/s/SleightOfHand.java
@@ -21,7 +21,7 @@ public final class SleightOfHand extends CardImpl {
// Look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(2), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false));
}
public SleightOfHand(final SleightOfHand card) {
diff --git a/Mage.Sets/src/mage/cards/s/SlobadGoblinTinkerer.java b/Mage.Sets/src/mage/cards/s/SlobadGoblinTinkerer.java
index ec0e5d02327..7b9b798d1cb 100644
--- a/Mage.Sets/src/mage/cards/s/SlobadGoblinTinkerer.java
+++ b/Mage.Sets/src/mage/cards/s/SlobadGoblinTinkerer.java
@@ -19,7 +19,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
@@ -32,8 +31,8 @@ public final class SlobadGoblinTinkerer extends CardImpl {
private static final FilterControlledPermanent filterControlled = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filterControlled.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filterControlled.add(CardType.ARTIFACT.getPredicate());
}
public SlobadGoblinTinkerer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SnapcasterMage.java b/Mage.Sets/src/mage/cards/s/SnapcasterMage.java
index fc18b483fcf..c11202bbda8 100644
--- a/Mage.Sets/src/mage/cards/s/SnapcasterMage.java
+++ b/Mage.Sets/src/mage/cards/s/SnapcasterMage.java
@@ -20,7 +20,6 @@ import mage.constants.SubLayer;
import mage.constants.TimingRule;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.target.common.TargetCardInYourGraveyard;
@@ -34,8 +33,8 @@ public final class SnapcasterMage extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public SnapcasterMage(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SoTiny.java b/Mage.Sets/src/mage/cards/s/SoTiny.java
index 6b41d69da82..48db1b608d1 100644
--- a/Mage.Sets/src/mage/cards/s/SoTiny.java
+++ b/Mage.Sets/src/mage/cards/s/SoTiny.java
@@ -44,7 +44,7 @@ public final class SoTiny extends CardImpl {
// Enchanted creature gets -2/-0. It gets -6/-0 instead as long as its controller has seven or more cards in their graveyard.
this.addAbility(new SimpleStaticAbility(
- new BoostEnchantedEffect(SoTinyValue.instance, StaticValue.getZeroValue())
+ new BoostEnchantedEffect(SoTinyValue.instance, StaticValue.get(0))
.setText("enchanted creature gets -2/-0. It gets -6/-0 instead as long as " +
"its controller has seven or more cards in their graveyard")
));
diff --git a/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java b/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java
index 56e925fe0ce..889544a4f4a 100644
--- a/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java
+++ b/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java
@@ -35,7 +35,7 @@ public final class SokenzanSpellblade extends CardImpl {
// Bushido 1
this.addAbility(new BushidoAbility(1));
// {1}{R}: Sokenzan Spellblade gets +X/+0 until end of turn, where X is the number of cards in your hand.
- Effect effect = new BoostSourceEffect(CardsInControllerHandCount.instance, new StaticValue(0), Duration.EndOfTurn, true);
+ Effect effect = new BoostSourceEffect(CardsInControllerHandCount.instance, StaticValue.get(0), Duration.EndOfTurn, true);
effect.setText("{this} gets +X/+0 until end of turn, where X is the number of cards in your hand");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
effect, new ManaCostsImpl("{1}{R}")
diff --git a/Mage.Sets/src/mage/cards/s/SoldeviAdnate.java b/Mage.Sets/src/mage/cards/s/SoldeviAdnate.java
index 70f9d9a3d1d..3800b3fac01 100644
--- a/Mage.Sets/src/mage/cards/s/SoldeviAdnate.java
+++ b/Mage.Sets/src/mage/cards/s/SoldeviAdnate.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetControlledPermanent;
@@ -28,7 +27,7 @@ public final class SoldeviAdnate extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("black or artifact creature");
static {
- filter.add(Predicates.or(new ColorPredicate(ObjectColor.BLACK), new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.or(new ColorPredicate(ObjectColor.BLACK), CardType.ARTIFACT.getPredicate()));
}
public SoldeviAdnate(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/Solemnity.java b/Mage.Sets/src/mage/cards/s/Solemnity.java
index 858d9c85f29..a8ed98f39a6 100644
--- a/Mage.Sets/src/mage/cards/s/Solemnity.java
+++ b/Mage.Sets/src/mage/cards/s/Solemnity.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -85,10 +84,10 @@ class SolemnityEffect2 extends ReplacementEffectImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public SolemnityEffect2() {
diff --git a/Mage.Sets/src/mage/cards/s/SorinLordOfInnistrad.java b/Mage.Sets/src/mage/cards/s/SorinLordOfInnistrad.java
index 211cb1e3812..7a89e3f455b 100644
--- a/Mage.Sets/src/mage/cards/s/SorinLordOfInnistrad.java
+++ b/Mage.Sets/src/mage/cards/s/SorinLordOfInnistrad.java
@@ -20,7 +20,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.command.emblems.SorinLordOfInnistradEmblem;
import mage.game.permanent.Permanent;
@@ -38,8 +37,8 @@ public final class SorinLordOfInnistrad extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public SorinLordOfInnistrad(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SoulDiviner.java b/Mage.Sets/src/mage/cards/s/SoulDiviner.java
index 0b02ccf33d4..50696f8242d 100644
--- a/Mage.Sets/src/mage/cards/s/SoulDiviner.java
+++ b/Mage.Sets/src/mage/cards/s/SoulDiviner.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
@@ -28,10 +27,10 @@ public final class SoulDiviner extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SoulFoundry.java b/Mage.Sets/src/mage/cards/s/SoulFoundry.java
index 23f9c28c4f1..8949dad6e90 100644
--- a/Mage.Sets/src/mage/cards/s/SoulFoundry.java
+++ b/Mage.Sets/src/mage/cards/s/SoulFoundry.java
@@ -19,7 +19,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -84,7 +83,7 @@ class SoulFoundryImprintEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("creature card from your hand");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public SoulFoundryImprintEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/SoulScarMage.java b/Mage.Sets/src/mage/cards/s/SoulScarMage.java
index b45ced68608..4070c4dd5f1 100644
--- a/Mage.Sets/src/mage/cards/s/SoulScarMage.java
+++ b/Mage.Sets/src/mage/cards/s/SoulScarMage.java
@@ -74,7 +74,7 @@ class SoulScarMageDamageReplacementEffect extends ReplacementEffectImpl {
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
Permanent toGetCounters = game.getPermanent(event.getTargetId());
if (toGetCounters != null) {
- AddCountersTargetEffect addCounters = new AddCountersTargetEffect(CounterType.M1M1.createInstance(), new StaticValue(event.getAmount()));
+ AddCountersTargetEffect addCounters = new AddCountersTargetEffect(CounterType.M1M1.createInstance(), StaticValue.get(event.getAmount()));
addCounters.setTargetPointer(new FixedTarget(toGetCounters.getId()));
addCounters.apply(game, source);
return true;
diff --git a/Mage.Sets/src/mage/cards/s/SoulbladeDjinn.java b/Mage.Sets/src/mage/cards/s/SoulbladeDjinn.java
index 1e0bdeb0e18..98bdbc96e12 100644
--- a/Mage.Sets/src/mage/cards/s/SoulbladeDjinn.java
+++ b/Mage.Sets/src/mage/cards/s/SoulbladeDjinn.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -26,7 +25,7 @@ public final class SoulbladeDjinn extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public SoulbladeDjinn(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java b/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java
index e567d415581..07ed9c44b88 100644
--- a/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java
+++ b/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java
@@ -17,7 +17,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.FilterObject;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
@@ -34,7 +33,7 @@ public final class SoulfireGrandMaster extends CardImpl {
private static final FilterObject filter = new FilterObject("instant and sorcery spells you control");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public SoulfireGrandMaster(UUID ownerId, CardSetInfo setInfo) {
@@ -72,7 +71,7 @@ class SoulfireGrandMasterCastFromHandReplacementEffect extends ReplacementEffect
private static final FilterCard filter = new FilterCard();
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
private UUID spellId;
diff --git a/Mage.Sets/src/mage/cards/s/Soulscour.java b/Mage.Sets/src/mage/cards/s/Soulscour.java
index a4c33432659..f645e491437 100644
--- a/Mage.Sets/src/mage/cards/s/Soulscour.java
+++ b/Mage.Sets/src/mage/cards/s/Soulscour.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class Soulscour extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nonartifact permanents");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public Soulscour (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/Soulshriek.java b/Mage.Sets/src/mage/cards/s/Soulshriek.java
index 93dc244d8af..413ef752cea 100644
--- a/Mage.Sets/src/mage/cards/s/Soulshriek.java
+++ b/Mage.Sets/src/mage/cards/s/Soulshriek.java
@@ -18,7 +18,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -33,7 +32,7 @@ public class Soulshriek extends CardImpl {
protected static final FilterCard filterCard = new FilterCard("creature cards");
static {
- filterCard.add(new CardTypePredicate(CardType.CREATURE));
+ filterCard.add(CardType.CREATURE.getPredicate());
}
public Soulshriek(UUID ownerId, CardSetInfo setInfo) {
@@ -70,7 +69,7 @@ class SoulshriekEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Permanent permanent = game.getPermanent(source.getFirstTarget());
if (permanent != null) {
- ContinuousEffect boost = new BoostTargetEffect(new CardsInControllerGraveyardCount(Soulshriek.filterCard), new StaticValue(0), Duration.EndOfTurn);
+ ContinuousEffect boost = new BoostTargetEffect(new CardsInControllerGraveyardCount(Soulshriek.filterCard), StaticValue.get(0), Duration.EndOfTurn);
boost.setTargetPointer(new FixedTarget(permanent, game));
game.addEffect(boost, source);
Effect sacrifice = new SacrificeTargetEffect("Sacrifice that creature at the beginning of the next end step", source.getControllerId());
diff --git a/Mage.Sets/src/mage/cards/s/SparkDouble.java b/Mage.Sets/src/mage/cards/s/SparkDouble.java
index 053d91f047a..76447680ebc 100644
--- a/Mage.Sets/src/mage/cards/s/SparkDouble.java
+++ b/Mage.Sets/src/mage/cards/s/SparkDouble.java
@@ -16,7 +16,6 @@ import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.util.functions.ApplyToPermanent;
@@ -32,8 +31,8 @@ public final class SparkDouble extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public SparkDouble(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SparkReaper.java b/Mage.Sets/src/mage/cards/s/SparkReaper.java
index da57ae0a3b8..1a6ad093f03 100644
--- a/Mage.Sets/src/mage/cards/s/SparkReaper.java
+++ b/Mage.Sets/src/mage/cards/s/SparkReaper.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
@@ -28,8 +27,8 @@ public final class SparkReaper extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/s/Spawnbroker.java b/Mage.Sets/src/mage/cards/s/Spawnbroker.java
index 1d83a023cd7..39bde3f3302 100644
--- a/Mage.Sets/src/mage/cards/s/Spawnbroker.java
+++ b/Mage.Sets/src/mage/cards/s/Spawnbroker.java
@@ -16,7 +16,7 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.TargetController;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -61,7 +61,7 @@ class TargetControlledCreatureWithPowerGreaterOrLessThanOpponentPermanent extend
public TargetControlledCreatureWithPowerGreaterOrLessThanOpponentPermanent() {
super();
this.filter = this.filter.copy();
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
setTargetName("creature you control");
}
@@ -97,7 +97,7 @@ class SpawnbrokerSecondTarget extends TargetPermanent {
super();
this.filter = this.filter.copy();
filter.add(new ControllerPredicate(TargetController.OPPONENT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
setTargetName("creature with power less than or equal to that creature's power an opponent controls");
}
diff --git a/Mage.Sets/src/mage/cards/s/SpectralGuardian.java b/Mage.Sets/src/mage/cards/s/SpectralGuardian.java
index cf913843b2b..01a2f7dcdd5 100644
--- a/Mage.Sets/src/mage/cards/s/SpectralGuardian.java
+++ b/Mage.Sets/src/mage/cards/s/SpectralGuardian.java
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -28,7 +27,7 @@ public final class SpectralGuardian extends CardImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public SpectralGuardian(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SpellPierce.java b/Mage.Sets/src/mage/cards/s/SpellPierce.java
index 80ca4cc96cd..216f789c2c5 100644
--- a/Mage.Sets/src/mage/cards/s/SpellPierce.java
+++ b/Mage.Sets/src/mage/cards/s/SpellPierce.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -23,7 +22,7 @@ public final class SpellPierce extends CardImpl {
private static final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public SpellPierce(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/Spellbinder.java b/Mage.Sets/src/mage/cards/s/Spellbinder.java
index 082b6098bc4..a51bbc6c4e4 100644
--- a/Mage.Sets/src/mage/cards/s/Spellbinder.java
+++ b/Mage.Sets/src/mage/cards/s/Spellbinder.java
@@ -16,7 +16,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
import mage.game.events.GameEvent;
@@ -102,7 +101,7 @@ class SpellbinderImprintEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("instant card");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public SpellbinderImprintEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/SpellbreakerBehemoth.java b/Mage.Sets/src/mage/cards/s/SpellbreakerBehemoth.java
index d5a51f79853..e18bed37511 100644
--- a/Mage.Sets/src/mage/cards/s/SpellbreakerBehemoth.java
+++ b/Mage.Sets/src/mage/cards/s/SpellbreakerBehemoth.java
@@ -15,7 +15,6 @@ import mage.constants.ComparisonType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
@@ -28,7 +27,7 @@ public final class SpellbreakerBehemoth extends CardImpl {
private static final FilterSpell filter = new FilterSpell("Creature spells you control with power 5 or greater");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new PowerPredicate(ComparisonType.MORE_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/cards/s/Spelltwine.java b/Mage.Sets/src/mage/cards/s/Spelltwine.java
index 35eea48c864..604f1708667 100644
--- a/Mage.Sets/src/mage/cards/s/Spelltwine.java
+++ b/Mage.Sets/src/mage/cards/s/Spelltwine.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInOpponentsGraveyard;
@@ -32,12 +31,12 @@ public final class Spelltwine extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
filter2.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public Spelltwine(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SpellweaverHelix.java b/Mage.Sets/src/mage/cards/s/SpellweaverHelix.java
index b0988641891..25c5b0f25f3 100644
--- a/Mage.Sets/src/mage/cards/s/SpellweaverHelix.java
+++ b/Mage.Sets/src/mage/cards/s/SpellweaverHelix.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
@@ -33,7 +32,7 @@ public final class SpellweaverHelix extends CardImpl {
private static final FilterCard filter = new FilterCard("sorcery cards from a single graveyard");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public SpellweaverHelix(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SpellweaverVolute.java b/Mage.Sets/src/mage/cards/s/SpellweaverVolute.java
index 620654d3903..971f423f3cf 100644
--- a/Mage.Sets/src/mage/cards/s/SpellweaverVolute.java
+++ b/Mage.Sets/src/mage/cards/s/SpellweaverVolute.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -35,7 +34,7 @@ public final class SpellweaverVolute extends CardImpl {
// Enchant instant card in a graveyard
FilterCard filter = new FilterCard("instant card in a graveyard");
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
TargetCardInGraveyard auraTarget = new TargetCardInGraveyard(filter);
this.getSpellAbility().addTarget(auraTarget);
this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment));
@@ -47,7 +46,7 @@ public final class SpellweaverVolute extends CardImpl {
// If you do, exile the enchanted card and attach Spellweaver Volute
// to another instant card in a graveyard.
FilterSpell filterSpell = new FilterSpell("a sorcery spell");
- filterSpell.add(new CardTypePredicate(CardType.SORCERY));
+ filterSpell.add(CardType.SORCERY.getPredicate());
this.addAbility(new SpellCastControllerTriggeredAbility(new SpellweaverVoluteEffect(), filterSpell, false));
}
@@ -102,7 +101,7 @@ class SpellweaverVoluteEffect extends OneShotEffect {
}
if (controller.moveCards(enchantedCard, Zone.EXILED, source, game)) {
FilterCard filter = new FilterCard("instant card in a graveyard");
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
TargetCardInGraveyard auraTarget = new TargetCardInGraveyard(filter);
if (auraTarget.canChoose(source.getSourceId(), controller.getId(), game)) {
controller.choose(Outcome.Benefit, auraTarget, source.getSourceId(), game);
diff --git a/Mage.Sets/src/mage/cards/s/SphinxBoneWand.java b/Mage.Sets/src/mage/cards/s/SphinxBoneWand.java
index 3a8385ec617..867f0b79185 100644
--- a/Mage.Sets/src/mage/cards/s/SphinxBoneWand.java
+++ b/Mage.Sets/src/mage/cards/s/SphinxBoneWand.java
@@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -28,8 +27,8 @@ public final class SphinxBoneWand extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public SphinxBoneWand(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfTheFinalWord.java b/Mage.Sets/src/mage/cards/s/SphinxOfTheFinalWord.java
index ac834db3c28..038b3928859 100644
--- a/Mage.Sets/src/mage/cards/s/SphinxOfTheFinalWord.java
+++ b/Mage.Sets/src/mage/cards/s/SphinxOfTheFinalWord.java
@@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -27,8 +26,8 @@ public final class SphinxOfTheFinalWord extends CardImpl {
private static final FilterSpell filterTarget = new FilterSpell("Instant and sorcery spells you control");
static {
- filterTarget.add(Predicates.or(new CardTypePredicate(CardType.INSTANT),
- (new CardTypePredicate(CardType.SORCERY))));
+ filterTarget.add(Predicates.or(CardType.INSTANT.getPredicate(),
+ (CardType.SORCERY.getPredicate())));
}
public SphinxOfTheFinalWord(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SphinxSummoner.java b/Mage.Sets/src/mage/cards/s/SphinxSummoner.java
index 2615074c9fd..09a9ddd3026 100644
--- a/Mage.Sets/src/mage/cards/s/SphinxSummoner.java
+++ b/Mage.Sets/src/mage/cards/s/SphinxSummoner.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
/**
@@ -24,7 +23,7 @@ public final class SphinxSummoner extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact creature card");
static {
- filter.add(Predicates.and(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.and(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()));
}
public SphinxSummoner(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SpiritualAsylum.java b/Mage.Sets/src/mage/cards/s/SpiritualAsylum.java
index 1cb9db65bb9..031b592e8a2 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritualAsylum.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritualAsylum.java
@@ -15,7 +15,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
/**
@@ -28,8 +27,8 @@ public final class SpiritualAsylum extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/s/SpiteMalice.java b/Mage.Sets/src/mage/cards/s/SpiteMalice.java
index 694abba6a7f..fe33f02e1dd 100644
--- a/Mage.Sets/src/mage/cards/s/SpiteMalice.java
+++ b/Mage.Sets/src/mage/cards/s/SpiteMalice.java
@@ -12,7 +12,6 @@ import mage.constants.SpellAbilityType;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetCreaturePermanent;
@@ -26,7 +25,7 @@ public final class SpiteMalice extends SplitCard {
private static final FilterSpell filterNonCreatureSpell = new FilterSpell("noncreature spell");
static {
- filterNonCreatureSpell.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreatureSpell.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
private static final FilterCreaturePermanent filterNonBlackCreature = new FilterCreaturePermanent("nonblack creature");
diff --git a/Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java b/Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java
index cac247e36e7..fa0978832f1 100644
--- a/Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java
+++ b/Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetOpponent;
@@ -24,8 +23,8 @@ public final class SpoilsOfEvil extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact or creature card in target opponents graveyard");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public SpoilsOfEvil(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java b/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java
index 42eefd77284..ae0cd577470 100644
--- a/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java
+++ b/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java
@@ -43,7 +43,7 @@ public final class SpontaneousMutation extends CardImpl {
// Enchanted creature gets -X/-0, where X is the number of cards in your graveyard.
DynamicValue value = new SignInversionDynamicValue(new CardsInControllerGraveyardCount());
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(value, new StaticValue(-0))));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(value, StaticValue.get(-0))));
}
public SpontaneousMutation(final SpontaneousMutation card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpreadingPlague.java b/Mage.Sets/src/mage/cards/s/SpreadingPlague.java
index 2c36225ae5e..fea0ae49487 100644
--- a/Mage.Sets/src/mage/cards/s/SpreadingPlague.java
+++ b/Mage.Sets/src/mage/cards/s/SpreadingPlague.java
@@ -15,7 +15,6 @@ import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -50,7 +49,7 @@ class SpreadingPlagueEffect extends OneShotEffect {
static final FilterPermanent FILTER = new FilterPermanent("creature");
static {
- FILTER.add(new CardTypePredicate(CardType.CREATURE));
+ FILTER.add(CardType.CREATURE.getPredicate());
}
SpreadingPlagueEffect() {
diff --git a/Mage.Sets/src/mage/cards/s/SqueakingPieGrubfellows.java b/Mage.Sets/src/mage/cards/s/SqueakingPieGrubfellows.java
index 909107ce460..dd9218364df 100644
--- a/Mage.Sets/src/mage/cards/s/SqueakingPieGrubfellows.java
+++ b/Mage.Sets/src/mage/cards/s/SqueakingPieGrubfellows.java
@@ -28,7 +28,7 @@ public final class SqueakingPieGrubfellows extends CardImpl {
// Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Squeaking Pie Grubfellows, you may reveal it.
// If you do, each opponent discards a card.
- this.addAbility(new KinshipAbility(new DiscardEachPlayerEffect(new StaticValue(1), false, TargetController.OPPONENT)));
+ this.addAbility(new KinshipAbility(new DiscardEachPlayerEffect(StaticValue.get(1), false, TargetController.OPPONENT)));
}
public SqueakingPieGrubfellows(final SqueakingPieGrubfellows card) {
diff --git a/Mage.Sets/src/mage/cards/s/Squeeze.java b/Mage.Sets/src/mage/cards/s/Squeeze.java
index 5e41800635e..3dabaa83dcb 100644
--- a/Mage.Sets/src/mage/cards/s/Squeeze.java
+++ b/Mage.Sets/src/mage/cards/s/Squeeze.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,7 +20,7 @@ public final class Squeeze extends CardImpl {
private static final FilterCard filter = new FilterCard("Sorcery spells");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
}
public Squeeze(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StarDestroyer.java b/Mage.Sets/src/mage/cards/s/StarDestroyer.java
index ddf7396471f..c2d124712ef 100644
--- a/Mage.Sets/src/mage/cards/s/StarDestroyer.java
+++ b/Mage.Sets/src/mage/cards/s/StarDestroyer.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.permanent.token.TIEFighterToken;
import mage.target.common.TargetCreatureOrPlayer;
@@ -34,7 +33,7 @@ public final class StarDestroyer extends CardImpl {
private static final FilterCreatureOrPlayer filter3 = new FilterCreatureOrPlayer("non-Starship creature or player");
static {
- filter1.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter1.add(CardType.ARTIFACT.getPredicate());
filter3.getCreatureFilter().add(Predicates.not(new SubtypePredicate(SubType.STARSHIP)));
}
diff --git a/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java b/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java
index a842f4c5c86..6807e7cdd31 100644
--- a/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java
+++ b/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java
@@ -19,7 +19,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.other.OwnerPredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
@@ -47,7 +46,7 @@ public final class StarfieldOfNyx extends CardImpl {
}
static {
- filterGraveyardEnchantment.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterGraveyardEnchantment.add(CardType.ENCHANTMENT.getPredicate());
filterGraveyardEnchantment.add(new OwnerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/s/StarkeOfRath.java b/Mage.Sets/src/mage/cards/s/StarkeOfRath.java
index 6e4b8429634..6b132158ad0 100644
--- a/Mage.Sets/src/mage/cards/s/StarkeOfRath.java
+++ b/Mage.Sets/src/mage/cards/s/StarkeOfRath.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -31,8 +30,8 @@ public final class StarkeOfRath extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
}
public StarkeOfRath(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StatusStatue.java b/Mage.Sets/src/mage/cards/s/StatusStatue.java
index fe14b42902c..688c8aefaaf 100644
--- a/Mage.Sets/src/mage/cards/s/StatusStatue.java
+++ b/Mage.Sets/src/mage/cards/s/StatusStatue.java
@@ -12,7 +12,6 @@ import mage.constants.Duration;
import mage.constants.SpellAbilityType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -26,9 +25,9 @@ public final class StatusStatue extends SplitCard {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SteelOverseer.java b/Mage.Sets/src/mage/cards/s/SteelOverseer.java
index 5d91504de73..827ce1bb5a7 100644
--- a/Mage.Sets/src/mage/cards/s/SteelOverseer.java
+++ b/Mage.Sets/src/mage/cards/s/SteelOverseer.java
@@ -15,7 +15,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
/**
@@ -27,8 +26,8 @@ public final class SteelOverseer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact creature you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/s/SteelcladSerpent.java b/Mage.Sets/src/mage/cards/s/SteelcladSerpent.java
index 2eb98aaa061..ff7e9d0dc36 100644
--- a/Mage.Sets/src/mage/cards/s/SteelcladSerpent.java
+++ b/Mage.Sets/src/mage/cards/s/SteelcladSerpent.java
@@ -11,7 +11,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -49,7 +48,7 @@ class SteelcladSerpentEffect extends RestrictionEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("another artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/s/SteelshaperApprentice.java b/Mage.Sets/src/mage/cards/s/SteelshaperApprentice.java
index bd944bd462d..f92e0fd53ca 100644
--- a/Mage.Sets/src/mage/cards/s/SteelshaperApprentice.java
+++ b/Mage.Sets/src/mage/cards/s/SteelshaperApprentice.java
@@ -17,7 +17,6 @@ import mage.constants.ColoredManaSymbol;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -29,7 +28,7 @@ public final class SteelshaperApprentice extends CardImpl {
private static final FilterCard filter = new FilterCard("Equipment card");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
}
diff --git a/Mage.Sets/src/mage/cards/s/SteelshapersGift.java b/Mage.Sets/src/mage/cards/s/SteelshapersGift.java
index 5e0f60f6d29..009a52cbbb8 100644
--- a/Mage.Sets/src/mage/cards/s/SteelshapersGift.java
+++ b/Mage.Sets/src/mage/cards/s/SteelshapersGift.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -21,7 +20,7 @@ public final class SteelshapersGift extends CardImpl {
private static final FilterCard filter = new FilterCard("Equipment card");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
}
diff --git a/Mage.Sets/src/mage/cards/s/StenchOfDecay.java b/Mage.Sets/src/mage/cards/s/StenchOfDecay.java
index 9678b496daf..8b07cb70c3a 100644
--- a/Mage.Sets/src/mage/cards/s/StenchOfDecay.java
+++ b/Mage.Sets/src/mage/cards/s/StenchOfDecay.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class StenchOfDecay extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Nonartifact creatures");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public StenchOfDecay(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StingingLionfish.java b/Mage.Sets/src/mage/cards/s/StingingLionfish.java
index 4a885ea7303..448356bc002 100644
--- a/Mage.Sets/src/mage/cards/s/StingingLionfish.java
+++ b/Mage.Sets/src/mage/cards/s/StingingLionfish.java
@@ -1,19 +1,15 @@
package mage.cards.s;
import mage.MageInt;
-import mage.abilities.common.SpellCastControllerTriggeredAbility;
+import mage.abilities.Ability;
+import mage.abilities.common.FirstSpellOpponentsTurnTriggeredAbility;
import mage.abilities.effects.common.MayTapOrUntapTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
-import mage.game.Game;
-import mage.game.events.GameEvent;
-import mage.game.stack.Spell;
-import mage.target.common.TargetNonlandPermanent;
-import mage.watchers.common.SpellsCastWatcher;
+import mage.target.TargetPermanent;
-import java.util.List;
import java.util.UUID;
/**
@@ -29,7 +25,11 @@ public final class StingingLionfish extends CardImpl {
this.toughness = new MageInt(1);
// Whenever you cast your first spell during each opponent's turn, you may tap or untap target nonland permanent.
- this.addAbility(new StingingLionfishTriggeredAbility(), new SpellsCastWatcher());
+ Ability ability = new FirstSpellOpponentsTurnTriggeredAbility(
+ new MayTapOrUntapTargetEffect(), false
+ );
+ ability.addTarget(new TargetPermanent());
+ this.addAbility(ability);
}
private StingingLionfish(final StingingLionfish card) {
@@ -41,45 +41,3 @@ public final class StingingLionfish extends CardImpl {
return new StingingLionfish(this);
}
}
-
-class StingingLionfishTriggeredAbility extends SpellCastControllerTriggeredAbility {
-
- StingingLionfishTriggeredAbility() {
- super(new MayTapOrUntapTargetEffect(), false);
- this.addTarget(new TargetNonlandPermanent());
- }
-
- private StingingLionfishTriggeredAbility(StingingLionfishTriggeredAbility ability) {
- super(ability);
- }
-
- @Override
- public StingingLionfishTriggeredAbility copy() {
- return new StingingLionfishTriggeredAbility(this);
- }
-
- @Override
- public boolean checkTrigger(GameEvent event, Game game) {
- if (game.getActivePlayerId().equals(this.getControllerId()) // ignore controller turn
- || !super.checkTrigger(event, game)) {
- return false;
- }
-
- if (!game.getOpponents(this.getControllerId()).contains(game.getActivePlayerId())) {
- return false;
- }
-
- SpellsCastWatcher watcher = game.getState().getWatcher(SpellsCastWatcher.class);
- if (watcher == null) {
- return false;
- }
-
- List spells = watcher.getSpellsCastThisTurn(event.getPlayerId());
- return spells != null && spells.size() == 1;
- }
-
- @Override
- public String getRule() {
- return "Whenever you cast your first spell during each opponent's turn, you mat tap or untap target permanent.";
- }
-}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/s/Stingmoggie.java b/Mage.Sets/src/mage/cards/s/Stingmoggie.java
index b64eb25b52c..c987e3e8c2e 100644
--- a/Mage.Sets/src/mage/cards/s/Stingmoggie.java
+++ b/Mage.Sets/src/mage/cards/s/Stingmoggie.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -31,8 +30,8 @@ public final class Stingmoggie extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Stingmoggie(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StolenIdentity.java b/Mage.Sets/src/mage/cards/s/StolenIdentity.java
index 4c1b333ec88..04cf722ae34 100644
--- a/Mage.Sets/src/mage/cards/s/StolenIdentity.java
+++ b/Mage.Sets/src/mage/cards/s/StolenIdentity.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,7 +20,7 @@ public final class StolenIdentity extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact or creature");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()));
}
public StolenIdentity(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java b/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java
index d4e82d39c8a..7716f303d21 100644
--- a/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java
+++ b/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java
@@ -48,7 +48,7 @@ public final class StoneforgeAcolyte extends CardImpl {
// Cohort — {T}, Tap an untapped Ally you control: Look at the top four cards of your library.
// You may reveal an Equipment card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), filterEquipment, false),
+ new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), filterEquipment, false),
new TapSourceCost());
ability.addCost(new TapTargetCost(new TargetControlledPermanent(filterAlly)));
ability.setAbilityWord(AbilityWord.COHORT);
diff --git a/Mage.Sets/src/mage/cards/s/StormTheCitadel.java b/Mage.Sets/src/mage/cards/s/StormTheCitadel.java
index 0b7f2266d80..bc67f8c9f6d 100644
--- a/Mage.Sets/src/mage/cards/s/StormTheCitadel.java
+++ b/Mage.Sets/src/mage/cards/s/StormTheCitadel.java
@@ -12,7 +12,6 @@ import mage.constants.Duration;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
import mage.target.TargetPermanent;
@@ -28,8 +27,8 @@ public final class StormTheCitadel extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
filter.add(DefendingPlayerControlsPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/s/StormfistCrusader.java b/Mage.Sets/src/mage/cards/s/StormfistCrusader.java
index ab4d35ed3d2..8fd35a8ffe4 100644
--- a/Mage.Sets/src/mage/cards/s/StormfistCrusader.java
+++ b/Mage.Sets/src/mage/cards/s/StormfistCrusader.java
@@ -35,7 +35,7 @@ public final class StormfistCrusader extends CardImpl {
Ability ability = new BeginningOfUpkeepTriggeredAbility(
new DrawCardAllEffect(1), TargetController.YOU, false
);
- ability.addEffect(new LoseLifeAllPlayersEffect(new StaticValue(1), "and loses 1 life"));
+ ability.addEffect(new LoseLifeAllPlayersEffect(StaticValue.get(1), "and loses 1 life"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StorrevDevkarinLich.java b/Mage.Sets/src/mage/cards/s/StorrevDevkarinLich.java
index 37f697ef688..9224fee8890 100644
--- a/Mage.Sets/src/mage/cards/s/StorrevDevkarinLich.java
+++ b/Mage.Sets/src/mage/cards/s/StorrevDevkarinLich.java
@@ -13,7 +13,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
@@ -35,8 +34,8 @@ public final class StorrevDevkarinLich extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
filter.add(StorrevDevkarinLichPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/s/StrategicPlanning.java b/Mage.Sets/src/mage/cards/s/StrategicPlanning.java
index 356d960fb52..ec0a49fb9ee 100644
--- a/Mage.Sets/src/mage/cards/s/StrategicPlanning.java
+++ b/Mage.Sets/src/mage/cards/s/StrategicPlanning.java
@@ -20,7 +20,7 @@ public final class StrategicPlanning extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}");
// Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1),
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
}
diff --git a/Mage.Sets/src/mage/cards/s/StreamOfAcid.java b/Mage.Sets/src/mage/cards/s/StreamOfAcid.java
index 686e710cdfc..915b2d4e5c3 100644
--- a/Mage.Sets/src/mage/cards/s/StreamOfAcid.java
+++ b/Mage.Sets/src/mage/cards/s/StreamOfAcid.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPermanent;
@@ -23,10 +22,10 @@ public final class StreamOfAcid extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
Predicates.and(
Predicates.not(new ColorPredicate(ObjectColor.BLACK)),
- new CardTypePredicate(CardType.CREATURE))));
+ CardType.CREATURE.getPredicate())));
}
public StreamOfAcid(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StrongarmMonk.java b/Mage.Sets/src/mage/cards/s/StrongarmMonk.java
index 80b56b765ac..c67a8279d62 100644
--- a/Mage.Sets/src/mage/cards/s/StrongarmMonk.java
+++ b/Mage.Sets/src/mage/cards/s/StrongarmMonk.java
@@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -25,7 +24,7 @@ public final class StrongarmMonk extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public StrongarmMonk(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java b/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java
index 10b87cb3611..6ede8658fb0 100644
--- a/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java
+++ b/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
/**
@@ -28,7 +27,7 @@ public final class StrongholdMachinist extends CardImpl {
private static final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public StrongholdMachinist(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StructuralDistortion.java b/Mage.Sets/src/mage/cards/s/StructuralDistortion.java
index 31df5ca06e4..a8181208945 100644
--- a/Mage.Sets/src/mage/cards/s/StructuralDistortion.java
+++ b/Mage.Sets/src/mage/cards/s/StructuralDistortion.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,7 +21,7 @@ public final class StructuralDistortion extends CardImpl {
private static final FilterPermanent FILTER = new FilterPermanent("artifact or land");
static {
- FILTER.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.LAND)));
+ FILTER.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.LAND.getPredicate()));
}
public StructuralDistortion(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StubbornDenial.java b/Mage.Sets/src/mage/cards/s/StubbornDenial.java
index 8ae807c3215..20a741afb1b 100644
--- a/Mage.Sets/src/mage/cards/s/StubbornDenial.java
+++ b/Mage.Sets/src/mage/cards/s/StubbornDenial.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
import java.util.UUID;
@@ -25,7 +24,7 @@ public final class StubbornDenial extends CardImpl {
private static final FilterSpell filter = new FilterSpell("noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public StubbornDenial(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/StudentOfOjutai.java b/Mage.Sets/src/mage/cards/s/StudentOfOjutai.java
index b51d3667ed2..157ed1c6588 100644
--- a/Mage.Sets/src/mage/cards/s/StudentOfOjutai.java
+++ b/Mage.Sets/src/mage/cards/s/StudentOfOjutai.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class StudentOfOjutai extends CardImpl {
private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell");
static {
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public StudentOfOjutai(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/Subdue.java b/Mage.Sets/src/mage/cards/s/Subdue.java
index 970e3df7882..d692172bf5d 100644
--- a/Mage.Sets/src/mage/cards/s/Subdue.java
+++ b/Mage.Sets/src/mage/cards/s/Subdue.java
@@ -24,7 +24,7 @@ public final class Subdue extends CardImpl {
// Prevent all combat damage that would be dealt by target creature this turn. That creature gets +0/+X until end of turn, where X is its converted mana cost.
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addEffect(new PreventDamageByTargetEffect(Duration.EndOfTurn, true));
- this.getSpellAbility().addEffect(new BoostTargetEffect(new StaticValue(0), TargetConvertedManaCost.instance, Duration.EndOfTurn, true)
+ this.getSpellAbility().addEffect(new BoostTargetEffect(StaticValue.get(0), TargetConvertedManaCost.instance, Duration.EndOfTurn, true)
.setText("That creature gets +0/+X until end of turn, where X is its converted mana cost"));
}
diff --git a/Mage.Sets/src/mage/cards/s/SultaiAscendancy.java b/Mage.Sets/src/mage/cards/s/SultaiAscendancy.java
index 0fb165a16ec..acf496c1e86 100644
--- a/Mage.Sets/src/mage/cards/s/SultaiAscendancy.java
+++ b/Mage.Sets/src/mage/cards/s/SultaiAscendancy.java
@@ -24,7 +24,7 @@ public final class SultaiAscendancy extends CardImpl {
// At the beginning of your upkeep, look at the top two cards of your library. Put any number of them into your graveyard and the rest on top of your library in any order.
Effect effect = new LookLibraryAndPickControllerEffect(
- new StaticValue(2), false, new StaticValue(2), new FilterCard(), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false);
+ StaticValue.get(2), false, StaticValue.get(2), new FilterCard(), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false);
effect.setText("look at the top two cards of your library. Put any number of them into your graveyard and the rest on top of your library in any order");
this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false));
}
diff --git a/Mage.Sets/src/mage/cards/s/SultaiSoothsayer.java b/Mage.Sets/src/mage/cards/s/SultaiSoothsayer.java
index 3a40b420f8c..de3340594f6 100644
--- a/Mage.Sets/src/mage/cards/s/SultaiSoothsayer.java
+++ b/Mage.Sets/src/mage/cards/s/SultaiSoothsayer.java
@@ -28,7 +28,7 @@ public final class SultaiSoothsayer extends CardImpl {
this.toughness = new MageInt(5);
// When Sultai Soothsayer enters the battlefield, look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard.
- this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1),
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false), false));
}
diff --git a/Mage.Sets/src/mage/cards/s/SumalaWoodshaper.java b/Mage.Sets/src/mage/cards/s/SumalaWoodshaper.java
index dd6a0db9603..a0942aff3b0 100644
--- a/Mage.Sets/src/mage/cards/s/SumalaWoodshaper.java
+++ b/Mage.Sets/src/mage/cards/s/SumalaWoodshaper.java
@@ -11,7 +11,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -25,8 +24,8 @@ public final class SumalaWoodshaper extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
@@ -40,7 +39,7 @@ public final class SumalaWoodshaper extends CardImpl {
// When Sumala Woodshaper enters the battlefield, look at the top four cards of your library. You may reveal a creature or enchantment card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(1), filter, Zone.LIBRARY, false,
+ StaticValue.get(4), false, StaticValue.get(1), filter, Zone.LIBRARY, false,
true, false, Zone.HAND, false, false, false
).setBackInRandomOrder(true), false));
}
diff --git a/Mage.Sets/src/mage/cards/s/SunderFromWithin.java b/Mage.Sets/src/mage/cards/s/SunderFromWithin.java
index c7b3a240a74..1d8b1856ba9 100644
--- a/Mage.Sets/src/mage/cards/s/SunderFromWithin.java
+++ b/Mage.Sets/src/mage/cards/s/SunderFromWithin.java
@@ -8,7 +8,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
@@ -23,8 +22,8 @@ public final class SunderFromWithin extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public SunderFromWithin(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/Sunforger.java b/Mage.Sets/src/mage/cards/s/Sunforger.java
index 11e257fe1d7..ceab269a141 100644
--- a/Mage.Sets/src/mage/cards/s/Sunforger.java
+++ b/Mage.Sets/src/mage/cards/s/Sunforger.java
@@ -26,7 +26,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
@@ -105,7 +104,7 @@ class SunforgerEffect extends OneShotEffect {
filter.add(Predicates.or(
new ColorPredicate(ObjectColor.RED),
new ColorPredicate(ObjectColor.WHITE)));
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 5));
filter.add(new CardCanBeCastPredicate(source.getControllerId()));
if (controller.searchLibrary(target, source, game, controller.getId())) {
diff --git a/Mage.Sets/src/mage/cards/s/SupremeWill.java b/Mage.Sets/src/mage/cards/s/SupremeWill.java
index 3cf8a608f6a..c61922a2384 100644
--- a/Mage.Sets/src/mage/cards/s/SupremeWill.java
+++ b/Mage.Sets/src/mage/cards/s/SupremeWill.java
@@ -29,7 +29,7 @@ public final class SupremeWill extends CardImpl {
// or Look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.
Mode mode = new Mode();
- mode.addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false));
+ mode.addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false));
this.getSpellAbility().addMode(mode);
}
diff --git a/Mage.Sets/src/mage/cards/s/SurgeOfStrength.java b/Mage.Sets/src/mage/cards/s/SurgeOfStrength.java
index d71e125bb65..b41e9bac990 100644
--- a/Mage.Sets/src/mage/cards/s/SurgeOfStrength.java
+++ b/Mage.Sets/src/mage/cards/s/SurgeOfStrength.java
@@ -42,7 +42,7 @@ public final class SurgeOfStrength extends CardImpl {
Effect effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn);
effect.setText("Target creature gains trample");
this.getSpellAbility().addEffect(effect);
- effect = new BoostTargetEffect(TargetConvertedManaCost.instance, new StaticValue(0), Duration.EndOfTurn, true);
+ effect = new BoostTargetEffect(TargetConvertedManaCost.instance, StaticValue.get(0), Duration.EndOfTurn, true);
effect.setText("and gets +X/+0 until end of turn, where X is that creature's converted mana cost");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/SurgicalExtraction.java b/Mage.Sets/src/mage/cards/s/SurgicalExtraction.java
index b660eb088e9..3a54177b915 100644
--- a/Mage.Sets/src/mage/cards/s/SurgicalExtraction.java
+++ b/Mage.Sets/src/mage/cards/s/SurgicalExtraction.java
@@ -12,7 +12,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
@@ -32,7 +31,7 @@ public final class SurgicalExtraction extends CardImpl {
private static final FilterCard filter = new FilterCard("card in a graveyard other than a basic land card");
static {
- filter.add(Predicates.not(Predicates.and(new CardTypePredicate(CardType.LAND), new SupertypePredicate(SuperType.BASIC))));
+ filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), new SupertypePredicate(SuperType.BASIC))));
}
public SurgicalExtraction(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SurrakDragonclaw.java b/Mage.Sets/src/mage/cards/s/SurrakDragonclaw.java
index d92ee012a65..bb5cfb86242 100644
--- a/Mage.Sets/src/mage/cards/s/SurrakDragonclaw.java
+++ b/Mage.Sets/src/mage/cards/s/SurrakDragonclaw.java
@@ -18,7 +18,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -29,7 +28,7 @@ public final class SurrakDragonclaw extends CardImpl {
private static final FilterSpell filterTarget = new FilterSpell("Creature spells you control");
static {
- filterTarget.add(new CardTypePredicate(CardType.CREATURE));
+ filterTarget.add(CardType.CREATURE.getPredicate());
}
public SurrakDragonclaw(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SurrakarSpellblade.java b/Mage.Sets/src/mage/cards/s/SurrakarSpellblade.java
index bd04d914323..e8e69a2172b 100644
--- a/Mage.Sets/src/mage/cards/s/SurrakarSpellblade.java
+++ b/Mage.Sets/src/mage/cards/s/SurrakarSpellblade.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -27,8 +26,8 @@ public final class SurrakarSpellblade extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public SurrakarSpellblade(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SurrealMemoir.java b/Mage.Sets/src/mage/cards/s/SurrealMemoir.java
index 7837de1a409..659ca3135e2 100644
--- a/Mage.Sets/src/mage/cards/s/SurrealMemoir.java
+++ b/Mage.Sets/src/mage/cards/s/SurrealMemoir.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.util.RandomUtil;
@@ -63,7 +62,7 @@ class SurrealMemoirEffect extends OneShotEffect {
Player player = game.getPlayer(source.getControllerId());
if (player != null) {
FilterCard filter = new FilterCard("instant card");
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
Card[] cards = player.getGraveyard().getCards(filter, game).toArray(new Card[0]);
if (cards.length > 0) {
Card card = cards[RandomUtil.nextInt(cards.length)];
diff --git a/Mage.Sets/src/mage/cards/s/SwanSong.java b/Mage.Sets/src/mage/cards/s/SwanSong.java
index 62d7ec9892e..e79026ce379 100644
--- a/Mage.Sets/src/mage/cards/s/SwanSong.java
+++ b/Mage.Sets/src/mage/cards/s/SwanSong.java
@@ -10,10 +10,8 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.token.SwanSongBirdToken;
-import mage.game.permanent.token.TokenImpl;
import mage.game.permanent.token.Token;
import mage.game.stack.Spell;
import mage.target.TargetSpell;
@@ -27,9 +25,9 @@ public final class SwanSong extends CardImpl {
private static final FilterSpell filter = new FilterSpell("enchantment, instant or sorcery spell");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.ENCHANTMENT.getPredicate(),
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public SwanSong(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SwiftWarkite.java b/Mage.Sets/src/mage/cards/s/SwiftWarkite.java
index b57bdb17bd9..5bebb970eb0 100644
--- a/Mage.Sets/src/mage/cards/s/SwiftWarkite.java
+++ b/Mage.Sets/src/mage/cards/s/SwiftWarkite.java
@@ -24,7 +24,6 @@ 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;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -69,7 +68,7 @@ class SwiftWarkiteEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("creature card with converted mana cost 3 or less from your hand or graveyard");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java b/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java
index 4e2bdb9bd04..7f23281a5e2 100644
--- a/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java
+++ b/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java
@@ -17,7 +17,6 @@ import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -32,9 +31,9 @@ public final class SydriGalvanicGenius extends CardImpl {
private static final FilterArtifactPermanent filterNonCreature = new FilterArtifactPermanent("noncreature artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(new CardTypePredicate(CardType.CREATURE));
- filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(CardType.CREATURE.getPredicate());
+ filterNonCreature.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public SydriGalvanicGenius(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SylvanAdvocate.java b/Mage.Sets/src/mage/cards/s/SylvanAdvocate.java
index e0a935f4f18..3eb87371a75 100644
--- a/Mage.Sets/src/mage/cards/s/SylvanAdvocate.java
+++ b/Mage.Sets/src/mage/cards/s/SylvanAdvocate.java
@@ -19,7 +19,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author fireshoes
@@ -31,7 +30,7 @@ public final class SylvanAdvocate extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("land creatures");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public SylvanAdvocate(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SylvanPrimordial.java b/Mage.Sets/src/mage/cards/s/SylvanPrimordial.java
index b6c63993d5a..61ef61dafde 100644
--- a/Mage.Sets/src/mage/cards/s/SylvanPrimordial.java
+++ b/Mage.Sets/src/mage/cards/s/SylvanPrimordial.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterLandCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
@@ -70,7 +69,7 @@ enum SylvanPrimordialAdjuster implements TargetAdjuster {
if (opponent != null) {
FilterPermanent filter = new FilterPermanent("noncreature permanent from opponent " + opponent.getLogName());
filter.add(new ControllerIdPredicate(opponentId));
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
TargetPermanent target = new TargetPermanent(0, 1, filter, false);
ability.addTarget(target);
}
diff --git a/Mage.Sets/src/mage/cards/s/SylvanReclamation.java b/Mage.Sets/src/mage/cards/s/SylvanReclamation.java
index 75cc687bd83..7ce8ae8e821 100644
--- a/Mage.Sets/src/mage/cards/s/SylvanReclamation.java
+++ b/Mage.Sets/src/mage/cards/s/SylvanReclamation.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.TargetPermanent;
@@ -24,7 +23,7 @@ public final class SylvanReclamation extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifacts and/or enchantments");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public SylvanReclamation(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/s/SynodArtificer.java b/Mage.Sets/src/mage/cards/s/SynodArtificer.java
index efa906cbaa3..906c15ac83a 100644
--- a/Mage.Sets/src/mage/cards/s/SynodArtificer.java
+++ b/Mage.Sets/src/mage/cards/s/SynodArtificer.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.XTargetsAdjuster;
@@ -29,8 +28,8 @@ public final class SynodArtificer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(CardType.ARTIFACT.getPredicate());
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public SynodArtificer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java b/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
index e36a291f25b..3a5745d2562 100644
--- a/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
+++ b/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
@@ -18,7 +18,6 @@ import mage.constants.*;
import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -38,8 +37,8 @@ public final class TaigamOjutaiMaster extends CardImpl {
static {
filter.add(
(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY),
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate(),
new SubtypePredicate(SubType.DRAGON)))
);
}
diff --git a/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java b/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java
index 10f37ba6ecd..5b16a419ae3 100644
--- a/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java
+++ b/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java
@@ -54,7 +54,7 @@ public final class TaigamSidisisHand extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipDrawStepEffect()));
// At the beginning of your upkeep, look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1),
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false), TargetController.YOU, false));
// {B}, {T}, Exile X cards from your graveyard: Target creature gets -X/-X until end of turn.
diff --git a/Mage.Sets/src/mage/cards/t/TaigamsScheming.java b/Mage.Sets/src/mage/cards/t/TaigamsScheming.java
index 2b9ee292157..3c01f0020c7 100644
--- a/Mage.Sets/src/mage/cards/t/TaigamsScheming.java
+++ b/Mage.Sets/src/mage/cards/t/TaigamsScheming.java
@@ -20,7 +20,7 @@ public final class TaigamsScheming extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{U}");
// Look at the top five cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(5),
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(5),
new FilterCard("cards"), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false));
}
diff --git a/Mage.Sets/src/mage/cards/t/TaintedAether.java b/Mage.Sets/src/mage/cards/t/TaintedAether.java
index 5bf2a50e392..9cf93f5b2b4 100644
--- a/Mage.Sets/src/mage/cards/t/TaintedAether.java
+++ b/Mage.Sets/src/mage/cards/t/TaintedAether.java
@@ -12,7 +12,6 @@ import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class TaintedAether extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a creature or a land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public TaintedAether(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TalarasBane.java b/Mage.Sets/src/mage/cards/t/TalarasBane.java
index d1f40067fdb..e28a0ca5755 100644
--- a/Mage.Sets/src/mage/cards/t/TalarasBane.java
+++ b/Mage.Sets/src/mage/cards/t/TalarasBane.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.Game;
import mage.players.Player;
@@ -53,7 +52,7 @@ class TalarasBaneEffect extends OneShotEffect {
filter.add(Predicates.or(
new ColorPredicate(ObjectColor.GREEN),
new ColorPredicate(ObjectColor.WHITE)));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public TalarasBaneEffect() {
diff --git a/Mage.Sets/src/mage/cards/t/Tallowisp.java b/Mage.Sets/src/mage/cards/t/Tallowisp.java
index ad21e712895..776684205cd 100644
--- a/Mage.Sets/src/mage/cards/t/Tallowisp.java
+++ b/Mage.Sets/src/mage/cards/t/Tallowisp.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.target.common.TargetCardInLibrary;
@@ -30,7 +29,7 @@ public final class Tallowisp extends CardImpl {
private static final FilterCard filterAura = new FilterCard("Aura card with enchant creature");
static {
- filterAura.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterAura.add(CardType.ENCHANTMENT.getPredicate());
filterAura.add(new SubtypePredicate(SubType.AURA));
filterAura.add(new TallowispAbilityPredicate());
}
diff --git a/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java b/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java
index dd4251f8251..4616b64a747 100644
--- a/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java
+++ b/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java
@@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.DrakeToken;
/**
@@ -25,8 +24,8 @@ public final class TalrandSkySummoner extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public TalrandSkySummoner(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TamiyoFieldResearcher.java b/Mage.Sets/src/mage/cards/t/TamiyoFieldResearcher.java
index 17039e4b9c5..58db54feb0f 100644
--- a/Mage.Sets/src/mage/cards/t/TamiyoFieldResearcher.java
+++ b/Mage.Sets/src/mage/cards/t/TamiyoFieldResearcher.java
@@ -20,7 +20,6 @@ import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.command.emblems.TamiyoFieldResearcherEmblem;
import mage.game.events.DamagedEvent;
@@ -44,7 +43,7 @@ public final class TamiyoFieldResearcher extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nonland permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public TamiyoFieldResearcher(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TangleWire.java b/Mage.Sets/src/mage/cards/t/TangleWire.java
index 7f084991328..8ee9fe07070 100644
--- a/Mage.Sets/src/mage/cards/t/TangleWire.java
+++ b/Mage.Sets/src/mage/cards/t/TangleWire.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -53,9 +52,9 @@ class TangleWireEffect extends OneShotEffect {
static{
filter.add(Predicates.not(TappedPredicate.instance));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
TangleWireEffect() {
diff --git a/Mage.Sets/src/mage/cards/t/Tanglewalker.java b/Mage.Sets/src/mage/cards/t/Tanglewalker.java
index ce19e01f4f8..945b956bfe3 100644
--- a/Mage.Sets/src/mage/cards/t/Tanglewalker.java
+++ b/Mage.Sets/src/mage/cards/t/Tanglewalker.java
@@ -17,7 +17,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterLandPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -28,7 +27,7 @@ public final class Tanglewalker extends CardImpl {
private static final FilterPermanent filter = new FilterLandPermanent();
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public Tanglewalker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TasigursCruelty.java b/Mage.Sets/src/mage/cards/t/TasigursCruelty.java
index 5cc2a98c584..d92e28dca3c 100644
--- a/Mage.Sets/src/mage/cards/t/TasigursCruelty.java
+++ b/Mage.Sets/src/mage/cards/t/TasigursCruelty.java
@@ -23,7 +23,7 @@ public final class TasigursCruelty extends CardImpl {
this.addAbility(new DelveAbility());
// Each opponent discards two cards.
- this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(new StaticValue(2), false, TargetController.OPPONENT));
+ this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(StaticValue.get(2), false, TargetController.OPPONENT));
}
public TasigursCruelty(final TasigursCruelty card) {
diff --git a/Mage.Sets/src/mage/cards/t/TattooWard.java b/Mage.Sets/src/mage/cards/t/TattooWard.java
index 00780a96266..d1209fc813c 100644
--- a/Mage.Sets/src/mage/cards/t/TattooWard.java
+++ b/Mage.Sets/src/mage/cards/t/TattooWard.java
@@ -24,7 +24,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -35,7 +34,7 @@ public final class TattooWard extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantments");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public TattooWard(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TearsOfRage.java b/Mage.Sets/src/mage/cards/t/TearsOfRage.java
index c92ca99bce1..f7f4b06c64f 100644
--- a/Mage.Sets/src/mage/cards/t/TearsOfRage.java
+++ b/Mage.Sets/src/mage/cards/t/TearsOfRage.java
@@ -35,7 +35,7 @@ public final class TearsOfRage extends CardImpl {
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(PhaseStep.DECLARE_ATTACKERS));
// Attacking creatures you control get +X/+0 until end of turn, where X is the number of attacking creatures. Sacrifice those creatures at the beginning of the next end step.
- BoostControlledEffect effect = new BoostControlledEffect(new AttackingCreatureCount("the number of attacking creatures"), new StaticValue(0),
+ BoostControlledEffect effect = new BoostControlledEffect(new AttackingCreatureCount("the number of attacking creatures"), StaticValue.get(0),
Duration.EndOfTurn, new FilterAttackingCreature("Attacking creatures"), false);
effect.setLockedIn(true);
getSpellAbility().addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/t/TeferiTemporalArchmage.java b/Mage.Sets/src/mage/cards/t/TeferiTemporalArchmage.java
index 213dfc7d5ae..c96b6389716 100644
--- a/Mage.Sets/src/mage/cards/t/TeferiTemporalArchmage.java
+++ b/Mage.Sets/src/mage/cards/t/TeferiTemporalArchmage.java
@@ -35,7 +35,7 @@ public final class TeferiTemporalArchmage extends CardImpl {
// +1: Look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library.
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
- new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false), 1));
+ StaticValue.get(2), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false), 1));
// -1: Untap up to four target permanents.
LoyaltyAbility loyaltyAbility = new LoyaltyAbility(new UntapTargetEffect(), -1);
diff --git a/Mage.Sets/src/mage/cards/t/TeferiTimeRaveler.java b/Mage.Sets/src/mage/cards/t/TeferiTimeRaveler.java
index 803f9475ec0..e24bd1be12a 100644
--- a/Mage.Sets/src/mage/cards/t/TeferiTimeRaveler.java
+++ b/Mage.Sets/src/mage/cards/t/TeferiTimeRaveler.java
@@ -15,7 +15,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
@@ -32,11 +31,11 @@ public final class TeferiTimeRaveler extends CardImpl {
public static final FilterPermanent filter2 = new FilterPermanent("artifact, creature, or enchantment");
static {
- filter.add(new CardTypePredicate(CardType.SORCERY));
+ filter.add(CardType.SORCERY.getPredicate());
filter2.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/t/TeferiTimebender.java b/Mage.Sets/src/mage/cards/t/TeferiTimebender.java
index 89f3fb3f296..375a37a70bb 100644
--- a/Mage.Sets/src/mage/cards/t/TeferiTimebender.java
+++ b/Mage.Sets/src/mage/cards/t/TeferiTimebender.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -34,8 +33,8 @@ public final class TeferiTimebender extends CardImpl {
// +2: Untap up to one target artifact or creature.
FilterPermanent filter = new FilterPermanent("artifact or creature");
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()));
LoyaltyAbility ability = new LoyaltyAbility(new UntapTargetEffect(), +2);
ability.addTarget(new TargetPermanent(0, 1, filter, false));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/t/TeferisCare.java b/Mage.Sets/src/mage/cards/t/TeferisCare.java
index 00fa2e68f80..f31a4a67a30 100644
--- a/Mage.Sets/src/mage/cards/t/TeferisCare.java
+++ b/Mage.Sets/src/mage/cards/t/TeferisCare.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetSpell;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetEnchantmentPermanent;
@@ -30,8 +29,8 @@ public final class TeferisCare extends CardImpl {
private static final FilterSpell filter2 = new FilterSpell("enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
- filter2.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
+ filter2.add(CardType.ENCHANTMENT.getPredicate());
}
public TeferisCare(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TeferisCurse.java b/Mage.Sets/src/mage/cards/t/TeferisCurse.java
index a0be11ee010..8b78a63ccb2 100644
--- a/Mage.Sets/src/mage/cards/t/TeferisCurse.java
+++ b/Mage.Sets/src/mage/cards/t/TeferisCurse.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -30,8 +29,8 @@ public final class TeferisCurse extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ARTIFACT)));
+ CardType.CREATURE.getPredicate(),
+ CardType.ARTIFACT.getPredicate()));
}
public TeferisCurse(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TeferisRealm.java b/Mage.Sets/src/mage/cards/t/TeferisRealm.java
index 121ade4895b..4875eff4f20 100644
--- a/Mage.Sets/src/mage/cards/t/TeferisRealm.java
+++ b/Mage.Sets/src/mage/cards/t/TeferisRealm.java
@@ -17,7 +17,6 @@ import mage.choices.ChoiceImpl;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@@ -93,16 +92,16 @@ class TeferisRealmEffect extends OneShotEffect {
filter.add(Predicates.not(TokenPredicate.instance));
switch (choosenType) {
case ARTIFACT:
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
break;
case CREATURE:
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
break;
case LAND:
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
break;
case NON_AURA_ENCHANTMENT:
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter.add(Predicates.not(new SubtypePredicate(SubType.AURA)));
break;
default:
diff --git a/Mage.Sets/src/mage/cards/t/TeferisSentinel.java b/Mage.Sets/src/mage/cards/t/TeferisSentinel.java
index 63844e34316..e05023fdb2a 100644
--- a/Mage.Sets/src/mage/cards/t/TeferisSentinel.java
+++ b/Mage.Sets/src/mage/cards/t/TeferisSentinel.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -32,7 +31,7 @@ public final class TeferisSentinel extends CardImpl {
// As long as you control a Teferi planeswalker, Teferi's Sentinel gets +4/+0.
FilterControlledPermanent filter = new FilterControlledPermanent();
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.TEFERI));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new ConditionalContinuousEffect(
diff --git a/Mage.Sets/src/mage/cards/t/TelJiladWolf.java b/Mage.Sets/src/mage/cards/t/TelJiladWolf.java
index 92ea7f3f7ef..1f39370e16b 100644
--- a/Mage.Sets/src/mage/cards/t/TelJiladWolf.java
+++ b/Mage.Sets/src/mage/cards/t/TelJiladWolf.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class TelJiladWolf extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public TelJiladWolf(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TemperedSteel.java b/Mage.Sets/src/mage/cards/t/TemperedSteel.java
index 34ff61ea0f9..318b86a50dc 100644
--- a/Mage.Sets/src/mage/cards/t/TemperedSteel.java
+++ b/Mage.Sets/src/mage/cards/t/TemperedSteel.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,7 +20,7 @@ public final class TemperedSteel extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Artifact creatures");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public TemperedSteel (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TempestDjinn.java b/Mage.Sets/src/mage/cards/t/TempestDjinn.java
index 05d381d8c2c..40be9817497 100644
--- a/Mage.Sets/src/mage/cards/t/TempestDjinn.java
+++ b/Mage.Sets/src/mage/cards/t/TempestDjinn.java
@@ -44,7 +44,7 @@ public final class TempestDjinn extends CardImpl {
// Tempest Djinn gets +1/+0 for each basic Island you control.
PermanentsOnBattlefieldCount count = new PermanentsOnBattlefieldCount(filter);
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, new StaticValue(0), Duration.WhileOnBattlefield)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, StaticValue.get(0), Duration.WhileOnBattlefield)));
}
public TempestDjinn(final TempestDjinn card) {
diff --git a/Mage.Sets/src/mage/cards/t/TemporalDistortion.java b/Mage.Sets/src/mage/cards/t/TemporalDistortion.java
index 23d08a5c54f..d55c9ea62fa 100644
--- a/Mage.Sets/src/mage/cards/t/TemporalDistortion.java
+++ b/Mage.Sets/src/mage/cards/t/TemporalDistortion.java
@@ -20,7 +20,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.CounterPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -35,7 +34,7 @@ public final class TemporalDistortion extends CardImpl {
private static final FilterPermanent filter2 = new FilterPermanent("permanents with hourglass counters on them");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.LAND), new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.or(CardType.LAND.getPredicate(), CardType.CREATURE.getPredicate()));
filter2.add(new CounterPredicate(CounterType.HOURGLASS));
}
diff --git a/Mage.Sets/src/mage/cards/t/TemporalEddy.java b/Mage.Sets/src/mage/cards/t/TemporalEddy.java
index da513cbeefd..83e8cf53f66 100644
--- a/Mage.Sets/src/mage/cards/t/TemporalEddy.java
+++ b/Mage.Sets/src/mage/cards/t/TemporalEddy.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,8 +20,8 @@ public final class TemporalEddy extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public TemporalEddy(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TemptingWurm.java b/Mage.Sets/src/mage/cards/t/TemptingWurm.java
index 2e62e994790..2b85bd24e9d 100644
--- a/Mage.Sets/src/mage/cards/t/TemptingWurm.java
+++ b/Mage.Sets/src/mage/cards/t/TemptingWurm.java
@@ -18,7 +18,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.Target;
@@ -56,10 +55,10 @@ class TemptingWurmEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/t/Tephraderm.java b/Mage.Sets/src/mage/cards/t/Tephraderm.java
index 5b33109c490..bd8baa98f9f 100644
--- a/Mage.Sets/src/mage/cards/t/Tephraderm.java
+++ b/Mage.Sets/src/mage/cards/t/Tephraderm.java
@@ -78,7 +78,7 @@ class TephradermCreatureDamageTriggeredAbility extends TriggeredAbilityImpl {
for (Effect effect : getEffects()) {
if (effect instanceof DamageTargetEffect) {
effect.setTargetPointer(new FixedTarget(sourcePermanent.getId()));
- ((DamageTargetEffect) effect).setAmount(new StaticValue(event.getAmount()));
+ ((DamageTargetEffect) effect).setAmount(StaticValue.get(event.getAmount()));
}
}
return true;
@@ -124,7 +124,7 @@ class TephradermSpellDamageTriggeredAbility extends TriggeredAbilityImpl {
for (Effect effect : getEffects()) {
if (effect instanceof DamageTargetEffect) {
effect.setTargetPointer(new FixedTarget(sourceSpell.getControllerId()));
- ((DamageTargetEffect) effect).setAmount(new StaticValue(event.getAmount()));
+ ((DamageTargetEffect) effect).setAmount(StaticValue.get(event.getAmount()));
}
}
return true;
diff --git a/Mage.Sets/src/mage/cards/t/Terastodon.java b/Mage.Sets/src/mage/cards/t/Terastodon.java
index 0f21a9b962d..4a73c47b75d 100644
--- a/Mage.Sets/src/mage/cards/t/Terastodon.java
+++ b/Mage.Sets/src/mage/cards/t/Terastodon.java
@@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.ElephantToken;
@@ -33,7 +32,7 @@ public final class Terastodon extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Terastodon(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TerraRavager.java b/Mage.Sets/src/mage/cards/t/TerraRavager.java
index 1e7f3320261..2152ed8f3ef 100644
--- a/Mage.Sets/src/mage/cards/t/TerraRavager.java
+++ b/Mage.Sets/src/mage/cards/t/TerraRavager.java
@@ -34,7 +34,7 @@ public final class TerraRavager extends CardImpl {
this.toughness = new MageInt(4);
// Whenever Terra Ravager attacks, it gets +X/+0 until end of turn, where X is the number of lands defending player controls.
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new TerraRavagerLandCount(), new StaticValue(0), Duration.EndOfTurn, true), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new TerraRavagerLandCount(), StaticValue.get(0), Duration.EndOfTurn, true), false));
}
public TerraRavager(final TerraRavager card) {
diff --git a/Mage.Sets/src/mage/cards/t/Terror.java b/Mage.Sets/src/mage/cards/t/Terror.java
index 094a54d2597..40773dfb79d 100644
--- a/Mage.Sets/src/mage/cards/t/Terror.java
+++ b/Mage.Sets/src/mage/cards/t/Terror.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -22,7 +21,7 @@ public final class Terror extends CardImpl {
private static final FilterCreaturePermanent FILTER = new FilterCreaturePermanent("nonartifact, nonblack creature");
static {
- FILTER.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ FILTER.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
FILTER.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
}
diff --git a/Mage.Sets/src/mage/cards/t/TesharAncestorsApostle.java b/Mage.Sets/src/mage/cards/t/TesharAncestorsApostle.java
index c5d8f4c0ae1..cfe5898c04f 100644
--- a/Mage.Sets/src/mage/cards/t/TesharAncestorsApostle.java
+++ b/Mage.Sets/src/mage/cards/t/TesharAncestorsApostle.java
@@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
import mage.filter.common.FilterHistoricSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInYourGraveyard;
@@ -30,7 +29,7 @@ public final class TesharAncestorsApostle extends CardImpl {
static {
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public TesharAncestorsApostle(UUID ownerId, CardSetInfo cardSetInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TezzeretAgentOfBolas.java b/Mage.Sets/src/mage/cards/t/TezzeretAgentOfBolas.java
index f68b2a94ba0..8d3f0b00e1b 100644
--- a/Mage.Sets/src/mage/cards/t/TezzeretAgentOfBolas.java
+++ b/Mage.Sets/src/mage/cards/t/TezzeretAgentOfBolas.java
@@ -20,7 +20,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetPlayer;
@@ -35,7 +34,7 @@ public final class TezzeretAgentOfBolas extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact card");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public TezzeretAgentOfBolas(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java b/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java
index 962e8aa48b7..368382bb53a 100644
--- a/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java
+++ b/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java
@@ -26,7 +26,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterArtifactCard;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetOpponent;
@@ -74,7 +73,7 @@ class TezzeretMasterOfMetalEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent("artifacts and creatures");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ARTIFACT.getPredicate()));
}
public TezzeretMasterOfMetalEffect() {
diff --git a/Mage.Sets/src/mage/cards/t/TezzeretMasterOfTheBridge.java b/Mage.Sets/src/mage/cards/t/TezzeretMasterOfTheBridge.java
index c89cdad2b53..0b528fc1666 100644
--- a/Mage.Sets/src/mage/cards/t/TezzeretMasterOfTheBridge.java
+++ b/Mage.Sets/src/mage/cards/t/TezzeretMasterOfTheBridge.java
@@ -17,7 +17,6 @@ import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
import mage.filter.common.FilterArtifactCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInYourGraveyard;
@@ -33,8 +32,8 @@ public final class TezzeretMasterOfTheBridge extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.PLANESWALKER),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.PLANESWALKER.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/t/TezzeretsAmbition.java b/Mage.Sets/src/mage/cards/t/TezzeretsAmbition.java
index 76dcb60a2ff..d364b7a112f 100644
--- a/Mage.Sets/src/mage/cards/t/TezzeretsAmbition.java
+++ b/Mage.Sets/src/mage/cards/t/TezzeretsAmbition.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class TezzeretsAmbition extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control no artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public TezzeretsAmbition(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TezzeretsGatebreaker.java b/Mage.Sets/src/mage/cards/t/TezzeretsGatebreaker.java
index 4ea0fddeadd..e031da075f0 100644
--- a/Mage.Sets/src/mage/cards/t/TezzeretsGatebreaker.java
+++ b/Mage.Sets/src/mage/cards/t/TezzeretsGatebreaker.java
@@ -19,7 +19,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -33,7 +32,7 @@ public final class TezzeretsGatebreaker extends CardImpl {
static {
filter.add(Predicates.or(
new ColorPredicate(ObjectColor.BLUE),
- new CardTypePredicate(CardType.ARTIFACT)
+ CardType.ARTIFACT.getPredicate()
));
}
@@ -43,7 +42,7 @@ public final class TezzeretsGatebreaker extends CardImpl {
// When Tezzeret's Gatebreaker enters the battlefield, look at the top five cards of your library. You may reveal a blue or artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new EntersBattlefieldTriggeredAbility(
new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter,
+ StaticValue.get(5), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false
).setBackInRandomOrder(true).setText("look at the top five cards of your library. "
+ "You may reveal a blue or artifact card from among them and put it into your hand. "
diff --git a/Mage.Sets/src/mage/cards/t/TheAbyss.java b/Mage.Sets/src/mage/cards/t/TheAbyss.java
index 7d813e1cac8..eea512f2746 100644
--- a/Mage.Sets/src/mage/cards/t/TheAbyss.java
+++ b/Mage.Sets/src/mage/cards/t/TheAbyss.java
@@ -11,7 +11,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -68,7 +67,7 @@ class TheAbyssTriggeredAbility extends TriggeredAbilityImpl {
Player player = game.getPlayer(event.getPlayerId());
if (player != null) {
FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature you control");
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter.add(new ControllerIdPredicate(player.getId()));
Target target = new TargetCreaturePermanent(filter);
target.setAbilityController(getControllerId());
diff --git a/Mage.Sets/src/mage/cards/t/TheAntiquitiesWar.java b/Mage.Sets/src/mage/cards/t/TheAntiquitiesWar.java
index 1000f251b2f..4f125fbec79 100644
--- a/Mage.Sets/src/mage/cards/t/TheAntiquitiesWar.java
+++ b/Mage.Sets/src/mage/cards/t/TheAntiquitiesWar.java
@@ -40,7 +40,7 @@ public final class TheAntiquitiesWar extends CardImpl {
// I, II — Look at the top five cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_II,
- new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(1),
+ new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(1),
StaticFilters.FILTER_CARD_ARTIFACT_AN, Zone.LIBRARY, false, true, false, Zone.HAND, true, true, false).setBackInRandomOrder(true));
// III — Artifacts you control become artifact creatures with base power and toughness 5/5 until end of turn.
diff --git a/Mage.Sets/src/mage/cards/t/TheBattleOfGeonosis.java b/Mage.Sets/src/mage/cards/t/TheBattleOfGeonosis.java
index 7207f52b1ac..30cd3236f02 100644
--- a/Mage.Sets/src/mage/cards/t/TheBattleOfGeonosis.java
+++ b/Mage.Sets/src/mage/cards/t/TheBattleOfGeonosis.java
@@ -35,7 +35,7 @@ public final class TheBattleOfGeonosis extends CardImpl {
this.getSpellAbility().addEffect(effect);
// Creatures you control get +X/+0 until end of turn.
- this.getSpellAbility().addEffect(new BoostControlledEffect(ManacostVariableValue.instance, new StaticValue(0), Duration.EndOfTurn));
+ this.getSpellAbility().addEffect(new BoostControlledEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn));
}
diff --git a/Mage.Sets/src/mage/cards/t/TheBindingOfTheTitans.java b/Mage.Sets/src/mage/cards/t/TheBindingOfTheTitans.java
index a6c83669872..42031b42eb1 100644
--- a/Mage.Sets/src/mage/cards/t/TheBindingOfTheTitans.java
+++ b/Mage.Sets/src/mage/cards/t/TheBindingOfTheTitans.java
@@ -10,7 +10,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.Target;
@@ -30,8 +29,8 @@ public final class TheBindingOfTheTitans extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/t/TheEldestReborn.java b/Mage.Sets/src/mage/cards/t/TheEldestReborn.java
index c8120d042e3..05e81badd9a 100644
--- a/Mage.Sets/src/mage/cards/t/TheEldestReborn.java
+++ b/Mage.Sets/src/mage/cards/t/TheEldestReborn.java
@@ -14,7 +14,7 @@ import mage.constants.TargetController;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.target.common.TargetCardInGraveyard;
/**
@@ -27,8 +27,8 @@ public final class TheEldestReborn extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
@@ -36,8 +36,8 @@ public final class TheEldestReborn extends CardImpl {
static {
filterSacrifice.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/t/TheMirariConjecture.java b/Mage.Sets/src/mage/cards/t/TheMirariConjecture.java
index b3f260ed87b..248f8b56cfd 100644
--- a/Mage.Sets/src/mage/cards/t/TheMirariConjecture.java
+++ b/Mage.Sets/src/mage/cards/t/TheMirariConjecture.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.SagaChapter;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -32,8 +31,8 @@ public final class TheMirariConjecture extends CardImpl {
private static final FilterCard filterSorceryCard = new FilterCard("sorcery card from your graveyard");
static {
- filterInstantCard.add(new CardTypePredicate(CardType.INSTANT));
- filterSorceryCard.add(new CardTypePredicate(CardType.SORCERY));
+ filterInstantCard.add(CardType.INSTANT.getPredicate());
+ filterSorceryCard.add(CardType.SORCERY.getPredicate());
}
public TheMirariConjecture(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TheTriumphOfAnax.java b/Mage.Sets/src/mage/cards/t/TheTriumphOfAnax.java
index 150e93adad1..922049eedaf 100644
--- a/Mage.Sets/src/mage/cards/t/TheTriumphOfAnax.java
+++ b/Mage.Sets/src/mage/cards/t/TheTriumphOfAnax.java
@@ -50,7 +50,7 @@ public final class TheTriumphOfAnax extends CardImpl {
TrampleAbility.getInstance(), Duration.EndOfTurn,
"Until end of turn, target creature gains trample"
), new BoostTargetEffect(
- xValue, StaticValue.getZeroValue(), Duration.EndOfTurn, true
+ xValue, StaticValue.get(0), Duration.EndOfTurn, true
).setText("and gets +X/+0, where X is the number of lore counters on {this}")),
new TargetCreaturePermanent()
);
diff --git a/Mage.Sets/src/mage/cards/t/ThievesFortune.java b/Mage.Sets/src/mage/cards/t/ThievesFortune.java
index 3b38ec85c2b..46372b0dfc3 100644
--- a/Mage.Sets/src/mage/cards/t/ThievesFortune.java
+++ b/Mage.Sets/src/mage/cards/t/ThievesFortune.java
@@ -26,7 +26,7 @@ public final class ThievesFortune extends CardImpl {
this.addAbility(new ProwlAbility(this, "{U}"));
// Look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.
- this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false));
+ this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false));
}
public ThievesFortune(final ThievesFortune card) {
diff --git a/Mage.Sets/src/mage/cards/t/ThingInTheIce.java b/Mage.Sets/src/mage/cards/t/ThingInTheIce.java
index d6b018e765f..b8ac9a64249 100644
--- a/Mage.Sets/src/mage/cards/t/ThingInTheIce.java
+++ b/Mage.Sets/src/mage/cards/t/ThingInTheIce.java
@@ -22,7 +22,6 @@ import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author fireshoes
@@ -33,8 +32,8 @@ public final class ThingInTheIce extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public ThingInTheIce(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/ThopterArrest.java b/Mage.Sets/src/mage/cards/t/ThopterArrest.java
index a5b154d32f5..c3464b02efd 100644
--- a/Mage.Sets/src/mage/cards/t/ThopterArrest.java
+++ b/Mage.Sets/src/mage/cards/t/ThopterArrest.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetPermanent;
@@ -27,8 +26,8 @@ public final class ThopterArrest extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
filter.add(new ControllerPredicate(TargetController.OPPONENT));
}
diff --git a/Mage.Sets/src/mage/cards/t/ThopterEngineer.java b/Mage.Sets/src/mage/cards/t/ThopterEngineer.java
index ef0ddf16374..7c3663bf990 100644
--- a/Mage.Sets/src/mage/cards/t/ThopterEngineer.java
+++ b/Mage.Sets/src/mage/cards/t/ThopterEngineer.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.ThopterColorlessToken;
/**
@@ -27,7 +26,7 @@ public final class ThopterEngineer extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Artifact creatures you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ThopterEngineer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/ThopterFoundry.java b/Mage.Sets/src/mage/cards/t/ThopterFoundry.java
index 2c5a4c93c5f..0ff356f48b6 100644
--- a/Mage.Sets/src/mage/cards/t/ThopterFoundry.java
+++ b/Mage.Sets/src/mage/cards/t/ThopterFoundry.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.ThopterToken;
import mage.target.common.TargetControlledPermanent;
@@ -28,7 +27,7 @@ public final class ThopterFoundry extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a nontoken artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
}
diff --git a/Mage.Sets/src/mage/cards/t/ThornOfAmethyst.java b/Mage.Sets/src/mage/cards/t/ThornOfAmethyst.java
index 65fdf87e44e..3de6135ad23 100644
--- a/Mage.Sets/src/mage/cards/t/ThornOfAmethyst.java
+++ b/Mage.Sets/src/mage/cards/t/ThornOfAmethyst.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public final class ThornOfAmethyst extends CardImpl {
private static final FilterCard filter = new FilterCard("Noncreature spells");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ThornOfAmethyst(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
diff --git a/Mage.Sets/src/mage/cards/t/ThoughtDistortion.java b/Mage.Sets/src/mage/cards/t/ThoughtDistortion.java
index 1981b4d3de2..743f64978c2 100644
--- a/Mage.Sets/src/mage/cards/t/ThoughtDistortion.java
+++ b/Mage.Sets/src/mage/cards/t/ThoughtDistortion.java
@@ -13,7 +13,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterNonlandCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetOpponent;
@@ -51,7 +50,7 @@ class ThoughtDistortionEffect extends OneShotEffect {
private static final FilterCard filter = new FilterNonlandCard();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
ThoughtDistortionEffect() {
diff --git a/Mage.Sets/src/mage/cards/t/ThoughtPrison.java b/Mage.Sets/src/mage/cards/t/ThoughtPrison.java
index 825e82e0844..6fcdc24295a 100644
--- a/Mage.Sets/src/mage/cards/t/ThoughtPrison.java
+++ b/Mage.Sets/src/mage/cards/t/ThoughtPrison.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -64,7 +63,7 @@ class ThoughtPrisonImprintEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("nonland card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public ThoughtPrisonImprintEffect() {
diff --git a/Mage.Sets/src/mage/cards/t/ThranForge.java b/Mage.Sets/src/mage/cards/t/ThranForge.java
index 008fbbcb1fd..d8a5638a666 100644
--- a/Mage.Sets/src/mage/cards/t/ThranForge.java
+++ b/Mage.Sets/src/mage/cards/t/ThranForge.java
@@ -14,7 +14,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -26,7 +25,7 @@ public final class ThranForge extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public ThranForge(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/Thraximundar.java b/Mage.Sets/src/mage/cards/t/Thraximundar.java
index 5fe729530d2..c1441c014cd 100644
--- a/Mage.Sets/src/mage/cards/t/Thraximundar.java
+++ b/Mage.Sets/src/mage/cards/t/Thraximundar.java
@@ -17,7 +17,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
@@ -65,7 +64,7 @@ class ThraximundarTriggeredAbility extends TriggeredAbilityImpl {
static {
filter = new FilterControlledPermanent(" a creature");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public ThraximundarTriggeredAbility() {
diff --git a/Mage.Sets/src/mage/cards/t/ThroneOfGeth.java b/Mage.Sets/src/mage/cards/t/ThroneOfGeth.java
index b71086bd713..5c4ce10ae99 100644
--- a/Mage.Sets/src/mage/cards/t/ThroneOfGeth.java
+++ b/Mage.Sets/src/mage/cards/t/ThroneOfGeth.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
@@ -23,7 +22,7 @@ public final class ThroneOfGeth extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ThroneOfGeth(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/ThunderousMight.java b/Mage.Sets/src/mage/cards/t/ThunderousMight.java
index bd30f816fce..178807b294f 100644
--- a/Mage.Sets/src/mage/cards/t/ThunderousMight.java
+++ b/Mage.Sets/src/mage/cards/t/ThunderousMight.java
@@ -32,7 +32,7 @@ public final class ThunderousMight extends CardImpl {
this.addAbility(ability);
// Whenever enchanted creature attacks, it gets +X/+0 until end of turn, where X is your devotion to red.
- BoostEnchantedEffect effect = new BoostEnchantedEffect(DevotionCount.R, new StaticValue(0), Duration.EndOfTurn);
+ BoostEnchantedEffect effect = new BoostEnchantedEffect(DevotionCount.R, StaticValue.get(0), Duration.EndOfTurn);
effect.setText("it gets +X/+0 until end of turn, where X is your devotion to red");
effect.setLockedIn(true);
this.addAbility(new AttacksAttachedTriggeredAbility(effect, AttachmentType.AURA, false)
diff --git a/Mage.Sets/src/mage/cards/t/TidalBore.java b/Mage.Sets/src/mage/cards/t/TidalBore.java
index cb8619a9e7e..167067a672d 100644
--- a/Mage.Sets/src/mage/cards/t/TidalBore.java
+++ b/Mage.Sets/src/mage/cards/t/TidalBore.java
@@ -10,7 +10,6 @@ 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;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -25,7 +24,7 @@ public final class TidalBore extends CardImpl {
static {
filter.add(new SubtypePredicate(SubType.ISLAND));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public TidalBore(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TimeOfNeed.java b/Mage.Sets/src/mage/cards/t/TimeOfNeed.java
index 22786e0e86e..398afbb7da9 100644
--- a/Mage.Sets/src/mage/cards/t/TimeOfNeed.java
+++ b/Mage.Sets/src/mage/cards/t/TimeOfNeed.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -21,7 +20,7 @@ public final class TimeOfNeed extends CardImpl {
private static final FilterCard filter = new FilterCard("legendary creature card");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SupertypePredicate(SuperType.LEGENDARY));
}
diff --git a/Mage.Sets/src/mage/cards/t/TimeOut.java b/Mage.Sets/src/mage/cards/t/TimeOut.java
index b72dc69a790..5a3aedad66e 100644
--- a/Mage.Sets/src/mage/cards/t/TimeOut.java
+++ b/Mage.Sets/src/mage/cards/t/TimeOut.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -25,7 +24,7 @@ public final class TimeOut extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nonland permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public TimeOut(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TitaniasSong.java b/Mage.Sets/src/mage/cards/t/TitaniasSong.java
index 37b11987abb..85ae8251a3d 100644
--- a/Mage.Sets/src/mage/cards/t/TitaniasSong.java
+++ b/Mage.Sets/src/mage/cards/t/TitaniasSong.java
@@ -18,7 +18,6 @@ import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -51,7 +50,7 @@ class TitaniasSongEffect extends ContinuousEffectImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public TitaniasSongEffect(Duration duration) {
diff --git a/Mage.Sets/src/mage/cards/t/ToilToRenown.java b/Mage.Sets/src/mage/cards/t/ToilToRenown.java
index 41b19713171..584fbfa4317 100644
--- a/Mage.Sets/src/mage/cards/t/ToilToRenown.java
+++ b/Mage.Sets/src/mage/cards/t/ToilToRenown.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.TappedPredicate;
@@ -25,9 +24,9 @@ public final class ToilToRenown extends CardImpl {
static {
filter.add(TappedPredicate.instance);
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/t/TolarianAcademy.java b/Mage.Sets/src/mage/cards/t/TolarianAcademy.java
index c08c3f79249..307a8d10e75 100644
--- a/Mage.Sets/src/mage/cards/t/TolarianAcademy.java
+++ b/Mage.Sets/src/mage/cards/t/TolarianAcademy.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class TolarianAcademy extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public TolarianAcademy(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TomorrowAzamisFamiliar.java b/Mage.Sets/src/mage/cards/t/TomorrowAzamisFamiliar.java
index edf1eb734e7..29b92ef5018 100644
--- a/Mage.Sets/src/mage/cards/t/TomorrowAzamisFamiliar.java
+++ b/Mage.Sets/src/mage/cards/t/TomorrowAzamisFamiliar.java
@@ -66,7 +66,7 @@ class TomorrowAzamisFamiliarReplacementEffect extends ReplacementEffectImpl {
@Override
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
- new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false)
+ new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false)
.apply(game, source);
return true;
}
diff --git a/Mage.Sets/src/mage/cards/t/TormentOfVenom.java b/Mage.Sets/src/mage/cards/t/TormentOfVenom.java
index b3c23ae5f19..060e17038df 100644
--- a/Mage.Sets/src/mage/cards/t/TormentOfVenom.java
+++ b/Mage.Sets/src/mage/cards/t/TormentOfVenom.java
@@ -14,7 +14,6 @@ import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.PermanentIdPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -74,7 +73,7 @@ class TormentOfVenomEffect extends OneShotEffect {
if (permanents > 0 && controllingPlayer.chooseUse(outcome, "Sacrifices a nonland permanent?",
"Otherwise you have to discard a card or lose 3 life.", "Sacrifice", "Discard or life loss", source, game)) {
FilterPermanent filter = new FilterControlledPermanent("another nonland permanent");
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(Predicates.not(new PermanentIdPredicate(targetCreature.getId())));
Target target = new TargetPermanent(filter);
if (controllingPlayer.choose(outcome, target, source.getSourceId(), game)) {
diff --git a/Mage.Sets/src/mage/cards/t/TorrentialGearhulk.java b/Mage.Sets/src/mage/cards/t/TorrentialGearhulk.java
index 8763da84e07..620293fb1b9 100644
--- a/Mage.Sets/src/mage/cards/t/TorrentialGearhulk.java
+++ b/Mage.Sets/src/mage/cards/t/TorrentialGearhulk.java
@@ -18,7 +18,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
@@ -36,7 +35,7 @@ public final class TorrentialGearhulk extends CardImpl {
private static final FilterCard filter = new FilterCard("instant card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.INSTANT));
+ filter.add(CardType.INSTANT.getPredicate());
}
public TorrentialGearhulk(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/ToshiroUmezawa.java b/Mage.Sets/src/mage/cards/t/ToshiroUmezawa.java
index 68a6decc051..2c19a35e2b7 100644
--- a/Mage.Sets/src/mage/cards/t/ToshiroUmezawa.java
+++ b/Mage.Sets/src/mage/cards/t/ToshiroUmezawa.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -37,7 +36,7 @@ public final class ToshiroUmezawa extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.OPPONENT));
- filterInstant.add(new CardTypePredicate(CardType.INSTANT));
+ filterInstant.add(CardType.INSTANT.getPredicate());
}
public ToshiroUmezawa(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TotemGuideHartebeest.java b/Mage.Sets/src/mage/cards/t/TotemGuideHartebeest.java
index 24b97bca986..936d69b0804 100644
--- a/Mage.Sets/src/mage/cards/t/TotemGuideHartebeest.java
+++ b/Mage.Sets/src/mage/cards/t/TotemGuideHartebeest.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -23,7 +22,7 @@ public final class TotemGuideHartebeest extends CardImpl {
private static final FilterCard filter = new FilterCard("Aura card");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter.add(new SubtypePredicate(SubType.AURA));
}
diff --git a/Mage.Sets/src/mage/cards/t/TourachsGate.java b/Mage.Sets/src/mage/cards/t/TourachsGate.java
index 72912a4b953..c2e1ee27f0a 100644
--- a/Mage.Sets/src/mage/cards/t/TourachsGate.java
+++ b/Mage.Sets/src/mage/cards/t/TourachsGate.java
@@ -29,7 +29,6 @@ import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.AttackingPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -48,7 +47,7 @@ public final class TourachsGate extends CardImpl {
private static final FilterControlledPermanent filterLand = new FilterControlledPermanent("land you control");
static {
- filterLand.add(new CardTypePredicate(CardType.LAND));
+ filterLand.add(CardType.LAND.getPredicate());
}
private static final FilterPermanent filterUntapped = new FilterPermanent("enchanted land is untapped");
diff --git a/Mage.Sets/src/mage/cards/t/TowerGeist.java b/Mage.Sets/src/mage/cards/t/TowerGeist.java
index bc51284f027..c5b427d0ab7 100644
--- a/Mage.Sets/src/mage/cards/t/TowerGeist.java
+++ b/Mage.Sets/src/mage/cards/t/TowerGeist.java
@@ -60,7 +60,7 @@ public final class TowerGeist extends CardImpl {
// When Tower Geist enters the battlefield, look at the top two cards of your library. Put one of them into your hand and the other into your graveyard.
this.addAbility(new EntersBattlefieldTriggeredAbility(
- new LookLibraryAndPickControllerEffect(new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.GRAVEYARD, false, false)));
+ new LookLibraryAndPickControllerEffect(StaticValue.get(2), false, StaticValue.get(1), new FilterCard(), Zone.GRAVEYARD, false, false)));
}
public TowerGeist(final TowerGeist card) {
diff --git a/Mage.Sets/src/mage/cards/t/Toymaker.java b/Mage.Sets/src/mage/cards/t/Toymaker.java
index 3622e408a19..4a4eed7f62f 100644
--- a/Mage.Sets/src/mage/cards/t/Toymaker.java
+++ b/Mage.Sets/src/mage/cards/t/Toymaker.java
@@ -20,7 +20,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -34,7 +33,7 @@ public final class Toymaker extends CardImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("noncreature artifact");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public Toymaker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TragicLesson.java b/Mage.Sets/src/mage/cards/t/TragicLesson.java
index c6eb17af10b..babd1a1ff67 100644
--- a/Mage.Sets/src/mage/cards/t/TragicLesson.java
+++ b/Mage.Sets/src/mage/cards/t/TragicLesson.java
@@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetControlledPermanent;
@@ -46,7 +45,7 @@ class TragicLessonEffect extends OneShotEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a land you control");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public TragicLessonEffect() {
diff --git a/Mage.Sets/src/mage/cards/t/TragicPoet.java b/Mage.Sets/src/mage/cards/t/TragicPoet.java
index 109c51d9da0..6dea1b39cb6 100644
--- a/Mage.Sets/src/mage/cards/t/TragicPoet.java
+++ b/Mage.Sets/src/mage/cards/t/TragicPoet.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -26,7 +25,7 @@ public final class TragicPoet extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public TragicPoet(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TrailOfEvidence.java b/Mage.Sets/src/mage/cards/t/TrailOfEvidence.java
index b108cf9e4e7..dc63e65b26f 100644
--- a/Mage.Sets/src/mage/cards/t/TrailOfEvidence.java
+++ b/Mage.Sets/src/mage/cards/t/TrailOfEvidence.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,8 +20,8 @@ public final class TrailOfEvidence extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public TrailOfEvidence(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TrashForTreasure.java b/Mage.Sets/src/mage/cards/t/TrashForTreasure.java
index 947491c44b4..0cd06763d80 100644
--- a/Mage.Sets/src/mage/cards/t/TrashForTreasure.java
+++ b/Mage.Sets/src/mage/cards/t/TrashForTreasure.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.common.TargetControlledPermanent;
@@ -23,8 +22,8 @@ public final class TrashForTreasure extends CardImpl {
private static final FilterCard filterCard = new FilterCard("artifact card from your graveyard");
static {
- filterPermanent.add(new CardTypePredicate(CardType.ARTIFACT));
- filterCard.add(new CardTypePredicate(CardType.ARTIFACT));
+ filterPermanent.add(CardType.ARTIFACT.getPredicate());
+ filterCard.add(CardType.ARTIFACT.getPredicate());
}
public TrashForTreasure(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TraverseTheUlvenwald.java b/Mage.Sets/src/mage/cards/t/TraverseTheUlvenwald.java
index 33285349e67..e558cbeae3b 100644
--- a/Mage.Sets/src/mage/cards/t/TraverseTheUlvenwald.java
+++ b/Mage.Sets/src/mage/cards/t/TraverseTheUlvenwald.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInLibrary;
import java.util.UUID;
@@ -24,7 +23,7 @@ public final class TraverseTheUlvenwald extends CardImpl {
private static final FilterCard filter = new FilterCard("a creature or land card");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public TraverseTheUlvenwald(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TreasureMage.java b/Mage.Sets/src/mage/cards/t/TreasureMage.java
index 5362ffab5c2..f7c492ccd9c 100644
--- a/Mage.Sets/src/mage/cards/t/TreasureMage.java
+++ b/Mage.Sets/src/mage/cards/t/TreasureMage.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.ComparisonType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInLibrary;
@@ -26,7 +25,7 @@ public final class TreasureMage extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact card with converted mana cost 6 or more");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, 5));
}
diff --git a/Mage.Sets/src/mage/cards/t/TreasuryThrull.java b/Mage.Sets/src/mage/cards/t/TreasuryThrull.java
index 0652e250ae4..01f573f7f98 100644
--- a/Mage.Sets/src/mage/cards/t/TreasuryThrull.java
+++ b/Mage.Sets/src/mage/cards/t/TreasuryThrull.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -24,9 +23,9 @@ public final class TreasuryThrull extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact, creature, or enchantment card from your graveyard");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public TreasuryThrull(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TributeMage.java b/Mage.Sets/src/mage/cards/t/TributeMage.java
index b12c7b4d00f..23aef5d8e71 100644
--- a/Mage.Sets/src/mage/cards/t/TributeMage.java
+++ b/Mage.Sets/src/mage/cards/t/TributeMage.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInLibrary;
@@ -23,7 +22,7 @@ public final class TributeMage extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact card with converted mana cost 2");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, 2));
}
diff --git a/Mage.Sets/src/mage/cards/t/TributeToTheWild.java b/Mage.Sets/src/mage/cards/t/TributeToTheWild.java
index 467f8553d8d..7d6f60825fa 100644
--- a/Mage.Sets/src/mage/cards/t/TributeToTheWild.java
+++ b/Mage.Sets/src/mage/cards/t/TributeToTheWild.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,8 +19,8 @@ public final class TributeToTheWild extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
}
public TributeToTheWild(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TricksterMage.java b/Mage.Sets/src/mage/cards/t/TricksterMage.java
index 03c2c1f5ac5..954f63b51c1 100644
--- a/Mage.Sets/src/mage/cards/t/TricksterMage.java
+++ b/Mage.Sets/src/mage/cards/t/TricksterMage.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -29,9 +28,9 @@ public final class TricksterMage extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public TricksterMage(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TrinketMage.java b/Mage.Sets/src/mage/cards/t/TrinketMage.java
index edbf3d88bba..2d39f8b52bd 100644
--- a/Mage.Sets/src/mage/cards/t/TrinketMage.java
+++ b/Mage.Sets/src/mage/cards/t/TrinketMage.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.ComparisonType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInLibrary;
@@ -25,7 +24,7 @@ public final class TrinketMage extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact card with converted mana cost 1 or less");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 2));
}
diff --git a/Mage.Sets/src/mage/cards/t/TrophyMage.java b/Mage.Sets/src/mage/cards/t/TrophyMage.java
index 2ba6ba8057c..ac5de99e0ba 100644
--- a/Mage.Sets/src/mage/cards/t/TrophyMage.java
+++ b/Mage.Sets/src/mage/cards/t/TrophyMage.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.ComparisonType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInLibrary;
@@ -24,7 +23,7 @@ public final class TrophyMage extends CardImpl {
private static final FilterCard filter = new FilterCard("an artifact card with converted mana cost 3");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, 3));
}
diff --git a/Mage.Sets/src/mage/cards/t/TrygonPredator.java b/Mage.Sets/src/mage/cards/t/TrygonPredator.java
index e71704307a6..1acd12e690d 100644
--- a/Mage.Sets/src/mage/cards/t/TrygonPredator.java
+++ b/Mage.Sets/src/mage/cards/t/TrygonPredator.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
@@ -78,8 +77,8 @@ class TrygonPredatorTriggeredAbility extends TriggeredAbilityImpl {
if (player != null) {
FilterPermanent filter = new FilterPermanent("an artifact or enchantment controlled by " + player.getLogName());
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()));
filter.add(new ControllerIdPredicate(event.getTargetId()));
this.getTargets().clear();
diff --git a/Mage.Sets/src/mage/cards/t/Turnabout.java b/Mage.Sets/src/mage/cards/t/Turnabout.java
index 968a0cd1bbb..2a0464eaf2c 100644
--- a/Mage.Sets/src/mage/cards/t/Turnabout.java
+++ b/Mage.Sets/src/mage/cards/t/Turnabout.java
@@ -1,9 +1,6 @@
package mage.cards.t;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
@@ -14,15 +11,17 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.TargetPlayer;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.UUID;
+
/**
- *
* @author Plopman
*/
public final class Turnabout extends CardImpl {
@@ -107,7 +106,7 @@ class TurnaboutEffect extends OneShotEffect {
}
FilterPermanent filter = new FilterPermanent();
- filter.add(new CardTypePredicate(type));
+ filter.add(type.getPredicate());
if (choiceImpl.getChoice().equals("Untap")) {
filter.add(TappedPredicate.instance);
diff --git a/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java b/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java
index bc5cd500218..a226f4a9770 100644
--- a/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java
+++ b/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java
@@ -17,7 +17,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -30,7 +29,7 @@ public final class TuskguardCaptain extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new CounterPredicate(CounterType.P1P1));
}
diff --git a/Mage.Sets/src/mage/cards/t/TuvasaTheSunlit.java b/Mage.Sets/src/mage/cards/t/TuvasaTheSunlit.java
index f0e8b6b7027..1dd9cbae18d 100644
--- a/Mage.Sets/src/mage/cards/t/TuvasaTheSunlit.java
+++ b/Mage.Sets/src/mage/cards/t/TuvasaTheSunlit.java
@@ -23,7 +23,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.FilterSpell;
import mage.filter.common.FilterEnchantmentPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -80,7 +79,7 @@ class TuvasaTheSunlitTriggeredAbility extends SpellCastControllerTriggeredAbilit
public TuvasaTheSunlitTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1),
- (FilterSpell) new FilterSpell("an enchantment spell").add(new CardTypePredicate(CardType.ENCHANTMENT)), false, true);
+ (FilterSpell) new FilterSpell("an enchantment spell").add(CardType.ENCHANTMENT.getPredicate()), false, true);
}
public TuvasaTheSunlitTriggeredAbility(final TuvasaTheSunlitTriggeredAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/t/Twiddle.java b/Mage.Sets/src/mage/cards/t/Twiddle.java
index 87fdbf75dfc..b5ca273658d 100644
--- a/Mage.Sets/src/mage/cards/t/Twiddle.java
+++ b/Mage.Sets/src/mage/cards/t/Twiddle.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -21,9 +20,9 @@ public final class Twiddle extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Twiddle(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TwinningGlass.java b/Mage.Sets/src/mage/cards/t/TwinningGlass.java
index 6d4e76138f5..2498178e5c7 100644
--- a/Mage.Sets/src/mage/cards/t/TwinningGlass.java
+++ b/Mage.Sets/src/mage/cards/t/TwinningGlass.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -74,7 +73,7 @@ class TwinningGlassEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
FilterCard filterCard = new FilterCard();
- filterCard.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filterCard.add(Predicates.not(CardType.LAND.getPredicate()));
Permanent twinningGlass = game.getPermanent(source.getSourceId());
Player controller = game.getPlayer(source.getControllerId());
SpellsCastWatcher watcher = game.getState().getWatcher(SpellsCastWatcher.class);
diff --git a/Mage.Sets/src/mage/cards/t/TwistedJustice.java b/Mage.Sets/src/mage/cards/t/TwistedJustice.java
index 99c02a8d0f4..f757a13db9e 100644
--- a/Mage.Sets/src/mage/cards/t/TwistedJustice.java
+++ b/Mage.Sets/src/mage/cards/t/TwistedJustice.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -59,7 +58,7 @@ class TwistedJusticeEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
FilterControlledPermanent filter = new FilterControlledPermanent("creature");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true);
diff --git a/Mage.Sets/src/mage/cards/t/Twitch.java b/Mage.Sets/src/mage/cards/t/Twitch.java
index 1e3d27a1668..c8c4b91cc7c 100644
--- a/Mage.Sets/src/mage/cards/t/Twitch.java
+++ b/Mage.Sets/src/mage/cards/t/Twitch.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,9 +21,9 @@ public final class Twitch extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public Twitch(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java b/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java
index abdd56dfade..8ed90c07f24 100644
--- a/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java
+++ b/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java
@@ -12,7 +12,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.token.ZombieToken;
import mage.players.Player;
@@ -65,8 +64,8 @@ class TymaretCallsTheDeadFirstEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java b/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java
index a0cd5f70185..4150390c7db 100644
--- a/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java
+++ b/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java
@@ -16,7 +16,6 @@ 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.permanent.DefendingPlayerControlsPredicate;
import mage.target.TargetPermanent;
@@ -29,7 +28,7 @@ public final class TyrantsFamiliar extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature defending player controls");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(DefendingPlayerControlsPredicate.instance);
}
diff --git a/Mage.Sets/src/mage/cards/u/UncageTheMenagerie.java b/Mage.Sets/src/mage/cards/u/UncageTheMenagerie.java
index e45a6432a57..dbde5b9c0c7 100644
--- a/Mage.Sets/src/mage/cards/u/UncageTheMenagerie.java
+++ b/Mage.Sets/src/mage/cards/u/UncageTheMenagerie.java
@@ -8,7 +8,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
@@ -42,7 +41,7 @@ class UncageTheMenagerieEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard("creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public UncageTheMenagerieEffect() {
diff --git a/Mage.Sets/src/mage/cards/u/UncoveredClues.java b/Mage.Sets/src/mage/cards/u/UncoveredClues.java
index 13411cb46bb..a4ae64a715e 100644
--- a/Mage.Sets/src/mage/cards/u/UncoveredClues.java
+++ b/Mage.Sets/src/mage/cards/u/UncoveredClues.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,7 +20,7 @@ public final class UncoveredClues extends CardImpl {
private static final FilterCard filter = new FilterCard("up to two instant and/or sorcery cards");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public UncoveredClues(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/u/UnderrealmLich.java b/Mage.Sets/src/mage/cards/u/UnderrealmLich.java
index 72d3b775ba3..0f4ed7786d5 100644
--- a/Mage.Sets/src/mage/cards/u/UnderrealmLich.java
+++ b/Mage.Sets/src/mage/cards/u/UnderrealmLich.java
@@ -91,7 +91,7 @@ class UnderrealmLichReplacementEffect extends ReplacementEffectImpl {
@Override
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
return new LookLibraryAndPickControllerEffect(
- new StaticValue(3), false, new StaticValue(1),
+ StaticValue.get(3), false, StaticValue.get(1),
StaticFilters.FILTER_CARD, Zone.GRAVEYARD,
false, false, false, Zone.HAND, false
).apply(game, source);
diff --git a/Mage.Sets/src/mage/cards/u/UnderworldSlums.java b/Mage.Sets/src/mage/cards/u/UnderworldSlums.java
index 6011ecc25f5..afe33929b8b 100644
--- a/Mage.Sets/src/mage/cards/u/UnderworldSlums.java
+++ b/Mage.Sets/src/mage/cards/u/UnderworldSlums.java
@@ -13,7 +13,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -59,7 +58,7 @@ public final class UnderworldSlums extends CardImpl {
addCost(new TapSourceCost());
addCost(new SacrificeSourceCost());
FilterCard filter = new FilterCard("basic Swamp, Mountain or Forest");
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
List> subtypePredicates = new ArrayList<>();
subtypePredicates.add(new SubtypePredicate(SubType.SWAMP));
subtypePredicates.add(new SubtypePredicate(SubType.MOUNTAIN));
diff --git a/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java b/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java
index cd333a0bec6..fee12d9e9e3 100644
--- a/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java
+++ b/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -28,8 +27,8 @@ public final class UnityOfTheDroids extends CardImpl {
private static final FilterCreaturePermanent nonArtifactCreatureFilter = new FilterCreaturePermanent("nonartifact creature");
static {
- artifactCreatureFilter.add(new CardTypePredicate(CardType.ARTIFACT));
- nonArtifactCreatureFilter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ artifactCreatureFilter.add(CardType.ARTIFACT.getPredicate());
+ nonArtifactCreatureFilter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
@@ -42,7 +41,7 @@ public final class UnityOfTheDroids extends CardImpl {
// Look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard.
Mode mode = new Mode();
- mode.addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), new FilterCard(), Zone.GRAVEYARD, false, false));
+ mode.addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), new FilterCard(), Zone.GRAVEYARD, false, false));
this.getSpellAbility().addMode(mode);
// Destroy target nonartifact creature.
diff --git a/Mage.Sets/src/mage/cards/u/Unmask.java b/Mage.Sets/src/mage/cards/u/Unmask.java
index 0b2dca411b0..a52ea640f5c 100644
--- a/Mage.Sets/src/mage/cards/u/Unmask.java
+++ b/Mage.Sets/src/mage/cards/u/Unmask.java
@@ -12,7 +12,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPlayer;
import mage.target.common.TargetCardInHand;
@@ -27,7 +26,7 @@ public final class Unmask extends CardImpl {
private static final FilterCard filterNonLand = new FilterCard("nonland card");
static {
- filterNonLand.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filterNonLand.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(new ColorPredicate(ObjectColor.BLACK));
}
diff --git a/Mage.Sets/src/mage/cards/u/Unnerve.java b/Mage.Sets/src/mage/cards/u/Unnerve.java
index 5cc212732b2..226743c0b07 100644
--- a/Mage.Sets/src/mage/cards/u/Unnerve.java
+++ b/Mage.Sets/src/mage/cards/u/Unnerve.java
@@ -19,7 +19,7 @@ public final class Unnerve extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}");
// Each opponent discards two cards.
- this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(new StaticValue(2), false, TargetController.OPPONENT));
+ this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(StaticValue.get(2), false, TargetController.OPPONENT));
}
public Unnerve(final Unnerve card) {
diff --git a/Mage.Sets/src/mage/cards/u/UnyaroGriffin.java b/Mage.Sets/src/mage/cards/u/UnyaroGriffin.java
index 7617d736bca..7957b593d44 100644
--- a/Mage.Sets/src/mage/cards/u/UnyaroGriffin.java
+++ b/Mage.Sets/src/mage/cards/u/UnyaroGriffin.java
@@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetSpell;
@@ -30,8 +29,8 @@ public final class UnyaroGriffin extends CardImpl {
static {
filter.add(new ColorPredicate(ObjectColor.RED));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public UnyaroGriffin(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/u/UrborgStalker.java b/Mage.Sets/src/mage/cards/u/UrborgStalker.java
index 45c70884470..3cedae59d57 100644
--- a/Mage.Sets/src/mage/cards/u/UrborgStalker.java
+++ b/Mage.Sets/src/mage/cards/u/UrborgStalker.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -30,7 +29,7 @@ public final class UrborgStalker extends CardImpl {
static {
filter.add(new ControllerPredicate(TargetController.ACTIVE));
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public UrborgStalker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/u/UrgentExorcism.java b/Mage.Sets/src/mage/cards/u/UrgentExorcism.java
index 47968fdabfc..ef837c123ca 100644
--- a/Mage.Sets/src/mage/cards/u/UrgentExorcism.java
+++ b/Mage.Sets/src/mage/cards/u/UrgentExorcism.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.TargetPermanent;
@@ -24,7 +23,7 @@ public final class UrgentExorcism extends CardImpl {
static {
filter.add(Predicates.or(
new SubtypePredicate(SubType.SPIRIT),
- new CardTypePredicate(CardType.ENCHANTMENT)));
+ CardType.ENCHANTMENT.getPredicate()));
}
public UrgentExorcism(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/u/UrzaAcademyHeadmaster.java b/Mage.Sets/src/mage/cards/u/UrzaAcademyHeadmaster.java
index 219c99168a2..fca38d81290 100644
--- a/Mage.Sets/src/mage/cards/u/UrzaAcademyHeadmaster.java
+++ b/Mage.Sets/src/mage/cards/u/UrzaAcademyHeadmaster.java
@@ -33,7 +33,6 @@ import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.*;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.command.emblems.*;
@@ -91,13 +90,13 @@ class UrzaAcademyHeadmasterRandomEffect extends OneShotEffect {
static {
filter1.add(new ControllerPredicate(TargetController.YOU));
- filter2.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter2.add(Predicates.not(CardType.CREATURE.getPredicate()));
filter3.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
filter4.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public UrzaAcademyHeadmasterRandomEffect(int selection, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/u/UrzasRuinousBlast.java b/Mage.Sets/src/mage/cards/u/UrzasRuinousBlast.java
index 969569b7436..c1a3feb6b79 100644
--- a/Mage.Sets/src/mage/cards/u/UrzasRuinousBlast.java
+++ b/Mage.Sets/src/mage/cards/u/UrzasRuinousBlast.java
@@ -10,7 +10,6 @@ import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
/**
@@ -22,7 +21,7 @@ public final class UrzasRuinousBlast extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nonland permanents that aren't legendary");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY)));
}
diff --git a/Mage.Sets/src/mage/cards/v/VadersCommand.java b/Mage.Sets/src/mage/cards/v/VadersCommand.java
index 69208f4bc30..fbd03123dbd 100644
--- a/Mage.Sets/src/mage/cards/v/VadersCommand.java
+++ b/Mage.Sets/src/mage/cards/v/VadersCommand.java
@@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.TargetSpell;
import mage.target.common.TargetCreaturePermanent;
@@ -28,8 +27,8 @@ public final class VadersCommand extends CardImpl {
private static final FilterCreaturePermanent filterNonArtifact = new FilterCreaturePermanent("nonartifact creature");
static {
- filterPlaneswalker.add(new CardTypePredicate(CardType.PLANESWALKER));
- filterNonArtifact.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filterPlaneswalker.add(CardType.PLANESWALKER.getPredicate());
+ filterNonArtifact.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public VadersCommand(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/Valor.java b/Mage.Sets/src/mage/cards/v/Valor.java
index 993e08e77b8..466e34dbcc8 100644
--- a/Mage.Sets/src/mage/cards/v/Valor.java
+++ b/Mage.Sets/src/mage/cards/v/Valor.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -31,7 +30,7 @@ public final class Valor extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Plains");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SubtypePredicate(SubType.PLAINS));
}
diff --git a/Mage.Sets/src/mage/cards/v/VampireCharmseeker.java b/Mage.Sets/src/mage/cards/v/VampireCharmseeker.java
index 75c50ddcbaa..97a63d09586 100644
--- a/Mage.Sets/src/mage/cards/v/VampireCharmseeker.java
+++ b/Mage.Sets/src/mage/cards/v/VampireCharmseeker.java
@@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInGraveyard;
/**
@@ -27,9 +26,9 @@ public final class VampireCharmseeker extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/v/VedalkenCertarch.java b/Mage.Sets/src/mage/cards/v/VedalkenCertarch.java
index afa85439ab1..1ec8de0648b 100644
--- a/Mage.Sets/src/mage/cards/v/VedalkenCertarch.java
+++ b/Mage.Sets/src/mage/cards/v/VedalkenCertarch.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
@@ -30,9 +29,9 @@ public final class VedalkenCertarch extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public VedalkenCertarch (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VedalkenOrrery.java b/Mage.Sets/src/mage/cards/v/VedalkenOrrery.java
index dea684cfd68..b989fdfcdf2 100644
--- a/Mage.Sets/src/mage/cards/v/VedalkenOrrery.java
+++ b/Mage.Sets/src/mage/cards/v/VedalkenOrrery.java
@@ -11,7 +11,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class VedalkenOrrery extends CardImpl {
private static final FilterCard filter = new FilterCard("spells");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public VedalkenOrrery(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VensersDiffusion.java b/Mage.Sets/src/mage/cards/v/VensersDiffusion.java
index b7c810903f2..fe9b7b4b8f9 100644
--- a/Mage.Sets/src/mage/cards/v/VensersDiffusion.java
+++ b/Mage.Sets/src/mage/cards/v/VensersDiffusion.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterPermanentOrSuspendedCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetPermanentOrSuspendedCard;
/**
@@ -21,7 +20,7 @@ public final class VensersDiffusion extends CardImpl {
private static final FilterPermanentOrSuspendedCard filter = new FilterPermanentOrSuspendedCard("nonland permanent or suspended card");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public VensersDiffusion (UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VerduranEnchantress.java b/Mage.Sets/src/mage/cards/v/VerduranEnchantress.java
index 1fcff8821f6..abd7cc2521b 100644
--- a/Mage.Sets/src/mage/cards/v/VerduranEnchantress.java
+++ b/Mage.Sets/src/mage/cards/v/VerduranEnchantress.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.UUID;
@@ -22,7 +21,7 @@ public final class VerduranEnchantress extends CardImpl {
private static final FilterSpell filter = new FilterSpell("an enchantment spell");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public VerduranEnchantress(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VernalEquinox.java b/Mage.Sets/src/mage/cards/v/VernalEquinox.java
index 87900a74f5e..5eee98d639e 100644
--- a/Mage.Sets/src/mage/cards/v/VernalEquinox.java
+++ b/Mage.Sets/src/mage/cards/v/VernalEquinox.java
@@ -11,7 +11,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class VernalEquinox extends CardImpl {
private static final FilterCard filter = new FilterCard("creature and enchantment spells");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public VernalEquinox(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VesselOfNascency.java b/Mage.Sets/src/mage/cards/v/VesselOfNascency.java
index 8113992126a..3434d7852ed 100644
--- a/Mage.Sets/src/mage/cards/v/VesselOfNascency.java
+++ b/Mage.Sets/src/mage/cards/v/VesselOfNascency.java
@@ -18,7 +18,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -54,11 +53,11 @@ class VesselOfNascencyEffect extends OneShotEffect {
private static final FilterCard filterPutInHand = new FilterCard("an artifact, creature, enchantment, land, or planeswalker card");
static {
- filterPutInHand.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ filterPutInHand.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public VesselOfNascencyEffect() {
diff --git a/Mage.Sets/src/mage/cards/v/Vesuva.java b/Mage.Sets/src/mage/cards/v/Vesuva.java
index 9747bca4e40..3338885a70d 100644
--- a/Mage.Sets/src/mage/cards/v/Vesuva.java
+++ b/Mage.Sets/src/mage/cards/v/Vesuva.java
@@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public final class Vesuva extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("land");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public Vesuva(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VexingScuttler.java b/Mage.Sets/src/mage/cards/v/VexingScuttler.java
index 32bf3478175..0cda528036a 100644
--- a/Mage.Sets/src/mage/cards/v/VexingScuttler.java
+++ b/Mage.Sets/src/mage/cards/v/VexingScuttler.java
@@ -15,7 +15,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -28,8 +27,8 @@ public final class VexingScuttler extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public VexingScuttler(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VhatiIlDal.java b/Mage.Sets/src/mage/cards/v/VhatiIlDal.java
index e5e913c261d..b1bc8efe49c 100644
--- a/Mage.Sets/src/mage/cards/v/VhatiIlDal.java
+++ b/Mage.Sets/src/mage/cards/v/VhatiIlDal.java
@@ -71,9 +71,9 @@ class VhatiIlDalEffect extends OneShotEffect {
DynamicValue power = null;
DynamicValue toughness = null;
if (controller.chooseUse(outcome, "Set power? (otherwise toughness is set)", source, game)) {
- power = new StaticValue(1);
+ power = StaticValue.get(1);
} else {
- toughness = new StaticValue(1);
+ toughness = StaticValue.get(1);
}
ContinuousEffect effect = new SetPowerToughnessTargetEffect(power, toughness, Duration.EndOfTurn);
game.addEffect(effect, source);
diff --git a/Mage.Sets/src/mage/cards/v/ViciousRumors.java b/Mage.Sets/src/mage/cards/v/ViciousRumors.java
index 447886bd3cd..245ce9a78e9 100644
--- a/Mage.Sets/src/mage/cards/v/ViciousRumors.java
+++ b/Mage.Sets/src/mage/cards/v/ViciousRumors.java
@@ -25,7 +25,7 @@ public final class ViciousRumors extends CardImpl {
new DamagePlayersEffect(1, TargetController.OPPONENT)
);
this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(
- new StaticValue(1), false,
+ StaticValue.get(1), false,
TargetController.OPPONENT
));
this.getSpellAbility().addEffect(
diff --git a/Mage.Sets/src/mage/cards/v/VictoriousDestruction.java b/Mage.Sets/src/mage/cards/v/VictoriousDestruction.java
index b497fda325f..910dd598494 100644
--- a/Mage.Sets/src/mage/cards/v/VictoriousDestruction.java
+++ b/Mage.Sets/src/mage/cards/v/VictoriousDestruction.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,8 +21,8 @@ public final class VictoriousDestruction extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public VictoriousDestruction(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VileManifestation.java b/Mage.Sets/src/mage/cards/v/VileManifestation.java
index 85e6119b50f..cfa223e406f 100644
--- a/Mage.Sets/src/mage/cards/v/VileManifestation.java
+++ b/Mage.Sets/src/mage/cards/v/VileManifestation.java
@@ -44,7 +44,7 @@ public final class VileManifestation extends CardImpl {
// Vile Manifestation gets +1/+0 for each card with cycling in your graveyard.
DynamicValue amount = new CardsInControllerGraveyardCount(new FilterCard(filter));
- Effect effect = new BoostSourceEffect(amount, new StaticValue(0), Duration.WhileOnBattlefield);
+ Effect effect = new BoostSourceEffect(amount, StaticValue.get(0), Duration.WhileOnBattlefield);
effect.setText("Vile Manifestation gets +1/+0 for each card with cycling in your graveyard.");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/v/VileRequiem.java b/Mage.Sets/src/mage/cards/v/VileRequiem.java
index e602b7b6b31..e6c3d3d36b7 100644
--- a/Mage.Sets/src/mage/cards/v/VileRequiem.java
+++ b/Mage.Sets/src/mage/cards/v/VileRequiem.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.VerseCounterAdjuster;
@@ -33,7 +32,7 @@ public final class VileRequiem extends CardImpl {
static {
filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK)));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public VileRequiem(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/ViolentImpact.java b/Mage.Sets/src/mage/cards/v/ViolentImpact.java
index 00b155a8f6d..01d86204c13 100644
--- a/Mage.Sets/src/mage/cards/v/ViolentImpact.java
+++ b/Mage.Sets/src/mage/cards/v/ViolentImpact.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,8 +21,8 @@ public final class ViolentImpact extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public ViolentImpact(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/ViridianShaman.java b/Mage.Sets/src/mage/cards/v/ViridianShaman.java
index a86cfa8e8d1..314b5b2d904 100644
--- a/Mage.Sets/src/mage/cards/v/ViridianShaman.java
+++ b/Mage.Sets/src/mage/cards/v/ViridianShaman.java
@@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -23,7 +22,7 @@ public final class ViridianShaman extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public ViridianShaman(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VisceridDrone.java b/Mage.Sets/src/mage/cards/v/VisceridDrone.java
index f1e3b4c21cd..360df543f89 100644
--- a/Mage.Sets/src/mage/cards/v/VisceridDrone.java
+++ b/Mage.Sets/src/mage/cards/v/VisceridDrone.java
@@ -18,7 +18,6 @@ import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
@@ -36,7 +35,7 @@ public final class VisceridDrone extends CardImpl {
private static final FilterControlledPermanent filter3 = new FilterControlledPermanent("snow Swamp");
static {
- filter1.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter1.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
filter2.add(new SubtypePredicate(SubType.SWAMP));
filter3.add(new SubtypePredicate(SubType.SWAMP));
filter3.add(new SupertypePredicate(SuperType.SNOW));
diff --git a/Mage.Sets/src/mage/cards/v/VitalSplicer.java b/Mage.Sets/src/mage/cards/v/VitalSplicer.java
index af305ba58f5..65a6405be2b 100644
--- a/Mage.Sets/src/mage/cards/v/VitalSplicer.java
+++ b/Mage.Sets/src/mage/cards/v/VitalSplicer.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.permanent.token.GolemToken;
@@ -31,7 +30,7 @@ public final class VitalSplicer extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Golem you control");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SubtypePredicate(SubType.GOLEM));
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/v/VivienChampionOfTheWilds.java b/Mage.Sets/src/mage/cards/v/VivienChampionOfTheWilds.java
index f08781e6df7..1560c2360e1 100644
--- a/Mage.Sets/src/mage/cards/v/VivienChampionOfTheWilds.java
+++ b/Mage.Sets/src/mage/cards/v/VivienChampionOfTheWilds.java
@@ -14,7 +14,6 @@ import mage.abilities.keyword.VigilanceAbility;
import mage.cards.*;
import mage.constants.*;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -33,7 +32,7 @@ public final class VivienChampionOfTheWilds extends CardImpl {
private static final FilterCard filter = new FilterCard("creature spells");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public VivienChampionOfTheWilds(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VivienReid.java b/Mage.Sets/src/mage/cards/v/VivienReid.java
index 2ef81f81890..289fade2876 100644
--- a/Mage.Sets/src/mage/cards/v/VivienReid.java
+++ b/Mage.Sets/src/mage/cards/v/VivienReid.java
@@ -19,7 +19,6 @@ import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.command.emblems.VivienReidEmblem;
import mage.target.TargetPermanent;
@@ -34,14 +33,14 @@ public final class VivienReid extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()
));
filter2.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT),
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
Predicates.and(
- new CardTypePredicate(CardType.CREATURE),
+ CardType.CREATURE.getPredicate(),
new AbilityPredicate(FlyingAbility.class)
)
));
@@ -57,7 +56,7 @@ public final class VivienReid extends CardImpl {
// +1: Look at the top four cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
this.addAbility(new LoyaltyAbility(
new LookLibraryAndPickControllerEffect(
- new StaticValue(4), false, new StaticValue(1), filter,
+ StaticValue.get(4), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false)
.setBackInRandomOrder(true)
.setText("Look at the top four cards of your library. You may reveal a creature or land card from among them"
diff --git a/Mage.Sets/src/mage/cards/v/VizierOfTheAnointed.java b/Mage.Sets/src/mage/cards/v/VizierOfTheAnointed.java
index a65c5e5d5df..dfc0320a239 100644
--- a/Mage.Sets/src/mage/cards/v/VizierOfTheAnointed.java
+++ b/Mage.Sets/src/mage/cards/v/VizierOfTheAnointed.java
@@ -21,7 +21,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.stack.StackAbility;
@@ -37,7 +36,7 @@ public final class VizierOfTheAnointed extends CardImpl {
private static final FilterCard filter = new FilterCard("a creature card with eternalize or embalm");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new VizierOfTheAnointedAbilityPredicate());
}
diff --git a/Mage.Sets/src/mage/cards/v/Void.java b/Mage.Sets/src/mage/cards/v/Void.java
index ff16f61edd0..2f11a512249 100644
--- a/Mage.Sets/src/mage/cards/v/Void.java
+++ b/Mage.Sets/src/mage/cards/v/Void.java
@@ -16,7 +16,6 @@ import mage.constants.ComparisonType;
import mage.constants.Outcome;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -86,7 +85,7 @@ class VoidEffect extends OneShotEffect {
}
FilterCard filterCard = new FilterCard();
filterCard.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, number));
- filterCard.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filterCard.add(Predicates.not(CardType.LAND.getPredicate()));
Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source));
if (targetPlayer != null) {
diff --git a/Mage.Sets/src/mage/cards/v/VolcanicSubmersion.java b/Mage.Sets/src/mage/cards/v/VolcanicSubmersion.java
index e3650ae5871..a22bce99596 100644
--- a/Mage.Sets/src/mage/cards/v/VolcanicSubmersion.java
+++ b/Mage.Sets/src/mage/cards/v/VolcanicSubmersion.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -23,8 +22,8 @@ public final class VolcanicSubmersion extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public VolcanicSubmersion(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VolcanicWind.java b/Mage.Sets/src/mage/cards/v/VolcanicWind.java
index 4d2b33edff4..f9338ab1345 100644
--- a/Mage.Sets/src/mage/cards/v/VolcanicWind.java
+++ b/Mage.Sets/src/mage/cards/v/VolcanicWind.java
@@ -9,7 +9,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanentAmount;
/**
@@ -21,7 +20,7 @@ public final class VolcanicWind extends CardImpl {
static final private FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
static final private String rule = "{this} deals X damage divided as you choose among any number of target creatures, where X is the number of creatures on the battlefield as you cast {this}";
diff --git a/Mage.Sets/src/mage/cards/v/VolrathsDungeon.java b/Mage.Sets/src/mage/cards/v/VolrathsDungeon.java
index 3c8444a70e4..c3fe5e8e006 100644
--- a/Mage.Sets/src/mage/cards/v/VolrathsDungeon.java
+++ b/Mage.Sets/src/mage/cards/v/VolrathsDungeon.java
@@ -64,7 +64,7 @@ class PayLifeActivePlayerCost extends CostImpl {
private final DynamicValue amount;
public PayLifeActivePlayerCost(int amount) {
- this.amount = new StaticValue(amount);
+ this.amount = StaticValue.get(amount);
this.text = "Pay " + amount + " life";
}
diff --git a/Mage.Sets/src/mage/cards/v/VolrathsStronghold.java b/Mage.Sets/src/mage/cards/v/VolrathsStronghold.java
index cb919ad6a47..6d41ea61d8f 100644
--- a/Mage.Sets/src/mage/cards/v/VolrathsStronghold.java
+++ b/Mage.Sets/src/mage/cards/v/VolrathsStronghold.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCardInYourGraveyard;
/**
@@ -26,7 +25,7 @@ public final class VolrathsStronghold extends CardImpl {
private static final FilterCard filter = new FilterCard("creature card from your graveyard");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public VolrathsStronghold(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VoltaicConstruct.java b/Mage.Sets/src/mage/cards/v/VoltaicConstruct.java
index 65d58d71d2a..fbaccf12fb9 100644
--- a/Mage.Sets/src/mage/cards/v/VoltaicConstruct.java
+++ b/Mage.Sets/src/mage/cards/v/VoltaicConstruct.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -25,7 +24,7 @@ public final class VoltaicConstruct extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public VoltaicConstruct(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VoltaicKey.java b/Mage.Sets/src/mage/cards/v/VoltaicKey.java
index 76dc13bb964..960fb864bc7 100644
--- a/Mage.Sets/src/mage/cards/v/VoltaicKey.java
+++ b/Mage.Sets/src/mage/cards/v/VoltaicKey.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -25,7 +24,7 @@ public final class VoltaicKey extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public VoltaicKey(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VoraciousReader.java b/Mage.Sets/src/mage/cards/v/VoraciousReader.java
index 7acd6286324..a761865c208 100644
--- a/Mage.Sets/src/mage/cards/v/VoraciousReader.java
+++ b/Mage.Sets/src/mage/cards/v/VoraciousReader.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,8 +23,8 @@ public final class VoraciousReader extends CardImpl {
private static final FilterCard filter = new FilterCard("Instant and sorcery spells");
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/v/VorelOfTheHullClade.java b/Mage.Sets/src/mage/cards/v/VorelOfTheHullClade.java
index 01dbf3b1bfa..d4b5901de95 100644
--- a/Mage.Sets/src/mage/cards/v/VorelOfTheHullClade.java
+++ b/Mage.Sets/src/mage/cards/v/VorelOfTheHullClade.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.counters.Counter;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -33,9 +32,9 @@ public final class VorelOfTheHullClade extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public VorelOfTheHullClade(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/v/VraskasConquistador.java b/Mage.Sets/src/mage/cards/v/VraskasConquistador.java
index f57955f6c7d..c1709e2bc90 100644
--- a/Mage.Sets/src/mage/cards/v/VraskasConquistador.java
+++ b/Mage.Sets/src/mage/cards/v/VraskasConquistador.java
@@ -14,7 +14,6 @@ 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;
import mage.target.common.TargetOpponent;
@@ -27,7 +26,7 @@ public final class VraskasConquistador extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.VRASKA));
}
diff --git a/Mage.Sets/src/mage/cards/w/WalkThePlank.java b/Mage.Sets/src/mage/cards/w/WalkThePlank.java
index e4a61b8b6c2..8f8d5b9f2fc 100644
--- a/Mage.Sets/src/mage/cards/w/WalkThePlank.java
+++ b/Mage.Sets/src/mage/cards/w/WalkThePlank.java
@@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -22,7 +21,7 @@ public final class WalkThePlank extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-Merfolk creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.not(new SubtypePredicate(SubType.MERFOLK)));
}
diff --git a/Mage.Sets/src/mage/cards/w/WallOfTombstones.java b/Mage.Sets/src/mage/cards/w/WallOfTombstones.java
index 7deea142297..d1399069cd0 100644
--- a/Mage.Sets/src/mage/cards/w/WallOfTombstones.java
+++ b/Mage.Sets/src/mage/cards/w/WallOfTombstones.java
@@ -65,7 +65,7 @@ class WallOfTombstonesEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
int newToughness = CardUtil.addWithOverflowCheck(1, new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE).calculate(game, source, this));
- game.addEffect(new SetToughnessSourceEffect(new StaticValue(newToughness), Duration.Custom, SubLayer.SetPT_7b), source);
+ game.addEffect(new SetToughnessSourceEffect(StaticValue.get(newToughness), Duration.Custom, SubLayer.SetPT_7b), source);
return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/w/WanderingGoblins.java b/Mage.Sets/src/mage/cards/w/WanderingGoblins.java
index 07c91d93eb6..a0c19520e4d 100644
--- a/Mage.Sets/src/mage/cards/w/WanderingGoblins.java
+++ b/Mage.Sets/src/mage/cards/w/WanderingGoblins.java
@@ -30,7 +30,7 @@ public final class WanderingGoblins extends CardImpl {
this.toughness = new MageInt(3);
// Domain - {3}: Wandering Goblins gets +1/+0 until end of turn for each basic land type among lands you control.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new DomainValue(), new StaticValue(0), Duration.EndOfTurn), new GenericManaCost(3)));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new DomainValue(), StaticValue.get(0), Duration.EndOfTurn), new GenericManaCost(3)));
}
public WanderingGoblins(final WanderingGoblins card) {
diff --git a/Mage.Sets/src/mage/cards/w/WardenOfEvosIsle.java b/Mage.Sets/src/mage/cards/w/WardenOfEvosIsle.java
index 5b2edebd4a1..d8f55560479 100644
--- a/Mage.Sets/src/mage/cards/w/WardenOfEvosIsle.java
+++ b/Mage.Sets/src/mage/cards/w/WardenOfEvosIsle.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.mageobject.AbilityPredicate;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -23,7 +22,7 @@ public final class WardenOfEvosIsle extends CardImpl {
private static final FilterCard filter = new FilterCard("Creature spells with flying");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new AbilityPredicate(FlyingAbility.class));
}
diff --git a/Mage.Sets/src/mage/cards/w/WardenOfTheEye.java b/Mage.Sets/src/mage/cards/w/WardenOfTheEye.java
index 738741e4cda..e3320ce2a4c 100644
--- a/Mage.Sets/src/mage/cards/w/WardenOfTheEye.java
+++ b/Mage.Sets/src/mage/cards/w/WardenOfTheEye.java
@@ -14,7 +14,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerPredicate;
import mage.target.TargetCard;
@@ -28,8 +27,8 @@ public final class WardenOfTheEye extends CardImpl {
static {
filter.add(new OwnerPredicate(TargetController.YOU));
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public WardenOfTheEye(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WarpingWail.java b/Mage.Sets/src/mage/cards/w/WarpingWail.java
index 34be0129c0e..54a1f032bd5 100644
--- a/Mage.Sets/src/mage/cards/w/WarpingWail.java
+++ b/Mage.Sets/src/mage/cards/w/WarpingWail.java
@@ -14,7 +14,6 @@ import mage.constants.ComparisonType;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.filter.predicate.mageobject.ToughnessPredicate;
import mage.game.permanent.token.EldraziScionToken;
@@ -34,7 +33,7 @@ public final class WarpingWail extends CardImpl {
filterCreature.add(Predicates.or(
new PowerPredicate(ComparisonType.FEWER_THAN, 2),
new ToughnessPredicate(ComparisonType.FEWER_THAN, 2)));
- filterSorcery.add(new CardTypePredicate(CardType.SORCERY));
+ filterSorcery.add(CardType.SORCERY.getPredicate());
}
public WarpingWail(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WarrenWeirding.java b/Mage.Sets/src/mage/cards/w/WarrenWeirding.java
index f3b2a62a0bb..b5de439dace 100644
--- a/Mage.Sets/src/mage/cards/w/WarrenWeirding.java
+++ b/Mage.Sets/src/mage/cards/w/WarrenWeirding.java
@@ -18,13 +18,11 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.GoblinRogueToken;
-import mage.game.permanent.token.TokenImpl;
import mage.game.permanent.token.Token;
import mage.players.Player;
import mage.target.TargetPlayer;
@@ -80,7 +78,7 @@ class WarrenWeirdingEffect extends OneShotEffect {
return false;
}
FilterControlledPermanent filter = new FilterControlledPermanent("creature");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new ControllerIdPredicate(player.getId()));
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true);
diff --git a/Mage.Sets/src/mage/cards/w/WasitoraNekoruQueen.java b/Mage.Sets/src/mage/cards/w/WasitoraNekoruQueen.java
index ce4510f5335..19b42c19fc7 100644
--- a/Mage.Sets/src/mage/cards/w/WasitoraNekoruQueen.java
+++ b/Mage.Sets/src/mage/cards/w/WasitoraNekoruQueen.java
@@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.SuperType;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.WasitoraCatDragonToken;
@@ -80,7 +79,7 @@ class WasitoraNekoruQueenEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
if (damagedPlayer != null && controller != null) {
FilterControlledPermanent filter = new FilterControlledPermanent("creature");
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
TargetPermanent target = new TargetPermanent(1, 1, filter, true);
if (damagedPlayer.choose(Outcome.Sacrifice, target, source.getSourceId(), game)) {
Permanent objectToBeSacrificed = game.getPermanent(target.getFirstTarget());
diff --git a/Mage.Sets/src/mage/cards/w/WaspOfTheBitterEnd.java b/Mage.Sets/src/mage/cards/w/WaspOfTheBitterEnd.java
index 2b87ed3ba07..4b148c2dd01 100644
--- a/Mage.Sets/src/mage/cards/w/WaspOfTheBitterEnd.java
+++ b/Mage.Sets/src/mage/cards/w/WaspOfTheBitterEnd.java
@@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCreaturePermanent;
@@ -26,7 +25,7 @@ public final class WaspOfTheBitterEnd extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a Bolas planeswalker spell");
static {
- filter.add(new CardTypePredicate(CardType.PLANESWALKER));
+ filter.add(CardType.PLANESWALKER.getPredicate());
filter.add(new SubtypePredicate(SubType.BOLAS));
}
diff --git a/Mage.Sets/src/mage/cards/w/WaveOfReckoning.java b/Mage.Sets/src/mage/cards/w/WaveOfReckoning.java
index e30678cc89f..fab02cbc8db 100644
--- a/Mage.Sets/src/mage/cards/w/WaveOfReckoning.java
+++ b/Mage.Sets/src/mage/cards/w/WaveOfReckoning.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -52,7 +51,7 @@ class WaveOfReckoningDamageEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
FilterPermanent filter = new FilterPermanent();
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) {
int amount = permanent.getPower().getValue();
diff --git a/Mage.Sets/src/mage/cards/w/WaveOfVitriol.java b/Mage.Sets/src/mage/cards/w/WaveOfVitriol.java
index 1a566c49e1a..69a25eae30a 100644
--- a/Mage.Sets/src/mage/cards/w/WaveOfVitriol.java
+++ b/Mage.Sets/src/mage/cards/w/WaveOfVitriol.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -52,10 +51,10 @@ class WaveOfVitriolEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT),
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
Predicates.and(
- new CardTypePredicate(CardType.LAND),
+ CardType.LAND.getPredicate(),
Predicates.not(new SupertypePredicate(SuperType.BASIC))
)
));
diff --git a/Mage.Sets/src/mage/cards/w/WavebreakHippocamp.java b/Mage.Sets/src/mage/cards/w/WavebreakHippocamp.java
index f245d20d599..8985a236464 100644
--- a/Mage.Sets/src/mage/cards/w/WavebreakHippocamp.java
+++ b/Mage.Sets/src/mage/cards/w/WavebreakHippocamp.java
@@ -1,18 +1,13 @@
package mage.cards.w;
import mage.MageInt;
-import mage.abilities.common.SpellCastControllerTriggeredAbility;
+import mage.abilities.common.FirstSpellOpponentsTurnTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
-import mage.game.Game;
-import mage.game.events.GameEvent;
-import mage.game.stack.Spell;
-import mage.watchers.common.SpellsCastWatcher;
-import java.util.List;
import java.util.UUID;
/**
@@ -29,7 +24,9 @@ public final class WavebreakHippocamp extends CardImpl {
this.toughness = new MageInt(2);
// Whenever you cast your first spell during each opponent's turn, draw a card.
- this.addAbility(new WavebreakHippocampTriggeredAbility(), new SpellsCastWatcher());
+ this.addAbility(new FirstSpellOpponentsTurnTriggeredAbility(
+ new DrawCardSourceControllerEffect(1), false
+ ));
}
private WavebreakHippocamp(final WavebreakHippocamp card) {
@@ -41,44 +38,3 @@ public final class WavebreakHippocamp extends CardImpl {
return new WavebreakHippocamp(this);
}
}
-
-class WavebreakHippocampTriggeredAbility extends SpellCastControllerTriggeredAbility {
-
- WavebreakHippocampTriggeredAbility() {
- super(new DrawCardSourceControllerEffect(1), false);
- }
-
- private WavebreakHippocampTriggeredAbility(WavebreakHippocampTriggeredAbility ability) {
- super(ability);
- }
-
- @Override
- public WavebreakHippocampTriggeredAbility copy() {
- return new WavebreakHippocampTriggeredAbility(this);
- }
-
- @Override
- public boolean checkTrigger(GameEvent event, Game game) {
- if (game.getActivePlayerId().equals(this.getControllerId()) // ignore controller turn
- || !super.checkTrigger(event, game)) {
- return false;
- }
-
- if (!game.getOpponents(this.getControllerId()).contains(game.getActivePlayerId())) {
- return false;
- }
-
- SpellsCastWatcher watcher = game.getState().getWatcher(SpellsCastWatcher.class);
- if (watcher == null) {
- return false;
- }
-
- List spells = watcher.getSpellsCastThisTurn(event.getPlayerId());
- return spells != null && spells.size() == 1;
- }
-
- @Override
- public String getRule() {
- return "Whenever you cast your first spell during each opponent's turn, draw a card.";
- }
-}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/w/Weatherlight.java b/Mage.Sets/src/mage/cards/w/Weatherlight.java
index 64498880c30..650994cde88 100644
--- a/Mage.Sets/src/mage/cards/w/Weatherlight.java
+++ b/Mage.Sets/src/mage/cards/w/Weatherlight.java
@@ -43,7 +43,7 @@ public final class Weatherlight extends CardImpl {
// Whenever Weatherlight deals combat damage to a player, look at the top five cards of your library. You may reveal a historic card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new LookLibraryAndPickControllerEffect(
- new StaticValue(5), false, new StaticValue(1), filter,
+ StaticValue.get(5), false, StaticValue.get(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND,
true, false, false
).setBackInRandomOrder(true), false
diff --git a/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java b/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java
index 2b22da33ad5..6c472e347f5 100644
--- a/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java
+++ b/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
/**
@@ -25,7 +24,7 @@ public final class WeldfastEngineer extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("artifact creature you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public WeldfastEngineer(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/Whipflare.java b/Mage.Sets/src/mage/cards/w/Whipflare.java
index 74cdf876e30..da7ff31eb7e 100644
--- a/Mage.Sets/src/mage/cards/w/Whipflare.java
+++ b/Mage.Sets/src/mage/cards/w/Whipflare.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public final class Whipflare extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
+ filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public Whipflare(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WhirlerRogue.java b/Mage.Sets/src/mage/cards/w/WhirlerRogue.java
index 93210d72a9f..21ca121b049 100644
--- a/Mage.Sets/src/mage/cards/w/WhirlerRogue.java
+++ b/Mage.Sets/src/mage/cards/w/WhirlerRogue.java
@@ -16,7 +16,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.ThopterColorlessToken;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -30,7 +29,7 @@ public final class WhirlerRogue extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifacts");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
public WhirlerRogue(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WildMammoth.java b/Mage.Sets/src/mage/cards/w/WildMammoth.java
index 26f62dc9d91..31911a474af 100644
--- a/Mage.Sets/src/mage/cards/w/WildMammoth.java
+++ b/Mage.Sets/src/mage/cards/w/WildMammoth.java
@@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -74,7 +73,7 @@ class WildMammothEffect extends OneShotEffect {
int maxCreatures = 0;
boolean tie = false;
FilterPermanent filter = new FilterPermanent();
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) {
Player player = game.getPlayer(playerId);
diff --git a/Mage.Sets/src/mage/cards/w/WildResearch.java b/Mage.Sets/src/mage/cards/w/WildResearch.java
index 2eb4936c37d..2cc4eecc20b 100644
--- a/Mage.Sets/src/mage/cards/w/WildResearch.java
+++ b/Mage.Sets/src/mage/cards/w/WildResearch.java
@@ -16,7 +16,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
@@ -31,8 +30,8 @@ public final class WildResearch extends CardImpl {
private static final FilterCard filterInstant = new FilterCard("instant card");
static {
- filterEnchantment.add(new CardTypePredicate(CardType.ENCHANTMENT));
- filterInstant.add(new CardTypePredicate(CardType.INSTANT));
+ filterEnchantment.add(CardType.ENCHANTMENT.getPredicate());
+ filterInstant.add(CardType.INSTANT.getPredicate());
}
public WildResearch(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WildRicochet.java b/Mage.Sets/src/mage/cards/w/WildRicochet.java
index 1d6357c7082..7f10c2bf659 100644
--- a/Mage.Sets/src/mage/cards/w/WildRicochet.java
+++ b/Mage.Sets/src/mage/cards/w/WildRicochet.java
@@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterStackObject;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetStackObject;
/**
@@ -23,8 +22,8 @@ public final class WildRicochet extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
}
public WildRicochet(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WildSwing.java b/Mage.Sets/src/mage/cards/w/WildSwing.java
index b6cdb24250b..620909e0e68 100644
--- a/Mage.Sets/src/mage/cards/w/WildSwing.java
+++ b/Mage.Sets/src/mage/cards/w/WildSwing.java
@@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.Target;
@@ -27,7 +26,7 @@ public final class WildSwing extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("target nonenchantment permanents");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.ENCHANTMENT)));
+ filter.add(Predicates.not(CardType.ENCHANTMENT.getPredicate()));
}
public WildSwing(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WillKenrith.java b/Mage.Sets/src/mage/cards/w/WillKenrith.java
index 8a4c55d7265..8af6ce1385e 100644
--- a/Mage.Sets/src/mage/cards/w/WillKenrith.java
+++ b/Mage.Sets/src/mage/cards/w/WillKenrith.java
@@ -17,7 +17,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.command.emblems.WillKenrithEmblem;
import mage.target.TargetPlayer;
@@ -82,9 +81,9 @@ class WillKenrithCostReductionEffect extends OneShotEffect {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/w/WindwrightMage.java b/Mage.Sets/src/mage/cards/w/WindwrightMage.java
index ba726254d92..227c7c2b8db 100644
--- a/Mage.Sets/src/mage/cards/w/WindwrightMage.java
+++ b/Mage.Sets/src/mage/cards/w/WindwrightMage.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -59,7 +58,7 @@ enum WindwrightMageCondition implements Condition {
private static final FilterCard filter = new FilterCard("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
diff --git a/Mage.Sets/src/mage/cards/w/WineOfBloodAndIron.java b/Mage.Sets/src/mage/cards/w/WineOfBloodAndIron.java
index f5e91428984..f332091d87b 100644
--- a/Mage.Sets/src/mage/cards/w/WineOfBloodAndIron.java
+++ b/Mage.Sets/src/mage/cards/w/WineOfBloodAndIron.java
@@ -29,7 +29,7 @@ public final class WineOfBloodAndIron extends CardImpl {
// {4}: Target creature gets +X/+0 until end of turn, where X is its power. Sacrifice Wine of Blood and Iron at the beginning of the next end step.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new BoostTargetEffect(TargetPermanentPowerCount.instance, new StaticValue(0), Duration.EndOfTurn, true),
+ new BoostTargetEffect(TargetPermanentPowerCount.instance, StaticValue.get(0), Duration.EndOfTurn, true),
new GenericManaCost(4));
Effect effect = new CreateDelayedTriggeredAbilityEffect(
new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new SacrificeSourceEffect()), false);
diff --git a/Mage.Sets/src/mage/cards/w/WingSplicer.java b/Mage.Sets/src/mage/cards/w/WingSplicer.java
index c0d1d90e64f..0821a5ea7e1 100644
--- a/Mage.Sets/src/mage/cards/w/WingSplicer.java
+++ b/Mage.Sets/src/mage/cards/w/WingSplicer.java
@@ -15,7 +15,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.permanent.token.GolemToken;
@@ -28,7 +27,7 @@ public final class WingSplicer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("Golem creatures");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(new SubtypePredicate(SubType.GOLEM));
}
diff --git a/Mage.Sets/src/mage/cards/w/Wonder.java b/Mage.Sets/src/mage/cards/w/Wonder.java
index 62847d0c730..a55bddda609 100644
--- a/Mage.Sets/src/mage/cards/w/Wonder.java
+++ b/Mage.Sets/src/mage/cards/w/Wonder.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -31,7 +30,7 @@ public final class Wonder extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Island");
static {
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new SubtypePredicate(SubType.ISLAND));
}
diff --git a/Mage.Sets/src/mage/cards/w/WoodfallPrimus.java b/Mage.Sets/src/mage/cards/w/WoodfallPrimus.java
index 8a9880d86a2..a230722646d 100644
--- a/Mage.Sets/src/mage/cards/w/WoodfallPrimus.java
+++ b/Mage.Sets/src/mage/cards/w/WoodfallPrimus.java
@@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -25,7 +24,7 @@ public final class WoodfallPrimus extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("noncreature permanent");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public WoodfallPrimus(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WoodlandBellower.java b/Mage.Sets/src/mage/cards/w/WoodlandBellower.java
index f7df876681d..6ef1e88869f 100644
--- a/Mage.Sets/src/mage/cards/w/WoodlandBellower.java
+++ b/Mage.Sets/src/mage/cards/w/WoodlandBellower.java
@@ -18,7 +18,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
@@ -71,7 +70,7 @@ class WoodlandBellowerEffect extends OneShotEffect {
}
FilterCard filter = new FilterCard("nonlegendary green creature card with converted mana cost 3 or less");
filter.add(new ColorPredicate(ObjectColor.GREEN));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY)));
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
TargetCardInLibrary target = new TargetCardInLibrary(filter);
diff --git a/Mage.Sets/src/mage/cards/w/WoollyMammoths.java b/Mage.Sets/src/mage/cards/w/WoollyMammoths.java
index 31d1f94b262..800bdd58a6b 100644
--- a/Mage.Sets/src/mage/cards/w/WoollyMammoths.java
+++ b/Mage.Sets/src/mage/cards/w/WoollyMammoths.java
@@ -17,7 +17,6 @@ import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@@ -31,7 +30,7 @@ public final class WoollyMammoths extends CardImpl {
static {
filter.add(new SupertypePredicate(SuperType.SNOW));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
}
diff --git a/Mage.Sets/src/mage/cards/w/WorkshopElders.java b/Mage.Sets/src/mage/cards/w/WorkshopElders.java
index c1f6d264383..3b4cbd9065a 100644
--- a/Mage.Sets/src/mage/cards/w/WorkshopElders.java
+++ b/Mage.Sets/src/mage/cards/w/WorkshopElders.java
@@ -20,7 +20,6 @@ import mage.filter.FilterPermanent;
import mage.filter.common.FilterArtifactCreaturePermanent;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
@@ -36,7 +35,7 @@ public final class WorkshopElders extends CardImpl {
= new FilterControlledArtifactPermanent("noncreature artifact you control");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public WorkshopElders(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WorldBottlingKit.java b/Mage.Sets/src/mage/cards/w/WorldBottlingKit.java
index bd79e941c87..11f2b63a4a3 100644
--- a/Mage.Sets/src/mage/cards/w/WorldBottlingKit.java
+++ b/Mage.Sets/src/mage/cards/w/WorldBottlingKit.java
@@ -14,7 +14,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -78,7 +77,7 @@ class WorldBottlingKitEffect extends OneShotEffect {
if (setChosen != null) {
game.informPlayers(controller.getLogName() + " has chosen set " + setChosen);
FilterPermanent filter = new FilterPermanent();
- filter.add(Predicates.not(Predicates.and(new CardTypePredicate(CardType.LAND), new SupertypePredicate(SuperType.BASIC))));
+ filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), new SupertypePredicate(SuperType.BASIC))));
List permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
for (Permanent permanent : permanents) {
if (permanent.getExpansionSetCode().equals(setChosen)) {
diff --git a/Mage.Sets/src/mage/cards/w/WorldBreaker.java b/Mage.Sets/src/mage/cards/w/WorldBreaker.java
index e3f708f5bd6..36eb9069e2c 100644
--- a/Mage.Sets/src/mage/cards/w/WorldBreaker.java
+++ b/Mage.Sets/src/mage/cards/w/WorldBreaker.java
@@ -20,7 +20,6 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
@@ -34,9 +33,9 @@ public final class WorldBreaker extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public WorldBreaker(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WorldQueller.java b/Mage.Sets/src/mage/cards/w/WorldQueller.java
index a5c435a3a85..6cadcf6e785 100644
--- a/Mage.Sets/src/mage/cards/w/WorldQueller.java
+++ b/Mage.Sets/src/mage/cards/w/WorldQueller.java
@@ -1,7 +1,6 @@
package mage.cards.w;
-import java.util.*;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@@ -16,15 +15,15 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
+import java.util.*;
+
/**
- *
* @author jeffwadsworth
*/
public final class WorldQueller extends CardImpl {
@@ -112,7 +111,7 @@ class WorldQuellerEffect extends OneShotEffect {
}
if (type != null) {
FilterControlledPermanent filter = new FilterControlledPermanent("permanent you control of type " + type.toString());
- filter.add(new CardTypePredicate(type));
+ filter.add(type.getPredicate());
TargetPermanent target = new TargetControlledPermanent(1, 1, filter, false);
target.setNotTarget(true);
diff --git a/Mage.Sets/src/mage/cards/w/WreakHavoc.java b/Mage.Sets/src/mage/cards/w/WreakHavoc.java
index 7b5f83e90a4..ee85f28431e 100644
--- a/Mage.Sets/src/mage/cards/w/WreakHavoc.java
+++ b/Mage.Sets/src/mage/cards/w/WreakHavoc.java
@@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
/**
@@ -22,8 +21,8 @@ public final class WreakHavoc extends CardImpl {
static {
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.LAND.getPredicate()));
}
public WreakHavoc(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WreckingBall.java b/Mage.Sets/src/mage/cards/w/WreckingBall.java
index ef45c43a496..9c91a235a4c 100644
--- a/Mage.Sets/src/mage/cards/w/WreckingBall.java
+++ b/Mage.Sets/src/mage/cards/w/WreckingBall.java
@@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.Target;
import mage.target.TargetPermanent;
@@ -21,7 +20,7 @@ public final class WreckingBall extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or land");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
}
public WreckingBall(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/w/WrexialTheRisenDeep.java b/Mage.Sets/src/mage/cards/w/WrexialTheRisenDeep.java
index 4b48efebcb9..96e6872fc19 100644
--- a/Mage.Sets/src/mage/cards/w/WrexialTheRisenDeep.java
+++ b/Mage.Sets/src/mage/cards/w/WrexialTheRisenDeep.java
@@ -15,7 +15,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.other.OwnerIdPredicate;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
@@ -96,8 +95,8 @@ class WrexialTheRisenDeepTriggeredAbility extends TriggeredAbilityImpl {
+ damagedPlayer.getName() + "'s graveyard");
filter.add(new OwnerIdPredicate(damagedPlayer.getId()));
filter.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)));
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()));
Target target = new TargetCardInGraveyard(filter);
this.getTargets().clear();
diff --git a/Mage.Sets/src/mage/cards/x/XenagosTheReveler.java b/Mage.Sets/src/mage/cards/x/XenagosTheReveler.java
index 195a738ccb0..a63f52fe18e 100644
--- a/Mage.Sets/src/mage/cards/x/XenagosTheReveler.java
+++ b/Mage.Sets/src/mage/cards/x/XenagosTheReveler.java
@@ -15,7 +15,6 @@ import mage.constants.*;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.token.XenagosSatyrToken;
import mage.players.Player;
@@ -120,8 +119,8 @@ class XenagosExileEffect extends OneShotEffect {
exiledCards.addAll(controller.getLibrary().getTopCards(game, 7));
controller.moveCards(exiledCards, Zone.EXILED, source, game);
FilterCard filter = new FilterCard("creature and/or land cards to put onto the battlefield");
- filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
+ CardType.LAND.getPredicate()));
TargetCard target1 = new TargetCard(0, Integer.MAX_VALUE, Zone.EXILED, filter);
target1.setNotTarget(true);
if (!exiledCards.isEmpty()
diff --git a/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java b/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java
index 33d6e8756f5..0a3aced277c 100644
--- a/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java
+++ b/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java
@@ -19,7 +19,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterArtifactPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetArtifactPermanent;
@@ -33,7 +32,7 @@ public final class XenicPoltergeist extends CardImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public XenicPoltergeist(UUID ownerId, CardSetInfo setInfo) {
@@ -64,7 +63,7 @@ class XenicPoltergeistEffect extends ContinuousEffectImpl {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent();
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public XenicPoltergeistEffect() {
diff --git a/Mage.Sets/src/mage/cards/y/YavimayaEnchantress.java b/Mage.Sets/src/mage/cards/y/YavimayaEnchantress.java
index 0e9fbcae04d..f805b7dc4a3 100644
--- a/Mage.Sets/src/mage/cards/y/YavimayaEnchantress.java
+++ b/Mage.Sets/src/mage/cards/y/YavimayaEnchantress.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -24,7 +23,7 @@ public final class YavimayaEnchantress extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("enchantment on the battlefield");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
}
public YavimayaEnchantress(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/y/YawgmothsVileOffering.java b/Mage.Sets/src/mage/cards/y/YawgmothsVileOffering.java
index 3670b8a32ac..4cbc745d66f 100644
--- a/Mage.Sets/src/mage/cards/y/YawgmothsVileOffering.java
+++ b/Mage.Sets/src/mage/cards/y/YawgmothsVileOffering.java
@@ -14,7 +14,6 @@ import mage.constants.Zone;
import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent;
import mage.filter.common.FilterPermanentCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -32,8 +31,8 @@ public final class YawgmothsVileOffering extends CardImpl {
static {
cardFilter.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
));
}
diff --git a/Mage.Sets/src/mage/cards/y/YisanTheWandererBard.java b/Mage.Sets/src/mage/cards/y/YisanTheWandererBard.java
index 63cbad9cc5d..2ac0d4eb9d7 100644
--- a/Mage.Sets/src/mage/cards/y/YisanTheWandererBard.java
+++ b/Mage.Sets/src/mage/cards/y/YisanTheWandererBard.java
@@ -20,7 +20,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@@ -83,7 +82,7 @@ class YisanTheWandererBardEffect extends OneShotEffect {
int newConvertedCost = sourcePermanent.getCounters(game).getCount(CounterType.VERSE);
FilterCard filter = new FilterCard("creature card with converted mana cost " + newConvertedCost);
filter.add(new ConvertedManaCostPredicate(ComparisonType.EQUAL_TO, newConvertedCost));
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
TargetCardInLibrary target = new TargetCardInLibrary(filter);
if (controller.searchLibrary(target, source, game)) {
Card card = controller.getLibrary().getCard(target.getFirstTarget(), game);
diff --git a/Mage.Sets/src/mage/cards/y/YodaJediMaster.java b/Mage.Sets/src/mage/cards/y/YodaJediMaster.java
index 761caea8c70..24b4f8132a0 100644
--- a/Mage.Sets/src/mage/cards/y/YodaJediMaster.java
+++ b/Mage.Sets/src/mage/cards/y/YodaJediMaster.java
@@ -51,7 +51,7 @@ public final class YodaJediMaster extends CardImpl {
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3));
// +1: Look at the top two cards of your library. Put one on the bottom of your library.
- Effect effect = new LookLibraryAndPickControllerEffect(new StaticValue(2), false, new StaticValue(1),
+ Effect effect = new LookLibraryAndPickControllerEffect(StaticValue.get(2), false, StaticValue.get(1),
new FilterCard(), Zone.LIBRARY, true, false, false, Zone.LIBRARY, false, false, true);
effect.setText("Look at the top two cards of your library. Put one on the bottom of your library");
this.addAbility(new LoyaltyAbility(effect, 1));
diff --git a/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java b/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java
index f560e66f98c..31ccf5b45af 100644
--- a/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java
+++ b/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java
@@ -16,7 +16,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ColorPredicate;
/**
@@ -29,7 +28,7 @@ public final class ZealotsEnDal extends CardImpl {
static {
filter.add(Predicates.not(new ColorPredicate(ObjectColor.WHITE)));
- filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ filter.add(Predicates.not(CardType.LAND.getPredicate()));
}
public ZealotsEnDal(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/z/ZephyrScribe.java b/Mage.Sets/src/mage/cards/z/ZephyrScribe.java
index c4313f7593a..3b1f720ecf0 100644
--- a/Mage.Sets/src/mage/cards/z/ZephyrScribe.java
+++ b/Mage.Sets/src/mage/cards/z/ZephyrScribe.java
@@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -28,7 +27,7 @@ public final class ZephyrScribe extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
static {
- filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ZephyrScribe(UUID ownerId, CardSetInfo setInfo) {
diff --git a/Mage.Sets/src/mage/cards/z/ZombieMob.java b/Mage.Sets/src/mage/cards/z/ZombieMob.java
index c37b4a18a7d..f0f27547713 100644
--- a/Mage.Sets/src/mage/cards/z/ZombieMob.java
+++ b/Mage.Sets/src/mage/cards/z/ZombieMob.java
@@ -13,7 +13,6 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -51,7 +50,7 @@ class ZombieMobEffect extends OneShotEffect {
private static final FilterCard filter = new FilterCard();
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public ZombieMobEffect() {
diff --git a/Mage.Sets/src/mage/cards/z/ZurTheEnchanter.java b/Mage.Sets/src/mage/cards/z/ZurTheEnchanter.java
index 4714726be7d..c5b4d19b9de 100644
--- a/Mage.Sets/src/mage/cards/z/ZurTheEnchanter.java
+++ b/Mage.Sets/src/mage/cards/z/ZurTheEnchanter.java
@@ -13,7 +13,6 @@ import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInLibrary;
@@ -26,7 +25,7 @@ public final class ZurTheEnchanter extends CardImpl {
private static final FilterCard filter = new FilterCard("enchantment card with converted mana cost 3 or less");
static {
- filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filter.add(CardType.ENCHANTMENT.getPredicate());
filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4));
}
diff --git a/Mage.Sets/src/mage/sets/TherosBeyondDeath.java b/Mage.Sets/src/mage/sets/TherosBeyondDeath.java
index 7662bc9acc9..49c5a2fface 100644
--- a/Mage.Sets/src/mage/sets/TherosBeyondDeath.java
+++ b/Mage.Sets/src/mage/sets/TherosBeyondDeath.java
@@ -30,6 +30,7 @@ public final class TherosBeyondDeath extends ExpansionSet {
cards.add(new SetCardInfo("Aphemia, the Cacophony", 84, Rarity.RARE, mage.cards.a.AphemiaTheCacophony.class));
cards.add(new SetCardInfo("Arasta of the Endless Web", 165, Rarity.RARE, mage.cards.a.ArastaOfTheEndlessWeb.class));
cards.add(new SetCardInfo("Archon of Falling Stars", 2, Rarity.UNCOMMON, mage.cards.a.ArchonOfFallingStars.class));
+ cards.add(new SetCardInfo("Arena Trickster", 126, Rarity.COMMON, mage.cards.a.ArenaTrickster.class));
cards.add(new SetCardInfo("Ashiok's Erasure", 43, Rarity.RARE, mage.cards.a.AshioksErasure.class));
cards.add(new SetCardInfo("Ashiok, Nightmare Muse", 208, Rarity.MYTHIC, mage.cards.a.AshiokNightmareMuse.class));
cards.add(new SetCardInfo("Ashiok, Sculptor of Fears", 274, Rarity.MYTHIC, mage.cards.a.AshiokSculptorOfFears.class));
@@ -54,6 +55,7 @@ public final class TherosBeyondDeath extends ExpansionSet {
cards.add(new SetCardInfo("Erebos's Intervention", 94, Rarity.RARE, mage.cards.e.ErebossIntervention.class));
cards.add(new SetCardInfo("Erebos, Bleak-Hearted", 93, Rarity.MYTHIC, mage.cards.e.ErebosBleakHearted.class));
cards.add(new SetCardInfo("Escape Velocity", 132, Rarity.UNCOMMON, mage.cards.e.EscapeVelocity.class));
+ cards.add(new SetCardInfo("Eutropia the Twice-Favored", 216, Rarity.UNCOMMON, mage.cards.e.EutropiaTheTwiceFavored.class));
cards.add(new SetCardInfo("Field of Ruin", 242, Rarity.UNCOMMON, mage.cards.f.FieldOfRuin.class));
cards.add(new SetCardInfo("Final Death", 95, Rarity.COMMON, mage.cards.f.FinalDeath.class));
cards.add(new SetCardInfo("Forest", 254, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
@@ -91,6 +93,7 @@ public final class TherosBeyondDeath extends ExpansionSet {
cards.add(new SetCardInfo("Omen of the Sea", 58, Rarity.COMMON, mage.cards.o.OmenOfTheSea.class));
cards.add(new SetCardInfo("Omen of the Sun", 30, Rarity.COMMON, mage.cards.o.OmenOfTheSun.class));
cards.add(new SetCardInfo("One with the Stars", 59, Rarity.UNCOMMON, mage.cards.o.OneWithTheStars.class));
+ cards.add(new SetCardInfo("Oread of Mountain's Blaze", 146, Rarity.COMMON, mage.cards.o.OreadOfMountainsBlaze.class));
cards.add(new SetCardInfo("Ox of Agonas", 147, Rarity.MYTHIC, mage.cards.o.OxOfAgonas.class));
cards.add(new SetCardInfo("Pharika's Spawn", 112, Rarity.UNCOMMON, mage.cards.p.PharikasSpawn.class));
cards.add(new SetCardInfo("Pious Wayfarer", 32, Rarity.COMMON, mage.cards.p.PiousWayfarer.class));
diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/NissaVastwoodSeerTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/NissaVastwoodSeerTest.java
new file mode 100644
index 00000000000..0ca072667c1
--- /dev/null
+++ b/Mage.Tests/src/test/java/org/mage/test/cards/planeswalker/NissaVastwoodSeerTest.java
@@ -0,0 +1,80 @@
+package org.mage.test.cards.planeswalker;
+
+import mage.constants.CardType;
+import mage.constants.PhaseStep;
+import mage.constants.SubType;
+import mage.constants.Zone;
+import mage.filter.Filter;
+import org.junit.Test;
+import org.mage.test.serverside.base.CardTestPlayerBase;
+
+
+/**
+ *
+ * @author LevelX2
+ */
+public class NissaVastwoodSeerTest extends CardTestPlayerBase {
+
+// https://github.com/magefree/mage/issues/5677
+/*
+EDH again, I'm playing Nissa, Vastwood Seer as my commander.
+I got her to 7 loyalty, used her -7 to untap lands and make them into creatures. So far so good.
+Nissa died, went back to command zone, lands stayed as creatures (as they should).
+Next turn I replay Nissa, but the moment I try to cast another spell (or activate an ability,
+maybe it was directly on replaying her, can't remember exactly), all my 6 creature lands are back to being regular lands.
+A few turns later, my opponent uses overloaded cyclonic rift, which also bounces Nissa to my hand.
+Not entirely sure, but I believe it again took at least until priority got passed for my lands to reappear,
+maybe even until I tried to activate an ability or cast something.
+This was not a 1 time thing either.
+After replaying Nissa (again) and casting another card, my creature lands went back to being regular lands again.
+Later I used her -2 to kill her, which (after putting another spell on the stack) got me my creature lands back again.
+ */
+ @Test
+ public void NissaVastwoodSeerAnimationTest() {
+ setStrictChooseMode(true);
+
+ addCard(Zone.LIBRARY, playerA, "Forest");
+ addCard(Zone.BATTLEFIELD, playerA, "Forest", 5);
+ addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);
+
+ // When Nissa, Vastwood Seer enters the battlefield, you may search your library for a basic Forest card,
+ // reveal it, put it into your hand, then shuffle your library.
+ // Whenever a land enters the battlefield under your control, if you control seven or more lands,
+ // exile Nissa, then return her to the battlefield transformed under her owner's control.
+ // Nissa, Sage Animist
+ // +1: Reveal the top card of your library. If it's a land card, put it onto the battlefield. Otherwise, put it into your hand.
+ // -2: Create a legendary 4/4 green Elemental creature token named Ashaya, the Awoken World.
+ // -7: Untap up to six target lands. They become 6/6 Elemental creatures. They're still lands.
+ addCard(Zone.HAND, playerA, "Nissa, Vastwood Seer");
+
+ castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Nissa, Vastwood Seer");
+ setChoice(playerA, "Yes");
+ addTarget(playerA, "Forest");
+
+ playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Forest");
+
+ activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "+1: Reveal");
+ activateAbility(3, PhaseStep.POSTCOMBAT_MAIN, playerA, "+1: Reveal");
+ activateAbility(5, PhaseStep.POSTCOMBAT_MAIN, playerA, "+1: Reveal");
+ activateAbility(7, PhaseStep.POSTCOMBAT_MAIN, playerA, "+1: Reveal");
+ activateAbility(9, PhaseStep.POSTCOMBAT_MAIN, playerA, "-7: Untap up to six target");
+ addTarget(playerA, "Forest^Forest^Forest^Forest^Forest^Forest");
+ setStopAt(9, PhaseStep.END_TURN);
+ execute();
+
+ assertPermanentCount(playerA, "Nissa, Vastwood Seer", 0);
+ assertPermanentCount(playerA, "Nissa, Sage Animist", 0);
+ assertGraveyardCount(playerA, "Nissa, Vastwood Seer", 1);
+
+ assertPermanentCount(playerA, "Swamp", 1);
+
+ assertType("Forest", CardType.CREATURE, SubType.ELEMENTAL);
+ assertPermanentCount(playerA, "Forest", 6);
+ assertPowerToughness(playerA, "Forest", 6, 6, Filter.ComparisonScope.All);
+
+
+
+
+ }
+
+}
diff --git a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
index d9910c6d7a9..62cf4f0ea35 100644
--- a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
+++ b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
@@ -1,7 +1,5 @@
package mage.abilities;
-import java.util.Locale;
-import java.util.UUID;
import mage.MageObject;
import mage.abilities.effects.Effect;
import mage.constants.AbilityType;
@@ -14,6 +12,9 @@ import mage.game.events.ZoneChangeEvent;
import mage.players.Player;
import mage.util.CardUtil;
+import java.util.Locale;
+import java.util.UUID;
+
/**
* @author BetaSteward_at_googlemail.com
*/
@@ -155,39 +156,37 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
* latter triggers trigger from the game state after the move where the
* Kozilek card is itself and has the ability.
*/
- if (event != null && event.getTargetId() != null && event.getTargetId().equals(getSourceId())) {
- switch (event.getType()) {
- case ZONE_CHANGE:
- ZoneChangeEvent zce = (ZoneChangeEvent) event;
- if (event.getTargetId().equals(getSourceId()) && !zce.getToZone().isPublicZone()) {
- // If an ability triggers when the object that has it is put into a hidden zone from a graveyard,
- // that ability triggers from the graveyard, (such as Golgari Brownscale),
- // Yixlid Jailer will prevent that ability from triggering.
- if (zce.getFromZone().match(Zone.GRAVEYARD)) {
- if (!CardUtil.cardHadAbility(this, game.getLastKnownInformationCard(getSourceId(), zce.getFromZone()), getSourceId(), game)) {
- return false;
- }
+ if (event == null || event.getTargetId() == null || !event.getTargetId().equals(getSourceId())) {
+ return super.isInUseableZone(game, source, event);
+ }
+ switch (event.getType()) {
+ case ZONE_CHANGE:
+ ZoneChangeEvent zce = (ZoneChangeEvent) event;
+ if (event.getTargetId().equals(getSourceId()) && !zce.getToZone().isPublicZone()) {
+ // If an ability triggers when the object that has it is put into a hidden zone from a graveyard,
+ // that ability triggers from the graveyard, (such as Golgari Brownscale),
+ // Yixlid Jailer will prevent that ability from triggering.
+ if (zce.getFromZone().match(Zone.GRAVEYARD)) {
+ if (!CardUtil.cardHadAbility(this, game.getLastKnownInformationCard(getSourceId(), zce.getFromZone()), getSourceId(), game)) {
+ return false;
}
}
- break;
- case DESTROYED_PERMANENT:
- if (isLeavesTheBattlefieldTrigger()) {
- if (event.getType() == EventType.DESTROYED_PERMANENT) {
- source = game.getLastKnownInformation(getSourceId(), Zone.BATTLEFIELD);
- } else if (((ZoneChangeEvent) event).getTarget() != null) {
- source = ((ZoneChangeEvent) event).getTarget();
- } else {
- source = game.getLastKnownInformation(getSourceId(), event.getZone());
- }
+ }
+ case DESTROYED_PERMANENT:
+ if (isLeavesTheBattlefieldTrigger()) {
+ if (event.getType() == EventType.DESTROYED_PERMANENT) {
+ source = game.getLastKnownInformation(getSourceId(), Zone.BATTLEFIELD);
+ } else if (((ZoneChangeEvent) event).getTarget() != null) {
+ source = ((ZoneChangeEvent) event).getTarget();
+ } else {
+ source = game.getLastKnownInformation(getSourceId(), event.getZone());
}
- break;
- case PHASED_OUT:
- case PHASED_IN:
- if (this.zone == Zone.ALL || game.getLastKnownInformation(getSourceId(), zone) != null) {
- return this.hasSourceObjectAbility(game, source, event);
- }
- break;
- }
+ }
+ case PHASED_OUT:
+ case PHASED_IN:
+ if (this.zone == Zone.ALL || game.getLastKnownInformation(getSourceId(), zone) != null) {
+ return this.hasSourceObjectAbility(game, source, event);
+ }
}
return super.isInUseableZone(game, source, event);
}
diff --git a/Mage/src/main/java/mage/abilities/common/FetchLandActivatedAbility.java b/Mage/src/main/java/mage/abilities/common/FetchLandActivatedAbility.java
index fa71efebee9..5707b8d7c39 100644
--- a/Mage/src/main/java/mage/abilities/common/FetchLandActivatedAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/FetchLandActivatedAbility.java
@@ -15,7 +15,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInLibrary;
@@ -42,7 +41,7 @@ public class FetchLandActivatedAbility extends ActivatedAbilityImpl {
}
addCost(new SacrificeSourceCost());
FilterCard filter = new FilterCard(subTypeNames(subtypes));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
List> subtypePredicates = new ArrayList<>();
for (SubType subtype : subtypes) {
subtypePredicates.add(new SubtypePredicate(subtype));
diff --git a/Mage/src/main/java/mage/abilities/common/FirstSpellOpponentsTurnTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/FirstSpellOpponentsTurnTriggeredAbility.java
new file mode 100644
index 00000000000..84aef8d67f7
--- /dev/null
+++ b/Mage/src/main/java/mage/abilities/common/FirstSpellOpponentsTurnTriggeredAbility.java
@@ -0,0 +1,50 @@
+package mage.abilities.common;
+
+import mage.abilities.effects.Effect;
+import mage.filter.FilterSpell;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+import mage.game.stack.Spell;
+import mage.watchers.common.SpellsCastWatcher;
+
+import java.util.List;
+
+/**
+ * @author TheElk801
+ */
+public class FirstSpellOpponentsTurnTriggeredAbility extends SpellCastControllerTriggeredAbility {
+
+ private static final FilterSpell defaultFilter
+ = new FilterSpell("your first spell during each opponent's turn");
+
+ public FirstSpellOpponentsTurnTriggeredAbility(Effect effect, boolean optional) {
+ super(effect, defaultFilter, optional);
+ this.addWatcher(new SpellsCastWatcher());
+ }
+
+ private FirstSpellOpponentsTurnTriggeredAbility(final FirstSpellOpponentsTurnTriggeredAbility ability) {
+ super(ability);
+ }
+
+ @Override
+ public FirstSpellOpponentsTurnTriggeredAbility copy() {
+ return new FirstSpellOpponentsTurnTriggeredAbility(this);
+ }
+
+ @Override
+ public boolean checkTrigger(GameEvent event, Game game) {
+ if (game.isActivePlayer(this.getControllerId()) // ignore controller turn
+ || !super.checkTrigger(event, game)
+ || !game.getOpponents(this.getControllerId()).contains(game.getActivePlayerId())) {
+ return false;
+ }
+
+ SpellsCastWatcher watcher = game.getState().getWatcher(SpellsCastWatcher.class);
+ if (watcher == null) {
+ return false;
+ }
+
+ List spells = watcher.getSpellsCastThisTurn(event.getPlayerId());
+ return spells != null && spells.size() == 1;
+ }
+}
diff --git a/Mage/src/main/java/mage/abilities/common/LegendarySpellAbility.java b/Mage/src/main/java/mage/abilities/common/LegendarySpellAbility.java
index d0ee3f7d0c1..b2538d513bd 100644
--- a/Mage/src/main/java/mage/abilities/common/LegendarySpellAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/LegendarySpellAbility.java
@@ -9,7 +9,6 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -43,8 +42,8 @@ class LegendarySpellAbilityCheckEffect extends ContinuousRuleModifyingEffectImpl
Predicates.and(
new SupertypePredicate(SuperType.LEGENDARY),
Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()
)
)
);
diff --git a/Mage/src/main/java/mage/abilities/condition/common/MetalcraftCondition.java b/Mage/src/main/java/mage/abilities/condition/common/MetalcraftCondition.java
index e47ec4ac70e..51e76836797 100644
--- a/Mage/src/main/java/mage/abilities/condition/common/MetalcraftCondition.java
+++ b/Mage/src/main/java/mage/abilities/condition/common/MetalcraftCondition.java
@@ -4,7 +4,6 @@ import mage.abilities.Ability;
import mage.abilities.condition.Condition;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
/**
@@ -17,7 +16,7 @@ public enum MetalcraftCondition implements Condition {
private static final FilterPermanent filter = new FilterPermanent("artifact");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
diff --git a/Mage/src/main/java/mage/abilities/condition/common/SpellMasteryCondition.java b/Mage/src/main/java/mage/abilities/condition/common/SpellMasteryCondition.java
index be61dc648dc..fff9abbf65f 100644
--- a/Mage/src/main/java/mage/abilities/condition/common/SpellMasteryCondition.java
+++ b/Mage/src/main/java/mage/abilities/condition/common/SpellMasteryCondition.java
@@ -10,7 +10,6 @@ import mage.abilities.condition.Condition;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.players.Player;
@@ -25,7 +24,7 @@ public enum SpellMasteryCondition implements Condition {
private static final FilterCard filter = new FilterCard();
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
@Override
diff --git a/Mage/src/main/java/mage/abilities/costs/common/PayLifeCost.java b/Mage/src/main/java/mage/abilities/costs/common/PayLifeCost.java
index 332b6545b01..18c902d5af4 100644
--- a/Mage/src/main/java/mage/abilities/costs/common/PayLifeCost.java
+++ b/Mage/src/main/java/mage/abilities/costs/common/PayLifeCost.java
@@ -18,7 +18,7 @@ public class PayLifeCost extends CostImpl {
private final DynamicValue amount;
public PayLifeCost(int amount) {
- this.amount = new StaticValue(amount);
+ this.amount = StaticValue.get(amount);
this.text = "Pay " + Integer.toString(amount) + " life";
}
diff --git a/Mage/src/main/java/mage/abilities/dynamicvalue/common/StaticValue.java b/Mage/src/main/java/mage/abilities/dynamicvalue/common/StaticValue.java
index f5a11f81362..360034367d3 100644
--- a/Mage/src/main/java/mage/abilities/dynamicvalue/common/StaticValue.java
+++ b/Mage/src/main/java/mage/abilities/dynamicvalue/common/StaticValue.java
@@ -5,24 +5,24 @@ import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.effects.Effect;
import mage.game.Game;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.IntStream;
+
public class StaticValue implements DynamicValue {
+ private static final List staticValues = new ArrayList();
+
+ static {
+ IntStream.rangeClosed(-10, 10)
+ .mapToObj(StaticValue::new)
+ .forEachOrdered(staticValues::add);
+ }
+
private final int value;
- private final String message;
- private static final StaticValue zeroValue = new StaticValue(0);
- public StaticValue(int value) {
- this(value, "");
- }
-
- public StaticValue(int value, String message) {
+ private StaticValue(int value) {
this.value = value;
- this.message = message;
- }
-
- public StaticValue(final StaticValue staticValue) {
- this.value = staticValue.value;
- this.message = staticValue.message;
}
@Override
@@ -32,7 +32,7 @@ public class StaticValue implements DynamicValue {
@Override
public StaticValue copy() {
- return new StaticValue(this);
+ return this;
}
@Override
@@ -42,14 +42,17 @@ public class StaticValue implements DynamicValue {
@Override
public String getMessage() {
- return message;
+ return "";
}
public int getValue() {
return value;
}
- public static StaticValue getZeroValue() {
- return zeroValue;
+ public static StaticValue get(int value) {
+ if (value < -10 || value > 10) {
+ return new StaticValue(value);
+ }
+ return staticValues.get(value + 10);
}
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenEffect.java
index 7f686b6f05d..0ee482597c0 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenEffect.java
@@ -32,11 +32,11 @@ public class CreateTokenEffect extends OneShotEffect {
private ArrayList lastAddedTokenIds = new ArrayList<>();
public CreateTokenEffect(Token token) {
- this(token, new StaticValue(1));
+ this(token, StaticValue.get(1));
}
public CreateTokenEffect(Token token, int amount) {
- this(token, new StaticValue(amount));
+ this(token, StaticValue.get(amount));
}
public CreateTokenEffect(Token token, DynamicValue amount) {
@@ -44,7 +44,7 @@ public class CreateTokenEffect extends OneShotEffect {
}
public CreateTokenEffect(Token token, int amount, boolean tapped, boolean attacking) {
- this(token, new StaticValue(amount), tapped, attacking);
+ this(token, StaticValue.get(amount), tapped, attacking);
}
public CreateTokenEffect(Token token, DynamicValue amount, boolean tapped, boolean attacking) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenTargetEffect.java
index 15bc8d25af4..d74b91930b5 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/CreateTokenTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/CreateTokenTargetEffect.java
@@ -22,11 +22,11 @@ public class CreateTokenTargetEffect extends OneShotEffect {
private boolean attacking;
public CreateTokenTargetEffect(Token token) {
- this(token, new StaticValue(1));
+ this(token, StaticValue.get(1));
}
public CreateTokenTargetEffect(Token token, int amount) {
- this(token, new StaticValue(amount));
+ this(token, StaticValue.get(amount));
}
public CreateTokenTargetEffect(Token token, DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageAllEffect.java
index d65ba442e67..8dffba358d0 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamageAllEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamageAllEffect.java
@@ -22,11 +22,11 @@ public class DamageAllEffect extends OneShotEffect {
private String sourceName = "{source}";
public DamageAllEffect(int amount, FilterPermanent filter) {
- this(new StaticValue(amount), filter);
+ this(StaticValue.get(amount), filter);
}
public DamageAllEffect(int amount, String whoDealDamageName, FilterPermanent filter) {
- this(new StaticValue(amount), filter);
+ this(StaticValue.get(amount), filter);
this.sourceName = whoDealDamageName;
setText(); // TODO: replace to @Override public String getText()
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageAttachedControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageAttachedControllerEffect.java
index 6c0f4f0fdd8..68d1b93da62 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamageAttachedControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamageAttachedControllerEffect.java
@@ -22,7 +22,7 @@ public class DamageAttachedControllerEffect extends OneShotEffect {
public DamageAttachedControllerEffect(int amount) {
super(Outcome.Damage);
- this.amount = new StaticValue(amount);
+ this.amount = StaticValue.get(amount);
}
public DamageAttachedControllerEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageAttachedEffect.java
index 384e3d1ff2b..23ba7d6d86a 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamageAttachedEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamageAttachedEffect.java
@@ -22,7 +22,7 @@ public class DamageAttachedEffect extends OneShotEffect {
public DamageAttachedEffect(int amount) {
super(Outcome.Damage);
- this.amount = new StaticValue(amount);
+ this.amount = StaticValue.get(amount);
}
public DamageAttachedEffect(int amount, String whoDealDamageName) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageControllerEffect.java
index de059f270a2..19772872398 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamageControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamageControllerEffect.java
@@ -31,14 +31,14 @@ public class DamageControllerEffect extends OneShotEffect {
public DamageControllerEffect(int amount, boolean preventable, String whoDealDamageName) {
super(Outcome.Damage);
- this.amount = new StaticValue(amount);
+ this.amount = StaticValue.get(amount);
this.preventable = preventable;
this.sourceName = whoDealDamageName;
}
public DamageControllerEffect(int amount, boolean preventable) {
super(Outcome.Damage);
- this.amount = new StaticValue(amount);
+ this.amount = StaticValue.get(amount);
this.preventable = preventable;
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageEverythingEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageEverythingEffect.java
index 8dd83355fbc..42c78008cec 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamageEverythingEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamageEverythingEffect.java
@@ -27,11 +27,11 @@ public class DamageEverythingEffect extends OneShotEffect {
private String sourceName = "{source}";
public DamageEverythingEffect(int amount) {
- this(new StaticValue(amount), new FilterCreaturePermanent());
+ this(StaticValue.get(amount), new FilterCreaturePermanent());
}
public DamageEverythingEffect(int amount, String whoDealDamageName) {
- this(new StaticValue(amount), new FilterCreaturePermanent());
+ this(StaticValue.get(amount), new FilterCreaturePermanent());
this.sourceName = whoDealDamageName;
setText(); // TODO: replace to @Override public String getText()
@@ -42,7 +42,7 @@ public class DamageEverythingEffect extends OneShotEffect {
}
public DamageEverythingEffect(int amount, FilterPermanent filter) {
- this(new StaticValue(amount), filter);
+ this(StaticValue.get(amount), filter);
}
public DamageEverythingEffect(DynamicValue amount, FilterPermanent filter) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageMultiEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageMultiEffect.java
index 6ec376482a0..df1c5397bbe 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamageMultiEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamageMultiEffect.java
@@ -26,11 +26,11 @@ public class DamageMultiEffect extends OneShotEffect {
private final Set damagedSet = new HashSet<>();
public DamageMultiEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public DamageMultiEffect(int amount, String whoDealDamageName) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
this.sourceName = whoDealDamageName;
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamagePlayersEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamagePlayersEffect.java
index c8ff352c312..0b4c5395ef1 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamagePlayersEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamagePlayersEffect.java
@@ -21,15 +21,15 @@ public class DamagePlayersEffect extends OneShotEffect {
private String sourceName = "{source}";
public DamagePlayersEffect(int amount) {
- this(Outcome.Damage, new StaticValue(amount));
+ this(Outcome.Damage, StaticValue.get(amount));
}
public DamagePlayersEffect(int amount, TargetController controller) {
- this(Outcome.Damage, new StaticValue(amount), controller);
+ this(Outcome.Damage, StaticValue.get(amount), controller);
}
public DamagePlayersEffect(int amount, TargetController controller, String whoDealDamageName) {
- this(Outcome.Damage, new StaticValue(amount), controller);
+ this(Outcome.Damage, StaticValue.get(amount), controller);
this.sourceName = whoDealDamageName;
setText(); // TODO: replace to @Override public String getText()
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageTargetControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageTargetControllerEffect.java
index a1f9ce8615d..ea805fe9e5f 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamageTargetControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamageTargetControllerEffect.java
@@ -21,11 +21,11 @@ public class DamageTargetControllerEffect extends OneShotEffect {
protected boolean preventable;
public DamageTargetControllerEffect(int amount) {
- this(new StaticValue(amount), true);
+ this(StaticValue.get(amount), true);
}
public DamageTargetControllerEffect(int amount, boolean preventable) {
- this(new StaticValue(amount), preventable);
+ this(StaticValue.get(amount), preventable);
}
public DamageTargetControllerEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DamageTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DamageTargetEffect.java
index 626b7225cbb..d4db66bb450 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DamageTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DamageTargetEffect.java
@@ -27,24 +27,24 @@ public class DamageTargetEffect extends OneShotEffect {
protected String sourceName = "{source}";
public DamageTargetEffect(int amount) {
- this(new StaticValue(amount), true);
+ this(StaticValue.get(amount), true);
}
public DamageTargetEffect(int amount, String whoDealDamageName) {
- this(new StaticValue(amount), true);
+ this(StaticValue.get(amount), true);
this.sourceName = whoDealDamageName;
}
public DamageTargetEffect(int amount, boolean preventable) {
- this(new StaticValue(amount), preventable);
+ this(StaticValue.get(amount), preventable);
}
public DamageTargetEffect(int amount, boolean preventable, String targetDescription) {
- this(new StaticValue(amount), preventable, targetDescription);
+ this(StaticValue.get(amount), preventable, targetDescription);
}
public DamageTargetEffect(int amount, boolean preventable, String targetDescription, String whoDealDamageName) {
- this(new StaticValue(amount), preventable, targetDescription);
+ this(StaticValue.get(amount), preventable, targetDescription);
this.sourceName = whoDealDamageName;
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DrawCardAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DrawCardAllEffect.java
index d2da1c7b9a2..0e87c451e8c 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DrawCardAllEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DrawCardAllEffect.java
@@ -30,7 +30,7 @@ public class DrawCardAllEffect extends OneShotEffect {
}
public DrawCardAllEffect(int amount, TargetController targetController) {
- this(new StaticValue(amount), targetController);
+ this(StaticValue.get(amount), targetController);
}
public DrawCardAllEffect(DynamicValue amount, TargetController targetController) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java
index c56a4f28b8b..8a2533827de 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java
@@ -23,7 +23,7 @@ public class DrawCardSourceControllerEffect extends OneShotEffect {
}
public DrawCardSourceControllerEffect(int amount, String whoDrawCard) {
- this(new StaticValue(amount), whoDrawCard);
+ this(StaticValue.get(amount), whoDrawCard);
}
public DrawCardSourceControllerEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java
index 7ab53d6f603..585c3f0341e 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java
@@ -25,11 +25,11 @@ public class DrawCardTargetEffect extends OneShotEffect {
protected boolean upTo;
public DrawCardTargetEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public DrawCardTargetEffect(int amount, boolean optional) {
- this(new StaticValue(amount), optional);
+ this(StaticValue.get(amount), optional);
}
public DrawCardTargetEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/GainLifeEffect.java b/Mage/src/main/java/mage/abilities/effects/common/GainLifeEffect.java
index 51b5e4ef33b..105097a6678 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/GainLifeEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/GainLifeEffect.java
@@ -19,7 +19,7 @@ public class GainLifeEffect extends OneShotEffect {
private DynamicValue life;
public GainLifeEffect(int life) {
- this(new StaticValue(life));
+ this(StaticValue.get(life));
}
public GainLifeEffect(DynamicValue life) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/GainLifeTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/GainLifeTargetEffect.java
index d8a79bfc80f..98210835fbf 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/GainLifeTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/GainLifeTargetEffect.java
@@ -22,7 +22,7 @@ public class GainLifeTargetEffect extends OneShotEffect {
private DynamicValue life;
public GainLifeTargetEffect(int life) {
- this(new StaticValue(life));
+ this(StaticValue.get(life));
}
public GainLifeTargetEffect(DynamicValue life) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java
index 2155cbc1d4f..9dca85f4064 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java
@@ -87,8 +87,8 @@ public class LookLibraryAndPickControllerEffect extends LookLibraryControllerEff
public LookLibraryAndPickControllerEffect(int numberOfCards,
int numberToPick, FilterCard pickFilter, boolean upTo) {
- this(new StaticValue(numberOfCards), false,
- new StaticValue(numberToPick), pickFilter, Zone.LIBRARY, false,
+ this(StaticValue.get(numberOfCards), false,
+ StaticValue.get(numberToPick), pickFilter, Zone.LIBRARY, false,
true, upTo);
}
@@ -104,8 +104,8 @@ public class LookLibraryAndPickControllerEffect extends LookLibraryControllerEff
public LookLibraryAndPickControllerEffect(int numberOfCards,
int numberToPick, FilterCard pickFilter, boolean reveal,
boolean upTo, Zone targetZonePickedCards, boolean optional) {
- this(new StaticValue(numberOfCards), false,
- new StaticValue(numberToPick), pickFilter, Zone.LIBRARY, false,
+ this(StaticValue.get(numberOfCards), false,
+ StaticValue.get(numberToPick), pickFilter, Zone.LIBRARY, false,
reveal, upTo, targetZonePickedCards, optional, true, true);
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java
index 766e1b2ed8a..fdacd31698f 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java
@@ -44,7 +44,7 @@ public class LookLibraryControllerEffect extends OneShotEffect {
}
public LookLibraryControllerEffect(int numberOfCards, boolean mayShuffleAfter, boolean putOnTop) {
- this(new StaticValue(numberOfCards), mayShuffleAfter, putOnTop);
+ this(StaticValue.get(numberOfCards), mayShuffleAfter, putOnTop);
}
public LookLibraryControllerEffect(DynamicValue numberOfCards, boolean mayShuffleAfter, boolean putOnTop) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeAllPlayersEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeAllPlayersEffect.java
index 8bc73d8080f..c320d8f13eb 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeAllPlayersEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeAllPlayersEffect.java
@@ -20,7 +20,7 @@ public class LoseLifeAllPlayersEffect extends OneShotEffect {
private final DynamicValue amount;
public LoseLifeAllPlayersEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public LoseLifeAllPlayersEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java
index abf9bbae7cd..450eaec382a 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java
@@ -17,7 +17,7 @@ public class LoseLifeControllerAttachedEffect extends OneShotEffect {
protected DynamicValue amount;
public LoseLifeControllerAttachedEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public LoseLifeControllerAttachedEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeDefendingPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeDefendingPlayerEffect.java
index 507ad217d14..ca058b07622 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeDefendingPlayerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeDefendingPlayerEffect.java
@@ -25,7 +25,7 @@ public class LoseLifeDefendingPlayerEffect extends OneShotEffect {
* attacker false if attacker has to be taken from targetPointer
*/
public LoseLifeDefendingPlayerEffect(int amount, boolean attackerIsSource) {
- this(new StaticValue(amount), attackerIsSource);
+ this(StaticValue.get(amount), attackerIsSource);
}
public LoseLifeDefendingPlayerEffect(DynamicValue amount, boolean attackerIsSource) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeOpponentsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeOpponentsEffect.java
index 72e7a17cd5b..ead8433dc77 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeOpponentsEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeOpponentsEffect.java
@@ -21,7 +21,7 @@ public class LoseLifeOpponentsEffect extends OneShotEffect {
private DynamicValue amount;
public LoseLifeOpponentsEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public LoseLifeOpponentsEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifePermanentControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifePermanentControllerEffect.java
index 5d6ecf576b7..00274e26a9b 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifePermanentControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifePermanentControllerEffect.java
@@ -21,7 +21,7 @@ public class LoseLifePermanentControllerEffect extends OneShotEffect {
protected DynamicValue amount;
public LoseLifePermanentControllerEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public LoseLifePermanentControllerEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeSourceControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeSourceControllerEffect.java
index 9fe9cae185a..0707a453340 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeSourceControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeSourceControllerEffect.java
@@ -19,7 +19,7 @@ public class LoseLifeSourceControllerEffect extends OneShotEffect {
protected DynamicValue amount;
public LoseLifeSourceControllerEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public LoseLifeSourceControllerEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeTargetEffect.java
index f46fa4dc769..93c03a71466 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeTargetEffect.java
@@ -19,7 +19,7 @@ public class LoseLifeTargetEffect extends OneShotEffect {
protected DynamicValue amount;
public LoseLifeTargetEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public LoseLifeTargetEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java
index f1158cb434b..665a930257a 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java
@@ -19,7 +19,7 @@ public class PutLibraryIntoGraveTargetEffect extends OneShotEffect {
private DynamicValue amount;
public PutLibraryIntoGraveTargetEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public PutLibraryIntoGraveTargetEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java
index 2e27fe567d3..9cd5fa87023 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java
@@ -23,7 +23,7 @@ public class PutTopCardOfLibraryIntoGraveEachPlayerEffect extends OneShotEffect
private final TargetController targetController;
public PutTopCardOfLibraryIntoGraveEachPlayerEffect(int numberCards, TargetController targetController) {
- this(new StaticValue(numberCards), targetController);
+ this(StaticValue.get(numberCards), targetController);
}
public PutTopCardOfLibraryIntoGraveEachPlayerEffect(DynamicValue numberCards, TargetController targetController) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveTargetEffect.java
index 308222981d1..d45f62ad2cb 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveTargetEffect.java
@@ -19,7 +19,7 @@ public class PutTopCardOfLibraryIntoGraveTargetEffect extends OneShotEffect {
private DynamicValue numberCards;
public PutTopCardOfLibraryIntoGraveTargetEffect(int numberCards) {
- this(new StaticValue(numberCards));
+ this(StaticValue.get(numberCards));
}
public PutTopCardOfLibraryIntoGraveTargetEffect(DynamicValue numberCards) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/RevealLibraryPutIntoHandEffect.java b/Mage/src/main/java/mage/abilities/effects/common/RevealLibraryPutIntoHandEffect.java
index f5243a07733..c77e3560f4d 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/RevealLibraryPutIntoHandEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/RevealLibraryPutIntoHandEffect.java
@@ -32,7 +32,7 @@ public class RevealLibraryPutIntoHandEffect extends OneShotEffect {
}
public RevealLibraryPutIntoHandEffect(int amountCards, FilterCard filter, Zone zoneToPutRest, boolean anyOrder) {
- this(new StaticValue(amountCards), filter, zoneToPutRest, anyOrder);
+ this(StaticValue.get(amountCards), filter, zoneToPutRest, anyOrder);
}
public RevealLibraryPutIntoHandEffect(DynamicValue amountCards, FilterCard filter, Zone zoneToPutRest, boolean anyOrder) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/RevealTargetPlayerLibraryEffect.java b/Mage/src/main/java/mage/abilities/effects/common/RevealTargetPlayerLibraryEffect.java
index 8a3d0feb6e2..afb199ca969 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/RevealTargetPlayerLibraryEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/RevealTargetPlayerLibraryEffect.java
@@ -22,7 +22,7 @@ public class RevealTargetPlayerLibraryEffect extends OneShotEffect {
private DynamicValue amountCards;
public RevealTargetPlayerLibraryEffect(int amountCards) {
- this(new StaticValue(amountCards));
+ this(StaticValue.get(amountCards));
}
public RevealTargetPlayerLibraryEffect(DynamicValue amountCards) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/SacrificeAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SacrificeAllEffect.java
index 8f5cdf4a3e8..434ebc82259 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/SacrificeAllEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/SacrificeAllEffect.java
@@ -30,7 +30,7 @@ public class SacrificeAllEffect extends OneShotEffect {
}
public SacrificeAllEffect(int amount, FilterControlledPermanent filter) {
- this(new StaticValue(amount), filter);
+ this(StaticValue.get(amount), filter);
}
public SacrificeAllEffect(DynamicValue amount, FilterControlledPermanent filter) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/SacrificeControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SacrificeControllerEffect.java
index a633f247cb0..70cb4035c44 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/SacrificeControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/SacrificeControllerEffect.java
@@ -22,7 +22,7 @@ public class SacrificeControllerEffect extends SacrificeEffect {
}
public SacrificeControllerEffect(FilterPermanent filter, int count, String preText ) {
- this(filter, new StaticValue(count), preText);
+ this(filter, StaticValue.get(count), preText);
}
public SacrificeControllerEffect(final SacrificeControllerEffect effect ) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/SacrificeEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SacrificeEffect.java
index cf5006a1148..fc954a3a5d1 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/SacrificeEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/SacrificeEffect.java
@@ -26,7 +26,7 @@ public class SacrificeEffect extends OneShotEffect {
private DynamicValue count;
public SacrificeEffect(FilterPermanent filter, int count, String preText) {
- this(filter, new StaticValue(count), preText);
+ this(filter, StaticValue.get(count), preText);
}
public SacrificeEffect(FilterPermanent filter, DynamicValue count, String preText) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/SacrificeOpponentsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SacrificeOpponentsEffect.java
index 243c524d5c8..f1d9df7128f 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/SacrificeOpponentsEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/SacrificeOpponentsEffect.java
@@ -32,7 +32,7 @@ public class SacrificeOpponentsEffect extends OneShotEffect {
}
public SacrificeOpponentsEffect(int amount, FilterPermanent filter) {
- this(new StaticValue(amount), filter);
+ this(StaticValue.get(amount), filter);
}
public SacrificeOpponentsEffect(DynamicValue amount, FilterPermanent filter) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/SacrificeOpponentsUnlessPayEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SacrificeOpponentsUnlessPayEffect.java
index 0ed4cc90229..f37daeadb06 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/SacrificeOpponentsUnlessPayEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/SacrificeOpponentsUnlessPayEffect.java
@@ -49,11 +49,11 @@ public class SacrificeOpponentsUnlessPayEffect extends OneShotEffect {
}
public SacrificeOpponentsUnlessPayEffect(Cost cost, FilterPermanent filter, int amount) {
- this(cost, filter, new StaticValue(amount));
+ this(cost, filter, StaticValue.get(amount));
}
public SacrificeOpponentsUnlessPayEffect(int genericManaCost, FilterPermanent filter, int amount) {
- this(new GenericManaCost(genericManaCost), filter, new StaticValue(amount));
+ this(new GenericManaCost(genericManaCost), filter, StaticValue.get(amount));
}
public SacrificeOpponentsUnlessPayEffect(Cost cost, FilterPermanent filter, DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeAllEffect.java
index fa7befc9179..cb691a322ad 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeAllEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeAllEffect.java
@@ -33,7 +33,7 @@ public class SetPlayerLifeAllEffect extends OneShotEffect {
}
public SetPlayerLifeAllEffect(int amount, TargetController targetController) {
- this(new StaticValue(amount), targetController);
+ this(StaticValue.get(amount), targetController);
}
public SetPlayerLifeAllEffect(DynamicValue amount, TargetController targetController) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeSourceEffect.java
index 54db0d0d56a..17ca7f5981a 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeSourceEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeSourceEffect.java
@@ -22,7 +22,7 @@ public class SetPlayerLifeSourceEffect extends OneShotEffect {
protected DynamicValue amount;
public SetPlayerLifeSourceEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public SetPlayerLifeSourceEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeTargetEffect.java
index ed9c40731fc..cb79f6e1f68 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/SetPlayerLifeTargetEffect.java
@@ -18,7 +18,7 @@ public class SetPlayerLifeTargetEffect extends OneShotEffect {
protected DynamicValue amount;
public SetPlayerLifeTargetEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public SetPlayerLifeTargetEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostAllEffect.java
index bf9e508a8b5..bf1261f9266 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostAllEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostAllEffect.java
@@ -40,7 +40,7 @@ public class BoostAllEffect extends ContinuousEffectImpl {
}
public BoostAllEffect(int power, int toughness, Duration duration, FilterCreaturePermanent filter, boolean excludeSource) {
- this(new StaticValue(power), new StaticValue(toughness), duration, filter, excludeSource);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration, filter, excludeSource);
}
public BoostAllEffect(DynamicValue power, DynamicValue toughness, Duration duration, FilterCreaturePermanent filter, boolean excludeSource) {
@@ -92,8 +92,8 @@ public class BoostAllEffect extends ContinuousEffectImpl {
}
}
if (lockedInPT) {
- power = new StaticValue(power.calculate(game, source, this));
- toughness = new StaticValue(toughness.calculate(game, source, this));
+ power = StaticValue.get(power.calculate(game, source, this));
+ toughness = StaticValue.get(toughness.calculate(game, source, this));
}
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostControlledEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostControlledEffect.java
index 8404e0ecee1..901fd633357 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostControlledEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostControlledEffect.java
@@ -41,11 +41,11 @@ public class BoostControlledEffect extends ContinuousEffectImpl {
}
public BoostControlledEffect(int power, int toughness, Duration duration, FilterCreaturePermanent filter) {
- this(new StaticValue(power), new StaticValue(toughness), duration, filter, false);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration, filter, false);
}
public BoostControlledEffect(int power, int toughness, Duration duration, FilterCreaturePermanent filter, boolean excludeSource) {
- this(new StaticValue(power), new StaticValue(toughness), duration, filter, excludeSource, true);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration, filter, excludeSource, true);
}
public BoostControlledEffect(DynamicValue power, DynamicValue toughness, Duration duration, FilterCreaturePermanent filter, boolean excludeSource) {
@@ -97,8 +97,8 @@ public class BoostControlledEffect extends ContinuousEffectImpl {
}
}
if (this.lockedIn) {
- power = new StaticValue(power.calculate(game, source, this));
- toughness = new StaticValue(toughness.calculate(game, source, this));
+ power = StaticValue.get(power.calculate(game, source, this));
+ toughness = StaticValue.get(toughness.calculate(game, source, this));
}
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEnchantedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEnchantedEffect.java
index a68c167ad2c..8dcdd7f70ad 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEnchantedEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEnchantedEffect.java
@@ -28,7 +28,7 @@ public class BoostEnchantedEffect extends ContinuousEffectImpl {
}
public BoostEnchantedEffect(int power, int toughness, Duration duration) {
- this(new StaticValue(power), new StaticValue(toughness), duration);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration);
}
public BoostEnchantedEffect(DynamicValue power, DynamicValue toughness) {
@@ -58,8 +58,8 @@ public class BoostEnchantedEffect extends ContinuousEffectImpl {
public void init(Ability source, Game game) {
super.init(source, game);
if (lockedIn) {
- power = new StaticValue(power.calculate(game, source, this));
- toughness = new StaticValue(toughness.calculate(game, source, this));
+ power = StaticValue.get(power.calculate(game, source, this));
+ toughness = StaticValue.get(toughness.calculate(game, source, this));
}
if (affectedObjectsSet) {
// Added boosts of activated or triggered abilities exist independent from the source they are created by
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEquippedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEquippedEffect.java
index d093e52be5c..1e9c895a254 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEquippedEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostEquippedEffect.java
@@ -27,7 +27,7 @@ public class BoostEquippedEffect extends ContinuousEffectImpl {
}
public BoostEquippedEffect(int power, int toughness, Duration duration) {
- this(new StaticValue(power), new StaticValue(toughness), duration);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration);
}
public BoostEquippedEffect(DynamicValue powerDynamicValue, DynamicValue toughnessDynamicValue) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostSourceEffect.java
index 28f5b2ba008..1cfa40263a4 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostSourceEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostSourceEffect.java
@@ -25,7 +25,7 @@ public class BoostSourceEffect extends ContinuousEffectImpl implements SourceEff
private boolean lockedIn;
public BoostSourceEffect(int power, int toughness, Duration duration) {
- this(new StaticValue(power), new StaticValue(toughness), duration, false);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration, false);
}
public BoostSourceEffect(DynamicValue power, DynamicValue toughness, Duration duration) {
@@ -69,8 +69,8 @@ public class BoostSourceEffect extends ContinuousEffectImpl implements SourceEff
}
}
if (lockedIn) {
- power = new StaticValue(power.calculate(game, source, this));
- toughness = new StaticValue(toughness.calculate(game, source, this));
+ power = StaticValue.get(power.calculate(game, source, this));
+ toughness = StaticValue.get(toughness.calculate(game, source, this));
}
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostTargetEffect.java
index 9254999b2ba..438fce895fa 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostTargetEffect.java
@@ -32,7 +32,7 @@ public class BoostTargetEffect extends ContinuousEffectImpl {
}
public BoostTargetEffect(int power, int toughness, Duration duration) {
- this(new StaticValue(power), new StaticValue(toughness), duration, false);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration, false);
}
public BoostTargetEffect(DynamicValue power, DynamicValue toughness, Duration duration) {
@@ -69,8 +69,8 @@ public class BoostTargetEffect extends ContinuousEffectImpl {
public void init(Ability source, Game game) {
super.init(source, game);
if (lockedIn) {
- power = new StaticValue(power.calculate(game, source, this));
- toughness = new StaticValue(toughness.calculate(game, source, this));
+ power = StaticValue.get(power.calculate(game, source, this));
+ toughness = StaticValue.get(toughness.calculate(game, source, this));
}
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/MaximumHandSizeControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/MaximumHandSizeControllerEffect.java
index 5e47292d523..295d99cd80e 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/MaximumHandSizeControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/MaximumHandSizeControllerEffect.java
@@ -39,7 +39,7 @@ public class MaximumHandSizeControllerEffect extends ContinuousEffectImpl {
}
public MaximumHandSizeControllerEffect(int handSize, Duration duration, HandSizeModification handSizeModification, TargetController targetController) {
- this(new StaticValue(handSize), duration, handSizeModification, targetController);
+ this(StaticValue.get(handSize), duration, handSizeModification, targetController);
}
public MaximumHandSizeControllerEffect(DynamicValue handSize, Duration duration, HandSizeModification handSizeModification, TargetController targetController) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/SetPowerToughnessAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/SetPowerToughnessAllEffect.java
index fc73adacccc..edb7b8e4595 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/SetPowerToughnessAllEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/SetPowerToughnessAllEffect.java
@@ -31,11 +31,11 @@ public class SetPowerToughnessAllEffect extends ContinuousEffectImpl {
private boolean lockedInPT;
public SetPowerToughnessAllEffect(int power, int toughness, Duration duration) {
- this(new StaticValue(power), new StaticValue(toughness), duration, new FilterCreaturePermanent("Creatures"), true);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration, new FilterCreaturePermanent("Creatures"), true);
}
public SetPowerToughnessAllEffect(int power, int toughness, Duration duration, FilterPermanent filter, boolean lockedInPT) {
- this(new StaticValue(power), new StaticValue(toughness), duration, filter, lockedInPT);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration, filter, lockedInPT);
}
public SetPowerToughnessAllEffect(DynamicValue power, DynamicValue toughness, Duration duration, FilterPermanent filter, boolean lockedInPT) {
@@ -68,8 +68,8 @@ public class SetPowerToughnessAllEffect extends ContinuousEffectImpl {
}
}
if (lockedInPT) {
- power = new StaticValue(power.calculate(game, source, this));
- toughness = new StaticValue(toughness.calculate(game, source, this));
+ power = StaticValue.get(power.calculate(game, source, this));
+ toughness = StaticValue.get(toughness.calculate(game, source, this));
}
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/SetPowerToughnessTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/SetPowerToughnessTargetEffect.java
index 5c46ea33604..0649128a62c 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/SetPowerToughnessTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/SetPowerToughnessTargetEffect.java
@@ -31,7 +31,7 @@ public class SetPowerToughnessTargetEffect extends ContinuousEffectImpl {
}
public SetPowerToughnessTargetEffect(int power, int toughness, Duration duration) {
- this(new StaticValue(power), new StaticValue(toughness), duration);
+ this(StaticValue.get(power), StaticValue.get(toughness), duration);
}
public SetPowerToughnessTargetEffect(final SetPowerToughnessTargetEffect effect) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/cost/CastWithoutPayingManaCostEffect.java b/Mage/src/main/java/mage/abilities/effects/common/cost/CastWithoutPayingManaCostEffect.java
index e4bb6995a50..4c36466ddfb 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/cost/CastWithoutPayingManaCostEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/cost/CastWithoutPayingManaCostEffect.java
@@ -33,7 +33,7 @@ public class CastWithoutPayingManaCostEffect extends OneShotEffect {
* @param maxCost Maximum converted mana cost for this effect to apply to
*/
public CastWithoutPayingManaCostEffect(int maxCost) {
- this(new StaticValue(maxCost));
+ this(StaticValue.get(maxCost));
}
public CastWithoutPayingManaCostEffect(DynamicValue maxCost) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAttachedEffect.java
index 0687972d50e..5a9f9bbbb11 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAttachedEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAttachedEffect.java
@@ -23,7 +23,7 @@ public class AddCountersAttachedEffect extends OneShotEffect {
private String textEnchanted;
public AddCountersAttachedEffect(Counter counter, String textEnchanted) {
- this(counter, new StaticValue(1), textEnchanted);
+ this(counter, StaticValue.get(1), textEnchanted);
}
/**
diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersSourceEffect.java
index 1b5ba2047d6..208a4c0b1ec 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersSourceEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersSourceEffect.java
@@ -31,7 +31,7 @@ public class AddCountersSourceEffect extends OneShotEffect {
}
public AddCountersSourceEffect(Counter counter, boolean informPlayers) {
- this(counter, new StaticValue(0), informPlayers);
+ this(counter, StaticValue.get(0), informPlayers);
}
public AddCountersSourceEffect(Counter counter, DynamicValue amount, boolean informPlayers) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersTargetEffect.java
index 4c717eb6e49..b3166e83b5f 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersTargetEffect.java
@@ -36,7 +36,7 @@ public class AddCountersTargetEffect extends OneShotEffect {
}
public AddCountersTargetEffect(Counter counter, Outcome outcome) {
- this(counter, new StaticValue(0), outcome);
+ this(counter, StaticValue.get(0), outcome);
}
public AddCountersTargetEffect(Counter counter, DynamicValue amount, Outcome outcome) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/GetEnergyCountersControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/GetEnergyCountersControllerEffect.java
index 8b9664f79ba..170a9448b70 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/counter/GetEnergyCountersControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/counter/GetEnergyCountersControllerEffect.java
@@ -19,7 +19,7 @@ public class GetEnergyCountersControllerEffect extends OneShotEffect {
private final DynamicValue value;
public GetEnergyCountersControllerEffect(int value) {
- this(new StaticValue(value));
+ this(StaticValue.get(value));
}
public GetEnergyCountersControllerEffect(DynamicValue value) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/RemoveCountersAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/RemoveCountersAttachedEffect.java
index 775ca85982c..59451c359b9 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/counter/RemoveCountersAttachedEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/counter/RemoveCountersAttachedEffect.java
@@ -24,7 +24,7 @@ public class RemoveCountersAttachedEffect extends OneShotEffect {
private String textEnchanted;
public RemoveCountersAttachedEffect(Counter counter, String textEnchanted) {
- this(counter, new StaticValue(0), textEnchanted);
+ this(counter, StaticValue.get(0), textEnchanted);
}
/**
diff --git a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardCardYouChooseTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardCardYouChooseTargetEffect.java
index be0200c24ff..5e2d1d11935 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardCardYouChooseTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardCardYouChooseTargetEffect.java
@@ -11,6 +11,7 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
@@ -31,16 +32,18 @@ public class DiscardCardYouChooseTargetEffect extends OneShotEffect {
private final DynamicValue numberCardsToDiscard;
private boolean revealAllCards;
+ private static final FilterCard filterOneCard = new FilterCard("one card");
+
public DiscardCardYouChooseTargetEffect() {
this(new FilterCard("a card"));
}
public DiscardCardYouChooseTargetEffect(TargetController targetController) {
- this(new FilterCard("a card"), targetController);
+ this(StaticFilters.FILTER_CARD_A, targetController);
}
public DiscardCardYouChooseTargetEffect(DynamicValue numberCardsToDiscard, TargetController targetController) {
- this(numberCardsToDiscard, new FilterCard("cards"), targetController);
+ this(numberCardsToDiscard, StaticFilters.FILTER_CARD_CARDS, targetController);
}
public DiscardCardYouChooseTargetEffect(FilterCard filter) {
@@ -48,12 +51,11 @@ public class DiscardCardYouChooseTargetEffect extends OneShotEffect {
}
public DiscardCardYouChooseTargetEffect(TargetController targetController, int numberCardsToReveal) {
- this(new FilterCard("one card"), targetController,
- new StaticValue(numberCardsToReveal, new StringBuilder(CardUtil.numberToText(numberCardsToReveal)).append(" cards").toString()));
+ this(filterOneCard, targetController, StaticValue.get(numberCardsToReveal));
}
public DiscardCardYouChooseTargetEffect(TargetController targetController, DynamicValue numberCardsToReveal) {
- this(new FilterCard("one card"), targetController, numberCardsToReveal);
+ this(filterOneCard, targetController, numberCardsToReveal);
}
public DiscardCardYouChooseTargetEffect(FilterCard filter, TargetController targetController, DynamicValue numberCardsToReveal) {
@@ -63,13 +65,13 @@ public class DiscardCardYouChooseTargetEffect extends OneShotEffect {
this.revealAllCards = false;
this.numberCardsToReveal = numberCardsToReveal;
- this.numberCardsToDiscard = new StaticValue(1);
+ this.numberCardsToDiscard = StaticValue.get(1);
staticText = this.setText();
}
public DiscardCardYouChooseTargetEffect(FilterCard filter, TargetController targetController) {
- this(new StaticValue(1), filter, targetController);
+ this(StaticValue.get(1), filter, targetController);
}
public DiscardCardYouChooseTargetEffect(DynamicValue numberCardsToDiscard, FilterCard filter, TargetController targetController) {
@@ -97,54 +99,56 @@ public class DiscardCardYouChooseTargetEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(targetPointer.getFirst(game, source));
Player controller = game.getPlayer(source.getControllerId());
- if (player != null && controller != null) {
- if (revealAllCards) {
- this.numberCardsToReveal = new StaticValue(player.getHand().size());
- }
- int numberToReveal = this.numberCardsToReveal.calculate(game, source, this);
- if (numberToReveal > 0) {
- Cards revealedCards = new CardsImpl();
- numberToReveal = Math.min(player.getHand().size(), numberToReveal);
- if (player.getHand().size() > numberToReveal) {
- TargetCardInHand chosenCards = new TargetCardInHand(numberToReveal, numberToReveal, new FilterCard("card in " + player.getName() + "'s hand"));
- chosenCards.setNotTarget(true);
- if (chosenCards.canChoose(player.getId(), game) && player.chooseTarget(Outcome.Discard, player.getHand(), chosenCards, source, game)) {
- if (!chosenCards.getTargets().isEmpty()) {
- List targets = chosenCards.getTargets();
- for (UUID targetid : targets) {
- Card card = game.getCard(targetid);
- if (card != null) {
- revealedCards.add(card);
- }
- }
- }
- }
- } else {
- revealedCards.addAll(player.getHand());
- }
-
- Card sourceCard = game.getCard(source.getSourceId());
- player.revealCards(sourceCard != null ? sourceCard.getIdName() + " (" + sourceCard.getZoneChangeCounter(game) + ')' : "Discard", revealedCards, game);
-
- boolean result = true;
- int filteredCardsCount = revealedCards.count(filter, source.getSourceId(), source.getControllerId(), game);
- int numberToDiscard = Math.min(this.numberCardsToDiscard.calculate(game, source, this), filteredCardsCount);
- if (numberToDiscard > 0) {
- TargetCard target = new TargetCard(numberToDiscard, Zone.HAND, filter);
- if (controller.choose(Outcome.Benefit, revealedCards, target, game)) {
- for (UUID targetId : target.getTargets()) {
- Card card = revealedCards.get(targetId, game);
- if (!player.discard(card, source, game)) {
- result = false;
- }
- }
- }
- }
- return result;
- }
+ if (player == null || controller == null) {
+ return false;
+ }
+ if (revealAllCards) {
+ this.numberCardsToReveal = StaticValue.get(player.getHand().size());
+ }
+ int numberToReveal = this.numberCardsToReveal.calculate(game, source, this);
+ if (numberToReveal <= 0) {
return true;
}
- return false;
+ Cards revealedCards = new CardsImpl();
+ numberToReveal = Math.min(player.getHand().size(), numberToReveal);
+ if (player.getHand().size() > numberToReveal) {
+ TargetCardInHand chosenCards = new TargetCardInHand(numberToReveal, numberToReveal, new FilterCard("card in " + player.getName() + "'s hand"));
+ chosenCards.setNotTarget(true);
+ if (chosenCards.canChoose(player.getId(), game) && player.chooseTarget(Outcome.Discard, player.getHand(), chosenCards, source, game)) {
+ if (!chosenCards.getTargets().isEmpty()) {
+ List targets = chosenCards.getTargets();
+ for (UUID targetid : targets) {
+ Card card = game.getCard(targetid);
+ if (card != null) {
+ revealedCards.add(card);
+ }
+ }
+ }
+ }
+ } else {
+ revealedCards.addAll(player.getHand());
+ }
+
+ Card sourceCard = game.getCard(source.getSourceId());
+ player.revealCards(sourceCard != null ? sourceCard.getIdName() + " (" + sourceCard.getZoneChangeCounter(game) + ')' : "Discard", revealedCards, game);
+
+ boolean result = true;
+ int filteredCardsCount = revealedCards.count(filter, source.getSourceId(), source.getControllerId(), game);
+ int numberToDiscard = Math.min(this.numberCardsToDiscard.calculate(game, source, this), filteredCardsCount);
+ if (numberToDiscard <= 0) {
+ return result;
+ }
+ TargetCard target = new TargetCard(numberToDiscard, Zone.HAND, filter);
+ if (!controller.choose(Outcome.Benefit, revealedCards, target, game)) {
+ return result;
+ }
+ for (UUID targetId : target.getTargets()) {
+ Card card = revealedCards.get(targetId, game);
+ if (!player.discard(card, source, game)) {
+ result = false;
+ }
+ }
+ return result;
}
@Override
@@ -169,7 +173,7 @@ public class DiscardCardYouChooseTargetEffect extends OneShotEffect {
} else {
if (numberCardsToReveal instanceof StaticValue) {
sb.append(" reveals ");
- sb.append(numberCardsToReveal.getMessage());
+ sb.append(CardUtil.numberToText(((StaticValue) numberCardsToReveal).getValue()) + " cards");
sb.append(" from their hand");
} else {
sb.append(" reveals a number of cards from their hand equal to ");
diff --git a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardControllerEffect.java
index 0d637f099b4..278a4747c83 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardControllerEffect.java
@@ -20,11 +20,11 @@ public class DiscardControllerEffect extends OneShotEffect {
protected boolean randomDiscard;
public DiscardControllerEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public DiscardControllerEffect(int amount, boolean randomDiscard) {
- this(new StaticValue(amount), randomDiscard);
+ this(StaticValue.get(amount), randomDiscard);
}
public DiscardControllerEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardEachPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardEachPlayerEffect.java
index 2d35c6dc24e..91ebc6228d4 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardEachPlayerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardEachPlayerEffect.java
@@ -27,15 +27,15 @@ public class DiscardEachPlayerEffect extends OneShotEffect {
private TargetController targetController;
public DiscardEachPlayerEffect() {
- this(new StaticValue(1), false);
+ this(StaticValue.get(1), false);
}
public DiscardEachPlayerEffect(TargetController targetController) {
- this(new StaticValue(1), false, targetController);
+ this(StaticValue.get(1), false, targetController);
}
public DiscardEachPlayerEffect(int amount, boolean randomDiscard) {
- this(new StaticValue(amount), randomDiscard);
+ this(StaticValue.get(amount), randomDiscard);
}
public DiscardEachPlayerEffect(DynamicValue amount, boolean randomDiscard) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardTargetEffect.java
index 238c6b21a29..66b1351f340 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/discard/DiscardTargetEffect.java
@@ -32,7 +32,7 @@ public class DiscardTargetEffect extends OneShotEffect {
}
public DiscardTargetEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
/**
@@ -44,7 +44,7 @@ public class DiscardTargetEffect extends OneShotEffect {
public DiscardTargetEffect(int amount, boolean randomDiscard) {
super(Outcome.Discard);
this.randomDiscard = randomDiscard;
- this.amount = new StaticValue(amount);
+ this.amount = StaticValue.get(amount);
}
public DiscardTargetEffect(final DiscardTargetEffect effect) {
diff --git a/Mage/src/main/java/mage/abilities/effects/keyword/AmassEffect.java b/Mage/src/main/java/mage/abilities/effects/keyword/AmassEffect.java
index b30a4dce7f4..2ad1b35fd1c 100644
--- a/Mage/src/main/java/mage/abilities/effects/keyword/AmassEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/keyword/AmassEffect.java
@@ -36,7 +36,7 @@ public class AmassEffect extends OneShotEffect {
private UUID amassedCreatureId = null;
public AmassEffect(int amassNumber) {
- this(new StaticValue(amassNumber));
+ this(StaticValue.get(amassNumber));
staticText = "amass " + amassNumber + ". (Put " + CardUtil.numberToText(amassNumber)
+ " +1/+1 counter" + (amassNumber > 1 ? "s " : " ")
+ "on an Army you control. If you don't control one, "
diff --git a/Mage/src/main/java/mage/abilities/effects/keyword/BolsterEffect.java b/Mage/src/main/java/mage/abilities/effects/keyword/BolsterEffect.java
index c7711d81db7..3bf6a6c9f88 100644
--- a/Mage/src/main/java/mage/abilities/effects/keyword/BolsterEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/keyword/BolsterEffect.java
@@ -30,7 +30,7 @@ public class BolsterEffect extends OneShotEffect {
private final DynamicValue amount;
public BolsterEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public BolsterEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/effects/keyword/SupportEffect.java b/Mage/src/main/java/mage/abilities/effects/keyword/SupportEffect.java
index ca6298c759d..c650a130b7d 100644
--- a/Mage/src/main/java/mage/abilities/effects/keyword/SupportEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/keyword/SupportEffect.java
@@ -20,8 +20,8 @@ public class SupportEffect extends AddCountersTargetEffect {
private final boolean otherPermanent;
public SupportEffect(Card card, int amount, boolean otherPermanent) {
- super(CounterType.P1P1.createInstance(0), new StaticValue(1));
- this.amountSupportTargets = new StaticValue(amount);
+ super(CounterType.P1P1.createInstance(0), StaticValue.get(1));
+ this.amountSupportTargets = StaticValue.get(amount);
this.otherPermanent = otherPermanent;
if (card.isInstant() || card.isSorcery()) {
card.getSpellAbility().addTarget(new TargetCreaturePermanent(0, amount, new FilterCreaturePermanent("target creatures"), false));
diff --git a/Mage/src/main/java/mage/abilities/effects/mana/AddConditionalManaOfAnyColorEffect.java b/Mage/src/main/java/mage/abilities/effects/mana/AddConditionalManaOfAnyColorEffect.java
index ab93862ffea..0f644f6b6fd 100644
--- a/Mage/src/main/java/mage/abilities/effects/mana/AddConditionalManaOfAnyColorEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/mana/AddConditionalManaOfAnyColorEffect.java
@@ -28,7 +28,7 @@ public class AddConditionalManaOfAnyColorEffect extends ManaEffect {
private final boolean oneChoice;
public AddConditionalManaOfAnyColorEffect(int amount, ConditionalManaBuilder manaBuilder) {
- this(new StaticValue(amount), manaBuilder);
+ this(StaticValue.get(amount), manaBuilder);
}
public AddConditionalManaOfAnyColorEffect(DynamicValue amount, ConditionalManaBuilder manaBuilder) {
diff --git a/Mage/src/main/java/mage/abilities/effects/mana/AddManaInAnyCombinationEffect.java b/Mage/src/main/java/mage/abilities/effects/mana/AddManaInAnyCombinationEffect.java
index ffe26270054..17e49384e38 100644
--- a/Mage/src/main/java/mage/abilities/effects/mana/AddManaInAnyCombinationEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/mana/AddManaInAnyCombinationEffect.java
@@ -23,11 +23,11 @@ public class AddManaInAnyCombinationEffect extends ManaEffect {
private final DynamicValue amount;
public AddManaInAnyCombinationEffect(int amount) {
- this(new StaticValue(amount), ColoredManaSymbol.B, ColoredManaSymbol.U, ColoredManaSymbol.R, ColoredManaSymbol.W, ColoredManaSymbol.G);
+ this(StaticValue.get(amount), ColoredManaSymbol.B, ColoredManaSymbol.U, ColoredManaSymbol.R, ColoredManaSymbol.W, ColoredManaSymbol.G);
}
public AddManaInAnyCombinationEffect(int amount, ColoredManaSymbol... coloredManaSymbols) {
- this(new StaticValue(amount), coloredManaSymbols);
+ this(StaticValue.get(amount), coloredManaSymbols);
}
public AddManaInAnyCombinationEffect(DynamicValue amount, ColoredManaSymbol... coloredManaSymbols) {
diff --git a/Mage/src/main/java/mage/abilities/keyword/BushidoAbility.java b/Mage/src/main/java/mage/abilities/keyword/BushidoAbility.java
index 46ee9d436bf..fe61fea3a22 100644
--- a/Mage/src/main/java/mage/abilities/keyword/BushidoAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/BushidoAbility.java
@@ -20,7 +20,7 @@ public class BushidoAbility extends TriggeredAbilityImpl {
private String rulesText = null;
public BushidoAbility(int value) {
- this(new StaticValue(value));
+ this(StaticValue.get(value));
rulesText = "Bushido " + value + getReminder(Integer.toString(value));
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/ChampionAbility.java b/Mage/src/main/java/mage/abilities/keyword/ChampionAbility.java
index b073f23f6fe..141af1bd3a8 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ChampionAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ChampionAbility.java
@@ -21,7 +21,6 @@ import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.Game;
@@ -97,7 +96,7 @@ public class ChampionAbility extends StaticAbility {
filter.add(Predicates.or(subtypesPredicates));
}
if (requiresCreature) {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
filter.add(AnotherPredicate.instance);
diff --git a/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java b/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java
index ef910117b75..211fee26027 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java
@@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SharesColorWithSourcePredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game;
@@ -56,7 +55,7 @@ public class ConspireAbility extends StaticAbility implements OptionalAdditional
static {
filter.add(Predicates.not(TappedPredicate.instance));
filter.add(new SharesColorWithSourcePredicate());
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public enum ConspireTargets {
diff --git a/Mage/src/main/java/mage/abilities/keyword/ModularAbility.java b/Mage/src/main/java/mage/abilities/keyword/ModularAbility.java
index 3f7ec1c4023..545062f5c7e 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ModularAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ModularAbility.java
@@ -14,7 +14,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterArtifactPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
@@ -43,7 +42,7 @@ public class ModularAbility extends DiesTriggeredAbility {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
private int amount;
private boolean sunburst;
@@ -136,7 +135,7 @@ class ModularDistributeCounterEffect extends OneShotEffect {
private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("artifact creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public ModularDistributeCounterEffect() {
diff --git a/Mage/src/main/java/mage/abilities/keyword/ProwessAbility.java b/Mage/src/main/java/mage/abilities/keyword/ProwessAbility.java
index ec8fee35b1e..dd242a70dfc 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ProwessAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ProwessAbility.java
@@ -8,7 +8,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public class ProwessAbility extends SpellCastControllerTriggeredAbility {
private static final FilterSpell filterNonCreatureSpell = new FilterSpell("noncreature spell");
static {
- filterNonCreatureSpell.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ filterNonCreatureSpell.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public ProwessAbility() {
diff --git a/Mage/src/main/java/mage/abilities/keyword/ReinforceAbility.java b/Mage/src/main/java/mage/abilities/keyword/ReinforceAbility.java
index 96e54314c3c..89b2d51a7bc 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ReinforceAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ReinforceAbility.java
@@ -17,7 +17,7 @@ public class ReinforceAbility extends SimpleActivatedAbility {
private Cost cost;
public ReinforceAbility(int count, Cost cost) {
- this(new StaticValue(count), cost);
+ this(StaticValue.get(count), cost);
}
public ReinforceAbility(DynamicValue count, Cost cost) {
diff --git a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java
index 5a270a4d9e6..9bde3078e55 100644
--- a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java
@@ -35,7 +35,7 @@ public class RepairAbility extends DiesTriggeredAbility {
private String ruleText;
public RepairAbility(int count) {
- super(new AddCountersSourceEffect(CounterType.REPAIR.createInstance(), new StaticValue(count), false, true));
+ super(new AddCountersSourceEffect(CounterType.REPAIR.createInstance(), StaticValue.get(count), false, true));
addSubAbility(new RepairBeginningOfUpkeepInterveningIfTriggeredAbility());
addSubAbility(new RepairCastFromGraveyardTriggeredAbility());
diff --git a/Mage/src/main/java/mage/abilities/keyword/SoulshiftAbility.java b/Mage/src/main/java/mage/abilities/keyword/SoulshiftAbility.java
index 3c56b148e81..90bea4bb883 100644
--- a/Mage/src/main/java/mage/abilities/keyword/SoulshiftAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/SoulshiftAbility.java
@@ -33,7 +33,7 @@ public class SoulshiftAbility extends DiesTriggeredAbility {
private final DynamicValue amount;
public SoulshiftAbility(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public SoulshiftAbility(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/abilities/mana/ConditionalAnyColorManaAbility.java b/Mage/src/main/java/mage/abilities/mana/ConditionalAnyColorManaAbility.java
index 26f751b3712..c8d9cf3ac48 100644
--- a/Mage/src/main/java/mage/abilities/mana/ConditionalAnyColorManaAbility.java
+++ b/Mage/src/main/java/mage/abilities/mana/ConditionalAnyColorManaAbility.java
@@ -31,7 +31,7 @@ public class ConditionalAnyColorManaAbility extends ActivatedManaAbilityImpl {
}
public ConditionalAnyColorManaAbility(Cost cost, int amount, ConditionalManaBuilder manaBuilder, boolean oneChoice) {
- this(cost, new StaticValue(amount), manaBuilder, oneChoice);
+ this(cost, StaticValue.get(amount), manaBuilder, oneChoice);
}
public ConditionalAnyColorManaAbility(Cost cost, DynamicValue amount, ConditionalManaBuilder manaBuilder, boolean oneChoice) {
diff --git a/Mage/src/main/java/mage/constants/CardType.java b/Mage/src/main/java/mage/constants/CardType.java
index 54fb252ac50..821db4a1ba3 100644
--- a/Mage/src/main/java/mage/constants/CardType.java
+++ b/Mage/src/main/java/mage/constants/CardType.java
@@ -1,10 +1,13 @@
package mage.constants;
+import mage.MageObject;
+import mage.filter.predicate.Predicate;
+import mage.game.Game;
+
import java.util.Arrays;
import java.util.EnumSet;
/**
- *
* @author North
*/
public enum CardType {
@@ -20,10 +23,12 @@ public enum CardType {
private final String text;
private final boolean permanentType;
+ private final CardTypePredicate predicate;
CardType(String text, boolean permanentType) {
this.text = text;
this.permanentType = permanentType;
+ this.predicate = new CardTypePredicate(this);
}
@Override
@@ -60,4 +65,26 @@ public enum CardType {
return cardTypes.toArray(new CardType[0]);
}
+ public CardTypePredicate getPredicate() {
+ return this.predicate;
+ }
+
+ public static class CardTypePredicate implements Predicate {
+
+ private final CardType cardType;
+
+ private CardTypePredicate(CardType cardType) {
+ this.cardType = cardType;
+ }
+
+ @Override
+ public boolean apply(MageObject input, Game game) {
+ return input.getCardType().contains(cardType);
+ }
+
+ @Override
+ public String toString() {
+ return "CardType(" + cardType.toString() + ')';
+ }
+ }
}
diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java
index 7ee3a2caa23..d1ec71d603d 100644
--- a/Mage/src/main/java/mage/filter/StaticFilters.java
+++ b/Mage/src/main/java/mage/filter/StaticFilters.java
@@ -11,7 +11,6 @@ import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.filter.common.*;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.MulticoloredPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
@@ -50,6 +49,13 @@ public final class StaticFilters {
FILTER_CARD.setLockedFilter(true);
}
+
+ public static final FilterCard FILTER_CARD_A = new FilterCard("a card");
+
+ static {
+ FILTER_CARD_A.setLockedFilter(true);
+ }
+
public static final FilterCard FILTER_CARD_CARDS = new FilterCard("cards");
static {
@@ -221,7 +227,7 @@ public final class StaticFilters {
public static final FilterControlledArtifactPermanent FILTER_ARTIFACTS_NON_CREATURE = new FilterControlledArtifactPermanent("Noncreature artifacts");
static {
- FILTER_ARTIFACTS_NON_CREATURE.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ FILTER_ARTIFACTS_NON_CREATURE.add(Predicates.not(CardType.CREATURE.getPredicate()));
FILTER_ARTIFACTS_NON_CREATURE.setLockedFilter(true);
}
@@ -229,8 +235,8 @@ public final class StaticFilters {
static {
FILTER_PERMANENT_ARTIFACT_OR_CREATURE.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
FILTER_PERMANENT_ARTIFACT_OR_CREATURE.setLockedFilter(true);
}
@@ -239,9 +245,9 @@ public final class StaticFilters {
static {
FILTER_PERMANENT_ARTIFACT_CREATURE_OR_ENCHANTMENT.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate()
));
FILTER_PERMANENT_ARTIFACT_CREATURE_OR_ENCHANTMENT.setLockedFilter(true);
}
@@ -250,10 +256,10 @@ public final class StaticFilters {
static {
FILTER_PERMANENT_ARTIFACT_CREATURE_ENCHANTMENT_OR_LAND.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()
));
FILTER_PERMANENT_ARTIFACT_CREATURE_ENCHANTMENT_OR_LAND.setLockedFilter(true);
}
@@ -280,8 +286,8 @@ public final class StaticFilters {
static {
FILTER_CONTROLLED_PERMANENT_ARTIFACT_OR_CREATURE.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
FILTER_CONTROLLED_PERMANENT_ARTIFACT_OR_CREATURE.setLockedFilter(true);
}
@@ -316,7 +322,7 @@ public final class StaticFilters {
static {
FILTER_OPPONENTS_PERMANENT_ARTIFACT.add(new ControllerPredicate(TargetController.OPPONENT));
- FILTER_OPPONENTS_PERMANENT_ARTIFACT.add(new CardTypePredicate(CardType.ARTIFACT));
+ FILTER_OPPONENTS_PERMANENT_ARTIFACT.add(CardType.ARTIFACT.getPredicate());
FILTER_OPPONENTS_PERMANENT_ARTIFACT.setLockedFilter(true);
}
@@ -325,8 +331,8 @@ public final class StaticFilters {
static {
FILTER_OPPONENTS_PERMANENT_ARTIFACT_OR_CREATURE.add(new ControllerPredicate(TargetController.OPPONENT));
FILTER_OPPONENTS_PERMANENT_ARTIFACT_OR_CREATURE.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
FILTER_OPPONENTS_PERMANENT_ARTIFACT_OR_CREATURE.setLockedFilter(true);
}
@@ -367,7 +373,7 @@ public final class StaticFilters {
static {
FILTER_CONTROLLED_PERMANENT_NON_LAND.add(
- Predicates.not(new CardTypePredicate(CardType.LAND))
+ Predicates.not(CardType.LAND.getPredicate())
);
FILTER_CONTROLLED_PERMANENT_NON_LAND.setLockedFilter(true);
}
@@ -419,7 +425,7 @@ public final class StaticFilters {
static {
FILTER_PERMANENT_CREATURE_OR_PLANESWALKER_A.add(
- Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.PLANESWALKER)));
+ Predicates.or(CardType.CREATURE.getPredicate(), CardType.PLANESWALKER.getPredicate()));
FILTER_PERMANENT_CREATURE_OR_PLANESWALKER_A.setLockedFilter(true);
}
@@ -510,13 +516,13 @@ public final class StaticFilters {
FILTER_SPELL_CREATURE.setLockedFilter(true);
}
- public static final FilterSpell FILTER_SPELL_NON_CREATURE = (FilterSpell) new FilterSpell("noncreature spell").add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ public static final FilterSpell FILTER_SPELL_NON_CREATURE = (FilterSpell) new FilterSpell("noncreature spell").add(Predicates.not(CardType.CREATURE.getPredicate()));
static {
FILTER_SPELL_NON_CREATURE.setLockedFilter(true);
}
- public static final FilterSpell FILTER_SPELL_A_NON_CREATURE = (FilterSpell) new FilterSpell("a noncreature spell").add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ public static final FilterSpell FILTER_SPELL_A_NON_CREATURE = (FilterSpell) new FilterSpell("a noncreature spell").add(Predicates.not(CardType.CREATURE.getPredicate()));
static {
FILTER_SPELL_A_NON_CREATURE.setLockedFilter(true);
@@ -545,8 +551,8 @@ public final class StaticFilters {
static {
FILTER_SPELL_AN_INSTANT_OR_SORCERY.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
FILTER_SPELL_AN_INSTANT_OR_SORCERY.setLockedFilter(true);
}
@@ -555,8 +561,8 @@ public final class StaticFilters {
static {
FILTER_SPELL_INSTANT_OR_SORCERY.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
FILTER_SPELL_INSTANT_OR_SORCERY.setLockedFilter(true);
}
@@ -565,8 +571,8 @@ public final class StaticFilters {
static {
FILTER_SPELLS_INSTANT_OR_SORCERY.add(Predicates.or(
- new CardTypePredicate(CardType.INSTANT),
- new CardTypePredicate(CardType.SORCERY)
+ CardType.INSTANT.getPredicate(),
+ CardType.SORCERY.getPredicate()
));
FILTER_SPELLS_INSTANT_OR_SORCERY.setLockedFilter(true);
}
@@ -588,7 +594,7 @@ public final class StaticFilters {
public static final FilterPermanent FILTER_PERMANENT_AURA = new FilterPermanent();
static {
- FILTER_PERMANENT_AURA.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ FILTER_PERMANENT_AURA.add(CardType.ENCHANTMENT.getPredicate());
FILTER_PERMANENT_AURA.add(new SubtypePredicate(SubType.AURA));
FILTER_PERMANENT_AURA.setLockedFilter(true);
}
@@ -596,7 +602,7 @@ public final class StaticFilters {
public static final FilterPermanent FILTER_PERMANENT_EQUIPMENT = new FilterPermanent();
static {
- FILTER_PERMANENT_EQUIPMENT.add(new CardTypePredicate(CardType.ARTIFACT));
+ FILTER_PERMANENT_EQUIPMENT.add(CardType.ARTIFACT.getPredicate());
FILTER_PERMANENT_EQUIPMENT.add(new SubtypePredicate(SubType.EQUIPMENT));
FILTER_PERMANENT_EQUIPMENT.setLockedFilter(true);
}
@@ -604,7 +610,7 @@ public final class StaticFilters {
public static final FilterPermanent FILTER_PERMANENT_FORTIFICATION = new FilterPermanent();
static {
- FILTER_PERMANENT_FORTIFICATION.add(new CardTypePredicate(CardType.ARTIFACT));
+ FILTER_PERMANENT_FORTIFICATION.add(CardType.ARTIFACT.getPredicate());
FILTER_PERMANENT_FORTIFICATION.add(new SubtypePredicate(SubType.FORTIFICATION));
FILTER_PERMANENT_FORTIFICATION.setLockedFilter(true);
}
@@ -620,8 +626,8 @@ public final class StaticFilters {
static {
FILTER_CARD_ARTIFACT_OR_CREATURE.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE)
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate()
));
FILTER_CARD_ARTIFACT_OR_CREATURE.setLockedFilter(true);
}
diff --git a/Mage/src/main/java/mage/filter/common/FilterArtifactCard.java b/Mage/src/main/java/mage/filter/common/FilterArtifactCard.java
index 1fc8f58e3af..4c1f841b659 100644
--- a/Mage/src/main/java/mage/filter/common/FilterArtifactCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterArtifactCard.java
@@ -4,7 +4,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -18,7 +17,7 @@ public class FilterArtifactCard extends FilterCard {
public FilterArtifactCard(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.ARTIFACT));
+ this.add(CardType.ARTIFACT.getPredicate());
}
public FilterArtifactCard(final FilterArtifactCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterArtifactCreaturePermanent.java b/Mage/src/main/java/mage/filter/common/FilterArtifactCreaturePermanent.java
index 1f3be2d86fb..3c6e2032cb4 100644
--- a/Mage/src/main/java/mage/filter/common/FilterArtifactCreaturePermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterArtifactCreaturePermanent.java
@@ -2,7 +2,6 @@
package mage.filter.common;
import mage.constants.CardType;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -16,7 +15,7 @@ public class FilterArtifactCreaturePermanent extends FilterCreaturePermanent {
public FilterArtifactCreaturePermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.ARTIFACT));
+ this.add(CardType.ARTIFACT.getPredicate());
}
public FilterArtifactCreaturePermanent(final FilterArtifactCreaturePermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterArtifactOrEnchantmentCard.java b/Mage/src/main/java/mage/filter/common/FilterArtifactOrEnchantmentCard.java
index e54954018b7..b2cf74ad9be 100644
--- a/Mage/src/main/java/mage/filter/common/FilterArtifactOrEnchantmentCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterArtifactOrEnchantmentCard.java
@@ -4,7 +4,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -18,7 +17,7 @@ public class FilterArtifactOrEnchantmentCard extends FilterCard {
public FilterArtifactOrEnchantmentCard(String name) {
super(name);
- this.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ this.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public FilterArtifactOrEnchantmentCard(final FilterArtifactOrEnchantmentCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterArtifactOrEnchantmentPermanent.java b/Mage/src/main/java/mage/filter/common/FilterArtifactOrEnchantmentPermanent.java
index 15eab52f880..5b8619f1d46 100644
--- a/Mage/src/main/java/mage/filter/common/FilterArtifactOrEnchantmentPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterArtifactOrEnchantmentPermanent.java
@@ -4,7 +4,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -18,7 +17,7 @@ public class FilterArtifactOrEnchantmentPermanent extends FilterPermanent {
public FilterArtifactOrEnchantmentPermanent(String name) {
super(name);
- this.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
+ this.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
}
public FilterArtifactOrEnchantmentPermanent(final FilterArtifactOrEnchantmentPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterArtifactPermanent.java b/Mage/src/main/java/mage/filter/common/FilterArtifactPermanent.java
index c3555499add..a9b527afd05 100644
--- a/Mage/src/main/java/mage/filter/common/FilterArtifactPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterArtifactPermanent.java
@@ -4,7 +4,7 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
/**
*
@@ -18,7 +18,7 @@ public class FilterArtifactPermanent extends FilterPermanent {
public FilterArtifactPermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.ARTIFACT));
+ this.add(CardType.ARTIFACT.getPredicate());
}
public FilterArtifactPermanent(final FilterArtifactPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterArtifactSpell.java b/Mage/src/main/java/mage/filter/common/FilterArtifactSpell.java
index 7d13cc30489..dda5d74a7fb 100644
--- a/Mage/src/main/java/mage/filter/common/FilterArtifactSpell.java
+++ b/Mage/src/main/java/mage/filter/common/FilterArtifactSpell.java
@@ -3,7 +3,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -17,6 +16,6 @@ public class FilterArtifactSpell extends FilterSpell {
public FilterArtifactSpell(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.ARTIFACT));
+ this.add(CardType.ARTIFACT.getPredicate());
}
}
diff --git a/Mage/src/main/java/mage/filter/common/FilterBasicLandCard.java b/Mage/src/main/java/mage/filter/common/FilterBasicLandCard.java
index 3f6afece52d..9ecf609bd45 100644
--- a/Mage/src/main/java/mage/filter/common/FilterBasicLandCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterBasicLandCard.java
@@ -4,7 +4,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
/**
@@ -19,7 +18,7 @@ public class FilterBasicLandCard extends FilterCard {
public FilterBasicLandCard(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.LAND));
+ this.add(CardType.LAND.getPredicate());
this.add(new SupertypePredicate(SuperType.BASIC));
}
diff --git a/Mage/src/main/java/mage/filter/common/FilterControlledArtifactPermanent.java b/Mage/src/main/java/mage/filter/common/FilterControlledArtifactPermanent.java
index 44698da4a5a..b74f2ca7d0f 100644
--- a/Mage/src/main/java/mage/filter/common/FilterControlledArtifactPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterControlledArtifactPermanent.java
@@ -2,7 +2,6 @@
package mage.filter.common;
import mage.constants.CardType;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -18,7 +17,7 @@ public class FilterControlledArtifactPermanent extends FilterControlledPermanent
public FilterControlledArtifactPermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.ARTIFACT));
+ this.add(CardType.ARTIFACT.getPredicate());
}
public FilterControlledArtifactPermanent(final FilterControlledArtifactPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterControlledCreaturePermanent.java b/Mage/src/main/java/mage/filter/common/FilterControlledCreaturePermanent.java
index a723e2e5736..df2abdfb34f 100644
--- a/Mage/src/main/java/mage/filter/common/FilterControlledCreaturePermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterControlledCreaturePermanent.java
@@ -3,7 +3,7 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.constants.SubType;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -27,7 +27,7 @@ public class FilterControlledCreaturePermanent extends FilterControlledPermanent
public FilterControlledCreaturePermanent(SubType subtype, String name) {
super(name);
- this.add(new CardTypePredicate(CardType.CREATURE));
+ this.add(CardType.CREATURE.getPredicate());
if(subtype != null) {
this.add(new SubtypePredicate(subtype));
}
diff --git a/Mage/src/main/java/mage/filter/common/FilterControlledEnchantmentPermanent.java b/Mage/src/main/java/mage/filter/common/FilterControlledEnchantmentPermanent.java
index f5a6456a83a..a249812cfcd 100644
--- a/Mage/src/main/java/mage/filter/common/FilterControlledEnchantmentPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterControlledEnchantmentPermanent.java
@@ -2,7 +2,6 @@
package mage.filter.common;
import mage.constants.CardType;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,7 +20,7 @@ public class FilterControlledEnchantmentPermanent extends FilterControlledPerman
*/
public FilterControlledEnchantmentPermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ this.add(CardType.ENCHANTMENT.getPredicate());
}
public FilterControlledEnchantmentPermanent(final FilterControlledEnchantmentPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterControlledLandPermanent.java b/Mage/src/main/java/mage/filter/common/FilterControlledLandPermanent.java
index 78a08fcc149..2dae2c42029 100644
--- a/Mage/src/main/java/mage/filter/common/FilterControlledLandPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterControlledLandPermanent.java
@@ -3,7 +3,6 @@
package mage.filter.common;
import mage.constants.CardType;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -17,7 +16,7 @@ public class FilterControlledLandPermanent extends FilterControlledPermanent {
public FilterControlledLandPermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.LAND));
+ this.add(CardType.LAND.getPredicate());
}
public FilterControlledLandPermanent(final FilterControlledLandPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterControlledPlaneswalkerPermanent.java b/Mage/src/main/java/mage/filter/common/FilterControlledPlaneswalkerPermanent.java
index ef474acf326..d115bdda669 100644
--- a/Mage/src/main/java/mage/filter/common/FilterControlledPlaneswalkerPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterControlledPlaneswalkerPermanent.java
@@ -2,7 +2,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.constants.SubType;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -20,13 +19,13 @@ public class FilterControlledPlaneswalkerPermanent extends FilterControlledPerma
public FilterControlledPlaneswalkerPermanent(SubType subType, String name) {
super(name);
- this.add(new CardTypePredicate(CardType.PLANESWALKER));
+ this.add(CardType.PLANESWALKER.getPredicate());
this.add(new SubtypePredicate(subType));
}
public FilterControlledPlaneswalkerPermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.PLANESWALKER));
+ this.add(CardType.PLANESWALKER.getPredicate());
}
public FilterControlledPlaneswalkerPermanent(final FilterControlledPlaneswalkerPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterCreatureCard.java b/Mage/src/main/java/mage/filter/common/FilterCreatureCard.java
index 383a27aec37..6bc79cd7f36 100644
--- a/Mage/src/main/java/mage/filter/common/FilterCreatureCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterCreatureCard.java
@@ -4,7 +4,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -18,7 +17,7 @@ public class FilterCreatureCard extends FilterCard {
public FilterCreatureCard(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.CREATURE));
+ this.add(CardType.CREATURE.getPredicate());
}
public FilterCreatureCard(final FilterCreatureCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterCreatureOrPlaneswalkerPermanent.java b/Mage/src/main/java/mage/filter/common/FilterCreatureOrPlaneswalkerPermanent.java
index 1c4710fb8f5..9e6cde6cadc 100644
--- a/Mage/src/main/java/mage/filter/common/FilterCreatureOrPlaneswalkerPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterCreatureOrPlaneswalkerPermanent.java
@@ -5,7 +5,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,8 +19,8 @@ public class FilterCreatureOrPlaneswalkerPermanent extends FilterPermanent {
public FilterCreatureOrPlaneswalkerPermanent(String name) {
super(name);
this.add(Predicates.or(
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.CREATURE.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public FilterCreatureOrPlaneswalkerPermanent(final FilterCreatureOrPlaneswalkerPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterCreaturePermanent.java b/Mage/src/main/java/mage/filter/common/FilterCreaturePermanent.java
index 4e0283f6b7f..f00b74d50d8 100644
--- a/Mage/src/main/java/mage/filter/common/FilterCreaturePermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterCreaturePermanent.java
@@ -5,7 +5,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -20,12 +19,12 @@ public class FilterCreaturePermanent extends FilterPermanent {
public FilterCreaturePermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.CREATURE));
+ this.add(CardType.CREATURE.getPredicate());
}
public FilterCreaturePermanent(SubType subtype, String name) {
super(name);
- this.add(new CardTypePredicate(CardType.CREATURE));
+ this.add(CardType.CREATURE.getPredicate());
this.add(new SubtypePredicate(subtype));
}
diff --git a/Mage/src/main/java/mage/filter/common/FilterCreatureSpell.java b/Mage/src/main/java/mage/filter/common/FilterCreatureSpell.java
index bbf667d2943..846bc146b9f 100644
--- a/Mage/src/main/java/mage/filter/common/FilterCreatureSpell.java
+++ b/Mage/src/main/java/mage/filter/common/FilterCreatureSpell.java
@@ -6,7 +6,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterSpell;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -20,7 +19,7 @@ public class FilterCreatureSpell extends FilterSpell {
public FilterCreatureSpell(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.CREATURE));
+ this.add(CardType.CREATURE.getPredicate());
}
}
diff --git a/Mage/src/main/java/mage/filter/common/FilterEnchantmentCard.java b/Mage/src/main/java/mage/filter/common/FilterEnchantmentCard.java
index 916313c2252..c194b9e6fd4 100644
--- a/Mage/src/main/java/mage/filter/common/FilterEnchantmentCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterEnchantmentCard.java
@@ -3,7 +3,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -17,7 +16,7 @@ public class FilterEnchantmentCard extends FilterCard {
public FilterEnchantmentCard(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ this.add(CardType.ENCHANTMENT.getPredicate());
}
public FilterEnchantmentCard(final FilterEnchantmentCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterEnchantmentPermanent.java b/Mage/src/main/java/mage/filter/common/FilterEnchantmentPermanent.java
index 13fad6a45a4..cc883384a37 100644
--- a/Mage/src/main/java/mage/filter/common/FilterEnchantmentPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterEnchantmentPermanent.java
@@ -4,7 +4,6 @@
package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -18,7 +17,7 @@ public class FilterEnchantmentPermanent extends FilterPermanent {
public FilterEnchantmentPermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ this.add(CardType.ENCHANTMENT.getPredicate());
}
public FilterEnchantmentPermanent(final FilterEnchantmentPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterInstantOrSorceryCard.java b/Mage/src/main/java/mage/filter/common/FilterInstantOrSorceryCard.java
index 6bdf6689915..c40dec2c23d 100644
--- a/Mage/src/main/java/mage/filter/common/FilterInstantOrSorceryCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterInstantOrSorceryCard.java
@@ -7,7 +7,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -22,7 +21,7 @@ public class FilterInstantOrSorceryCard extends FilterCard {
public FilterInstantOrSorceryCard(String name) {
super(name);
- this.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ this.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public FilterInstantOrSorceryCard(final FilterInstantOrSorceryCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterInstantOrSorcerySpell.java b/Mage/src/main/java/mage/filter/common/FilterInstantOrSorcerySpell.java
index 711242f193e..51438217b28 100644
--- a/Mage/src/main/java/mage/filter/common/FilterInstantOrSorcerySpell.java
+++ b/Mage/src/main/java/mage/filter/common/FilterInstantOrSorcerySpell.java
@@ -4,7 +4,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public class FilterInstantOrSorcerySpell extends FilterSpell {
public FilterInstantOrSorcerySpell(String name) {
super(name);
- this.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ this.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public FilterInstantOrSorcerySpell(final FilterInstantOrSorcerySpell filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterLandCard.java b/Mage/src/main/java/mage/filter/common/FilterLandCard.java
index 780dd3b1606..7d8ccddbd42 100644
--- a/Mage/src/main/java/mage/filter/common/FilterLandCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterLandCard.java
@@ -5,7 +5,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
/**
@@ -20,7 +19,7 @@ public class FilterLandCard extends FilterCard {
public FilterLandCard(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.LAND));
+ this.add(CardType.LAND.getPredicate());
}
public static FilterLandCard basicLandCard() {
diff --git a/Mage/src/main/java/mage/filter/common/FilterLandPermanent.java b/Mage/src/main/java/mage/filter/common/FilterLandPermanent.java
index 3d517b058c1..57b190fbdae 100644
--- a/Mage/src/main/java/mage/filter/common/FilterLandPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterLandPermanent.java
@@ -7,7 +7,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
@@ -22,12 +21,12 @@ public class FilterLandPermanent extends FilterPermanent {
public FilterLandPermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.LAND));
+ this.add(CardType.LAND.getPredicate());
}
public FilterLandPermanent(SubType subtype, String name) {
super(name);
- this.add(new CardTypePredicate(CardType.LAND));
+ this.add(CardType.LAND.getPredicate());
this.add(new SubtypePredicate(subtype));
}
diff --git a/Mage/src/main/java/mage/filter/common/FilterNoncreatureCard.java b/Mage/src/main/java/mage/filter/common/FilterNoncreatureCard.java
index c3c37661872..78ed21e048b 100644
--- a/Mage/src/main/java/mage/filter/common/FilterNoncreatureCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterNoncreatureCard.java
@@ -3,7 +3,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author ssouders412
@@ -16,7 +15,7 @@ public class FilterNoncreatureCard extends FilterCard {
public FilterNoncreatureCard(String name) {
super(name);
- this.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
+ this.add(Predicates.not(CardType.CREATURE.getPredicate()));
}
public FilterNoncreatureCard(final FilterNoncreatureCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterNonlandCard.java b/Mage/src/main/java/mage/filter/common/FilterNonlandCard.java
index 055485ac2c6..1e06aeb3eab 100644
--- a/Mage/src/main/java/mage/filter/common/FilterNonlandCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterNonlandCard.java
@@ -5,7 +5,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -19,7 +18,7 @@ public class FilterNonlandCard extends FilterCard {
public FilterNonlandCard(String name) {
super(name);
- this.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ this.add(Predicates.not(CardType.LAND.getPredicate()));
}
public FilterNonlandCard(final FilterNonlandCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterNonlandPermanent.java b/Mage/src/main/java/mage/filter/common/FilterNonlandPermanent.java
index b63290f1f77..4c0890ca63d 100644
--- a/Mage/src/main/java/mage/filter/common/FilterNonlandPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterNonlandPermanent.java
@@ -5,7 +5,7 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
+
/**
*
@@ -19,7 +19,7 @@ public class FilterNonlandPermanent extends FilterPermanent {
public FilterNonlandPermanent(String name) {
super(name);
- this.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
+ this.add(Predicates.not(CardType.LAND.getPredicate()));
}
public FilterNonlandPermanent(final FilterNonlandPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterPermanentCard.java b/Mage/src/main/java/mage/filter/common/FilterPermanentCard.java
index 760a122aa75..9d76594bb08 100644
--- a/Mage/src/main/java/mage/filter/common/FilterPermanentCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterPermanentCard.java
@@ -5,7 +5,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -21,11 +20,11 @@ public class FilterPermanentCard extends FilterCard {
super(name);
this.add(
Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND),
- new CardTypePredicate(CardType.PLANESWALKER)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate(),
+ CardType.PLANESWALKER.getPredicate()));
}
public FilterPermanentCard(final FilterPermanentCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterPlaneswalkerCard.java b/Mage/src/main/java/mage/filter/common/FilterPlaneswalkerCard.java
index c379a4892ab..ba859122d55 100644
--- a/Mage/src/main/java/mage/filter/common/FilterPlaneswalkerCard.java
+++ b/Mage/src/main/java/mage/filter/common/FilterPlaneswalkerCard.java
@@ -4,7 +4,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
@@ -18,7 +17,7 @@ public class FilterPlaneswalkerCard extends FilterCard {
public FilterPlaneswalkerCard(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.PLANESWALKER));
+ this.add(CardType.PLANESWALKER.getPredicate());
}
public FilterPlaneswalkerCard(final FilterPlaneswalkerCard filter) {
diff --git a/Mage/src/main/java/mage/filter/common/FilterPlaneswalkerPermanent.java b/Mage/src/main/java/mage/filter/common/FilterPlaneswalkerPermanent.java
index 8149b208bf9..099b9dbf0c2 100644
--- a/Mage/src/main/java/mage/filter/common/FilterPlaneswalkerPermanent.java
+++ b/Mage/src/main/java/mage/filter/common/FilterPlaneswalkerPermanent.java
@@ -5,7 +5,6 @@ package mage.filter.common;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
/**
@@ -24,7 +23,7 @@ public class FilterPlaneswalkerPermanent extends FilterPermanent {
public FilterPlaneswalkerPermanent(String name) {
super(name);
- this.add(new CardTypePredicate(CardType.PLANESWALKER));
+ this.add(CardType.PLANESWALKER.getPredicate());
}
public FilterPlaneswalkerPermanent(final FilterPlaneswalkerPermanent filter) {
diff --git a/Mage/src/main/java/mage/filter/predicate/mageobject/CardTypePredicate.java b/Mage/src/main/java/mage/filter/predicate/mageobject/CardTypePredicate.java
deleted file mode 100644
index fa1cf8239f5..00000000000
--- a/Mage/src/main/java/mage/filter/predicate/mageobject/CardTypePredicate.java
+++ /dev/null
@@ -1,30 +0,0 @@
-
-package mage.filter.predicate.mageobject;
-
-import mage.constants.CardType;
-import mage.MageObject;
-import mage.filter.predicate.Predicate;
-import mage.game.Game;
-
-/**
- *
- * @author North
- */
-public class CardTypePredicate implements Predicate {
-
- private final CardType cardType;
-
- public CardTypePredicate(CardType cardType) {
- this.cardType = cardType;
- }
-
- @Override
- public boolean apply(MageObject input, Game game) {
- return input.getCardType().contains(cardType);
- }
-
- @Override
- public String toString() {
- return "CardType(" + cardType.toString() + ')';
- }
-}
diff --git a/Mage/src/main/java/mage/game/command/emblems/ElspethKnightErrantEmblem.java b/Mage/src/main/java/mage/game/command/emblems/ElspethKnightErrantEmblem.java
index b6b292b238a..133cc989a29 100644
--- a/Mage/src/main/java/mage/game/command/emblems/ElspethKnightErrantEmblem.java
+++ b/Mage/src/main/java/mage/game/command/emblems/ElspethKnightErrantEmblem.java
@@ -10,7 +10,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.command.Emblem;
/**
@@ -22,10 +21,10 @@ public final class ElspethKnightErrantEmblem extends Emblem {
this.setName("Emblem Elspeth");
FilterControlledPermanent filter = new FilterControlledPermanent("Artifacts, creatures, enchantments, and lands you control");
filter.add(Predicates.or(
- new CardTypePredicate(CardType.ARTIFACT),
- new CardTypePredicate(CardType.CREATURE),
- new CardTypePredicate(CardType.ENCHANTMENT),
- new CardTypePredicate(CardType.LAND)));
+ CardType.ARTIFACT.getPredicate(),
+ CardType.CREATURE.getPredicate(),
+ CardType.ENCHANTMENT.getPredicate(),
+ CardType.LAND.getPredicate()));
Effect effect = new GainAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, filter, false);
effect.setText("Artifacts, creatures, enchantments, and lands you control have indestructible");
this.getAbilities().add(new SimpleStaticAbility(Zone.COMMAND, effect));
diff --git a/Mage/src/main/java/mage/game/command/planes/AcademyAtTolariaWestPlane.java b/Mage/src/main/java/mage/game/command/planes/AcademyAtTolariaWestPlane.java
index 58b485755b0..e8b54b8e296 100644
--- a/Mage/src/main/java/mage/game/command/planes/AcademyAtTolariaWestPlane.java
+++ b/Mage/src/main/java/mage/game/command/planes/AcademyAtTolariaWestPlane.java
@@ -63,7 +63,7 @@ class DrawCardsActivePlayerEffect extends OneShotEffect {
protected DynamicValue amount;
public DrawCardsActivePlayerEffect(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public DrawCardsActivePlayerEffect(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/game/command/planes/AkoumPlane.java b/Mage/src/main/java/mage/game/command/planes/AkoumPlane.java
index 0b5da1d1e49..3582cc94828 100644
--- a/Mage/src/main/java/mage/game/command/planes/AkoumPlane.java
+++ b/Mage/src/main/java/mage/game/command/planes/AkoumPlane.java
@@ -18,7 +18,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.EnchantedPredicate;
import mage.game.command.Plane;
import mage.target.Target;
@@ -36,7 +35,7 @@ public class AkoumPlane extends Plane {
static {
filter.add(Predicates.not(EnchantedPredicate.instance));
- filterCard.add(new CardTypePredicate(CardType.ENCHANTMENT));
+ filterCard.add(CardType.ENCHANTMENT.getPredicate());
}
public AkoumPlane() {
diff --git a/Mage/src/main/java/mage/game/command/planes/TrailOfTheMageRingsPlane.java b/Mage/src/main/java/mage/game/command/planes/TrailOfTheMageRingsPlane.java
index 7b13f11c208..fe00e2898df 100644
--- a/Mage/src/main/java/mage/game/command/planes/TrailOfTheMageRingsPlane.java
+++ b/Mage/src/main/java/mage/game/command/planes/TrailOfTheMageRingsPlane.java
@@ -26,7 +26,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterInstantOrSorceryCard;
import mage.filter.predicate.Predicates;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.command.Plane;
import mage.game.stack.Spell;
@@ -45,7 +44,7 @@ public class TrailOfTheMageRingsPlane extends Plane {
private static final FilterCard filter = new FilterCard("creature spells");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public TrailOfTheMageRingsPlane() {
@@ -78,7 +77,7 @@ class TrailOfTheMageRingsReboundEffect extends ContinuousEffectImpl {
protected static final FilterCard filter = new FilterCard("Instant and sorcery spells");
static {
- filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
+ filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
}
public TrailOfTheMageRingsReboundEffect() {
diff --git a/Mage/src/main/java/mage/game/command/planes/TurriIslandPlane.java b/Mage/src/main/java/mage/game/command/planes/TurriIslandPlane.java
index 29dc7e71f83..16b5665f2df 100644
--- a/Mage/src/main/java/mage/game/command/planes/TurriIslandPlane.java
+++ b/Mage/src/main/java/mage/game/command/planes/TurriIslandPlane.java
@@ -13,7 +13,6 @@ import mage.abilities.effects.Effect;
import mage.abilities.effects.common.RevealLibraryPutIntoHandEffect;
import mage.abilities.effects.common.RollPlanarDieEffect;
import mage.abilities.effects.common.cost.CostModificationEffectImpl;
-import mage.abilities.effects.common.cost.SpellsCostReductionAllEffect;
import mage.cards.Card;
import mage.constants.CardType;
import mage.constants.CostModificationType;
@@ -23,7 +22,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.command.Plane;
import mage.game.stack.Spell;
@@ -67,7 +65,7 @@ class TurriIslandEffect extends CostModificationEffectImpl {
private static final FilterCard filter = new FilterCard("creature spells");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
private static final String rule = "Creature spells cost {2} less to cast";
diff --git a/Mage/src/main/java/mage/game/command/planes/UndercityReachesPlane.java b/Mage/src/main/java/mage/game/command/planes/UndercityReachesPlane.java
index 351207d6ce6..1bb70f17f67 100644
--- a/Mage/src/main/java/mage/game/command/planes/UndercityReachesPlane.java
+++ b/Mage/src/main/java/mage/game/command/planes/UndercityReachesPlane.java
@@ -20,7 +20,6 @@ import mage.constants.Duration;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.command.Plane;
import mage.game.events.DamagedPlayerEvent;
@@ -40,7 +39,7 @@ public class UndercityReachesPlane extends Plane {
private static final FilterCard filter = new FilterCard("creature spells");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
}
public UndercityReachesPlane() {
@@ -102,7 +101,7 @@ class UndercityReachesTriggeredAbility extends TriggeredAbilityImpl {
if (((DamagedPlayerEvent) event).isCombatDamage()) {
Permanent creature = game.getPermanent(event.getSourceId());
if (creature != null) {
- Effect effect = new DrawCardTargetEffect(new StaticValue(1), false, true);
+ Effect effect = new DrawCardTargetEffect(StaticValue.get(1), false, true);
effect.setTargetPointer(new FixedTarget(creature.getControllerId()));
effect.apply(game, null);
return true;
diff --git a/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java b/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java
index 214b4f07d62..b8dc7a8e88f 100644
--- a/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java
+++ b/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java
@@ -17,10 +17,8 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.Game;
-import mage.game.permanent.Permanent;
import mage.players.Player;
/**
@@ -71,7 +69,7 @@ class BelzenlokDemonTokenEffect extends OneShotEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("another creature");
static {
- filter.add(new CardTypePredicate(CardType.CREATURE));
+ filter.add(CardType.CREATURE.getPredicate());
filter.add(AnotherPredicate.instance);
}
diff --git a/Mage/src/main/java/mage/game/permanent/token/KarnConstructToken.java b/Mage/src/main/java/mage/game/permanent/token/KarnConstructToken.java
index 3b5a5b8bc7c..842cc6d7da1 100644
--- a/Mage/src/main/java/mage/game/permanent/token/KarnConstructToken.java
+++ b/Mage/src/main/java/mage/game/permanent/token/KarnConstructToken.java
@@ -10,7 +10,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import java.util.ArrayList;
import java.util.Arrays;
@@ -24,7 +23,7 @@ public final class KarnConstructToken extends TokenImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifacts you control");
static {
- filter.add(new CardTypePredicate(CardType.ARTIFACT));
+ filter.add(CardType.ARTIFACT.getPredicate());
}
static final private List tokenImageSets = new ArrayList<>();
diff --git a/Mage/src/main/java/mage/game/stack/StackObjImpl.java b/Mage/src/main/java/mage/game/stack/StackObjImpl.java
index 8af461dfdbf..48c32191a95 100644
--- a/Mage/src/main/java/mage/game/stack/StackObjImpl.java
+++ b/Mage/src/main/java/mage/game/stack/StackObjImpl.java
@@ -200,7 +200,7 @@ public abstract class StackObjImpl implements StackObject {
// build a target definition with exactly one possible target to select that replaces old target
Target tempTarget = target.copy();
if (target instanceof TargetAmount) {
- ((TargetAmount) tempTarget).setAmountDefinition(new StaticValue(target.getTargetAmount(targetId)));
+ ((TargetAmount) tempTarget).setAmountDefinition(StaticValue.get(target.getTargetAmount(targetId)));
}
tempTarget.setMinNumberOfTargets(1);
tempTarget.setMaxNumberOfTargets(1);
diff --git a/Mage/src/main/java/mage/target/TargetAmount.java b/Mage/src/main/java/mage/target/TargetAmount.java
index 84ced7d035a..b493de48806 100644
--- a/Mage/src/main/java/mage/target/TargetAmount.java
+++ b/Mage/src/main/java/mage/target/TargetAmount.java
@@ -22,7 +22,7 @@ public abstract class TargetAmount extends TargetImpl {
int remainingAmount;
public TargetAmount(int amount) {
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
}
public TargetAmount(DynamicValue amount) {
diff --git a/Mage/src/main/java/mage/target/common/TargetAnyTargetAmount.java b/Mage/src/main/java/mage/target/common/TargetAnyTargetAmount.java
index 544c8a6de32..6c9acb06d08 100644
--- a/Mage/src/main/java/mage/target/common/TargetAnyTargetAmount.java
+++ b/Mage/src/main/java/mage/target/common/TargetAnyTargetAmount.java
@@ -6,7 +6,6 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePlayerOrPlaneswalker;
import mage.filter.common.FilterPermanentOrPlayer;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author BetaSteward_at_googlemail.com
@@ -17,7 +16,7 @@ public class TargetAnyTargetAmount extends TargetPermanentOrPlayerAmount {
= new FilterCreaturePlayerOrPlaneswalker("targets");
static {
- defaultFilter.getPermanentFilter().add(new CardTypePredicate(CardType.CREATURE));
+ defaultFilter.getPermanentFilter().add(CardType.CREATURE.getPredicate());
}
public TargetAnyTargetAmount(int amount) {
@@ -29,7 +28,7 @@ public class TargetAnyTargetAmount extends TargetPermanentOrPlayerAmount {
// any positive number or zero, unless something (such as damage or counters) is being divided
// or distributed among “any number” of players and/or objects. In that case, a nonzero number
// of players and/or objects must be chosen if possible.
- this(new StaticValue(amount), maxNumberOfTargets);
+ this(StaticValue.get(amount), maxNumberOfTargets);
this.minNumberOfTargets = 1;
}
diff --git a/Mage/src/main/java/mage/target/common/TargetBasicLandCard.java b/Mage/src/main/java/mage/target/common/TargetBasicLandCard.java
index a43ab100de8..537feb42e4d 100644
--- a/Mage/src/main/java/mage/target/common/TargetBasicLandCard.java
+++ b/Mage/src/main/java/mage/target/common/TargetBasicLandCard.java
@@ -5,7 +5,6 @@ package mage.target.common;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.constants.Zone;
-import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.TargetCard;
@@ -18,7 +17,7 @@ public class TargetBasicLandCard extends TargetCard {
public TargetBasicLandCard(Zone zone) {
super(zone);
filter.add(new SupertypePredicate(SuperType.BASIC));
- filter.add(new CardTypePredicate(CardType.LAND));
+ filter.add(CardType.LAND.getPredicate());
}
public TargetBasicLandCard(final TargetBasicLandCard target) {
diff --git a/Mage/src/main/java/mage/target/common/TargetCardInLibrary.java b/Mage/src/main/java/mage/target/common/TargetCardInLibrary.java
index 2e923b3fb6e..7ab5c77f95a 100644
--- a/Mage/src/main/java/mage/target/common/TargetCardInLibrary.java
+++ b/Mage/src/main/java/mage/target/common/TargetCardInLibrary.java
@@ -73,9 +73,9 @@ public class TargetCardInLibrary extends TargetCard {
}
cards.sort(Comparator.comparing(MageObject::getName));
Cards cardsId = new CardsImpl();
- for (Card card : cards) {
+ cards.forEach((card) -> {
cardsId.add(card);
- }
+ });
while (!isChosen() && !doneChosing()) {
if (!player.canRespond()) {
diff --git a/Mage/src/main/java/mage/target/common/TargetCreatureOrPlayerAmount.java b/Mage/src/main/java/mage/target/common/TargetCreatureOrPlayerAmount.java
index 00fa98bf457..11cb59db031 100644
--- a/Mage/src/main/java/mage/target/common/TargetCreatureOrPlayerAmount.java
+++ b/Mage/src/main/java/mage/target/common/TargetCreatureOrPlayerAmount.java
@@ -5,7 +5,6 @@ import mage.abilities.dynamicvalue.common.StaticValue;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterPermanentOrPlayer;
-import mage.filter.predicate.mageobject.CardTypePredicate;
/**
* @author BetaSteward_at_googlemail.com
@@ -16,7 +15,7 @@ public class TargetCreatureOrPlayerAmount extends TargetPermanentOrPlayerAmount
= new FilterPermanentOrPlayer("creatures and/or players");
static {
- defaultFilter.getPermanentFilter().add(new CardTypePredicate(CardType.CREATURE));
+ defaultFilter.getPermanentFilter().add(CardType.CREATURE.getPredicate());
}
public TargetCreatureOrPlayerAmount(int amount) {
@@ -24,7 +23,7 @@ public class TargetCreatureOrPlayerAmount extends TargetPermanentOrPlayerAmount
// any positive number or zero, unless something (such as damage or counters) is being divided
// or distributed among “any number” of players and/or objects. In that case, a nonzero number
// of players and/or objects must be chosen if possible.
- this(new StaticValue(amount));
+ this(StaticValue.get(amount));
this.minNumberOfTargets = 1;
}
diff --git a/Mage/src/main/java/mage/target/common/TargetPermanentAmount.java b/Mage/src/main/java/mage/target/common/TargetPermanentAmount.java
index b6c9afedc37..77187b29318 100644
--- a/Mage/src/main/java/mage/target/common/TargetPermanentAmount.java
+++ b/Mage/src/main/java/mage/target/common/TargetPermanentAmount.java
@@ -28,7 +28,7 @@ public abstract class TargetPermanentAmount extends TargetAmount {
// any positive number or zero, unless something (such as damage or counters) is being divided
// or distributed among “any number” of players and/or objects. In that case, a nonzero number
// of players and/or objects must be chosen if possible.
- this(new StaticValue(amount), filter);
+ this(StaticValue.get(amount), filter);
}
TargetPermanentAmount(DynamicValue amount, FilterPermanent filter) {
diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt
index 8fc97b53308..a6066cb703b 100644
--- a/Utils/mtg-cards-data.txt
+++ b/Utils/mtg-cards-data.txt
@@ -36461,7 +36461,7 @@ Naiad of Hidden Coves|Theros Beyond Death|56|C|{2}{U}|Enchantment Creature - Nym
Omen of the Sea|Theros Beyond Death|58|C|{1}{U}|Enchantment|||Flash$When Omen of the Sea enters the battlefield, scry 2, then draw a card.${2}{U}, Sacrifice Omen of the Sea: Scry 2.|
One with the Stars|Theros Beyond Death|59|U|{3}{U}|Enchantment - Aura|||Enchant creature or enchantment$Enchanted permanent is an enchantment and loses all other card types.|
Shimmerwing Chimera|Theros Beyond Death|64|U|{3}{U}|Enchantment Creature - Chimera|3|2|Flying$At the beginning of your upkeep, return up to one other target enchantment you control to its owner's hand.|
-Shoal Kraken|Theros Beyond Death|65|U|{4}{U}|Creature - Kraken|3|5|Constellation — Whenever an enchantment creature enters the battlefield under your control, you may a draw card. If you do, discard a card.|
+Shoal Kraken|Theros Beyond Death|65|U|{4}{U}|Creature - Kraken|3|5|Constellation — Whenever an enchantment enters the battlefield under your control, you may a draw card. If you do, discard a card.|
Stinging Lionfish|Theros Beyond Death|69|U|{1}{U}|Enchantment Creature - Fish|2|1|Whenever you cast your first spell during each opponent's turn, you may tap or untap target nonland permanent.|
Sweet Oblivion|Theros Beyond Death|70|U|{1}{U}|Sorcery|||Target player puts the top four cards of their library into their graveyard.$Escape—{3}{U}, Exile four other cards from your graveyard.|
Thassa, Deep-Dwelling|Theros Beyond Death|71|M|{3}{U}|Legendary Enchantment Creature - God|6|5|Indestructible$As long as your devotion to blue is less than five, Thassa isn't a creature.$At the beginning of your end step, exile up to one other target creature you control, then return that card to the battlefield under your control.${3}{U}: Tap another target creature.|
@@ -36484,9 +36484,11 @@ Tymaret Calls the Dead|Theros Beyond Death|118|R|{2}{B}|Enchantment - Saga|||(As
Tymaret, Chosen from Death|Theros Beyond Death|119|U|{B}{B}|Legendary Enchantment Creature - Demigod|2|*|Tymaret's toughness is equal to your devotion to black.${1}{B}: Exile up to two target cards from graveyards. You gain 1 life for each creature card exiled this way.|
Woe Strider|Theros Beyond Death|123|R|{2}{B}|Creature - Horror|3|2|When Woe Strider enters the battlefield, create a 0/1 white Goat creature token.$Sacrifice another creature: Scry 1.$Escape—{3}{B}{B}, Exile four other cards from your graveyard.$Woe Strider escapes with two +1/+1 counters on it.|
The Akroan War|Theros Beyond Death|124|R|{3}{R}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I — Gain control of target creature for as long as The Akroan War remains on the battlefield.$II — Until your next turn, creatures your opponents control attack each combat if able.$III — Each tapped creature deals damage to itself equal to its power.|
+Arena Trickster|Theros Beyond Death|126|C|{3}{R}|Creature - Human Shaman|3|3|Whenever you cast your first spell during each opponent's turn, put a +1/+1 counter on Arena Trickster.|
Blood Aspirant|Theros Beyond Death|128|U|{1}{R}|Creature - Satyr Berserker|1|1|Whenever you sacrifice a permanent, put a +1/+1 counter on Blood Aspirant.${1}{R}, {T}, Sacrifice a creature or enchantment: Blood Aspirant deals 1 damage to target creature. That creature can't block this turn.|
Escape Velocity|Theros Beyond Death|132|U|{R}|Enchantment - Aura|||Enchant creature$Enchanted creature gets +1/+0 and has haste.$Escape—{1}{R}, Exile two other cards from your graveyard.|
Omen of the Forge|Theros Beyond Death|145|C|{1}{R}|Enchantment|||Flash$When Omen of the Forge enters the battlefield, it deals 2 damage to any target.${2}{R}, Sacrifice Omen of the Forge: Scry 2.|
+Oread of Mountain's Blaze|Theros Beyond Death|146|C|{1}{R}|Enchantment Creature - Nymph|1|3|{2}{R}, Discard a card: Draw a card.|
Ox of Agonas|Theros Beyond Death|147|M|{3}{R}{R}|Creature - Ox|4|2|When Ox of Agonas enters the battlefield, discard your hand, then draw three cards.$Escape—{R}{R}, Exile eight other cards from your graveyard.$Ox of Agonas escapes with a +1/+1 counter on it.|
Purphoros, Bronze-Blooded|Theros Beyond Death|150|M|{4}{R}|Legendary Enchantment Creature - God|7|6|Indestructible$As long as your devotion to red is less than five, Purphoros isn't a creature.$Other creatures you control have haste.${2}{R}: You may put a red creature card or an artifact creature card from your hand onto the battlefield. Sacrifice it at the beginning of the next end step.|
Purphoros's Intervention|Theros Beyond Death|151|R|{X}{R}|Sorcery|||Choose one —$• Create an X/1 red Elemental creature token with trample and haste. Sacrifice it at the beginning of the next end step.$• Purphoros's Intervention deals twice X damage to target creature or planeswalker.|
@@ -36513,13 +36515,14 @@ Ashiok, Nightmare Muse|Theros Beyond Death|208|M|{3}{U}{B}|Legendary Planeswalke
Atris, Oracle of Half-Truths|Theros Beyond Death|209|R|{2}{U}{B}|Legendary Creature - Human Advisor|3|2|Menace$When Atris, Oracle of Half-Truths enters the battlefield, target opponent looks at the top three cards of your library and separates them into a face-down pile and a face-up pile. Put one pile into your hand and the other into your graveyard.|
Dalakos, Crafter of Wonders|Theros Beyond Death|212|R|{1}{U}{R}|Legendary Creature - Merfolk Artificer|2|4|{T}: Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts.$Equipped creatures you control have flying and haste.|
Devourer of Memory|Theros Beyond Death|213|U|{U}{B}|Creature - Nightmare|2|1|Whenever one or more cards are put into your graveyard from your library, Devourer of Memory gets +1/+1 until end of turn and can't be blocked this turn.${1}{U}{B}: Put the top card of your library into your graveyard.|
+Eutropia the Twice-Favored|Theros Beyond Death|216|U|{1}{G}{U}|Legendary Creature - Human Wizard|2|2|Constellation—Whenever an enchantment enters the battlefield under your control, put a +1/+1 counter on target creature. That creature gains flying until end of turn.|
Gallia of the Endless Dance|Theros Beyond Death|217|R|{R}{G}|Legendary Creature - Satyr|2|2|Haste$Other Satyrs you control get +1/+1 and have haste.$Whenever you attack with three or more creatures, you may discard a card at random. If you do, draw two cards.|
Haktos the Unscarred|Theros Beyond Death|218|R|{R}{R}{W}{W}|Legendary Creature - Human Warrior|6|1|Haktos the Unscarred attacks each combat if able.$As Haktos enters the battlefield, choose 2, 3, or 4 at random.$Haktos has protection from each converted mana cost other than the chosen number.|
Klothys, God of Destiny|Theros Beyond Death|220|M|{1}{R}{G}|Legendary Enchantment Creature - God|4|5|Indestructible$As long as your devotion to red and green is less than seven, Klothys isn't a creature.$At the beginning of your precombat main phase, exile target card from a graveyard. If it was a land card, add {R} or {G}. Otherwise, you gain 2 life and Klothys deals 2 damage to each opponent.|
Kunoros, Hound of Athreos|Theros Beyond Death|222|R|{1}{W}{B}|Legendary Creature - Hound|3|3|Vigilance, menace, lifelink$Creature cards in graveyards can't enter the battlefield.$Players can't cast spells from graveyards.|
Polukranos, Unchained|Theros Beyond Death|224|M|{2}{B}{G}|Legendary Creature - Zombie Hydra|0|0|Polukranos enters the battlefield with six +1/+1 counters on it. It escapes with twelve +1/+1 counters on it instead.$If damage would be dealt to Polukranos while it has a +1/+1 counter on it, prevent that damage and remove that many +1/+1 counters from it.${1}{B}{G}: Polukranos fights another target creature.$Escape—{4}{B}{G}, Exile six other cards from your graveyard.|
Rise to Glory|Theros Beyond Death|225|U|{3}{W}{B}|Sorcery|||Choose one or both —$• Return target creature card from your graveyard to the battlefield.$• Return target Aura card from your graveyard to the battlefield.|
-Siona, Captain of the Pyleas|Theros Beyond Death|226|U|{1}{G}{W}|Legendary Creature - Human Soldier|2|2|When Siona, Captain of the Pyleas enters the battlefield, look at the top seven cards of your library. You may reveal an Aura card among them and put it into your hand. Put the rest on the bottom of your library in a random order.$Whenever an Aura you control becomes attached to a creature you control, create a 1/1 white Human Soldier creature token.|
+Siona, Captain of the Pyleas|Theros Beyond Death|226|U|{1}{G}{W}|Legendary Creature - Human Soldier|2|2|When Siona, Captain of the Pyleas enters the battlefield, look at the top seven cards of your library. You may reveal an Aura card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.$Whenever an Aura you control becomes attached to a creature you control, create a 1/1 white Human Soldier creature token.|
Staggering Insight|Theros Beyond Death|228|U|{W}{U}|Enchantment - Aura|||Enchant creature$Enchanted creature gets +1/+1 and has lifelink and "Whenever this creature deals combat damage to a player, draw a card."|
Warden of the Chained|Theros Beyond Death|230|U|{1}{R}{G}|Creature - Minotaur Warrior|4|4|Trample$Warden of the Chained can't attack unless you control another creature with power 4 or greater.|
Nyx Lotus|Theros Beyond Death|235|R|{4}|Legendary Artifact|||Nyx Lotus enters the battlefield tapped.${T}: Choose a color. Add an amount of mana of that color equal to your devotion to that color.|