diff --git a/Mage.Sets/src/mage/sets/apocalypse/BloodfireKavu.java b/Mage.Sets/src/mage/sets/apocalypse/BloodfireKavu.java index cf0d23bd66d..21683290fb4 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/BloodfireKavu.java +++ b/Mage.Sets/src/mage/sets/apocalypse/BloodfireKavu.java @@ -54,7 +54,7 @@ public class BloodfireKavu extends CardImpl { this.color.setRed(true); this.power = new MageInt(2); this.toughness = new MageInt(2); - Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new DamageAllEffect(2, FilterCreaturePermanent.getDefault()), new ColoredManaCost(Constants.ColoredManaSymbol.R)); + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new DamageAllEffect(2, new FilterCreaturePermanent()), new ColoredManaCost(Constants.ColoredManaSymbol.R)); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/BakuAltar.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/BakuAltar.java index 2cb9fdb34c3..c7ed79343c5 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/BakuAltar.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/BakuAltar.java @@ -55,7 +55,7 @@ public class BakuAltar extends CardImpl { super(ownerId, 152, "Baku Altar", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{2}"); this.expansionSetCode = "BOK"; // Whenever you cast a Spirit or Arcane spell, you may put a ki counter on Baku Altar. - this.addAbility(new SpellCastTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance(1)), FilterSpiritOrArcaneCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance(1)), new FilterSpiritOrArcaneCard(), true)); // {2}, {tap}, Remove a ki counter from Baku Altar: Put a 1/1 colorless Spirit creature token onto the battlefield. Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new CreateTokenEffect(new SpiritToken(), 1), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/KamiOfTatteredShoji.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/KamiOfTatteredShoji.java index 1c6492679c6..fc53736a933 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/KamiOfTatteredShoji.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/KamiOfTatteredShoji.java @@ -53,7 +53,7 @@ public class KamiOfTatteredShoji extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(5); // Whenever you cast a Spirit or Arcane spell, Kami of Tattered Shoji gains flying until end of turn. - this.addAbility(new SpellCastTriggeredAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Constants.Duration.EndOfTurn), FilterSpiritOrArcaneCard.getDefault(), false)); + this.addAbility(new SpellCastTriggeredAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Constants.Duration.EndOfTurn), new FilterSpiritOrArcaneCard(), false)); } public KamiOfTatteredShoji(final KamiOfTatteredShoji card) { diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/OyobiWhoSplitTheHeavens.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/OyobiWhoSplitTheHeavens.java index 9f605bb5b9b..40e8090ee96 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/OyobiWhoSplitTheHeavens.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/OyobiWhoSplitTheHeavens.java @@ -38,7 +38,6 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.filter.common.FilterSpiritOrArcaneCard; -import mage.game.permanent.token.SpiritToken; import mage.game.permanent.token.Token; /** @@ -56,7 +55,7 @@ public class OyobiWhoSplitTheHeavens extends CardImpl { this.toughness = new MageInt(6); this.addAbility(FlyingAbility.getInstance()); // Whenever you cast a Spirit or Arcane spell, put a 3/3 white Spirit creature token with flying onto the battlefield. - this.addAbility(new SpellCastTriggeredAbility(new CreateTokenEffect(new AnotherSpiritToken()), FilterSpiritOrArcaneCard.getDefault(), false)); + this.addAbility(new SpellCastTriggeredAbility(new CreateTokenEffect(new AnotherSpiritToken()), new FilterSpiritOrArcaneCard(), false)); } public OyobiWhoSplitTheHeavens(final OyobiWhoSplitTheHeavens card) { diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/ScaledHulk.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/ScaledHulk.java index a895d0b53f7..3a5860df403 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/ScaledHulk.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/ScaledHulk.java @@ -52,7 +52,7 @@ public class ScaledHulk extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); // Whenever you cast a Spirit or Arcane spell, Scaled Hulk gets +2/+2 until end of turn. - this.addAbility(new SpellCastTriggeredAbility(new BoostSourceEffect(2, 2, Constants.Duration.EndOfTurn), FilterSpiritOrArcaneCard.getDefault(), false)); + this.addAbility(new SpellCastTriggeredAbility(new BoostSourceEffect(2, 2, Constants.Duration.EndOfTurn), new FilterSpiritOrArcaneCard(), false)); } public ScaledHulk(final ScaledHulk card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/CallToGlory.java b/Mage.Sets/src/mage/sets/championsofkamigawa/CallToGlory.java index 2bc6b0065ea..bdd924c3706 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/CallToGlory.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/CallToGlory.java @@ -91,7 +91,7 @@ class CalltoGloryFirstEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - for (Permanent creature : game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), player.getId())) { + for (Permanent creature : game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId())) { creature.untap(game); } return true; diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/GuardianOfSolitude.java b/Mage.Sets/src/mage/sets/championsofkamigawa/GuardianOfSolitude.java index d66c789ce28..15554c197b3 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/GuardianOfSolitude.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/GuardianOfSolitude.java @@ -39,8 +39,6 @@ import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.target.common.TargetCreaturePermanent; @@ -55,7 +53,7 @@ public class GuardianOfSolitude extends CardImpl { this.color.setBlue(true); this.power = new MageInt(1); this.toughness = new MageInt(2); - Ability ability = new SpellCastTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Constants.Duration.EndOfTurn), FilterSpiritOrArcaneCard.getDefault(), false); + Ability ability = new SpellCastTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Constants.Duration.EndOfTurn), new FilterSpiritOrArcaneCard(), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/HikariTwilightGuardian.java b/Mage.Sets/src/mage/sets/championsofkamigawa/HikariTwilightGuardian.java index 04d96f49eb6..f7132bb14e4 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/HikariTwilightGuardian.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/HikariTwilightGuardian.java @@ -63,7 +63,7 @@ public class HikariTwilightGuardian extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new SpellCastTriggeredAbility(new HikariTwilightGuardianEffect(), FilterSpiritOrArcaneCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new HikariTwilightGuardianEffect(), new FilterSpiritOrArcaneCard(), true)); } public HikariTwilightGuardian (final HikariTwilightGuardian card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/HorizonSeed.java b/Mage.Sets/src/mage/sets/championsofkamigawa/HorizonSeed.java index af1d27c7133..2e520397ff8 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/HorizonSeed.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/HorizonSeed.java @@ -37,8 +37,6 @@ import mage.abilities.Ability; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.target.common.TargetCreaturePermanent; @@ -53,7 +51,7 @@ public class HorizonSeed extends CardImpl { this.color.setWhite(true); this.power = new MageInt(2); this.toughness = new MageInt(1); - Ability ability = new SpellCastTriggeredAbility(new RegenerateTargetEffect(), FilterSpiritOrArcaneCard.getDefault(), false); + Ability ability = new SpellCastTriggeredAbility(new RegenerateTargetEffect(), new FilterSpiritOrArcaneCard(), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/InnocenceKami.java b/Mage.Sets/src/mage/sets/championsofkamigawa/InnocenceKami.java index 0b02df21fcf..5f9d7b50805 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/InnocenceKami.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/InnocenceKami.java @@ -42,8 +42,6 @@ import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.effects.common.TapTargetEffect; import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.target.common.TargetCreaturePermanent; @@ -62,7 +60,7 @@ public class InnocenceKami extends CardImpl { ability.addCost(new TapSourceCost()); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); - this.addAbility(new SpellCastTriggeredAbility(new UntapSourceEffect(), FilterSpiritOrArcaneCard.getDefault(), false)); + this.addAbility(new SpellCastTriggeredAbility(new UntapSourceEffect(), new FilterSpiritOrArcaneCard(), false)); } public InnocenceKami(final InnocenceKami card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfFiresRoar.java b/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfFiresRoar.java index e4d3e6917c5..7e79643cbc8 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfFiresRoar.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfFiresRoar.java @@ -39,8 +39,6 @@ import mage.abilities.common.CantBlockAbility; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.target.common.TargetCreaturePermanent; @@ -55,7 +53,7 @@ public class KamiOfFiresRoar extends CardImpl { this.color.setRed(true); this.power = new MageInt(2); this.toughness = new MageInt(3); - Ability ability = new SpellCastTriggeredAbility(new GainAbilityTargetEffect(CantBlockAbility.getInstance(), Constants.Duration.EndOfTurn), FilterSpiritOrArcaneCard.getDefault(), false); + Ability ability = new SpellCastTriggeredAbility(new GainAbilityTargetEffect(CantBlockAbility.getInstance(), Constants.Duration.EndOfTurn), new FilterSpiritOrArcaneCard(), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfTheHunt.java b/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfTheHunt.java index 7ee24ac7cd1..8ecce87b6f4 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfTheHunt.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfTheHunt.java @@ -37,8 +37,6 @@ import mage.MageInt; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; /** @@ -53,7 +51,7 @@ public class KamiOfTheHunt extends CardImpl { this.color.setGreen(true); this.power = new MageInt(2); this.toughness = new MageInt(2); - this.addAbility(new SpellCastTriggeredAbility(new BoostSourceEffect(1, 1, Constants.Duration.EndOfTurn), FilterSpiritOrArcaneCard.getDefault(), false)); + this.addAbility(new SpellCastTriggeredAbility(new BoostSourceEffect(1, 1, Constants.Duration.EndOfTurn), new FilterSpiritOrArcaneCard(), false)); } public KamiOfTheHunt(final KamiOfTheHunt card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfTheWaningMoon.java b/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfTheWaningMoon.java index e973ad83e0e..a19fa0617ab 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfTheWaningMoon.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/KamiOfTheWaningMoon.java @@ -40,8 +40,6 @@ import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.keyword.FearAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.target.common.TargetCreaturePermanent; @@ -57,7 +55,7 @@ public class KamiOfTheWaningMoon extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); - Ability ability = new SpellCastTriggeredAbility(new GainAbilityTargetEffect(FearAbility.getInstance(), Constants.Duration.EndOfTurn), FilterSpiritOrArcaneCard.getDefault(), false); + Ability ability = new SpellCastTriggeredAbility(new GainAbilityTargetEffect(FearAbility.getInstance(), Constants.Duration.EndOfTurn), new FilterSpiritOrArcaneCard(), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/KodamaOfTheSouthTree.java b/Mage.Sets/src/mage/sets/championsofkamigawa/KodamaOfTheSouthTree.java index 2b65abcfe43..f9740a5c64b 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/KodamaOfTheSouthTree.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/KodamaOfTheSouthTree.java @@ -40,8 +40,6 @@ import mage.abilities.effects.common.continious.BoostControlledEffect; import mage.abilities.effects.common.continious.GainAbilityControlledEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterSpiritOrArcaneCard; @@ -57,8 +55,8 @@ public class KodamaOfTheSouthTree extends CardImpl { this.color.setGreen(true); this.power = new MageInt(4); this.toughness = new MageInt(4); - Ability ability = new SpellCastTriggeredAbility(new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), true), FilterSpiritOrArcaneCard.getDefault(), false); - ability.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), true)); + Ability ability = new SpellCastTriggeredAbility(new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), true), new FilterSpiritOrArcaneCard(), false); + ability.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), true)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/OrbweaverKumo.java b/Mage.Sets/src/mage/sets/championsofkamigawa/OrbweaverKumo.java index 8305182df39..2b90ccff59a 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/OrbweaverKumo.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/OrbweaverKumo.java @@ -55,7 +55,7 @@ public class OrbweaverKumo extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(4); this.addAbility(ReachAbility.getInstance()); - this.addAbility(new SpellCastTriggeredAbility(new GainAbilitySourceEffect(new ForestwalkAbility(), Constants.Duration.EndOfTurn), FilterSpiritOrArcaneCard.getDefault(), false)); + this.addAbility(new SpellCastTriggeredAbility(new GainAbilitySourceEffect(new ForestwalkAbility(), Constants.Duration.EndOfTurn), new FilterSpiritOrArcaneCard(), false)); } public OrbweaverKumo(final OrbweaverKumo card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/OreGorger.java b/Mage.Sets/src/mage/sets/championsofkamigawa/OreGorger.java index 79e6f382869..4a7528fd991 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/OreGorger.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/OreGorger.java @@ -37,8 +37,6 @@ import mage.abilities.Ability; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.target.common.TargetNonBasicLandPermanent; @@ -53,7 +51,7 @@ public class OreGorger extends CardImpl { this.color.setRed(true); this.power = new MageInt(3); this.toughness = new MageInt(1); - Ability ability = new SpellCastTriggeredAbility(new DestroyTargetEffect(), FilterSpiritOrArcaneCard.getDefault(), true); + Ability ability = new SpellCastTriggeredAbility(new DestroyTargetEffect(), new FilterSpiritOrArcaneCard(), true); ability.addTarget(new TargetNonBasicLandPermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/PartTheVeil.java b/Mage.Sets/src/mage/sets/championsofkamigawa/PartTheVeil.java index a3ec39c0297..354043ae73f 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/PartTheVeil.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/PartTheVeil.java @@ -76,7 +76,7 @@ class PartTheVeilEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - for (Permanent creature : game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId())) { + for (Permanent creature : game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId())) { creature.moveToZone(Constants.Zone.HAND, source.getSourceId(), game, true); } return true; diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/SireOfTheStorm.java b/Mage.Sets/src/mage/sets/championsofkamigawa/SireOfTheStorm.java index cc237115da8..1b36328eaad 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/SireOfTheStorm.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/SireOfTheStorm.java @@ -37,8 +37,6 @@ import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.DrawCardControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; /** @@ -54,7 +52,7 @@ public class SireOfTheStorm extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new SpellCastTriggeredAbility(new DrawCardControllerEffect(1), FilterSpiritOrArcaneCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new DrawCardControllerEffect(1), new FilterSpiritOrArcaneCard(), true)); } public SireOfTheStorm(final SireOfTheStorm card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/Soilshaper.java b/Mage.Sets/src/mage/sets/championsofkamigawa/Soilshaper.java index b31dcdf0591..32e57058b85 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/Soilshaper.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/Soilshaper.java @@ -38,8 +38,6 @@ import mage.abilities.Ability; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.continious.BecomesCreatureTargetEffect; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.game.permanent.token.Token; import mage.target.common.TargetLandPermanent; @@ -55,7 +53,7 @@ public class Soilshaper extends CardImpl { this.color.setGreen(true); this.power = new MageInt(1); this.toughness = new MageInt(1); - Ability ability = new SpellCastTriggeredAbility(new BecomesCreatureTargetEffect(new SoilshaperToken(), "land", Duration.EndOfTurn), FilterSpiritOrArcaneCard.getDefault(), false); + Ability ability = new SpellCastTriggeredAbility(new BecomesCreatureTargetEffect(new SoilshaperToken(), "land", Duration.EndOfTurn), new FilterSpiritOrArcaneCard(), false); ability.addTarget(new TargetLandPermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/SoulOfMagma.java b/Mage.Sets/src/mage/sets/championsofkamigawa/SoulOfMagma.java index 85930bd7e3a..02093cd026f 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/SoulOfMagma.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/SoulOfMagma.java @@ -37,8 +37,6 @@ import mage.abilities.Ability; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.target.common.TargetCreaturePermanent; @@ -53,7 +51,7 @@ public class SoulOfMagma extends CardImpl { this.color.setRed(true); this.power = new MageInt(2); this.toughness = new MageInt(2); - Ability ability = new SpellCastTriggeredAbility(new DamageTargetEffect(1), FilterSpiritOrArcaneCard.getDefault(), false); + Ability ability = new SpellCastTriggeredAbility(new DamageTargetEffect(1), new FilterSpiritOrArcaneCard(), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/ThiefOfHope.java b/Mage.Sets/src/mage/sets/championsofkamigawa/ThiefOfHope.java index 2d38218ff3d..fa9c86a1568 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/ThiefOfHope.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/ThiefOfHope.java @@ -39,8 +39,6 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; -import mage.filter.Filter; -import mage.filter.FilterCard; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.target.common.TargetOpponent; @@ -55,7 +53,7 @@ public class ThiefOfHope extends CardImpl { this.color.setBlack(true); this.power = new MageInt(2); this.toughness = new MageInt(2); - Ability ability = new SpellCastTriggeredAbility(new LoseLifeTargetEffect(1), FilterSpiritOrArcaneCard.getDefault(), false); + Ability ability = new SpellCastTriggeredAbility(new LoseLifeTargetEffect(1), new FilterSpiritOrArcaneCard(), false); ability.addEffect(new GainLifeEffect(1)); ability.addTarget(new TargetOpponent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/conflux/GleamOfResistance.java b/Mage.Sets/src/mage/sets/conflux/GleamOfResistance.java index 224041bc50b..3385f767b10 100644 --- a/Mage.Sets/src/mage/sets/conflux/GleamOfResistance.java +++ b/Mage.Sets/src/mage/sets/conflux/GleamOfResistance.java @@ -82,7 +82,7 @@ class GleamOfResistanceEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - for (Permanent perm: game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId())) { + for (Permanent perm: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId())) { if (perm.isTapped()) { perm.untap(game); } diff --git a/Mage.Sets/src/mage/sets/conflux/MartialCoup.java b/Mage.Sets/src/mage/sets/conflux/MartialCoup.java index 15be32723d5..6195078a84f 100644 --- a/Mage.Sets/src/mage/sets/conflux/MartialCoup.java +++ b/Mage.Sets/src/mage/sets/conflux/MartialCoup.java @@ -86,7 +86,7 @@ class MartialCoupEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { int amount = source.getManaCostsToPay().getX(); if (amount > 4) { - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId(), game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game)) { permanent.destroy(source.getSourceId(), game, false); } } diff --git a/Mage.Sets/src/mage/sets/guildpact/GruulWarPlow.java b/Mage.Sets/src/mage/sets/guildpact/GruulWarPlow.java index 5bbb10642c3..ab83af5b3c7 100644 --- a/Mage.Sets/src/mage/sets/guildpact/GruulWarPlow.java +++ b/Mage.Sets/src/mage/sets/guildpact/GruulWarPlow.java @@ -51,7 +51,7 @@ public class GruulWarPlow extends CardImpl { public GruulWarPlow(UUID ownerId) { super(ownerId, 151, "Gruul War Plow", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{4}"); this.expansionSetCode = "GPT"; - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Constants.Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault()))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Constants.Duration.WhileOnBattlefield, new FilterCreaturePermanent()))); this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GruulWarPlowToken(), "", Duration.EndOfTurn), new ManaCostsImpl("{1}{R}{G}"))); } diff --git a/Mage.Sets/src/mage/sets/guildpact/SmogsteedRider.java b/Mage.Sets/src/mage/sets/guildpact/SmogsteedRider.java index 064385c5a2b..7ef7dd11d10 100644 --- a/Mage.Sets/src/mage/sets/guildpact/SmogsteedRider.java +++ b/Mage.Sets/src/mage/sets/guildpact/SmogsteedRider.java @@ -52,7 +52,7 @@ public class SmogsteedRider extends CardImpl { this.color.setBlack(true); this.power = new MageInt(2); this.toughness = new MageInt(2); - this.addAbility(new AttacksTriggeredAbility(new GainAbilityControlledEffect(FearAbility.getInstance(), Constants.Duration.EndOfTurn, FilterAttackingCreature.getDefault(), true), false)); + this.addAbility(new AttacksTriggeredAbility(new GainAbilityControlledEffect(FearAbility.getInstance(), Constants.Duration.EndOfTurn, new FilterAttackingCreature(), true), false)); } public SmogsteedRider(final SmogsteedRider card) { diff --git a/Mage.Sets/src/mage/sets/innistrad/CurseOfDeathsHold.java b/Mage.Sets/src/mage/sets/innistrad/CurseOfDeathsHold.java index 9613f266626..29be1a434f5 100644 --- a/Mage.Sets/src/mage/sets/innistrad/CurseOfDeathsHold.java +++ b/Mage.Sets/src/mage/sets/innistrad/CurseOfDeathsHold.java @@ -98,7 +98,7 @@ class CurseOfDeathsHoldEffect extends ContinuousEffectImpl { } } - for (Permanent permanent : game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId(), source.getSourceId(), game)) { + for (Permanent permanent : game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), source.getSourceId(), game)) { if (!chosen.contains(permanent)) { permanent.destroy(source.getId(), game, false); } diff --git a/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java b/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java index 9bfe038a0e5..2037e852010 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java +++ b/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java @@ -33,7 +33,6 @@ import mage.Constants.Rarity; import mage.abilities.Ability; import mage.abilities.LoyaltyAbility; import mage.abilities.dynamicvalue.DynamicValue; -import mage.abilities.effects.Effect; import mage.abilities.effects.Effects; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; @@ -90,7 +89,7 @@ public class GarrukTheVeilCursed extends CardImpl { effect.setLockedIn(true); effect.setRule("Creatures you control get +X/+X until end of turn, where X is the number of creature cards in your graveyard"); effects1.add(effect); - effects1.add(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault())); + effects1.add(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Constants.Duration.EndOfTurn, new FilterCreaturePermanent())); this.addAbility(new LoyaltyAbility(effects1, -3)); } @@ -110,7 +109,7 @@ class GarrukTheVeilCursedValue implements DynamicValue { public int calculate(Game game, Ability sourceAbility) { Player player = game.getPlayer(sourceAbility.getControllerId()); if (player != null) { - return player.getGraveyard().getCards(FilterCreatureCard.getDefault(), game).size(); + return player.getGraveyard().getCards(new FilterCreatureCard(), game).size(); } return 0; } @@ -133,7 +132,7 @@ class GarrukTheVeilCursedValue implements DynamicValue { class GarrukTheVeilCursedEffect extends OneShotEffect { - private static FilterPermanent filterCreature = new FilterPermanent("a creature you control"); + private static final FilterPermanent filterCreature = new FilterPermanent("a creature you control"); static { filterCreature.getCardType().add(CardType.CREATURE); diff --git a/Mage.Sets/src/mage/sets/innistrad/InstigatorGang.java b/Mage.Sets/src/mage/sets/innistrad/InstigatorGang.java index d7177cb52fa..c3408e497cd 100644 --- a/Mage.Sets/src/mage/sets/innistrad/InstigatorGang.java +++ b/Mage.Sets/src/mage/sets/innistrad/InstigatorGang.java @@ -63,7 +63,7 @@ public class InstigatorGang extends CardImpl { this.toughness = new MageInt(3); // Attacking creatures you control get +1/+0. - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 0, Constants.Duration.WhileOnBattlefield, FilterAttackingCreature.getDefault(), false))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 0, Constants.Duration.WhileOnBattlefield, new FilterAttackingCreature(), false))); // At the beginning of each upkeep, if no spells were cast last turn, transform Instigator Gang. this.addAbility(new TransformAbility()); diff --git a/Mage.Sets/src/mage/sets/innistrad/IntangibleVirtue.java b/Mage.Sets/src/mage/sets/innistrad/IntangibleVirtue.java index 86add0f622a..edf49758921 100644 --- a/Mage.Sets/src/mage/sets/innistrad/IntangibleVirtue.java +++ b/Mage.Sets/src/mage/sets/innistrad/IntangibleVirtue.java @@ -31,7 +31,6 @@ import java.util.UUID; import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; -import mage.Constants.Zone; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continious.BoostControlledEffect; import mage.abilities.effects.common.continious.GainAbilityControlledEffect; @@ -45,7 +44,7 @@ import mage.filter.common.FilterToken; */ public class IntangibleVirtue extends CardImpl { - private final static FilterToken filter = FilterToken.getDefault(); + private final static FilterToken filter = new FilterToken(); public IntangibleVirtue(UUID ownerId) { super(ownerId, 19, "Intangible Virtue", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); diff --git a/Mage.Sets/src/mage/sets/innistrad/KessigCagebreakers.java b/Mage.Sets/src/mage/sets/innistrad/KessigCagebreakers.java index 207027a220a..78755b0909e 100644 --- a/Mage.Sets/src/mage/sets/innistrad/KessigCagebreakers.java +++ b/Mage.Sets/src/mage/sets/innistrad/KessigCagebreakers.java @@ -93,7 +93,7 @@ class KessigCagebreakersEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player != null) { WolfToken token = new WolfToken(); - int count = player.getGraveyard().count(FilterCreatureCard.getDefault(), game); + int count = player.getGraveyard().count(new FilterCreatureCard(), game); for (int i = 0; i < count; i++) { token.putOntoBattlefield(1, game, source.getId(), source.getControllerId()); Permanent permanent = game.getPermanent(token.getLastAddedToken()); diff --git a/Mage.Sets/src/mage/sets/innistrad/LilianaOfTheVeil.java b/Mage.Sets/src/mage/sets/innistrad/LilianaOfTheVeil.java index ac697cb81d2..5a58184ef4a 100644 --- a/Mage.Sets/src/mage/sets/innistrad/LilianaOfTheVeil.java +++ b/Mage.Sets/src/mage/sets/innistrad/LilianaOfTheVeil.java @@ -72,7 +72,7 @@ public class LilianaOfTheVeil extends CardImpl { // +1: Each player discards a card. this.addAbility(new LoyaltyAbility(new DiscardEachPlayerEffect(), 1)); // -2: Target player sacrifices a creature. - LoyaltyAbility ability = new LoyaltyAbility(new SacrificeEffect(FilterCreaturePermanent.getDefault(), 1, "Target player"), -2); + LoyaltyAbility ability = new LoyaltyAbility(new SacrificeEffect(new FilterCreaturePermanent(), 1, "Target player"), -2); ability.addTarget(new TargetPlayer()); this.addAbility(ability); // -6: Separate all permanents target player controls into two piles. That player sacrifices all permanents in the pile of his or her choice. diff --git a/Mage.Sets/src/mage/sets/innistrad/Rebuke.java b/Mage.Sets/src/mage/sets/innistrad/Rebuke.java index 74ad822f4ff..e203add70f7 100644 --- a/Mage.Sets/src/mage/sets/innistrad/Rebuke.java +++ b/Mage.Sets/src/mage/sets/innistrad/Rebuke.java @@ -33,7 +33,6 @@ import mage.Constants.Rarity; import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.filter.common.FilterAttackingCreature; -import mage.filter.common.FilterCreaturePermanent; import mage.target.common.TargetCreaturePermanent; /** @@ -49,7 +48,7 @@ public class Rebuke extends CardImpl { this.color.setWhite(true); // Destroy target attacking creature. - this.getSpellAbility().addTarget(new TargetCreaturePermanent(FilterAttackingCreature.getDefault())); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterAttackingCreature())); this.getSpellAbility().addEffect(new DestroyTargetEffect()); } diff --git a/Mage.Sets/src/mage/sets/innistrad/SpiderSpawning.java b/Mage.Sets/src/mage/sets/innistrad/SpiderSpawning.java index 7cf23c507c5..921a0b68cf4 100644 --- a/Mage.Sets/src/mage/sets/innistrad/SpiderSpawning.java +++ b/Mage.Sets/src/mage/sets/innistrad/SpiderSpawning.java @@ -54,7 +54,7 @@ public class SpiderSpawning extends CardImpl { this.color.setGreen(true); // Put a 1/2 green Spider creature token with reach onto the battlefield for each creature card in your graveyard. - this.getSpellAbility().addEffect(new CreateTokenEffect(new SpiderToken(), new CardsInControllerGraveyardCount(FilterCreatureCard.getDefault()))); + this.getSpellAbility().addEffect(new CreateTokenEffect(new SpiderToken(), new CardsInControllerGraveyardCount(new FilterCreatureCard()))); // Flashback {6}{B} this.addAbility(new FlashbackAbility(new ManaCostsImpl("{6}{B}"), TimingRule.SORCERY)); } diff --git a/Mage.Sets/src/mage/sets/innistrad/WildbloodPack.java b/Mage.Sets/src/mage/sets/innistrad/WildbloodPack.java index 80262b30158..d5a13b00747 100644 --- a/Mage.Sets/src/mage/sets/innistrad/WildbloodPack.java +++ b/Mage.Sets/src/mage/sets/innistrad/WildbloodPack.java @@ -66,7 +66,7 @@ public class WildbloodPack extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // Attacking creatures you control get +3/+0. - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(3, 0, Constants.Duration.WhileOnBattlefield, FilterAttackingCreature.getDefault(), false))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(3, 0, Constants.Duration.WhileOnBattlefield, new FilterAttackingCreature(), false))); // At the beginning of each upkeep, if a player cast two or more spells last turn, transform Wildblood Pack. TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), Constants.TargetController.ANY, false); diff --git a/Mage.Sets/src/mage/sets/lorwyn/FinalRevels.java b/Mage.Sets/src/mage/sets/lorwyn/FinalRevels.java index d6d6d58f954..7efb776800e 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/FinalRevels.java +++ b/Mage.Sets/src/mage/sets/lorwyn/FinalRevels.java @@ -47,9 +47,9 @@ public class FinalRevels extends CardImpl { super(ownerId, 113, "Final Revels", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{4}{B}"); this.expansionSetCode = "LRW"; this.color.setBlack(true); - this.getSpellAbility().addEffect(new BoostAllEffect(2, 0, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), false)); + this.getSpellAbility().addEffect(new BoostAllEffect(2, 0, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), false)); Mode mode = new Mode(); - mode.getEffects().add(new BoostAllEffect(0, -2, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), false)); + mode.getEffects().add(new BoostAllEffect(0, -2, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), false)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/sets/magic2010/AjaniGoldmane.java b/Mage.Sets/src/mage/sets/magic2010/AjaniGoldmane.java index c6902b33311..fde9d3bad48 100644 --- a/Mage.Sets/src/mage/sets/magic2010/AjaniGoldmane.java +++ b/Mage.Sets/src/mage/sets/magic2010/AjaniGoldmane.java @@ -74,7 +74,7 @@ public class AjaniGoldmane extends CardImpl { Effects effects1 = new Effects(); effects1.add(new AddCountersAllEffect(CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent())); - effects1.add(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, FilterCreaturePermanent.getDefault())); + effects1.add(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent())); this.addAbility(new LoyaltyAbility(effects1, -1)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new AvatarToken()), -6)); diff --git a/Mage.Sets/src/mage/sets/magic2010/ChandraNalaar.java b/Mage.Sets/src/mage/sets/magic2010/ChandraNalaar.java index 5e0da22950e..8b9119d1910 100644 --- a/Mage.Sets/src/mage/sets/magic2010/ChandraNalaar.java +++ b/Mage.Sets/src/mage/sets/magic2010/ChandraNalaar.java @@ -73,7 +73,7 @@ public class ChandraNalaar extends CardImpl { Effects effects1 = new Effects(); effects1.add(new DamageTargetEffect(10)); - effects1.add(new DamageAllControlledTargetEffect(10, FilterCreaturePermanent.getDefault())); + effects1.add(new DamageAllControlledTargetEffect(10, new FilterCreaturePermanent())); LoyaltyAbility ability3 = new LoyaltyAbility(effects1, -8); ability3.addTarget(new TargetPlayer()); this.addAbility(ability3); diff --git a/Mage.Sets/src/mage/sets/magic2010/DivineVerdict.java b/Mage.Sets/src/mage/sets/magic2010/DivineVerdict.java index b6287b7c0c2..1ccd48c2457 100644 --- a/Mage.Sets/src/mage/sets/magic2010/DivineVerdict.java +++ b/Mage.Sets/src/mage/sets/magic2010/DivineVerdict.java @@ -57,7 +57,7 @@ public class DivineVerdict extends CardImpl { this.color.setWhite(true); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(FilterAttackingOrBlockingCreature.getDefault())); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterAttackingOrBlockingCreature())); this.getSpellAbility().addEffect(new DestroyTargetEffect()); } diff --git a/Mage.Sets/src/mage/sets/magic2010/GarrukWildspeaker.java b/Mage.Sets/src/mage/sets/magic2010/GarrukWildspeaker.java index 69b1db1b972..ce8be0a7cf2 100644 --- a/Mage.Sets/src/mage/sets/magic2010/GarrukWildspeaker.java +++ b/Mage.Sets/src/mage/sets/magic2010/GarrukWildspeaker.java @@ -72,7 +72,7 @@ public class GarrukWildspeaker extends CardImpl { Effects effects1 = new Effects(); effects1.add(new BoostControlledEffect(3, 3, Duration.EndOfTurn)); - effects1.add(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, FilterCreaturePermanent.getDefault())); + effects1.add(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent())); this.addAbility(new LoyaltyAbility(effects1, -4)); } diff --git a/Mage.Sets/src/mage/sets/magic2010/GloriousCharge.java b/Mage.Sets/src/mage/sets/magic2010/GloriousCharge.java index 9e8e86cce60..fc1a59b8b57 100644 --- a/Mage.Sets/src/mage/sets/magic2010/GloriousCharge.java +++ b/Mage.Sets/src/mage/sets/magic2010/GloriousCharge.java @@ -46,7 +46,7 @@ public class GloriousCharge extends CardImpl { super(ownerId, 11, "Glorious Charge", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{W}"); this.expansionSetCode = "M10"; this.color.setWhite(true); - this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), false)); + this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), false)); } public GloriousCharge(final GloriousCharge card) { diff --git a/Mage.Sets/src/mage/sets/magic2010/Overrun.java b/Mage.Sets/src/mage/sets/magic2010/Overrun.java index 8b9c5da36c3..ccef7ee3601 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Overrun.java +++ b/Mage.Sets/src/mage/sets/magic2010/Overrun.java @@ -50,7 +50,7 @@ public class Overrun extends CardImpl { this.color.setGreen(true); this.getSpellAbility().addEffect(new BoostControlledEffect(3, 3, Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, FilterCreaturePermanent.getDefault())); + this.getSpellAbility().addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent())); } public Overrun(final Overrun card) { diff --git a/Mage.Sets/src/mage/sets/magic2010/Sleep.java b/Mage.Sets/src/mage/sets/magic2010/Sleep.java index f4b8de9bf39..24c5bb0a9b1 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Sleep.java +++ b/Mage.Sets/src/mage/sets/magic2010/Sleep.java @@ -85,7 +85,7 @@ class SleepEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getFirstTarget()); if (player != null) { - for (Permanent creature: game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), player.getId())) { + for (Permanent creature: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId())) { creature.tap(game); game.addEffect(new SleepEffect2(creature.getId()), source); } diff --git a/Mage.Sets/src/mage/sets/magic2011/AutumnsVeil.java b/Mage.Sets/src/mage/sets/magic2011/AutumnsVeil.java index 6a701d03dbf..dc0c95508f0 100644 --- a/Mage.Sets/src/mage/sets/magic2011/AutumnsVeil.java +++ b/Mage.Sets/src/mage/sets/magic2011/AutumnsVeil.java @@ -47,7 +47,7 @@ import mage.filter.common.FilterCreaturePermanent; public class AutumnsVeil extends CardImpl { private static final FilterSpell filterTarget1 = new FilterSpell("spells you control"); - private static final FilterCreaturePermanent filterTarget2 = FilterCreaturePermanent.getDefault(); + private static final FilterCreaturePermanent filterTarget2 = new FilterCreaturePermanent(); private static final FilterStackObject filterSource = new FilterStackObject("blue or black spells"); static { diff --git a/Mage.Sets/src/mage/sets/magic2011/DestructiveForce.java b/Mage.Sets/src/mage/sets/magic2011/DestructiveForce.java index ade6c6a59ab..983a0b86fa2 100644 --- a/Mage.Sets/src/mage/sets/magic2011/DestructiveForce.java +++ b/Mage.Sets/src/mage/sets/magic2011/DestructiveForce.java @@ -54,7 +54,7 @@ public class DestructiveForce extends CardImpl { this.expansionSetCode = "M11"; this.color.setRed(true); this.getSpellAbility().addEffect(new SacrificeAllEffect(5, filter)); - this.getSpellAbility().addEffect(new DamageAllEffect(5, FilterCreaturePermanent.getDefault())); + this.getSpellAbility().addEffect(new DamageAllEffect(5, new FilterCreaturePermanent())); } public DestructiveForce(final DestructiveForce card) { diff --git a/Mage.Sets/src/mage/sets/magic2011/LeylineOfVitality.java b/Mage.Sets/src/mage/sets/magic2011/LeylineOfVitality.java index 90b313c337a..55adec99f85 100644 --- a/Mage.Sets/src/mage/sets/magic2011/LeylineOfVitality.java +++ b/Mage.Sets/src/mage/sets/magic2011/LeylineOfVitality.java @@ -52,7 +52,7 @@ public class LeylineOfVitality extends CardImpl { this.expansionSetCode = "M11"; this.color.setGreen(true); this.addAbility(LeylineAbility.getInstance()); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), false))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), false))); this.addAbility(new CreatureEntersBattlefieldTriggeredAbility(new GainLifeEffect(1), true)); } diff --git a/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java b/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java index 80b7fc1df18..aa4e3f5b04d 100644 --- a/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java +++ b/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java @@ -82,7 +82,7 @@ class MassPolymorphEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { int count; - List creatures = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId()); + List creatures = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId()); count = creatures.size(); for (Permanent creature: creatures) { creature.moveToExile(null, null, source.getId(), game); diff --git a/Mage.Sets/src/mage/sets/magic2011/OverwhelmingStampede.java b/Mage.Sets/src/mage/sets/magic2011/OverwhelmingStampede.java index e5249285ed1..dc5ed5d7934 100644 --- a/Mage.Sets/src/mage/sets/magic2011/OverwhelmingStampede.java +++ b/Mage.Sets/src/mage/sets/magic2011/OverwhelmingStampede.java @@ -85,11 +85,11 @@ class OverwhelmingStampedeEffect extends ContinuousEffectImpl maxPower) maxPower = perm.getPower().getValue(); } - for (Permanent perm: game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId())) { + for (Permanent perm: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId())) { switch (layer) { case PTChangingEffects_7: if (sublayer == SubLayer.ModifyPT_7c) { diff --git a/Mage.Sets/src/mage/sets/magic2012/AdaptiveAutomaton.java b/Mage.Sets/src/mage/sets/magic2012/AdaptiveAutomaton.java index 4a29decd7a8..ee9c89e4a63 100644 --- a/Mage.Sets/src/mage/sets/magic2012/AdaptiveAutomaton.java +++ b/Mage.Sets/src/mage/sets/magic2012/AdaptiveAutomaton.java @@ -142,7 +142,7 @@ class AdaptiveAutomatonAddSubtypeEffect extends ContinuousEffectImpl { - private static final FilterCreaturePermanent filter = FilterCreaturePermanent.getDefault(); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); public AdaptiveAutomatonBoostControlledEffect() { super(Duration.WhileOnBattlefield, Constants.Layer.PTChangingEffects_7, Constants.SubLayer.ModifyPT_7c, Constants.Outcome.BoostCreature); diff --git a/Mage.Sets/src/mage/sets/magic2012/DoublingChant.java b/Mage.Sets/src/mage/sets/magic2012/DoublingChant.java index c0f63ddfe6e..2f6fdc91665 100644 --- a/Mage.Sets/src/mage/sets/magic2012/DoublingChant.java +++ b/Mage.Sets/src/mage/sets/magic2012/DoublingChant.java @@ -95,7 +95,7 @@ class DoublingChantEffect extends OneShotEffect { if (player == null) { return false; } - List creatures = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId()); + List creatures = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId()); for (Permanent creature : creatures) { final String creatureName = creature.getName(); if (!namesFiltered.contains(creatureName)) { diff --git a/Mage.Sets/src/mage/sets/mirrodin/LeoninSunStandard.java b/Mage.Sets/src/mage/sets/mirrodin/LeoninSunStandard.java index 6cd61a63041..2828bc03e9d 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/LeoninSunStandard.java +++ b/Mage.Sets/src/mage/sets/mirrodin/LeoninSunStandard.java @@ -47,7 +47,7 @@ public class LeoninSunStandard extends CardImpl { public LeoninSunStandard(UUID ownerId) { super(ownerId, 194, "Leonin Sun Standard", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{2}"); this.expansionSetCode = "MRD"; - this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), false), new ManaCostsImpl("{1}{W}"))); + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), false), new ManaCostsImpl("{1}{W}"))); } public LeoninSunStandard(final LeoninSunStandard card) { diff --git a/Mage.Sets/src/mage/sets/mirrodin/MassHysteria.java b/Mage.Sets/src/mage/sets/mirrodin/MassHysteria.java index fe98b0fe813..9f2c02e6f7e 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/MassHysteria.java +++ b/Mage.Sets/src/mage/sets/mirrodin/MassHysteria.java @@ -48,7 +48,7 @@ public class MassHysteria extends CardImpl { super(ownerId, 99, "Mass Hysteria", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{R}"); this.expansionSetCode = "MRD"; this.color.setRed(true); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Constants.Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), false))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Constants.Duration.WhileOnBattlefield, new FilterCreaturePermanent(), false))); } public MassHysteria(final MassHysteria card) { diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/ConcussiveBolt.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/ConcussiveBolt.java index d10489a5a04..e3b701bdc9d 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/ConcussiveBolt.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/ConcussiveBolt.java @@ -96,7 +96,7 @@ class ConcussiveBoltEffect extends ContinuousEffectImpl { int affectedTargets = 0; Player player = game.getPlayer(source.getFirstTarget()); if (player != null) { - List permanents = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), player.getId()); + List permanents = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId()); for (Permanent permanent : permanents) { permanent.addAbility(CantBlockAbility.getInstance()); affectedTargets++; diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/CreepingCorrosion.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/CreepingCorrosion.java index 26907439405..ae523d3d707 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/CreepingCorrosion.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/CreepingCorrosion.java @@ -45,7 +45,7 @@ public class CreepingCorrosion extends CardImpl { super(ownerId, 78, "Creeping Corrosion", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{2}{G}{G}"); this.expansionSetCode = "MBS"; this.color.setGreen(true); - this.getSpellAbility().addEffect(new DestroyAllEffect(FilterArtifactPermanent.getDefault())); + this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterArtifactPermanent())); } public CreepingCorrosion(final CreepingCorrosion card) { diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianRebirth.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianRebirth.java index 9cb47c4814d..6545bbd118f 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianRebirth.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianRebirth.java @@ -78,7 +78,7 @@ public class PhyrexianRebirth extends CardImpl { @Override public boolean apply(Game game, Ability source) { int count = 0; - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId(), game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game)) { count += permanent.destroy(source.getId(), game, false) ? 1 : 0; } HorrorToken horrorToken = new HorrorToken(); diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/Slagstorm.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/Slagstorm.java index 90a70f73f6d..c1dddafc82c 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/Slagstorm.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/Slagstorm.java @@ -48,7 +48,7 @@ public class Slagstorm extends CardImpl { super(ownerId, 75, "Slagstorm", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{1}{R}{R}"); this.expansionSetCode = "MBS"; this.color.setRed(true); - this.getSpellAbility().addEffect(new DamageAllEffect(3, FilterCreaturePermanent.getDefault())); + this.getSpellAbility().addEffect(new DamageAllEffect(3, new FilterCreaturePermanent())); Mode mode = new Mode(); mode.getEffects().add(new DamagePlayersEffect(3)); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/sets/morningtide/Festercreep.java b/Mage.Sets/src/mage/sets/morningtide/Festercreep.java index 4bb52a513b9..8c5608c907c 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Festercreep.java +++ b/Mage.Sets/src/mage/sets/morningtide/Festercreep.java @@ -58,7 +58,7 @@ public class Festercreep extends CardImpl { this.power = new MageInt(0); this.toughness = new MageInt(0); this.addAbility(new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), false)); - Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostAllEffect(-1, -1, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), true), new ManaCostsImpl("{1}{B}")); + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostAllEffect(-1, -1, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), true), new ManaCostsImpl("{1}{B}")); ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/newphyrexia/CagedSun.java b/Mage.Sets/src/mage/sets/newphyrexia/CagedSun.java index fd6657b8c21..ed5528603bd 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/CagedSun.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/CagedSun.java @@ -114,7 +114,7 @@ class CagedSunEffect1 extends OneShotEffect { class CagedSunEffect2 extends ContinuousEffectImpl { - private static final FilterCreaturePermanent filter = FilterCreaturePermanent.getDefault(); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); public CagedSunEffect2() { super(Duration.WhileOnBattlefield, Constants.Layer.PTChangingEffects_7, Constants.SubLayer.ModifyPT_7c, Constants.Outcome.BoostCreature); diff --git a/Mage.Sets/src/mage/sets/newphyrexia/JorKadeenThePrevailer.java b/Mage.Sets/src/mage/sets/newphyrexia/JorKadeenThePrevailer.java index 78cf8967bc2..b19f65b2310 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/JorKadeenThePrevailer.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/JorKadeenThePrevailer.java @@ -62,7 +62,7 @@ public class JorKadeenThePrevailer extends CardImpl { this.toughness = new MageInt(4); this.addAbility(FirstStrikeAbility.getInstance()); - ConditionalContinousEffect effect = new ConditionalContinousEffect(new BoostControlledEffect(3, 0, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true), + ConditionalContinousEffect effect = new ConditionalContinousEffect(new BoostControlledEffect(3, 0, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true), MetalcraftCondition.getInstance(), effectText); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); } diff --git a/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java b/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java index fe3ca7ea3f9..e494ad5f3a4 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java @@ -91,7 +91,7 @@ class LifesFinaleEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - List permanents = game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId(), game); + List permanents = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game); for (Permanent permanent : permanents) { permanent.destroy(source.getId(), game, false); } diff --git a/Mage.Sets/src/mage/sets/ravnika/FlameKinZealot.java b/Mage.Sets/src/mage/sets/ravnika/FlameKinZealot.java index 51b2b06ae97..f2f97bb2573 100644 --- a/Mage.Sets/src/mage/sets/ravnika/FlameKinZealot.java +++ b/Mage.Sets/src/mage/sets/ravnika/FlameKinZealot.java @@ -60,7 +60,7 @@ public class FlameKinZealot extends CardImpl { // When Flame-Kin Zealot enters the battlefield, creatures you control get +1/+1 and gain haste until end of turn. Ability ability = new EntersBattlefieldTriggeredAbility(new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn)); - ability.addEffect(new GainAbilityControlledEffect(HasteAbility.getInstance(), Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault())); + ability.addEffect(new GainAbilityControlledEffect(HasteAbility.getInstance(), Constants.Duration.EndOfTurn, new FilterCreaturePermanent())); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/ravnika/HalcyonGlaze.java b/Mage.Sets/src/mage/sets/ravnika/HalcyonGlaze.java index fc31f0d595e..7769d9e4740 100644 --- a/Mage.Sets/src/mage/sets/ravnika/HalcyonGlaze.java +++ b/Mage.Sets/src/mage/sets/ravnika/HalcyonGlaze.java @@ -53,7 +53,7 @@ public class HalcyonGlaze extends CardImpl { this.color.setBlue(true); // Whenever you cast a creature spell, Halcyon Glaze becomes a 4/4 Illusion creature with flying until end of turn. It's still an enchantment. - this.addAbility(new SpellCastTriggeredAbility(new BecomesCreatureSourceEffect(new HalcyonGlazeToken(), "enchantment", Constants.Duration.EndOfTurn), FilterCreatureCard.getDefault(), false)); + this.addAbility(new SpellCastTriggeredAbility(new BecomesCreatureSourceEffect(new HalcyonGlazeToken(), "enchantment", Constants.Duration.EndOfTurn), new FilterCreatureCard(), false)); } public HalcyonGlaze(final HalcyonGlaze card) { diff --git a/Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java b/Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java index 67ff1813f37..110a12112d8 100644 --- a/Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java +++ b/Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java @@ -31,13 +31,12 @@ import java.util.UUID; import mage.Constants.CardType; import mage.Constants.Rarity; import mage.MageInt; -import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.CreateTokenTargetEffect; import mage.abilities.keyword.UnblockableAbility; import mage.cards.CardImpl; -import mage.game.permanent.token.Token; +import mage.game.permanent.token.GoblinToken; import mage.target.Target; import mage.target.common.TargetOpponent; @@ -75,14 +74,3 @@ public class HuntedPhantasm extends CardImpl { return new HuntedPhantasm(this); } } - -class GoblinToken extends Token { - GoblinToken() { - super("Goblin", "1/1 red Goblin creature token"); - cardType.add(CardType.CREATURE); - color = ObjectColor.RED; - subtype.add("Goblin"); - power = new MageInt(1); - toughness = new MageInt(1); - } -} diff --git a/Mage.Sets/src/mage/sets/ravnika/OathswornGiant.java b/Mage.Sets/src/mage/sets/ravnika/OathswornGiant.java index b0ebfe6fcbc..f1de9de4717 100644 --- a/Mage.Sets/src/mage/sets/ravnika/OathswornGiant.java +++ b/Mage.Sets/src/mage/sets/ravnika/OathswornGiant.java @@ -59,8 +59,8 @@ public class OathswornGiant extends CardImpl { this.addAbility(VigilanceAbility.getInstance()); // Other creatures you control get +0/+2 and have vigilance. - Ability ability = new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(0, 2, Constants.Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true)); - ability.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Constants.Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true)); + Ability ability = new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(0, 2, Constants.Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true)); + ability.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Constants.Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/ravnika/PrimordialSage.java b/Mage.Sets/src/mage/sets/ravnika/PrimordialSage.java index 40863032f07..475b48cb9e1 100644 --- a/Mage.Sets/src/mage/sets/ravnika/PrimordialSage.java +++ b/Mage.Sets/src/mage/sets/ravnika/PrimordialSage.java @@ -52,7 +52,7 @@ public class PrimordialSage extends CardImpl { this.toughness = new MageInt(5); // Whenever you cast a creature spell, you may draw a card. - this.addAbility(new SpellCastTriggeredAbility(new DrawCardControllerEffect(1), FilterCreatureCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new DrawCardControllerEffect(1), new FilterCreatureCard(), true)); } public PrimordialSage(final PrimordialSage card) { diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/DawnglareInvoker.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/DawnglareInvoker.java index fe1b5a3bc1c..e27f559c584 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/DawnglareInvoker.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/DawnglareInvoker.java @@ -95,7 +95,7 @@ class DawnglareInvokerEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getFirstTarget()); if (player != null) { - List allCreatures = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), player.getId()); + List allCreatures = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId()); for (Permanent creature : allCreatures) { creature.tap(game); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/HellionEruption.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/HellionEruption.java index ae9c2f77fd0..aa759cb9a6f 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/HellionEruption.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/HellionEruption.java @@ -85,7 +85,7 @@ class HellionEruptionEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - List permanents = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId()); + List permanents = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId()); for (Permanent permanent : permanents) { permanent.sacrifice(source.getSourceId(), game); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/KabiraVindicator.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/KabiraVindicator.java index cc1920e9faa..558b944c6bc 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/KabiraVindicator.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/KabiraVindicator.java @@ -36,9 +36,7 @@ import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continious.BoostControlledEffect; import mage.abilities.keyword.LevelAbility; @@ -65,11 +63,11 @@ public class KabiraVindicator extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{W}"))); Abilities abilities1 = new AbilitiesImpl(); - abilities1.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true))); + abilities1.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true))); this.getLevels().add(new LevelAbility(2, 4, abilities1, 3, 6)); Abilities abilities2 = new AbilitiesImpl(); - abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true))); + abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true))); this.getLevels().add(new LevelAbility(5, -1, abilities2, 4, 8)); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/UnifiedWill.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/UnifiedWill.java index 79919fdb3df..2ca83a83a4e 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/UnifiedWill.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/UnifiedWill.java @@ -66,7 +66,7 @@ public class UnifiedWill extends CardImpl { class UnifiedWillEffect extends CounterTargetEffect { - private static FilterCreaturePermanent filter = FilterCreaturePermanent.getDefault(); + private static FilterCreaturePermanent filter = new FilterCreaturePermanent(); public UnifiedWillEffect() {} diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/BriarknitKami.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/BriarknitKami.java index 52610701841..4847bef6d78 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/BriarknitKami.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/BriarknitKami.java @@ -53,7 +53,7 @@ public class BriarknitKami extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); // Whenever you cast a Spirit or Arcane spell, put a +1/+1 counter on target creature. - Ability ability = new SpellCastTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), FilterSpiritOrArcaneCard.getDefault(), false); + Ability ability = new SpellCastTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new FilterSpiritOrArcaneCard(), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/FiddleheadKami.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/FiddleheadKami.java index b482aed9cf0..8534de0ee42 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/FiddleheadKami.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/FiddleheadKami.java @@ -49,8 +49,9 @@ public class FiddleheadKami extends CardImpl { this.color.setGreen(true); this.power = new MageInt(3); this.toughness = new MageInt(3); + // Whenever you cast a Spirit or Arcane spell, regenerate Fiddlehead Kami. - this.addAbility(new SpellCastTriggeredAbility(new RegenerateSourceEffect(), FilterSpiritOrArcaneCard.getDefault(), false)); + this.addAbility(new SpellCastTriggeredAbility(new RegenerateSourceEffect(), new FilterSpiritOrArcaneCard(), false)); } public FiddleheadKami(final FiddleheadKami card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/HaruOnna.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/HaruOnna.java index e90d6d73f3d..aa92d183989 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/HaruOnna.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/HaruOnna.java @@ -51,10 +51,11 @@ public class HaruOnna extends CardImpl { this.color.setGreen(true); this.power = new MageInt(2); this.toughness = new MageInt(1); + // When Haru-Onna enters the battlefield, draw a card. this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); // Whenever you cast a Spirit or Arcane spell, you may return Haru-Onna to its owner's hand. - this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), FilterSpiritOrArcaneCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), new FilterSpiritOrArcaneCard(), true)); } public HaruOnna(final HaruOnna card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/KemuriOnna.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/KemuriOnna.java index 0fd5881f213..bfb7f41759b 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/KemuriOnna.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/KemuriOnna.java @@ -53,12 +53,13 @@ public class KemuriOnna extends CardImpl { this.color.setBlack(true); this.power = new MageInt(3); this.toughness = new MageInt(3); + // When Kemuri-Onna enters the battlefield, target player discards a card. Ability ability = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1), false); ability.addTarget(new TargetPlayer()); this.addAbility(ability); // Whenever you cast a Spirit or Arcane spell, you may return Kemuri-Onna to its owner's hand. - this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), FilterSpiritOrArcaneCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), new FilterSpiritOrArcaneCard(), true)); } public KemuriOnna(final KemuriOnna card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/KiriOnna.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/KiriOnna.java index e1cb4076cda..2a53bb792de 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/KiriOnna.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/KiriOnna.java @@ -53,12 +53,13 @@ public class KiriOnna extends CardImpl { this.color.setBlue(true); this.power = new MageInt(2); this.toughness = new MageInt(2); + // When Kiri-Onna enters the battlefield, return target creature to its owner's hand. Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // Whenever you cast a Spirit or Arcane spell, you may return Kiri-Onna to its owner's hand. - this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), FilterSpiritOrArcaneCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), new FilterSpiritOrArcaneCard(), true)); } public KiriOnna(final KiriOnna card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/NikkoOnna.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/NikkoOnna.java index 30512ab68fa..232c7ef77a2 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/NikkoOnna.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/NikkoOnna.java @@ -62,12 +62,13 @@ public class NikkoOnna extends CardImpl { this.color.setWhite(true); this.power = new MageInt(2); this.toughness = new MageInt(2); + // When Nikko-Onna enters the battlefield, destroy target enchantment. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); // Whenever you cast a Spirit or Arcane spell, you may return Nikko-Onna to its owner's hand. - this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), FilterSpiritOrArcaneCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), new FilterSpiritOrArcaneCard(), true)); } public NikkoOnna(final NikkoOnna card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/PathOfAngersFlame.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/PathOfAngersFlame.java index 2ef1bd031e5..8a99613bcc5 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/PathOfAngersFlame.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/PathOfAngersFlame.java @@ -47,8 +47,9 @@ public class PathOfAngersFlame extends CardImpl { this.expansionSetCode = "SOK"; this.subtype.add("Arcane"); this.color.setRed(true); + // Creatures you control get +2/+0 until end of turn. - this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), false)); + this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), false)); } public PathOfAngersFlame(final PathOfAngersFlame card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/YukiOnna.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/YukiOnna.java index fea7d60c406..759fb648787 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/YukiOnna.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/YukiOnna.java @@ -62,12 +62,13 @@ public class YukiOnna extends CardImpl { this.color.setRed(true); this.power = new MageInt(3); this.toughness = new MageInt(1); + // When Yuki-Onna enters the battlefield, destroy target artifact. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); // Whenever you cast a Spirit or Arcane spell, you may return Yuki-Onna to its owner's hand. - this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), FilterSpiritOrArcaneCard.getDefault(), true)); + this.addAbility(new SpellCastTriggeredAbility(new ReturnToHandSourceEffect(), new FilterSpiritOrArcaneCard(), true)); } public YukiOnna(final YukiOnna card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/TrueConviction.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/TrueConviction.java index 7965e1d6c30..edbe464bb49 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/TrueConviction.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/TrueConviction.java @@ -52,8 +52,8 @@ public class TrueConviction extends CardImpl { this.expansionSetCode = "SOM"; this.color.setWhite(true); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault()))); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault()))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()))); } public TrueConviction (final TrueConviction card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/VenserTheSojourner.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/VenserTheSojourner.java index 7ba65f2e6b2..8b24844a1c1 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/VenserTheSojourner.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/VenserTheSojourner.java @@ -77,7 +77,7 @@ public class VenserTheSojourner extends CardImpl { //TODO: Venser's second ability doesn't lock in what it applies to. That's because the effect states a true thing about creatures, // but doesn't actually change the characteristics of those creatures. As a result, all creatures are unblockable that turn, including creatures you don't control, creatures that weren't on the battlefield at the time the ability resolved, and creatures that have lost all abilities. // -1: Creatures are unblockable this turn. - this.addAbility(new LoyaltyAbility(new GainAbilityAllEffect(UnblockableAbility.getInstance(), Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault()), -1)); + this.addAbility(new LoyaltyAbility(new GainAbilityAllEffect(UnblockableAbility.getInstance(), Constants.Duration.EndOfTurn, new FilterCreaturePermanent()), -1)); // -8: You get an emblem with "Whenever you cast a spell, exile target permanent." LoyaltyAbility ability2 = new LoyaltyAbility(new GetEmblemEffect(new VenserTheSojournerEmblem()), -8); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/CruelUltimatum.java b/Mage.Sets/src/mage/sets/shardsofalara/CruelUltimatum.java index d5e88c024cd..e21694a89b5 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/CruelUltimatum.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/CruelUltimatum.java @@ -63,7 +63,7 @@ public class CruelUltimatum extends CardImpl { // Target opponent sacrifices a creature, discards three cards, then loses 5 life. You return a creature card from your graveyard to your hand, draw three cards, then gain 5 life. this.getSpellAbility().addTarget(new TargetOpponent()); - this.getSpellAbility().addEffect(new SacrificeEffect(FilterCreaturePermanent.getDefault(), 1, "a creature")); + this.getSpellAbility().addEffect(new SacrificeEffect(new FilterCreaturePermanent(), 1, "a creature")); this.getSpellAbility().addEffect(new DiscardTargetEffect(3)); this.getSpellAbility().addEffect(new LoseLifeTargetEffect(5)); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/SarkhanVol.java b/Mage.Sets/src/mage/sets/shardsofalara/SarkhanVol.java index 540710a3583..30809188a58 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/SarkhanVol.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/SarkhanVol.java @@ -32,7 +32,6 @@ import java.util.UUID; import mage.Constants.CardType; import mage.Constants.Duration; import mage.Constants.Rarity; -import mage.MageInt; import mage.abilities.LoyaltyAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.Effects; @@ -67,7 +66,7 @@ public class SarkhanVol extends CardImpl { Effects effects1 = new Effects(); effects1.add(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); - effects1.add(new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn, FilterCreaturePermanent.getDefault())); + effects1.add(new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent())); this.addAbility(new LoyaltyAbility(effects1, 1)); Effects effects2 = new Effects(); diff --git a/Mage.Sets/src/mage/sets/tempest/DiabolicEdict.java b/Mage.Sets/src/mage/sets/tempest/DiabolicEdict.java index 5d29459634f..4e044286cdb 100644 --- a/Mage.Sets/src/mage/sets/tempest/DiabolicEdict.java +++ b/Mage.Sets/src/mage/sets/tempest/DiabolicEdict.java @@ -45,7 +45,7 @@ public class DiabolicEdict extends CardImpl { super(ownerId, 22, "Diabolic Edict", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{B}"); this.expansionSetCode = "TMP"; this.color.setBlack(true); - this.getSpellAbility().addEffect(new SacrificeEffect(FilterCreaturePermanent.getDefault(), 1, "target player")); + this.getSpellAbility().addEffect(new SacrificeEffect(new FilterCreaturePermanent(), 1, "target player")); this.getSpellAbility().addTarget(new TargetPlayer()); } diff --git a/Mage.Sets/src/mage/sets/tempest/GerrardsBattleCry.java b/Mage.Sets/src/mage/sets/tempest/GerrardsBattleCry.java index ed29f4bc440..b1c8d5bfa20 100644 --- a/Mage.Sets/src/mage/sets/tempest/GerrardsBattleCry.java +++ b/Mage.Sets/src/mage/sets/tempest/GerrardsBattleCry.java @@ -48,7 +48,7 @@ public class GerrardsBattleCry extends CardImpl { super(ownerId, 233, "Gerrard's Battle Cry", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{W}"); this.expansionSetCode = "TMP"; this.color.setWhite(true); - this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), false), new ManaCostsImpl("{2}{W}"))); + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), false), new ManaCostsImpl("{2}{W}"))); } public GerrardsBattleCry(final GerrardsBattleCry card) { diff --git a/Mage.Sets/src/mage/sets/tempest/SpontaneousCombustion.java b/Mage.Sets/src/mage/sets/tempest/SpontaneousCombustion.java index d72ef4207f1..0f88bbdd7e3 100644 --- a/Mage.Sets/src/mage/sets/tempest/SpontaneousCombustion.java +++ b/Mage.Sets/src/mage/sets/tempest/SpontaneousCombustion.java @@ -48,7 +48,7 @@ public class SpontaneousCombustion extends CardImpl { this.color.setRed(true); this.color.setBlack(true); this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent())); - this.getSpellAbility().addEffect(new DamageAllEffect(3, FilterCreaturePermanent.getDefault())); + this.getSpellAbility().addEffect(new DamageAllEffect(3, new FilterCreaturePermanent())); } public SpontaneousCombustion(final SpontaneousCombustion card) { diff --git a/Mage.Sets/src/mage/sets/tenth/CruelEdict.java b/Mage.Sets/src/mage/sets/tenth/CruelEdict.java index 4fb76f7133b..0acf38ec0f6 100644 --- a/Mage.Sets/src/mage/sets/tenth/CruelEdict.java +++ b/Mage.Sets/src/mage/sets/tenth/CruelEdict.java @@ -46,7 +46,7 @@ public class CruelEdict extends CardImpl { super(ownerId, 133, "Cruel Edict", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{B}"); this.expansionSetCode = "10E"; this.color.setBlack(true); - this.getSpellAbility().addEffect(new SacrificeEffect(FilterCreaturePermanent.getDefault(), 1, "a creature")); + this.getSpellAbility().addEffect(new SacrificeEffect(new FilterCreaturePermanent(), 1, "a creature")); this.getSpellAbility().addTarget(new TargetOpponent()); // Target opponent sacrifices a creature. } diff --git a/Mage.Sets/src/mage/sets/tenth/GloriousAnthem.java b/Mage.Sets/src/mage/sets/tenth/GloriousAnthem.java index 9769b538d68..7cb48ae14c0 100644 --- a/Mage.Sets/src/mage/sets/tenth/GloriousAnthem.java +++ b/Mage.Sets/src/mage/sets/tenth/GloriousAnthem.java @@ -47,7 +47,7 @@ public class GloriousAnthem extends CardImpl { super(ownerId, 17, "Glorious Anthem", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{W}"); this.expansionSetCode = "10E"; this.color.setWhite(true); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Constants.Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), false))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Constants.Duration.WhileOnBattlefield, new FilterCreaturePermanent(), false))); } public GloriousAnthem(final GloriousAnthem card) { diff --git a/Mage.Sets/src/mage/sets/tenth/PrimalRage.java b/Mage.Sets/src/mage/sets/tenth/PrimalRage.java index 1a9319ff47e..bb3ce295605 100644 --- a/Mage.Sets/src/mage/sets/tenth/PrimalRage.java +++ b/Mage.Sets/src/mage/sets/tenth/PrimalRage.java @@ -48,7 +48,7 @@ public class PrimalRage extends CardImpl { super(ownerId, 286, "Primal Rage", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}"); this.expansionSetCode = "10E"; this.color.setGreen(true); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Constants.Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), false))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Constants.Duration.WhileOnBattlefield, new FilterCreaturePermanent(), false))); } public PrimalRage(final PrimalRage card) { diff --git a/Mage.Sets/src/mage/sets/tenth/Pyroclasm.java b/Mage.Sets/src/mage/sets/tenth/Pyroclasm.java index 9c8e83db419..4a31ee2db74 100644 --- a/Mage.Sets/src/mage/sets/tenth/Pyroclasm.java +++ b/Mage.Sets/src/mage/sets/tenth/Pyroclasm.java @@ -45,7 +45,7 @@ public class Pyroclasm extends CardImpl { super(ownerId, 222, "Pyroclasm", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{R}"); this.expansionSetCode = "10E"; this.color.setRed(true); - this.getSpellAbility().addEffect(new DamageAllEffect(2, FilterCreaturePermanent.getDefault())); + this.getSpellAbility().addEffect(new DamageAllEffect(2, new FilterCreaturePermanent())); } public Pyroclasm(final Pyroclasm card) { diff --git a/Mage.Sets/src/mage/sets/tenth/WarriorsHonor.java b/Mage.Sets/src/mage/sets/tenth/WarriorsHonor.java index b94c8b4560a..d48d599879e 100644 --- a/Mage.Sets/src/mage/sets/tenth/WarriorsHonor.java +++ b/Mage.Sets/src/mage/sets/tenth/WarriorsHonor.java @@ -46,7 +46,7 @@ public class WarriorsHonor extends CardImpl { super(ownerId, 58, "Warrior's Honor", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{W}"); this.expansionSetCode = "10E"; this.color.setWhite(true); - this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), false)); + this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), false)); } public WarriorsHonor(final WarriorsHonor card) { diff --git a/Mage.Sets/src/mage/sets/worldwake/ChainReaction.java b/Mage.Sets/src/mage/sets/worldwake/ChainReaction.java index 9ab4b2a88d6..d17af4a19fa 100644 --- a/Mage.Sets/src/mage/sets/worldwake/ChainReaction.java +++ b/Mage.Sets/src/mage/sets/worldwake/ChainReaction.java @@ -47,7 +47,7 @@ public class ChainReaction extends CardImpl { this.color.setRed(true); - this.getSpellAbility().addEffect(new DamageAllEffect(new PermanentsOnBattlefieldCount(FilterCreaturePermanent.getDefault()), FilterCreaturePermanent.getDefault())); + this.getSpellAbility().addEffect(new DamageAllEffect(new PermanentsOnBattlefieldCount(new FilterCreaturePermanent()), new FilterCreaturePermanent())); } public ChainReaction(final ChainReaction card) { diff --git a/Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java b/Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java index bea3b4e507c..022f31efeeb 100644 --- a/Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java +++ b/Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java @@ -159,7 +159,7 @@ class SearingBlazeEffect extends OneShotEffect { class SearingBlazeTarget> extends TargetPermanent> { public SearingBlazeTarget() { - super(1, 1, FilterCreaturePermanent.getDefault(), false); + super(1, 1, new FilterCreaturePermanent(), false); } public SearingBlazeTarget(final SearingBlazeTarget target) { diff --git a/Mage.Sets/src/mage/sets/zendikar/BoldDefense.java b/Mage.Sets/src/mage/sets/zendikar/BoldDefense.java index 96d4106ff0b..f8ec6c56a54 100644 --- a/Mage.Sets/src/mage/sets/zendikar/BoldDefense.java +++ b/Mage.Sets/src/mage/sets/zendikar/BoldDefense.java @@ -64,7 +64,7 @@ public class BoldDefense extends CardImpl { this.getSpellAbility().addOptionalCost(new ManaCostsImpl("{3}{W}")); - ContinuousEffect effect = new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Constants.Duration.EndOfTurn, FilterCreaturePermanent.getDefault(), false); + ContinuousEffect effect = new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Constants.Duration.EndOfTurn, new FilterCreaturePermanent(), false); this.getSpellAbility().addEffect(new ConditionalContinousEffect(effect, KickedCondition.getInstance(), staticText)); } diff --git a/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java b/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java index 3b09520dff2..3443b709f40 100644 --- a/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java +++ b/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java @@ -60,9 +60,9 @@ public class EldraziMonument extends CardImpl { public EldraziMonument(UUID ownerId) { super(ownerId, 199, "Eldrazi Monument", Rarity.MYTHIC, new CardType[]{CardType.ARTIFACT}, "{5}"); this.expansionSetCode = "ZEN"; - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), false))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault()))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault()))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), false))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()))); this.addAbility(new OnEventTriggeredAbility(EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new EldraziMonumentEffect())); } diff --git a/Mage/src/mage/abilities/common/CopyPermanentEffect.java b/Mage/src/mage/abilities/common/CopyPermanentEffect.java index f66432ba9d3..68269e1dd77 100644 --- a/Mage/src/mage/abilities/common/CopyPermanentEffect.java +++ b/Mage/src/mage/abilities/common/CopyPermanentEffect.java @@ -48,7 +48,7 @@ public class CopyPermanentEffect extends OneShotEffect { private FilterPermanent filter; public CopyPermanentEffect() { - this(FilterCreaturePermanent.getDefault()); + this(new FilterCreaturePermanent()); } public CopyPermanentEffect(FilterPermanent filter) { diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostAllEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostAllEffect.java index 054f4b5499d..ef74b97a19b 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostAllEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostAllEffect.java @@ -52,15 +52,15 @@ public class BoostAllEffect extends ContinuousEffectImpl { protected FilterCreaturePermanent filter; public BoostAllEffect(int power, int toughness, Duration duration) { - this(power, toughness, duration, FilterCreaturePermanent.getDefault(), false); + this(power, toughness, duration, new FilterCreaturePermanent(), false); } public BoostAllEffect(DynamicValue power, DynamicValue toughness, Duration duration) { - this(power, toughness, duration, FilterCreaturePermanent.getDefault(), false); + this(power, toughness, duration, new FilterCreaturePermanent(), false); } public BoostAllEffect(int power, int toughness, Duration duration, boolean excludeSource) { - this(power, toughness, duration, FilterCreaturePermanent.getDefault(), excludeSource); + this(power, toughness, duration, new FilterCreaturePermanent(), excludeSource); } public BoostAllEffect(int power, int toughness, Duration duration, FilterCreaturePermanent filter, boolean excludeSource) { diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostControlledEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostControlledEffect.java index 269e0c545f1..abb176d6e52 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostControlledEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostControlledEffect.java @@ -54,15 +54,15 @@ public class BoostControlledEffect extends ContinuousEffectImpl { super(filter); } - /** - * There are a lot of usages of this method, we should rip them out as we see - * them and replace them with new FilterArtifactCard(). This - * use to return a static instance of this object which is bad as its completely - * mutable and leads to EXTREMELY hard to track down issues! - */ - @Deprecated - public static FilterArtifactCard getDefault() { - return new FilterArtifactCard(); - } - @Override public FilterArtifactCard copy() { return new FilterArtifactCard(this); diff --git a/Mage/src/mage/filter/common/FilterArtifactPermanent.java b/Mage/src/mage/filter/common/FilterArtifactPermanent.java index 8c0ae029365..a33289e3942 100644 --- a/Mage/src/mage/filter/common/FilterArtifactPermanent.java +++ b/Mage/src/mage/filter/common/FilterArtifactPermanent.java @@ -42,8 +42,6 @@ public class FilterArtifactPermanent> exten protected boolean attacking; protected boolean useBlocking; protected boolean blocking; - protected boolean useTapped; - protected boolean tapped; public FilterArtifactPermanent() { this("artifact"); @@ -64,17 +62,6 @@ public class FilterArtifactPermanent> exten this.tapped = filter.tapped; } - /** - * There are a lot of usages of this method, we should rip them out as we see - * them and replace them with new FilterArtifactPermanent(). This - * use to return a static instance of this object which is bad as its completely - * mutable and leads to EXTREMELY hard to track down issues! - */ - @Deprecated - public static FilterArtifactPermanent getDefault() { - return new FilterArtifactPermanent(); - } - @Override public boolean match(Permanent permanent) { if (!super.match(permanent)) @@ -108,14 +95,6 @@ public class FilterArtifactPermanent> exten this.blocking = blocking; } - public void setUseTapped ( boolean useTapped ) { - this.useTapped = useTapped; - } - - public void setTapped ( boolean tapped ) { - this.tapped = tapped; - } - @Override public FilterArtifactPermanent copy() { return new FilterArtifactPermanent(this); diff --git a/Mage/src/mage/filter/common/FilterAttackingCreature.java b/Mage/src/mage/filter/common/FilterAttackingCreature.java index 8591ab8399e..256eb582dd9 100644 --- a/Mage/src/mage/filter/common/FilterAttackingCreature.java +++ b/Mage/src/mage/filter/common/FilterAttackingCreature.java @@ -52,15 +52,4 @@ public class FilterAttackingCreature extends FilterCreaturePermanentnew FilterAttackingCreature(). This - * use to return a static instance of this object which is bad as its completely - * mutable and leads to EXTREMELY hard to track down issues! - */ - @Deprecated - public static FilterAttackingCreature getDefault() { - return new FilterAttackingCreature(); - } } diff --git a/Mage/src/mage/filter/common/FilterAttackingOrBlockingCreature.java b/Mage/src/mage/filter/common/FilterAttackingOrBlockingCreature.java index 7265433abc4..d98d20d73c5 100644 --- a/Mage/src/mage/filter/common/FilterAttackingOrBlockingCreature.java +++ b/Mage/src/mage/filter/common/FilterAttackingOrBlockingCreature.java @@ -54,15 +54,4 @@ public class FilterAttackingOrBlockingCreature extends FilterCreaturePermanentnew FilterAttackingOrBlockingCreature(). This - * use to return a static instance of this object which is bad as its completely - * mutable and leads to EXTREMELY hard to track down issues! - */ - @Deprecated - public static FilterAttackingOrBlockingCreature getDefault() { - return new FilterAttackingOrBlockingCreature(); - } } diff --git a/Mage/src/mage/filter/common/FilterCreatureCard.java b/Mage/src/mage/filter/common/FilterCreatureCard.java index 6ae6dc9f511..87e999265d3 100644 --- a/Mage/src/mage/filter/common/FilterCreatureCard.java +++ b/Mage/src/mage/filter/common/FilterCreatureCard.java @@ -54,15 +54,4 @@ public class FilterCreatureCard extends FilterCard { public FilterCreatureCard copy() { return new FilterCreatureCard(this); } - - /** - * There are a lot of usages of this method, we should rip them out as we see - * them and replace them with new FilterCreatureCard(). This - * use to return a static instance of this object which is bad as its completely - * mutable and leads to EXTREMELY hard to track down issues! - */ - @Deprecated - public static FilterCreatureCard getDefault() { - return new FilterCreatureCard(); - } } diff --git a/Mage/src/mage/filter/common/FilterCreaturePermanent.java b/Mage/src/mage/filter/common/FilterCreaturePermanent.java index b3f01722a18..a864a9765a1 100644 --- a/Mage/src/mage/filter/common/FilterCreaturePermanent.java +++ b/Mage/src/mage/filter/common/FilterCreaturePermanent.java @@ -62,17 +62,6 @@ public class FilterCreaturePermanent> exten this.tapped = filter.tapped; } - /** - * There are a lot of usages of this method, we should rip them out as we see - * them and replace them with new FilterCreaturePermanent(). This - * use to return a static instance of this object which is bad as its completely - * mutable and leads to EXTREMELY hard to track down issues! - */ - @Deprecated - public static FilterCreaturePermanent getDefault() { - return new FilterCreaturePermanent(); - } - @Override public boolean match(Permanent permanent) { if (!super.match(permanent)) diff --git a/Mage/src/mage/filter/common/FilterPermanentOrPlayer.java b/Mage/src/mage/filter/common/FilterPermanentOrPlayer.java index 148ba6c5f33..854df9029d8 100644 --- a/Mage/src/mage/filter/common/FilterPermanentOrPlayer.java +++ b/Mage/src/mage/filter/common/FilterPermanentOrPlayer.java @@ -28,7 +28,6 @@ package mage.filter.common; -import mage.abilities.Ability; import mage.filter.FilterImpl; import mage.filter.FilterInPlay; import mage.filter.FilterPermanent; diff --git a/Mage/src/mage/filter/common/FilterSpiritOrArcaneCard.java b/Mage/src/mage/filter/common/FilterSpiritOrArcaneCard.java index 18edcd1bd19..8f641182e99 100644 --- a/Mage/src/mage/filter/common/FilterSpiritOrArcaneCard.java +++ b/Mage/src/mage/filter/common/FilterSpiritOrArcaneCard.java @@ -20,17 +20,6 @@ public class FilterSpiritOrArcaneCard extends FilterCardnew FilterSpiritOrArcaneCard(). This - * use to return a static instance of this object which is bad as its completely - * mutable and leads to EXTREMELY hard to track down issues! - */ - @Deprecated - public static FilterSpiritOrArcaneCard getDefault() { - return new FilterSpiritOrArcaneCard(); - } - @Override public FilterSpiritOrArcaneCard copy() { return new FilterSpiritOrArcaneCard(this); diff --git a/Mage/src/mage/filter/common/FilterToken.java b/Mage/src/mage/filter/common/FilterToken.java index 8d1474ca695..8b14e07e787 100644 --- a/Mage/src/mage/filter/common/FilterToken.java +++ b/Mage/src/mage/filter/common/FilterToken.java @@ -28,8 +28,6 @@ package mage.filter.common; -import mage.Constants.CardType; -import mage.filter.FilterPermanent; import mage.game.permanent.Permanent; import mage.game.permanent.PermanentToken; @@ -51,17 +49,6 @@ public class FilterToken> extends FilterCreaturePermane super(filter); } - /** - * There are a lot of usages of this method, we should rip them out as we see - * them and replace them with new FilterToken(). This - * use to return a static instance of this object which is bad as its completely - * mutable and leads to EXTREMELY hard to track down issues! - */ - @Deprecated - public static FilterToken getDefault() { - return new FilterToken(); - } - @Override public boolean match(Permanent permanent) { if (!(permanent instanceof PermanentToken)) diff --git a/Mage/src/mage/target/common/TargetArtifactPermanent.java b/Mage/src/mage/target/common/TargetArtifactPermanent.java index 4c009519ff7..2efb20e6d39 100644 --- a/Mage/src/mage/target/common/TargetArtifactPermanent.java +++ b/Mage/src/mage/target/common/TargetArtifactPermanent.java @@ -29,7 +29,6 @@ package mage.target.common; import mage.filter.common.FilterArtifactPermanent; -import mage.filter.common.FilterCreaturePermanent; import mage.target.TargetPermanent; /** @@ -38,7 +37,7 @@ import mage.target.TargetPermanent; public class TargetArtifactPermanent> extends TargetPermanent> { public TargetArtifactPermanent() { - this(1, 1, FilterArtifactPermanent.getDefault(), false); + this(1, 1, new FilterArtifactPermanent(), false); } public TargetArtifactPermanent(FilterArtifactPermanent filter) { @@ -46,11 +45,11 @@ public class TargetArtifactPermanent> exten } public TargetArtifactPermanent(int numTargets) { - this(numTargets, numTargets, FilterArtifactPermanent.getDefault(), false); + this(numTargets, numTargets, new FilterArtifactPermanent(), false); } public TargetArtifactPermanent(int minNumTargets, int maxNumTargets) { - this(minNumTargets, maxNumTargets, FilterArtifactPermanent.getDefault(), false); + this(minNumTargets, maxNumTargets, new FilterArtifactPermanent(), false); } public TargetArtifactPermanent(int minNumTargets, int maxNumTargets, FilterArtifactPermanent filter, boolean notTarget) { diff --git a/Mage/src/mage/target/common/TargetCreatureOrPlayer.java b/Mage/src/mage/target/common/TargetCreatureOrPlayer.java index 063acb324a6..e9bb85540eb 100644 --- a/Mage/src/mage/target/common/TargetCreatureOrPlayer.java +++ b/Mage/src/mage/target/common/TargetCreatureOrPlayer.java @@ -133,7 +133,7 @@ public class TargetCreatureOrPlayer extends TargetImpl { return true; } } - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), sourceControllerId, game)) { if (permanent.canBeTargetedBy(targetSource, sourceControllerId, game) && filter.match(permanent, sourceId, sourceControllerId, game)) { count++; if (count >= this.minNumberOfTargets) @@ -162,7 +162,7 @@ public class TargetCreatureOrPlayer extends TargetImpl { return true; } } - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), sourceControllerId, game)) { if (filter.match(permanent, null, sourceControllerId, game)) { count++; if (count >= this.minNumberOfTargets) @@ -182,7 +182,7 @@ public class TargetCreatureOrPlayer extends TargetImpl { possibleTargets.add(playerId); } } - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), sourceControllerId, game)) { if (permanent.canBeTargetedBy(targetSource, sourceControllerId, game) && filter.match(permanent, sourceId, sourceControllerId, game)) { possibleTargets.add(permanent.getId()); } @@ -199,7 +199,7 @@ public class TargetCreatureOrPlayer extends TargetImpl { possibleTargets.add(playerId); } } - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), sourceControllerId, game)) { if (filter.match(permanent, null, sourceControllerId, game)) { possibleTargets.add(permanent.getId()); } diff --git a/Mage/src/mage/target/common/TargetCreatureOrPlayerAmount.java b/Mage/src/mage/target/common/TargetCreatureOrPlayerAmount.java index 56e83be7ac1..ed491e63023 100644 --- a/Mage/src/mage/target/common/TargetCreatureOrPlayerAmount.java +++ b/Mage/src/mage/target/common/TargetCreatureOrPlayerAmount.java @@ -110,7 +110,7 @@ public class TargetCreatureOrPlayerAmount extends TargetAmount= this.minNumberOfTargets) @@ -131,7 +131,7 @@ public class TargetCreatureOrPlayerAmount extends TargetAmount= this.minNumberOfTargets) @@ -151,7 +151,7 @@ public class TargetCreatureOrPlayerAmount extends TargetAmount> extends TargetPermanent> { public TargetCreaturePermanent() { - this(1, 1, FilterCreaturePermanent.getDefault(), false); + this(1, 1, new FilterCreaturePermanent(), false); } public TargetCreaturePermanent(FilterCreaturePermanent filter) { @@ -46,11 +46,11 @@ public class TargetCreaturePermanent> exten } public TargetCreaturePermanent(int numTargets) { - this(numTargets, numTargets, FilterCreaturePermanent.getDefault(), false); + this(numTargets, numTargets, new FilterCreaturePermanent(), false); } public TargetCreaturePermanent(int minNumTargets, int maxNumTargets) { - this(minNumTargets, maxNumTargets, FilterCreaturePermanent.getDefault(), false); + this(minNumTargets, maxNumTargets, new FilterCreaturePermanent(), false); } public TargetCreaturePermanent(int minNumTargets, int maxNumTargets, FilterCreaturePermanent filter, boolean notTarget) { diff --git a/Mage/src/mage/target/common/TargetPermanentOrPlayer.java b/Mage/src/mage/target/common/TargetPermanentOrPlayer.java index 59721baf051..59e2de7b6d0 100644 --- a/Mage/src/mage/target/common/TargetPermanentOrPlayer.java +++ b/Mage/src/mage/target/common/TargetPermanentOrPlayer.java @@ -33,10 +33,8 @@ import mage.MageObject; import mage.abilities.Ability; import mage.filter.Filter; import mage.filter.FilterPermanent; -import mage.filter.common.FilterCreatureOrPlayer; import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterPermanentOrPlayer; -import mage.filter.common.FilterPermanentOrPlayerWithCounter; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -143,7 +141,7 @@ public class TargetPermanentOrPlayer extends TargetImpl return true; } } - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), sourceControllerId, game)) { if (permanent.canBeTargetedBy(targetSource, sourceControllerId, game) && filter.match(permanent, sourceId, sourceControllerId, game)) { count++; if (count >= this.minNumberOfTargets) @@ -192,7 +190,7 @@ public class TargetPermanentOrPlayer extends TargetImpl possibleTargets.add(playerId); } } - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), sourceControllerId, game)) { if (permanent.canBeTargetedBy(targetSource, sourceControllerId, game) && filter.match(permanent, sourceId, sourceControllerId, game)) { possibleTargets.add(permanent.getId()); } @@ -209,7 +207,7 @@ public class TargetPermanentOrPlayer extends TargetImpl possibleTargets.add(playerId); } } - for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) { + for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), sourceControllerId, game)) { if (filter.match(permanent, null, sourceControllerId, game)) { possibleTargets.add(permanent.getId()); }