forked from External/mage
remove unnecessary FilterEquipmentPermanent and TargetEquipmentPermanent classes
This commit is contained in:
parent
ace8bd50a3
commit
9f10b00ddf
16 changed files with 36 additions and 113 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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"));
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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"));
|
||||
|
|
|
|||
|
|
@ -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}");
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue