Remove FilterEnchantment, because it was an exact duplicate of FilterEnchantmentPermanent

This commit is contained in:
LoneFox 2015-06-30 17:52:28 +03:00
parent d922efc528
commit 88ce3ded98
15 changed files with 48 additions and 107 deletions

View file

@ -32,7 +32,7 @@ import mage.constants.Rarity;
import mage.abilities.Mode;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.common.FilterLandPermanent;
import mage.target.TargetPermanent;
import mage.target.common.TargetArtifactPermanent;
@ -59,7 +59,7 @@ public class RainOfThorns extends CardImpl {
Mode mode1 = new Mode();
mode1.getEffects().add(new DestroyTargetEffect());
mode1.getTargets().add(new TargetPermanent(new FilterEnchantment()));
mode1.getTargets().add(new TargetPermanent(new FilterEnchantmentPermanent()));
this.getSpellAbility().addMode(mode1);
Mode mode2 = new Mode();

View file

@ -42,7 +42,7 @@ import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.FlipSourceEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
@ -88,7 +88,7 @@ public class KitsuneMystic extends CardImpl {
class AutumnTailKitsuneSage extends Token {
private static final FilterEnchantment filter = new FilterEnchantment("Aura attached to a creature");
private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("Aura attached to a creature");
static {
filter.add(new AttachmentAttachedToCardTypePredicate(CardType.CREATURE));

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.SplitCard;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.target.Target;
import mage.target.TargetPermanent;
import mage.target.common.TargetArtifactPermanent;
@ -56,7 +56,7 @@ public class WearTear extends SplitCard {
// Tear
// Destroy target enchantment.
getRightHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect());
target = new TargetPermanent(new FilterEnchantment());
target = new TargetPermanent(new FilterEnchantmentPermanent());
getRightHalfCard().getSpellAbility().addTarget(target);
}

View file

@ -33,7 +33,7 @@ import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.constants.Outcome;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@ -78,7 +78,7 @@ class ParaseleneEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
int count = 0;
for (Permanent permanent : game.getBattlefield().getActivePermanents(new FilterEnchantment(), source.getControllerId(), source.getSourceId(), game)) {
for (Permanent permanent : game.getBattlefield().getActivePermanents(new FilterEnchantmentPermanent(), source.getControllerId(), source.getSourceId(), game)) {
if (permanent.destroy(source.getSourceId(), game, false)) {
count++;
}

View file

@ -40,7 +40,7 @@ import mage.constants.Outcome;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.permanent.ControllerPredicate;
/**
@ -48,8 +48,8 @@ import mage.filter.predicate.permanent.ControllerPredicate;
* @author fireshoes
*/
public class HelmOfTheGods extends CardImpl {
private static final FilterEnchantment filter = new FilterEnchantment("enchantment you control");
private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("enchantment you control");
static {
filter.add(new ControllerPredicate(TargetController.YOU));
@ -61,11 +61,11 @@ public class HelmOfTheGods extends CardImpl {
this.subtype.add("Equipment");
// Equipped creature gets +1/+1 for each enchantment you control.
PermanentsOnBattlefieldCount countEnchantments = new PermanentsOnBattlefieldCount(new FilterEnchantment(filter));
PermanentsOnBattlefieldCount countEnchantments = new PermanentsOnBattlefieldCount(new FilterEnchantmentPermanent(filter));
Effect effect = new BoostEquippedEffect(countEnchantments, countEnchantments);
effect.setText("Equipped creature gets +1/+1 for each enchantment you control");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
// Equip {1}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
}

View file

@ -45,7 +45,6 @@ import mage.constants.SubLayer;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardTypePredicate;
@ -62,11 +61,11 @@ import mage.target.common.TargetCardInGraveyard;
* @author fireshoes
*/
public class StarfieldOfNyx extends CardImpl {
private static final String rule1 = "As long as you control five or more enchantments, each other non-Aura enchantment you control is a creature in addition to its other types and has base power and base toughness each equal to its converted mana cost.";
private static final FilterCard filterGraveyardEnchantment = new FilterCard("enchantment card from your graveyard");
private static final FilterEnchantment filterEnchantmentYouControl = new FilterEnchantment("enchantment you control");
private static final FilterEnchantmentPermanent filterEnchantmentYouControl = new FilterEnchantmentPermanent("enchantment you control");
static {
filterEnchantmentYouControl.add(new ControllerPredicate(TargetController.YOU));
@ -81,11 +80,11 @@ public class StarfieldOfNyx extends CardImpl {
this.expansionSetCode = "ORI";
// At the beginning of your upkeep, you may return target enchantment card from your graveyard to the battlefield.
Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
new ReturnFromGraveyardToBattlefieldTargetEffect(), TargetController.YOU, true);
ability.addTarget(new TargetCardInGraveyard(filterGraveyardEnchantment));
this.addAbility(ability);
// As long as you control five or more enchantments, each other non-Aura enchantment you control is a creature in addition to its other types and has base power and base toughness each equal to its converted mana cost.
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new StarfieldOfNyxEffect(), new PermanentsOnTheBattlefieldCondition(filterEnchantmentYouControl, PermanentsOnTheBattlefieldCondition.CountType.MORE_THAN, 4), rule1);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
@ -109,7 +108,7 @@ class StarfieldOfNyxEffect extends ContinuousEffectImpl {
filter.add(new AnotherPredicate());
filter.add(new OwnerPredicate(TargetController.YOU));
}
public StarfieldOfNyxEffect() {
super(Duration.WhileOnBattlefield, Outcome.BecomeCreature);
staticText = "Each other non-Aura enchantment is a creature in addition to its other types and has base power and toughness each equal to its converted mana cost";
@ -159,4 +158,4 @@ class StarfieldOfNyxEffect extends ContinuousEffectImpl {
return layer == Layer.PTChangingEffects_7 || layer == Layer.TypeChangingEffects_4;
}
}
}

View file

@ -46,7 +46,7 @@ import mage.abilities.keyword.EnchantAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
import mage.constants.TargetController;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@ -57,7 +57,7 @@ import mage.target.common.TargetCreaturePermanent;
*/
public class EtherealArmor extends CardImpl {
private static final FilterEnchantment filter = new FilterEnchantment("enchantment you control");
private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("enchantment you control");
static {
filter.add(new ControllerPredicate(TargetController.YOU));
@ -77,7 +77,7 @@ public class EtherealArmor extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +1/+1 for each enchantment you control and has first strike.
PermanentsOnBattlefieldCount countEnchantments = new PermanentsOnBattlefieldCount(new FilterEnchantment(filter));
PermanentsOnBattlefieldCount countEnchantments = new PermanentsOnBattlefieldCount(new FilterEnchantmentPermanent(filter));
SimpleStaticAbility ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(countEnchantments, countEnchantments, Duration.WhileOnBattlefield));
ability2.addEffect(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA));
this.addAbility(ability2);

View file

@ -38,7 +38,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.target.TargetPermanent;
/**
@ -58,7 +58,7 @@ public class GolgariCharm extends CardImpl {
// or destroy target enchantment;
Mode mode = new Mode();
mode.getEffects().add(new DestroyTargetEffect());
mode.getTargets().add(new TargetPermanent(new FilterEnchantment()));
mode.getTargets().add(new TargetPermanent(new FilterEnchantmentPermanent()));
this.getSpellAbility().addMode(mode);
// or regenerate each creature you control.
@ -75,4 +75,4 @@ public class GolgariCharm extends CardImpl {
public GolgariCharm copy() {
return new GolgariCharm(this);
}
}
}

View file

@ -37,7 +37,7 @@ import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.cards.CardImpl;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
@ -73,13 +73,13 @@ public class SphereOfSafety extends CardImpl {
class SphereOfSafetyReplacementEffect extends ReplacementEffectImpl {
private static final String effectText = "Creatures can't attack you or a planeswalker you control unless their controller pays {X} for each of those creatures, where X is the number of enchantments you control";
private static final FilterEnchantment filter = new FilterEnchantment("enchantment you control");
private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("enchantment you control");
static {
filter.add(new ControllerPredicate(TargetController.YOU));
}
private final PermanentsOnBattlefieldCount countEnchantments = new PermanentsOnBattlefieldCount(filter);
SphereOfSafetyReplacementEffect ( ) {
super(Duration.WhileOnBattlefield, Outcome.Benefit);
staticText = effectText;
@ -88,7 +88,7 @@ class SphereOfSafetyReplacementEffect extends ReplacementEffectImpl {
SphereOfSafetyReplacementEffect ( SphereOfSafetyReplacementEffect effect ) {
super(effect);
}
@Override
public boolean checksEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.DECLARE_ATTACKER;
@ -124,7 +124,7 @@ class SphereOfSafetyReplacementEffect extends ReplacementEffectImpl {
}
return false;
}
@Override
public SphereOfSafetyReplacementEffect copy() {
return new SphereOfSafetyReplacementEffect(this);

View file

@ -36,7 +36,7 @@ import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
@ -52,7 +52,7 @@ import mage.target.common.TargetCreaturePermanent;
*/
public class AuraFinesse extends CardImpl {
private static final FilterEnchantment filter = new FilterEnchantment("Aura you control");
private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("Aura you control");
static {
filter.add(new ControllerPredicate(TargetController.YOU));
@ -115,7 +115,7 @@ class AuraFinesseEffect extends OneShotEffect {
creature.addAttachment(aura.getId(), game);
}
}
}
}
return true;
}
return false;

View file

@ -37,7 +37,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.keyword.TotemArmorAbility;
import mage.cards.CardImpl;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.ObjectPlayer;
import mage.filter.predicate.ObjectPlayerPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
@ -50,7 +50,7 @@ import mage.game.permanent.Permanent;
*/
public class UmbraMystic extends CardImpl {
private static final FilterEnchantment filter = new FilterEnchantment("Auras attached to permanents you control");
private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("Auras attached to permanents you control");
static {
filter.add(new SubtypePredicate("Aura"));

View file

@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.filter.predicate.ObjectPlayer;
import mage.filter.predicate.ObjectPlayerPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
@ -50,9 +50,9 @@ import mage.target.TargetPermanent;
* @author Plopman
*/
public class DevoutHarpist extends CardImpl {
private static final FilterEnchantment filter = new FilterEnchantment("Auras attached to a creature");
static
{
private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("Auras attached to a creature");
static
{
filter.add(new SubtypePredicate("Aura"));
filter.add(new DevoutHarpistPredicate());
}
@ -69,7 +69,7 @@ public class DevoutHarpist extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost());
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}
public DevoutHarpist(final DevoutHarpist card) {
@ -80,11 +80,11 @@ public class DevoutHarpist extends CardImpl {
public DevoutHarpist copy() {
return new DevoutHarpist(this);
}
}
class DevoutHarpistPredicate implements ObjectPlayerPredicate<ObjectPlayer<Permanent>> {
@Override
class DevoutHarpistPredicate implements ObjectPlayerPredicate<ObjectPlayer<Permanent>> {
@Override
public boolean apply(ObjectPlayer<Permanent> input, Game game) {
Permanent attachement = input.getObject();
if (attachement != null) {

View file

@ -40,7 +40,7 @@ import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.cards.CardsImpl;
import mage.filter.FilterCard;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@ -89,7 +89,7 @@ class HarmonicConvergenceEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
List<Permanent> enchantments = game.getBattlefield().getActivePermanents(new FilterEnchantment(),
List<Permanent> enchantments = game.getBattlefield().getActivePermanents(new FilterEnchantmentPermanent(),
source.getControllerId(),
source.getSourceId(),
game);

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterEnchantment;
import mage.filter.common.FilterEnchantmentPermanent;
import mage.target.TargetPermanent;
/**
@ -48,7 +48,7 @@ public class PeaceAndQuiet extends CardImpl {
// Destroy two target enchantments.
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent(2, new FilterEnchantment()));
this.getSpellAbility().addTarget(new TargetPermanent(2, new FilterEnchantmentPermanent()));
}
public PeaceAndQuiet(final PeaceAndQuiet card) {

View file

@ -1,58 +0,0 @@
/*
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.filter.common;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
/**
*
* @author nantuko
*/
public class FilterEnchantment extends FilterPermanent {
public FilterEnchantment() {
this("enchantment");
}
public FilterEnchantment(String name) {
super(name);
this.add(new CardTypePredicate(CardType.ENCHANTMENT));
}
public FilterEnchantment(final FilterEnchantment filter) {
super(filter);
}
@Override
public FilterEnchantment copy() {
return new FilterEnchantment(this);
}
}