mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 11:32:00 -08:00
removed <filter>.getDefault()
This commit is contained in:
parent
4ccf0f799d
commit
aa55beeb4e
110 changed files with 134 additions and 274 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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}")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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}");
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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)) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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++;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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() {}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Add table
Add a link
Reference in a new issue