removed <filter>.getDefault()

This commit is contained in:
North 2011-10-23 12:17:14 +03:00
parent 4ccf0f799d
commit aa55beeb4e
110 changed files with 134 additions and 274 deletions

View file

@ -54,7 +54,7 @@ public class BloodfireKavu extends CardImpl<BloodfireKavu> {
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);
}

View file

@ -55,7 +55,7 @@ public class BakuAltar extends CardImpl<BakuAltar> {
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());

View file

@ -53,7 +53,7 @@ public class KamiOfTatteredShoji extends CardImpl<KamiOfTatteredShoji> {
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) {

View file

@ -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<OyobiWhoSplitTheHeavens> {
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) {

View file

@ -52,7 +52,7 @@ public class ScaledHulk extends CardImpl<ScaledHulk> {
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) {

View file

@ -91,7 +91,7 @@ class CalltoGloryFirstEffect extends OneShotEffect<CalltoGloryFirstEffect> {
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;

View file

@ -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<GuardianOfSolitude> {
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);
}

View file

@ -63,7 +63,7 @@ public class HikariTwilightGuardian extends CardImpl<HikariTwilightGuardian> {
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) {

View file

@ -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<HorizonSeed> {
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);
}

View file

@ -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<InnocenceKami> {
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) {

View file

@ -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<KamiOfFiresRoar> {
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);
}

View file

@ -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<KamiOfTheHunt> {
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) {

View file

@ -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<KamiOfTheWaningMoon> {
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);
}

View file

@ -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<KodamaOfTheSouthTree> {
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);
}

View file

@ -55,7 +55,7 @@ public class OrbweaverKumo extends CardImpl<OrbweaverKumo> {
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) {

View file

@ -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<OreGorger> {
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);
}

View file

@ -76,7 +76,7 @@ class PartTheVeilEffect extends OneShotEffect<PartTheVeilEffect> {
@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;

View file

@ -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<SireOfTheStorm> {
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) {

View file

@ -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<Soilshaper> {
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);
}

View file

@ -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<SoulOfMagma> {
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);
}

View file

@ -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<ThiefOfHope> {
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);

View file

@ -82,7 +82,7 @@ class GleamOfResistanceEffect extends OneShotEffect<GleamOfResistanceEffect> {
@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);
}

View file

@ -86,7 +86,7 @@ class MartialCoupEffect extends OneShotEffect<MartialCoupEffect> {
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);
}
}

View file

@ -51,7 +51,7 @@ public class GruulWarPlow extends CardImpl<GruulWarPlow> {
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}")));
}

View file

@ -52,7 +52,7 @@ public class SmogsteedRider extends CardImpl<SmogsteedRider> {
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) {

View file

@ -98,7 +98,7 @@ class CurseOfDeathsHoldEffect extends ContinuousEffectImpl<CurseOfDeathsHoldEffe
if (enchantment != null && enchantment.getAttachedTo() != null) {
Player player = game.getPlayer(enchantment.getAttachedTo());
if (player != null) {
for (Permanent perm: game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), player.getId())) {
for (Permanent perm: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId())) {
perm.addPower(-1);
perm.addToughness(-1);
}

View file

@ -111,7 +111,7 @@ class DivineReckoningEffect extends OneShotEffect<DivineReckoningEffect> {
}
}
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);
}

View file

@ -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<GarrukTheVeilCursed> {
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<GarrukTheVeilCursedEffect> {
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);

View file

@ -63,7 +63,7 @@ public class InstigatorGang extends CardImpl<InstigatorGang> {
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());

View file

@ -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<IntangibleVirtue> {
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}");

View file

@ -93,7 +93,7 @@ class KessigCagebreakersEffect extends OneShotEffect<KessigCagebreakersEffect> {
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());

View file

@ -72,7 +72,7 @@ public class LilianaOfTheVeil extends CardImpl<LilianaOfTheVeil> {
// +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.

View file

@ -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<Rebuke> {
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());
}

View file

@ -54,7 +54,7 @@ public class SpiderSpawning extends CardImpl<SpiderSpawning> {
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));
}

View file

@ -66,7 +66,7 @@ public class WildbloodPack extends CardImpl<WildbloodPack> {
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);

View file

@ -47,9 +47,9 @@ public class FinalRevels extends CardImpl<FinalRevels> {
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);
}

View file

@ -74,7 +74,7 @@ public class AjaniGoldmane extends CardImpl<AjaniGoldmane> {
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));

View file

@ -73,7 +73,7 @@ public class ChandraNalaar extends CardImpl<ChandraNalaar> {
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);

View file

@ -57,7 +57,7 @@ public class DivineVerdict extends CardImpl<DivineVerdict> {
this.color.setWhite(true);
this.getSpellAbility().addTarget(new TargetCreaturePermanent(FilterAttackingOrBlockingCreature.getDefault()));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterAttackingOrBlockingCreature()));
this.getSpellAbility().addEffect(new DestroyTargetEffect());
}

View file

@ -72,7 +72,7 @@ public class GarrukWildspeaker extends CardImpl<GarrukWildspeaker> {
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));
}

View file

@ -46,7 +46,7 @@ public class GloriousCharge extends CardImpl<GloriousCharge> {
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) {

View file

@ -50,7 +50,7 @@ public class Overrun extends CardImpl<Overrun> {
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) {

View file

@ -85,7 +85,7 @@ class SleepEffect extends OneShotEffect<SleepEffect> {
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);
}

View file

@ -47,7 +47,7 @@ import mage.filter.common.FilterCreaturePermanent;
public class AutumnsVeil extends CardImpl<AutumnsVeil> {
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 {

View file

@ -54,7 +54,7 @@ public class DestructiveForce extends CardImpl<DestructiveForce> {
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) {

View file

@ -52,7 +52,7 @@ public class LeylineOfVitality extends CardImpl<LeylineOfVitality> {
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));
}

View file

@ -82,7 +82,7 @@ class MassPolymorphEffect extends OneShotEffect<MassPolymorphEffect> {
@Override
public boolean apply(Game game, Ability source) {
int count;
List<Permanent> creatures = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId());
List<Permanent> creatures = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId());
count = creatures.size();
for (Permanent creature: creatures) {
creature.moveToExile(null, null, source.getId(), game);

View file

@ -85,11 +85,11 @@ class OverwhelmingStampedeEffect extends ContinuousEffectImpl<OverwhelmingStampe
@Override
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
int maxPower = 0;
for (Permanent perm: game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId())) {
for (Permanent perm: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId())) {
if (perm.getPower().getValue() > 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) {

View file

@ -142,7 +142,7 @@ class AdaptiveAutomatonAddSubtypeEffect extends ContinuousEffectImpl<AdaptiveAut
class AdaptiveAutomatonBoostControlledEffect extends ContinuousEffectImpl<AdaptiveAutomatonBoostControlledEffect> {
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);

View file

@ -95,7 +95,7 @@ class DoublingChantEffect extends OneShotEffect<DoublingChantEffect> {
if (player == null) {
return false;
}
List<Permanent> creatures = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId());
List<Permanent> creatures = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId());
for (Permanent creature : creatures) {
final String creatureName = creature.getName();
if (!namesFiltered.contains(creatureName)) {

View file

@ -47,7 +47,7 @@ public class LeoninSunStandard extends CardImpl<LeoninSunStandard> {
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) {

View file

@ -48,7 +48,7 @@ public class MassHysteria extends CardImpl<MassHysteria> {
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) {

View file

@ -96,7 +96,7 @@ class ConcussiveBoltEffect extends ContinuousEffectImpl {
int affectedTargets = 0;
Player player = game.getPlayer(source.getFirstTarget());
if (player != null) {
List<Permanent> permanents = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), player.getId());
List<Permanent> permanents = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId());
for (Permanent permanent : permanents) {
permanent.addAbility(CantBlockAbility.getInstance());
affectedTargets++;

View file

@ -45,7 +45,7 @@ public class CreepingCorrosion extends CardImpl<CreepingCorrosion> {
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) {

View file

@ -78,7 +78,7 @@ public class PhyrexianRebirth extends CardImpl<PhyrexianRebirth> {
@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();

View file

@ -48,7 +48,7 @@ public class Slagstorm extends CardImpl<Slagstorm> {
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);

View file

@ -58,7 +58,7 @@ public class Festercreep extends CardImpl<Festercreep> {
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);
}

View file

@ -114,7 +114,7 @@ class CagedSunEffect1 extends OneShotEffect<CagedSunEffect1> {
class CagedSunEffect2 extends ContinuousEffectImpl<CagedSunEffect2> {
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);

View file

@ -62,7 +62,7 @@ public class JorKadeenThePrevailer extends CardImpl<JorKadeenThePrevailer> {
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));
}

View file

@ -91,7 +91,7 @@ class LifesFinaleEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
List<Permanent> permanents = game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId(), game);
List<Permanent> permanents = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game);
for (Permanent permanent : permanents) {
permanent.destroy(source.getId(), game, false);
}

View file

@ -60,7 +60,7 @@ public class FlameKinZealot extends CardImpl<FlameKinZealot> {
// 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);
}

View file

@ -53,7 +53,7 @@ public class HalcyonGlaze extends CardImpl<HalcyonGlaze> {
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) {

View file

@ -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<HuntedPhantasm> {
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);
}
}

View file

@ -59,8 +59,8 @@ public class OathswornGiant extends CardImpl<OathswornGiant> {
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);
}

View file

@ -52,7 +52,7 @@ public class PrimordialSage extends CardImpl<PrimordialSage> {
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) {

View file

@ -95,7 +95,7 @@ class DawnglareInvokerEffect extends OneShotEffect<DawnglareInvokerEffect> {
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getFirstTarget());
if (player != null) {
List<Permanent> allCreatures = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), player.getId());
List<Permanent> allCreatures = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId());
for (Permanent creature : allCreatures) {
creature.tap(game);
}

View file

@ -85,7 +85,7 @@ class HellionEruptionEffect extends OneShotEffect<HellionEruptionEffect> {
@Override
public boolean apply(Game game, Ability source) {
List<Permanent> permanents = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), source.getControllerId());
List<Permanent> permanents = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getControllerId());
for (Permanent permanent : permanents) {
permanent.sacrifice(source.getSourceId(), game);
}

View file

@ -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<KabiraVindicator> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{W}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
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<Ability> abilities2 = new AbilitiesImpl<Ability>();
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));
}

View file

@ -66,7 +66,7 @@ public class UnifiedWill extends CardImpl<UnifiedWill> {
class UnifiedWillEffect extends CounterTargetEffect {
private static FilterCreaturePermanent filter = FilterCreaturePermanent.getDefault();
private static FilterCreaturePermanent filter = new FilterCreaturePermanent();
public UnifiedWillEffect() {}

View file

@ -53,7 +53,7 @@ public class BriarknitKami extends CardImpl<BriarknitKami> {
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);
}

View file

@ -49,8 +49,9 @@ public class FiddleheadKami extends CardImpl<FiddleheadKami> {
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) {

View file

@ -51,10 +51,11 @@ public class HaruOnna extends CardImpl<HaruOnna> {
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) {

View file

@ -53,12 +53,13 @@ public class KemuriOnna extends CardImpl<KemuriOnna> {
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) {

View file

@ -53,12 +53,13 @@ public class KiriOnna extends CardImpl<KiriOnna> {
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) {

View file

@ -62,12 +62,13 @@ public class NikkoOnna extends CardImpl<NikkoOnna> {
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) {

View file

@ -47,8 +47,9 @@ public class PathOfAngersFlame extends CardImpl<PathOfAngersFlame> {
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) {

View file

@ -62,12 +62,13 @@ public class YukiOnna extends CardImpl<YukiOnna> {
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) {

View file

@ -52,8 +52,8 @@ public class TrueConviction extends CardImpl<TrueConviction> {
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) {

View file

@ -77,7 +77,7 @@ public class VenserTheSojourner extends CardImpl<VenserTheSojourner> {
//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);

View file

@ -63,7 +63,7 @@ public class CruelUltimatum extends CardImpl<CruelUltimatum> {
// 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));

View file

@ -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<SarkhanVol> {
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();

View file

@ -45,7 +45,7 @@ public class DiabolicEdict extends CardImpl<DiabolicEdict> {
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());
}

View file

@ -48,7 +48,7 @@ public class GerrardsBattleCry extends CardImpl<GerrardsBattleCry> {
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) {

View file

@ -48,7 +48,7 @@ public class SpontaneousCombustion extends CardImpl<SpontaneousCombustion> {
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) {

View file

@ -46,7 +46,7 @@ public class CruelEdict extends CardImpl<CruelEdict> {
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.
}

View file

@ -47,7 +47,7 @@ public class GloriousAnthem extends CardImpl<GloriousAnthem> {
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) {

View file

@ -48,7 +48,7 @@ public class PrimalRage extends CardImpl<PrimalRage> {
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) {

View file

@ -45,7 +45,7 @@ public class Pyroclasm extends CardImpl<Pyroclasm> {
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) {

View file

@ -46,7 +46,7 @@ public class WarriorsHonor extends CardImpl<WarriorsHonor> {
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) {

View file

@ -47,7 +47,7 @@ public class ChainReaction extends CardImpl<ChainReaction> {
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) {

View file

@ -159,7 +159,7 @@ class SearingBlazeEffect extends OneShotEffect<SearingBlazeEffect> {
class SearingBlazeTarget<T extends TargetCreaturePermanent<T>> extends TargetPermanent<TargetCreaturePermanent<T>> {
public SearingBlazeTarget() {
super(1, 1, FilterCreaturePermanent.getDefault(), false);
super(1, 1, new FilterCreaturePermanent(), false);
}
public SearingBlazeTarget(final SearingBlazeTarget target) {

View file

@ -64,7 +64,7 @@ public class BoldDefense extends CardImpl<BoldDefense> {
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));
}

View file

@ -60,9 +60,9 @@ public class EldraziMonument extends CardImpl<EldraziMonument> {
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()));
}

View file

@ -48,7 +48,7 @@ public class CopyPermanentEffect extends OneShotEffect<CopyPermanentEffect> {
private FilterPermanent filter;
public CopyPermanentEffect() {
this(FilterCreaturePermanent.getDefault());
this(new FilterCreaturePermanent());
}
public CopyPermanentEffect(FilterPermanent filter) {

View file

@ -52,15 +52,15 @@ public class BoostAllEffect extends ContinuousEffectImpl<BoostAllEffect> {
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) {

View file

@ -54,15 +54,15 @@ public class BoostControlledEffect extends ContinuousEffectImpl<BoostControlledE
protected boolean isLockedIn = false;
public BoostControlledEffect(int power, int toughness, Duration duration) {
this(power, toughness, duration, FilterCreaturePermanent.getDefault(), false);
this(power, toughness, duration, new FilterCreaturePermanent(), false);
}
public BoostControlledEffect(DynamicValue power, DynamicValue toughness, Duration duration) {
this(power, toughness, duration, FilterCreaturePermanent.getDefault(), false);
this(power, toughness, duration, new FilterCreaturePermanent(), false);
}
public BoostControlledEffect(int power, int toughness, Duration duration, boolean excludeSource) {
this(power, toughness, duration, FilterCreaturePermanent.getDefault(), excludeSource);
this(power, toughness, duration, new FilterCreaturePermanent(), excludeSource);
}
public BoostControlledEffect(int power, int toughness, Duration duration, FilterCreaturePermanent filter) {

View file

@ -50,17 +50,6 @@ public class FilterArtifactCard extends FilterCard<FilterArtifactCard> {
super(filter);
}
/**
* There are a lot of usages of this method, we should rip them out as we see
* them and replace them with <code>new FilterArtifactCard()</code>. 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);

View file

@ -42,8 +42,6 @@ public class FilterArtifactPermanent<T extends FilterArtifactPermanent<T>> 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<T extends FilterArtifactPermanent<T>> 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 <code>new FilterArtifactPermanent()</code>. 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<T extends FilterArtifactPermanent<T>> exten
this.blocking = blocking;
}
public void setUseTapped ( boolean useTapped ) {
this.useTapped = useTapped;
}
public void setTapped ( boolean tapped ) {
this.tapped = tapped;
}
@Override
public FilterArtifactPermanent<T> copy() {
return new FilterArtifactPermanent<T>(this);

View file

@ -52,15 +52,4 @@ public class FilterAttackingCreature extends FilterCreaturePermanent<FilterAttac
public FilterAttackingCreature copy() {
return new FilterAttackingCreature(this);
}
/**
* There are a lot of usages of this method, we should rip them out as we see
* them and replace them with <code>new FilterAttackingCreature()</code>. 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();
}
}

View file

@ -54,15 +54,4 @@ public class FilterAttackingOrBlockingCreature extends FilterCreaturePermanent<F
public FilterAttackingOrBlockingCreature copy() {
return new FilterAttackingOrBlockingCreature(this);
}
/**
* There are a lot of usages of this method, we should rip them out as we see
* them and replace them with <code>new FilterAttackingOrBlockingCreature()</code>. 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();
}
}

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