refactored TokenPredicate to contain its own inverse

This commit is contained in:
Evan Kranzler 2021-08-20 09:33:38 -04:00
parent cb5d873fea
commit bdeb0dde66
180 changed files with 196 additions and 310 deletions

View file

@ -11,7 +11,6 @@ import mage.constants.TargetController;
import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.SpiritWhiteToken;
@ -26,7 +25,7 @@ public final class AbzanAscendancy extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public AbzanAscendancy(UUID ownerId, CardSetInfo setInfo) {

View file

@ -37,7 +37,7 @@ public final class AkimTheSoaringWind extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creature tokens");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public AkimTheSoaringWind(UUID ownerId, CardSetInfo setInfo) {

View file

@ -16,7 +16,6 @@ import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.SpiritWhiteToken;
@ -36,7 +35,7 @@ public final class AlharuSolemnRitualist extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
filter2.add(Predicates.not(TokenPredicate.instance));
filter2.add(TokenPredicate.FALSE);
filter2.add(CounterType.P1P1.getPredicate());
}

View file

@ -14,7 +14,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
/**
@ -26,7 +25,7 @@ public final class AlwaysWatching extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creatures");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public AlwaysWatching(UUID ownerId, CardSetInfo setInfo) {

View file

@ -12,7 +12,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@ -25,7 +24,7 @@ public final class AnafenzaKinTreeSpirit extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(AnotherPredicate.instance);
}

View file

@ -17,7 +17,6 @@ import java.util.UUID;
import mage.abilities.common.DiesThisOrAnotherCreatureTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
/**
@ -29,7 +28,7 @@ public final class AnaxHardenedInTheForge extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public AnaxHardenedInTheForge(UUID ownerId, CardSetInfo setInfo) {

View file

@ -24,7 +24,7 @@ public final class AnointerPriest extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent("a creature token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public AnointerPriest(UUID ownerId, CardSetInfo setInfo) {

View file

@ -27,7 +27,7 @@ public final class ApocalypseChime extends CardImpl {
static {
filter.add(Predicates.and(
Predicates.not(TokenPredicate.instance),
TokenPredicate.FALSE,
new ExpansionSetPredicate("HML")
));
}

View file

@ -14,7 +14,6 @@ import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -63,7 +62,7 @@ class AshayaSoulOfTheWildEffect extends ContinuousEffectImpl {
= new FilterControlledCreaturePermanent();
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public AshayaSoulOfTheWildEffect() {

View file

@ -42,7 +42,7 @@ public final class BagOfDevouring extends CardImpl {
= new FilterControlledPermanent("another artifact or creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(AnotherPredicate.instance);
filter.add(Predicates.or(
CardType.ARTIFACT.getPredicate(),

View file

@ -18,7 +18,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.command.emblems.BasriKetEmblem;
@ -74,7 +73,7 @@ class BasriKetTriggeredAbility extends DelayedTriggeredAbility {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public BasriKetTriggeredAbility() {

View file

@ -110,7 +110,7 @@ class BattleForBretagardTarget extends TargetPermanent {
CardType.ARTIFACT.getPredicate(),
CardType.CREATURE.getPredicate()
));
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
BattleForBretagardTarget() {

View file

@ -15,7 +15,6 @@ import mage.constants.SetTargetPointer;
import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -78,7 +77,7 @@ class BazaarOfWondersEffect extends OneShotEffect {
String spellName = spell.getName();
FilterPermanent filter1 = new FilterPermanent();
filter1.add(new NamePredicate(spellName));
filter1.add(Predicates.not(TokenPredicate.instance));
filter1.add(TokenPredicate.FALSE);
if (!game.getBattlefield().getActivePermanents(filter1,
source.getControllerId(), game).isEmpty()) {
game.getStack().counter(spell.getId(), source, game);

View file

@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@ -30,7 +29,7 @@ public final class BeastsOfBogardan extends CardImpl {
static {
controlFilter.add(new ColorPredicate(ObjectColor.WHITE));
controlFilter.add(Predicates.not(TokenPredicate.instance));
controlFilter.add(TokenPredicate.FALSE);
}
public BeastsOfBogardan(UUID ownerId, CardSetInfo setInfo) {

View file

@ -11,7 +11,6 @@ import mage.constants.Outcome;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.common.FilterPermanentCard;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -29,7 +28,7 @@ public final class Bifurcate extends CardImpl {
private static FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creatures");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public Bifurcate(UUID ownerId, CardSetInfo setInfo) {

View file

@ -11,7 +11,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.UnicornToken;
@ -23,7 +22,7 @@ public class BlessedSanctuary extends CardImpl {
private static final FilterControlledCreaturePermanent filterNontoken = new FilterControlledCreaturePermanent("a nontoken creature");
static {
filterNontoken.add(Predicates.not(TokenPredicate.instance));
filterNontoken.add(TokenPredicate.FALSE);
}
public BlessedSanctuary(UUID ownerId, CardSetInfo setInfo) {

View file

@ -15,7 +15,6 @@ import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.AttackingPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.Pest11GainLifeToken;
@ -34,7 +33,7 @@ public final class BlightMound extends CardImpl {
static {
filter.add(AttackingPredicate.instance);
filter2.add(Predicates.not(TokenPredicate.instance));
filter2.add(TokenPredicate.FALSE);
}
public BlightMound(UUID ownerId, CardSetInfo setInfo) {

View file

@ -16,7 +16,6 @@ import mage.constants.SetTargetPointer;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -31,7 +30,7 @@ public final class BrambleSovereign extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(AnotherPredicate.instance);
}

View file

@ -11,7 +11,6 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@ -31,7 +30,7 @@ public final class BridgeFromBelow extends CardImpl {
static {
filter1.add(TargetController.YOU.getOwnerPredicate());
filter1.add(Predicates.not(TokenPredicate.instance));
filter1.add(TokenPredicate.FALSE);
filter2.add(TargetController.OPPONENT.getOwnerPredicate());
}

View file

@ -11,7 +11,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.card.OwnerIdPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -50,7 +49,7 @@ class BroodingSaurianControlEffect extends ContinuousEffectImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public BroodingSaurianControlEffect() {

View file

@ -31,7 +31,7 @@ public final class BrudicladTelchorEngineer extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creature tokens you control");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public BrudicladTelchorEngineer(UUID ownerId, CardSetInfo setInfo) {
@ -65,7 +65,7 @@ class BrudicladTelchorEngineerEffect extends OneShotEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("token you control");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public BrudicladTelchorEngineerEffect() {

View file

@ -17,7 +17,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -56,7 +55,7 @@ class BrutalSuppressionAdditionalCostEffect extends CostModificationEffectImpl {
private static final FilterPermanent filter2 = new FilterPermanent("nontoken Rebels");
static{
filter2.add(SubType.REBEL.getPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
BrutalSuppressionAdditionalCostEffect() {

View file

@ -25,7 +25,7 @@ public final class BurdenedAerialist extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("a token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public BurdenedAerialist(UUID ownerId, CardSetInfo setInfo) {

View file

@ -15,7 +15,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.filter.common.FilterCreatureCard;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.TrooperToken;
import mage.target.common.TargetCardInLibrary;
@ -31,7 +30,7 @@ public final class CaptainPhasma extends CardImpl {
static {
filter.add(SubType.TROOPER.getPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filterCard.add(SubType.TROOPER.getPredicate());
}

View file

@ -33,7 +33,7 @@ public final class CaribouRange extends CardImpl {
static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a Caribou token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
filter.add(SubType.CARIBOU.getPredicate());
}

View file

@ -15,7 +15,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@ -163,7 +162,7 @@ class ChainerNightmareAdeptTriggeredAbility extends EntersBattlefieldAllTriggere
= new FilterControlledCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(TargetController.YOU.getControllerPredicate());
}

View file

@ -37,7 +37,7 @@ public final class Chitterspitter extends CardImpl {
private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent(SubType.SQUIRREL, "Squirrels");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public Chitterspitter(UUID ownerId, CardSetInfo setInfo) {

View file

@ -60,7 +60,7 @@ enum ChromeReplicatorCondition implements Condition {
static {
filter.add(Predicates.not(CardType.LAND.getPredicate()));
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
@Override

View file

@ -138,7 +138,7 @@ class CityInABottleStateTriggeredAbility extends StateTriggeredAbility {
private static final FilterPermanent filter = new FilterPermanent("a nontoken permanent originally printed in the Arabian Nights expansion other than City in a Bottle");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(Predicates.or(getArabianNightsNamePredicates()));
}
@ -172,7 +172,7 @@ class CityInABottleSacrificeEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterPermanent("a nontoken permanent originally printed in the Arabian Nights expansion other than City in a Bottle");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(Predicates.or(getArabianNightsNamePredicates()));
}

View file

@ -29,7 +29,7 @@ public final class CombineChrysalis extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public CombineChrysalis(UUID ownerId, CardSetInfo setInfo) {

View file

@ -9,7 +9,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.TrooperToken;
@ -23,7 +22,7 @@ public final class CommanderCody extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-token Trooper creatures");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(SubType.TROOPER.getPredicate());
}

View file

@ -49,7 +49,7 @@ class CorneredMarketReplacementEffect extends ContinuousRuleModifyingEffectImpl
private static final FilterPermanent filter = new FilterPermanent();
static {
filter.add(mage.filter.predicate.Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public CorneredMarketReplacementEffect() {

View file

@ -27,7 +27,7 @@ public final class CuriosityCrafter extends CardImpl {
= new FilterControlledCreaturePermanent("a creature token you control");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public CuriosityCrafter(UUID ownerId, CardSetInfo setInfo) {

View file

@ -19,7 +19,6 @@ import mage.cards.Cards;
import mage.cards.CardsImpl;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -38,7 +37,7 @@ public final class DanceOfMany extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public DanceOfMany(UUID ownerId, CardSetInfo setInfo) {

View file

@ -54,7 +54,7 @@ class DanseMacabreEffect extends OneShotEffect {
= new FilterControlledCreaturePermanent("nontoken creature you control");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
DanseMacabreEffect() {

View file

@ -20,7 +20,6 @@ import mage.filter.FilterCard;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.ManaValuePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -69,7 +68,7 @@ class DeathsOasisTriggeredAbility extends DiesCreatureTriggeredAbility {
private static final FilterPermanent defaultFilter = new FilterControlledCreaturePermanent();
static {
defaultFilter.add(Predicates.not(TokenPredicate.instance));
defaultFilter.add(TokenPredicate.FALSE);
}
DeathsOasisTriggeredAbility() {

View file

@ -18,7 +18,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import java.util.UUID;
@ -32,7 +31,7 @@ public final class DecayingSoil extends CardImpl {
static {
filter.add(TargetController.YOU.getOwnerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
private static final Condition condition = new CardsInControllerGraveyardCondition(7);
@ -70,7 +69,7 @@ class DecayingSoilTriggeredAbility extends DiesCreatureTriggeredAbility {
static {
filter.add(TargetController.YOU.getOwnerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
DecayingSoilTriggeredAbility() {

View file

@ -28,7 +28,7 @@ public final class DiamondKaleidoscope extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Prism token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
filter.add(SubType.PRISM.getPredicate());
}

View file

@ -24,7 +24,7 @@ public final class DoggedHunter extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public DoggedHunter(UUID ownerId, CardSetInfo setInfo) {

View file

@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterNonlandPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -53,7 +52,7 @@ class DoomForetoldEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterNonlandPermanent("nonland, nontoken permanent");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
private static final Effect effect1 = new CreateTokenEffect(new KnightToken());

View file

@ -11,7 +11,6 @@ import mage.constants.Duration;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.InklingToken;
@ -26,7 +25,7 @@ public final class DramaticFinale extends CardImpl {
= new FilterControlledCreaturePermanent("one or more nontoken creatures you control");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public DramaticFinale(UUID ownerId, CardSetInfo setInfo) {

View file

@ -26,7 +26,7 @@ public final class DreadhordeInvasion extends CardImpl {
static {
filter.add(new PowerPredicate(ComparisonType.MORE_THAN, 5));
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
filter.add(TargetController.YOU.getControllerPredicate());
}

View file

@ -24,7 +24,7 @@ public final class DreadhordeTwins extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent(SubType.ZOMBIE, "Zombie tokens");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public DreadhordeTwins(UUID ownerId, CardSetInfo setInfo) {

View file

@ -31,7 +31,7 @@ public final class DrudgeSpell extends CardImpl {
static {
filter.add(SubType.SKELETON.getPredicate());
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public DrudgeSpell(UUID ownerId, CardSetInfo setInfo) {

View file

@ -20,7 +20,6 @@ import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -37,7 +36,7 @@ public final class DualNature extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public DualNature(UUID ownerId, CardSetInfo setInfo) {
@ -130,7 +129,7 @@ class DualNatureCreatureLeavesEffect extends OneShotEffect {
Permanent creature = getTargetPointer().getFirstTargetPermanentOrLKI(game, source);
if (creature != null) {
FilterPermanent filter = new FilterPermanent();
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
filter.add(new NamePredicate(creature.getName()));
new ExileAllEffect(filter).apply(game, source);
return true;

View file

@ -13,7 +13,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -30,7 +29,7 @@ public final class Duplicant extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public Duplicant(UUID ownerId, CardSetInfo setInfo) {

View file

@ -26,7 +26,7 @@ public final class EarlOfSquirrel extends CardImpl {
private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("Squirrels you control");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
filter.add(TargetController.YOU.getControllerPredicate());
filter2.add(SubType.SQUIRREL.getPredicate());
}

View file

@ -20,7 +20,7 @@ public final class EmmaraTandris extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature tokens you control");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
filter.add(TargetController.YOU.getControllerPredicate());
}

View file

@ -27,7 +27,7 @@ public final class EsikasChariot extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("token you control");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public EsikasChariot(UUID ownerId, CardSetInfo setInfo) {

View file

@ -25,7 +25,7 @@ public final class EternalSkylord extends CardImpl {
= new FilterPermanent(SubType.ZOMBIE, "Zombie tokens");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public EternalSkylord(UUID ownerId, CardSetInfo setInfo) {

View file

@ -14,7 +14,6 @@ import mage.cards.Cards;
import mage.cards.CardsImpl;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -29,7 +28,7 @@ public final class FaerieArtisans extends CardImpl {
private static final FilterCreaturePermanent filterNontoken = new FilterCreaturePermanent("nontoken creature");
static {
filterNontoken.add(Predicates.not(TokenPredicate.instance));
filterNontoken.add(TokenPredicate.FALSE);
filterNontoken.add(TargetController.OPPONENT.getControllerPredicate());
}

View file

@ -15,7 +15,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.PirateToken;
@ -31,7 +30,7 @@ public final class FathomFleetCaptain extends CardImpl {
static {
filter.add(SubType.PIRATE.getPredicate());
filter.add(AnotherPredicate.instance);
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public FathomFleetCaptain(UUID ownerId, CardSetInfo setInfo) {

View file

@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -48,7 +47,7 @@ class FeedThePackEffect extends OneShotEffect {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public FeedThePackEffect() {

View file

@ -16,7 +16,6 @@ import mage.constants.SuperType;
import mage.counters.Counter;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.CounterAnyPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -35,7 +34,7 @@ public final class FelisaFangOfSilverquill extends CardImpl {
= new FilterControlledCreaturePermanent("a nontoken creature you control");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(CounterAnyPredicate.instance);
}

View file

@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.SpiritWhiteToken;
@ -22,7 +21,7 @@ public final class FieldOfSouls extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public FieldOfSouls(UUID ownerId, CardSetInfo setInfo) {

View file

@ -9,7 +9,6 @@ import mage.constants.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
/**
@ -22,7 +21,7 @@ public final class Finn extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public Finn(UUID ownerId, CardSetInfo setInfo) {

View file

@ -18,7 +18,6 @@ import mage.constants.Outcome;
import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -33,7 +32,7 @@ public final class FlameshadowConjuring extends CardImpl {
private static final FilterControlledCreaturePermanent filterNontoken = new FilterControlledCreaturePermanent("nontoken creature");
static {
filterNontoken.add(Predicates.not(TokenPredicate.instance));
filterNontoken.add(TokenPredicate.FALSE);
}
public FlameshadowConjuring(UUID ownerId, CardSetInfo setInfo) {

View file

@ -6,7 +6,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.target.TargetPermanent;
@ -20,7 +19,7 @@ public final class Flicker extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("nontoken permanent");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public Flicker(UUID ownerId, CardSetInfo setInfo) {

View file

@ -22,7 +22,6 @@ import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -40,7 +39,7 @@ public final class GateToTheAfterlife extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public GateToTheAfterlife(UUID ownerId, CardSetInfo setInfo) {

View file

@ -13,7 +13,6 @@ import mage.constants.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
/**
@ -26,7 +25,7 @@ public final class GeneralHux extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public GeneralHux(UUID ownerId, CardSetInfo setInfo) {

View file

@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -29,7 +28,7 @@ public final class GenesisChamber extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public GenesisChamber(UUID ownerId, CardSetInfo setInfo) {

View file

@ -26,7 +26,7 @@ public final class GleamingOverseer extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent(SubType.ZOMBIE, "Zombie tokens");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public GleamingOverseer(UUID ownerId, CardSetInfo setInfo) {

View file

@ -23,7 +23,7 @@ public final class GlimmerBairn extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public GlimmerBairn(UUID ownerId, CardSetInfo setInfo) {

View file

@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.SaprolingToken;
@ -23,7 +22,7 @@ public final class GolgariGermination extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public GolgariGermination(UUID ownerId, CardSetInfo setInfo) {

View file

@ -51,7 +51,7 @@ class GolgothianSylexEffect extends OneShotEffect {
static {
filter.add(Predicates.and(
new ExpansionSetPredicate("ATQ"),
Predicates.not(TokenPredicate.instance)
TokenPredicate.FALSE
));
}

View file

@ -14,7 +14,6 @@ import mage.constants.SubType;
import mage.constants.ColoredManaSymbol;
import mage.constants.TargetController;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@ -28,7 +27,7 @@ public final class GrimHaruspex extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(AnotherPredicate.instance);
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public GrimHaruspex(UUID ownerId, CardSetInfo setInfo) {

View file

@ -30,7 +30,7 @@ public final class GrismoldTheDreadsower extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent("a creature token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public GrismoldTheDreadsower(UUID ownerId, CardSetInfo setInfo) {

View file

@ -53,7 +53,7 @@ class GuardianProjectTriggeredAbility extends EntersBattlefieldAllTriggeredAbili
public static final FilterPermanent filterNonTokenControlledCreature = new FilterControlledCreaturePermanent();
static {
filterNonTokenControlledCreature.add(Predicates.not(TokenPredicate.instance));
filterNonTokenControlledCreature.add(TokenPredicate.FALSE);
}
GuardianProjectTriggeredAbility() {

View file

@ -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.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@ -23,7 +22,7 @@ public final class HarvesterOfSouls extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(AnotherPredicate.instance);
}

View file

@ -20,7 +20,6 @@ import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -43,7 +42,7 @@ public final class HofriGhostforge extends CardImpl {
static {
filter3.add(AnotherPredicate.instance);
filter3.add(Predicates.not(TokenPredicate.instance));
filter3.add(TokenPredicate.FALSE);
}
public HofriGhostforge(UUID ownerId, CardSetInfo setInfo) {

View file

@ -8,7 +8,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
/**
@ -20,7 +19,7 @@ public final class HourOfReckoning extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creatures");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public HourOfReckoning(UUID ownerId, CardSetInfo setInfo) {

View file

@ -11,11 +11,9 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreaturePermanent;
@ -34,7 +32,7 @@ public final class IdentityThief extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("target nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public IdentityThief(UUID ownerId, CardSetInfo setInfo) {

View file

@ -20,7 +20,7 @@ public final class IllnessInTheRanks extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creature tokens");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public IllnessInTheRanks(UUID ownerId, CardSetInfo setInfo) {

View file

@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
/**
@ -26,7 +25,7 @@ public final class ImperialMask extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent();
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public ImperialMask(UUID ownerId, CardSetInfo setInfo) {

View file

@ -27,7 +27,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@ -48,7 +47,7 @@ public final class InallaArchmageRitualist extends CardImpl {
static {
filter.add(SubType.WIZARD.getPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(AnotherPredicate.instance);
filter2.add(SubType.WIZARD.getPredicate());
filter2.add(TappedPredicate.UNTAPPED);

View file

@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.target.common.TargetControlledPermanent;
@ -25,7 +24,7 @@ public final class InfernalTribute extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("a nontoken permanent");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public InfernalTribute(UUID ownerId, CardSetInfo setInfo) {

View file

@ -23,7 +23,7 @@ public final class IntangibleVirtue extends CardImpl {
= new FilterCreaturePermanent("creature tokens");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public IntangibleVirtue(UUID ownerId, CardSetInfo setInfo) {

View file

@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
/**
@ -23,7 +22,7 @@ public final class ItThatBetrays extends CardImpl {
private static final FilterPermanent FILTER = new FilterPermanent("nontoken permanent");
static {
FILTER.add(Predicates.not(TokenPredicate.instance));
FILTER.add(TokenPredicate.FALSE);
}
public ItThatBetrays(UUID ownerId, CardSetInfo setInfo) {

View file

@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@ -33,7 +32,7 @@ public final class IvoryGuardians extends CardImpl {
static {
controlFilter.add(new ColorPredicate(ObjectColor.RED));
controlFilter.add(Predicates.not(TokenPredicate.instance));
controlFilter.add(TokenPredicate.FALSE);
boostFilter.add(new NamePredicate("Ivory Guardians"));
}

View file

@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.card.FaceDownPredicate;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@ -33,7 +32,7 @@ public final class Ixidron extends CardImpl {
static {
filter.add(FaceDownPredicate.instance);
filterTurnFaceDown.add(AnotherPredicate.instance);
filterTurnFaceDown.add(Predicates.not(TokenPredicate.instance));
filterTurnFaceDown.add(TokenPredicate.FALSE);
}
public Ixidron(UUID ownerId, CardSetInfo setInfo) {

View file

@ -22,7 +22,6 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -84,7 +83,7 @@ class JihadTriggeredAbility extends StateTriggeredAbility {
UUID chosenOpponent = (UUID) game.getState().getValue(getSourceId().toString() + ChooseOpponentEffect.VALUE_KEY);
FilterPermanent filter = new FilterPermanent();
filter.add(new ColorPredicate((ObjectColor) game.getState().getValue(getSourceId() + "_color")));
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
return game.getBattlefield().countAll(filter, chosenOpponent, game) == 0;
}
@ -101,7 +100,7 @@ class JihadOpponentCondition implements Condition {
UUID chosenOpponent = (UUID) game.getState().getValue(source.getSourceId().toString() + ChooseOpponentEffect.VALUE_KEY);
FilterPermanent filter = new FilterPermanent();
filter.add(new ColorPredicate((ObjectColor) game.getState().getValue(source.getSourceId() + "_color")));
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
return game.getBattlefield().countAll(filter, chosenOpponent, game) > 0;
}
}

View file

@ -18,7 +18,7 @@ import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -34,7 +34,7 @@ public final class JinxedRing extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("a nontoken permanent");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public JinxedRing(UUID ownerId, CardSetInfo setInfo) {

View file

@ -10,7 +10,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.target.common.TargetAnyTarget;
@ -26,7 +25,7 @@ public final class JudithTheScourgeDiva extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public JudithTheScourgeDiva(UUID ownerId, CardSetInfo setInfo) {

View file

@ -34,7 +34,7 @@ public final class JunglePatrol extends CardImpl {
static {
filter.add(new NamePredicate("Wood"));
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
public JunglePatrol(UUID ownerId, CardSetInfo setInfo) {

View file

@ -33,7 +33,7 @@ public final class JunkWinder extends CardImpl {
private static final FilterPermanent filter2 = new FilterNonlandPermanent("nonland permanent an opponent controls");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
filter2.add(TargetController.OPPONENT.getControllerPredicate());
}

View file

@ -18,7 +18,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.command.emblems.KayaTheInexorableEmblem;
@ -40,7 +39,7 @@ public final class KayaTheInexorable extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public KayaTheInexorable(UUID ownerId, CardSetInfo setInfo) {

View file

@ -13,7 +13,6 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.WhiteBlackSpiritToken;
@ -31,7 +30,7 @@ public final class KnightOfTheLastBreath extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public KnightOfTheLastBreath(UUID ownerId, CardSetInfo setInfo) {

View file

@ -36,9 +36,9 @@ public final class KollTheForgemaster extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(Predicates.or(KollTheForgemasterEnchantedPredicate.instance, KollTheForgemasterEquippedPredicate.instance));
filter2.add(TokenPredicate.instance);
filter2.add(TokenPredicate.TRUE);
filter2.add(Predicates.or(EnchantedPredicate.instance, EquippedPredicate.instance));
}

View file

@ -19,7 +19,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.SaprolingToken;
import mage.target.common.TargetControlledCreaturePermanent;
@ -34,7 +33,7 @@ public final class KorozdaGuildmage extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public KorozdaGuildmage(UUID ownerId, CardSetInfo setInfo) {

View file

@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.DragonToken2;
@ -33,7 +32,7 @@ public final class LathlissDragonQueen extends CardImpl {
static {
filter.add(SubType.DRAGON.getPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(AnotherPredicate.instance);
filter2.add(SubType.DRAGON.getPredicate());
}

View file

@ -21,7 +21,6 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
@ -38,7 +37,7 @@ public final class LenaSelflessChampion extends CardImpl {
= new FilterControlledCreaturePermanent("nontoken creature you control");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public LenaSelflessChampion(UUID ownerId, CardSetInfo setInfo) {

View file

@ -9,7 +9,6 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -25,7 +24,7 @@ public final class Liability extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("a nontoken permanent");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public Liability(UUID ownerId, CardSetInfo setInfo) {

View file

@ -21,11 +21,9 @@ import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.Target;
@ -145,7 +143,7 @@ class LichDamageEffect extends OneShotEffect {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("nontoken permanent");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
private int amount = 0;

View file

@ -13,7 +13,6 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -31,7 +30,7 @@ public final class LightningCoils extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public LightningCoils(UUID ownerId, CardSetInfo setInfo) {

View file

@ -16,7 +16,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.ZombieToken;
@ -32,7 +31,7 @@ public final class LilianaHereticalHealer extends CardImpl {
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(AnotherPredicate.instance);
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public LilianaHereticalHealer(UUID ownerId, CardSetInfo setInfo) {

View file

@ -35,7 +35,7 @@ public final class LonisCryptozoologist extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public LonisCryptozoologist(UUID ownerId, CardSetInfo setInfo) {

View file

@ -20,7 +20,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.ExileZone;
@ -81,7 +80,7 @@ class LumberingBattlementEffect extends OneShotEffect {
= new FilterControlledCreaturePermanent("other nontoken creatures");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
filter.add(AnotherPredicate.instance);
}

View file

@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@ -30,7 +29,7 @@ public final class MagusOfTheBridge extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a nontoken creature");
static {
filter.add(Predicates.not(TokenPredicate.instance));
filter.add(TokenPredicate.FALSE);
}
public MagusOfTheBridge(UUID ownerId, CardSetInfo setInfo) {

View file

@ -15,7 +15,6 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.GoblinToken;
@ -29,7 +28,7 @@ public final class MarduAscendancy extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control");
static {
attackFilter.add(Predicates.not(TokenPredicate.instance));
attackFilter.add(TokenPredicate.FALSE);
filter.add(TargetController.YOU.getControllerPredicate());
}

View file

@ -29,7 +29,7 @@ public final class MascotInterception extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent("a creature token");
static {
filter.add(TokenPredicate.instance);
filter.add(TokenPredicate.TRUE);
}
private static final Condition condition = new SourceTargetsPermanentCondition(filter);

Some files were not shown because too many files have changed in this diff Show more