remove filter constructors from TargetControlledCreaturePermanent

This commit is contained in:
theelk801 2025-06-19 11:10:53 -04:00
parent 96b39c1210
commit b19d8fea76
163 changed files with 1398 additions and 1863 deletions

View file

@ -4,6 +4,7 @@ import mage.abilities.Ability;
import mage.abilities.costs.Cost;
import mage.abilities.costs.CostImpl;
import mage.constants.Outcome;
import mage.filter.common.FilterControlledPermanent;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetControlledPermanent;
@ -20,6 +21,18 @@ public class TapTargetCost extends CostImpl {
TargetControlledPermanent target;
public TapTargetCost(FilterControlledPermanent filter) {
this(1, filter);
}
public TapTargetCost(int amount, FilterControlledPermanent filter) {
this(amount, amount, filter);
}
public TapTargetCost(int minAmount, int maxAmount, FilterControlledPermanent filter) {
this(new TargetControlledPermanent(minAmount, maxAmount, filter, true));
}
public TapTargetCost(TargetControlledPermanent target) {
this.target = target;
this.target.withNotTarget(true); // costs are never targeted

View file

@ -29,7 +29,7 @@ import mage.game.stack.Spell;
import mage.players.ManaPool;
import mage.players.Player;
import mage.target.Target;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.TargetPermanent;
import mage.util.CardUtil;
import java.util.*;
@ -131,7 +131,7 @@ public class ConvokeAbility extends SimpleStaticAbility implements AlternateMana
}
filter.add(Predicates.or(colorPredicates));
}
Target target = new TargetControlledCreaturePermanent(1, 1, filter, true);
Target target = new TargetPermanent(1, 1, filter, true);
target.withTargetName("creature to tap for convoke");
specialAction.addTarget(target);
if (specialAction.canActivate(source.getControllerId(), game).canActivate()) {

View file

@ -22,7 +22,7 @@ import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.Target;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.TargetPermanent;
import mage.util.CardUtil;
import java.awt.*;
@ -146,7 +146,7 @@ class CrewCost extends CostImpl {
paid = true;
return true;
}
Target target = new TargetControlledCreaturePermanent(0, Integer.MAX_VALUE, filter, true) {
Target target = new TargetPermanent(0, Integer.MAX_VALUE, filter, true) {
@Override
public String getMessage(Game game) {
// shows selected power

View file

@ -20,7 +20,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.Target;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.TargetPermanent;
import mage.watchers.common.SaddledMountWatcher;
import java.awt.*;
@ -128,7 +128,7 @@ class SaddleCost extends CostImpl {
@Override
public boolean pay(Ability ability, Game game, Ability source, UUID controllerId, boolean noMana, Cost costToPay) {
Target target = new TargetControlledCreaturePermanent(0, Integer.MAX_VALUE, filter, true) {
Target target = new TargetPermanent(0, Integer.MAX_VALUE, filter, true) {
@Override
public String getMessage(Game game) {
// shows selected power

View file

@ -23,7 +23,7 @@ import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.command.Plane;
import mage.target.Target;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.TargetPermanent;
import mage.watchers.common.PlanarRollWatcher;
import java.util.ArrayList;
@ -50,7 +50,7 @@ public class NayaPlane extends Plane {
// Active player can roll the planar die: Whenever you roll {CHAOS}, target red, green or white creature you control gets +1/+1 until end of turn for each land you control
DynamicValue dynamicValue = new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_PERMANENT_LANDS);
Effect chaosEffect = new BoostTargetEffect(dynamicValue, dynamicValue, Duration.EndOfTurn);
Target chaosTarget = new TargetControlledCreaturePermanent(1, 1, filter, false);
Target chaosTarget = new TargetPermanent(filter);
List<Effect> chaosEffects = new ArrayList<>();
chaosEffects.add(chaosEffect);

View file

@ -1,7 +1,6 @@
package mage.target.common;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent;
/**
* @author BetaSteward_at_googlemail.com
@ -17,15 +16,7 @@ public class TargetControlledCreaturePermanent extends TargetControlledPermanent
}
public TargetControlledCreaturePermanent(int minNumTargets, int maxNumTargets) {
this(minNumTargets, maxNumTargets, maxNumTargets > 1 ? StaticFilters.FILTER_CONTROLLED_CREATURES : StaticFilters.FILTER_CONTROLLED_CREATURE, false);
}
public TargetControlledCreaturePermanent(FilterControlledCreaturePermanent filter) {
this(1, 1, filter, false);
}
public TargetControlledCreaturePermanent(int minNumTargets, int maxNumTargets, FilterControlledCreaturePermanent filter, boolean notTarget) {
super(minNumTargets, maxNumTargets, filter, notTarget);
super(minNumTargets, maxNumTargets, maxNumTargets > 1 ? StaticFilters.FILTER_CONTROLLED_CREATURES : StaticFilters.FILTER_CONTROLLED_CREATURE, false);
}
protected TargetControlledCreaturePermanent(final TargetControlledCreaturePermanent target) {