remove unnecessary FilterEquipmentPermanent and TargetEquipmentPermanent classes

This commit is contained in:
theelk801 2025-05-26 21:49:16 -04:00
parent ace8bd50a3
commit 9f10b00ddf
16 changed files with 36 additions and 113 deletions

View file

@ -13,7 +13,6 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.game.Game;
@ -114,7 +113,7 @@ class AkiriFearlessVoyagerEffect extends OneShotEffect {
}
private static final FilterPermanent filter
= new FilterEquipmentPermanent("equipment attached to a creature you control");
= new FilterPermanent(SubType.EQUIPMENT, "equipment attached to a creature you control");
static {
filter.add(AkiriFearlessVoyagerPredicate.instance);

View file

@ -17,7 +17,6 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.game.Game;
@ -30,7 +29,7 @@ import java.util.UUID;
*/
public final class BalanWanderingKnight extends CardImpl {
private static final FilterPermanent filter = new FilterEquipmentPermanent();
private static final FilterPermanent filter = new FilterPermanent(SubType.EQUIPMENT, "");
static {
filter.add(BalanWanderingKnightPredicate.instance);

View file

@ -17,7 +17,6 @@ import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.mageobject.NamePredicate;
@ -31,7 +30,7 @@ import java.util.UUID;
*/
public final class BridesGown extends CardImpl {
private static final FilterPermanent filter = new FilterEquipmentPermanent();
private static final FilterPermanent filter = new FilterPermanent(SubType.EQUIPMENT, "");
static {
filter.add(new NamePredicate("Groom's Finery"));

View file

@ -22,7 +22,6 @@ import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.permanent.AttachedToPredicate;
@ -131,7 +130,7 @@ enum CaptainAmericaFirstAvengerValue implements DynamicValue {
class CaptainAmericaFirstAvengerUnattachCost extends CostImpl implements EarlyTargetCost {
private static final FilterPermanent filter = new FilterEquipmentPermanent("equipment attached to this creature");
private static final FilterPermanent filter = new FilterPermanent(SubType.EQUIPMENT, "equipment attached to this creature");
private static final FilterPermanent subfilter = new FilterControlledPermanent("{this}");
static {

View file

@ -1,27 +1,25 @@
package mage.cards.c;
import java.util.UUID;
import mage.target.common.TargetEquipmentPermanent;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.ControlEnchantedEffect;
import mage.constants.Outcome;
import mage.target.TargetPermanent;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author TheElk801
*/
public final class CarryAway extends CardImpl {
@ -32,15 +30,14 @@ public final class CarryAway extends CardImpl {
this.subtype.add(SubType.AURA);
// Enchant Equipment
TargetPermanent auraTarget = new TargetEquipmentPermanent();
TargetPermanent auraTarget = new TargetPermanent(StaticFilters.FILTER_PERMANENT_EQUIPMENT);
this.getSpellAbility().addTarget(auraTarget);
this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit));
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
this.addAbility(new EnchantAbility(auraTarget));
// When Carry Away enters the battlefield, unattach enchanted Equipment.
ability = new EntersBattlefieldTriggeredAbility(new CarryAwayEffect());
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new CarryAwayEffect()));
// You control enchanted Equipment.
this.addAbility(new SimpleStaticAbility(new ControlEnchantedEffect("Equipment")));
}

View file

@ -7,8 +7,8 @@ import mage.abilities.effects.common.ExileTargetIfDiesEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.game.Game;
@ -26,7 +26,7 @@ import java.util.UUID;
*/
public final class FieryAnnihilation extends CardImpl {
private static final FilterPermanent filter = new FilterEquipmentPermanent("Equipment attached to that creature");
private static final FilterPermanent filter = new FilterPermanent(SubType.EQUIPMENT, "Equipment attached to that creature");
static {
filter.add(FieryAnnihilationPredicate.instance);

View file

@ -17,7 +17,6 @@ import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.mageobject.NamePredicate;
@ -31,7 +30,7 @@ import java.util.UUID;
*/
public final class GroomsFinery extends CardImpl {
private static final FilterPermanent filter = new FilterEquipmentPermanent();
private static final FilterPermanent filter = new FilterPermanent(SubType.EQUIPMENT, "");
static {
filter.add(new NamePredicate("Bride's Gown"));

View file

@ -14,8 +14,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.FilterPermanent;
import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster;
@ -26,8 +25,8 @@ import java.util.UUID;
*/
public final class HammerOfRuin extends CardImpl {
private static final FilterEquipmentPermanent filter
= new FilterEquipmentPermanent("Equipment that player controls");
private static final FilterPermanent filter
= new FilterPermanent(SubType.EQUIPMENT, "Equipment that player controls");
public HammerOfRuin(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");

View file

@ -6,8 +6,9 @@ import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreatureOrPlaneswalker;
import mage.target.common.TargetEquipmentPermanent;
import java.util.UUID;
@ -28,7 +29,7 @@ public final class MoltenRebuke extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreatureOrPlaneswalker());
// * Destroy target Equipment.
this.getSpellAbility().addMode(new Mode(new DestroyTargetEffect()).addTarget(new TargetEquipmentPermanent()));
this.getSpellAbility().addMode(new Mode(new DestroyTargetEffect()).addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_EQUIPMENT)));
}
private MoltenRebuke(final MoltenRebuke card) {

View file

@ -1,7 +1,5 @@
package mage.cards.p;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.CostAdjuster;
@ -14,18 +12,20 @@ import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.WardAbility;
import mage.constants.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.filter.common.FilterEquipmentPermanent;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.util.CardUtil;
import java.util.UUID;
/**
*
* @author weirddan455
*/
public final class PlateArmor extends CardImpl {
@ -66,11 +66,10 @@ public final class PlateArmor extends CardImpl {
enum PlateArmorAdjuster implements CostAdjuster {
instance;
private static final FilterEquipmentPermanent filter = new FilterEquipmentPermanent("Other Equipment you control");
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.EQUIPMENT, "Other Equipment you control");
static {
filter.add(AnotherPredicate.instance);
filter.add(TargetController.YOU.getControllerPredicate());
}
private static final DynamicValue equipmentCount = new PermanentsOnBattlefieldCount(filter);

View file

@ -12,8 +12,8 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.game.Game;
@ -29,7 +29,7 @@ import java.util.UUID;
public final class ShacklesOfTreachery extends CardImpl {
private static final FilterPermanent filter
= new FilterEquipmentPermanent("Equipment attached to it");
= new FilterPermanent(SubType.EQUIPMENT, "Equipment attached to it");
static {
filter.add(ShacklesOfTreacheryPredicate.instance);

View file

@ -10,11 +10,12 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetEquipmentPermanent;
import mage.target.targetpointer.EachTargetPointer;
import mage.target.targetpointer.FixedTarget;
import mage.target.targetpointer.SecondTargetPointer;
@ -41,7 +42,7 @@ public final class StolenUniform extends CardImpl {
this.getSpellAbility().addEffect(new StolenUniformAttachEffect());
this.getSpellAbility().addEffect(new StolenUniformTriggerEffect());
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
this.getSpellAbility().addTarget(new TargetEquipmentPermanent());
this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_EQUIPMENT));
}
private StolenUniform(final StolenUniform card) {

View file

@ -20,7 +20,6 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterEquipmentPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.PermanentIdPredicate;
import mage.game.Controllable;
@ -115,8 +114,8 @@ class ZackFairEffect extends OneShotEffect {
equipment = RandomUtil.randomFromCollection(permanents);
break;
default:
FilterPermanent filter = new FilterEquipmentPermanent(
"Equipment to attach to " + creature.getIdName()
FilterPermanent filter = new FilterPermanent(
SubType.EQUIPMENT, "Equipment to attach to " + creature.getIdName()
);
filter.add(Predicates.or(
permanents

View file

@ -1223,7 +1223,7 @@ public final class StaticFilters {
FILTER_PERMANENT_AURAS.setLockedFilter(true);
}
public static final FilterPermanent FILTER_PERMANENT_EQUIPMENT = new FilterEquipmentPermanent();
public static final FilterPermanent FILTER_PERMANENT_EQUIPMENT = new FilterPermanent(SubType.EQUIPMENT, "Equipment");
static {
FILTER_PERMANENT_EQUIPMENT.setLockedFilter(true);

View file

@ -1,31 +0,0 @@
package mage.filter.common;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
/**
* @author TheElk801
*/
public class FilterEquipmentPermanent extends FilterPermanent {
public FilterEquipmentPermanent() {
this("Equipment");
}
public FilterEquipmentPermanent(String name) {
super(name);
this.add(SubType.EQUIPMENT.getPredicate());
}
protected FilterEquipmentPermanent(final FilterEquipmentPermanent filter) {
super(filter);
}
@Override
public FilterEquipmentPermanent copy() {
return new FilterEquipmentPermanent(this);
}
}

View file

@ -1,37 +0,0 @@
package mage.target.common;
import mage.filter.common.FilterEquipmentPermanent;
import mage.target.TargetPermanent;
/**
* @author TheElk801
*/
public class TargetEquipmentPermanent extends TargetPermanent {
public TargetEquipmentPermanent() {
this(1, 1, new FilterEquipmentPermanent(), false);
}
public TargetEquipmentPermanent(FilterEquipmentPermanent filter) {
this(1, 1, filter, false);
}
public TargetEquipmentPermanent(int numTargets) {
this(numTargets, numTargets, new FilterEquipmentPermanent(), false);
}
public TargetEquipmentPermanent(int minNumTargets, int maxNumTargets, FilterEquipmentPermanent filter, boolean notTarget) {
super(minNumTargets, maxNumTargets, filter, notTarget);
}
protected TargetEquipmentPermanent(final TargetEquipmentPermanent target) {
super(target);
}
@Override
public TargetEquipmentPermanent copy() {
return new TargetEquipmentPermanent(this);
}
}