[CLB] Implemented Alora, Merry Thief

This commit is contained in:
Evan Kranzler 2022-05-23 21:20:49 -04:00
parent 080a73f20f
commit 758f1cb896
19 changed files with 142 additions and 83 deletions

View file

@ -1,7 +1,6 @@
package mage.cards.a;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
@ -15,10 +14,11 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterAttackingCreature;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author fireshoes
*/
public final class AccursedHorde extends CardImpl {
@ -38,7 +38,7 @@ public final class AccursedHorde extends CardImpl {
// {1}{B}: Target attacking Zombie gains indestructible until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
ability.addTarget(new TargetAttackingCreature(1, 1, filter, false));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}

View file

@ -1,7 +1,6 @@
package mage.cards.a;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
@ -14,10 +13,11 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author ciaccona007
*/
public final class AerialGuide extends CardImpl {
@ -27,11 +27,11 @@ public final class AerialGuide extends CardImpl {
static {
filter.add(AnotherPredicate.instance);
}
public AerialGuide(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
this.subtype.add(SubType.DRAKE);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
@ -41,9 +41,9 @@ public final class AerialGuide extends CardImpl {
// Whenever Aerial Guide attacks, another target attacking creature gains flying until end of turn.
Ability ability = new AttacksTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), false);
ability.addTarget(new TargetAttackingCreature(1, 1, filter, false));
ability.addTarget(new TargetPermanent(filter));
addAbility(ability);
}
private AerialGuide(final AerialGuide card) {

View file

@ -0,0 +1,58 @@
package mage.cards.a;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksWithCreaturesTriggeredAbility;
import mage.abilities.common.ChooseABackgroundAbility;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.target.common.TargetAttackingCreature;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class AloraMerryThief extends CardImpl {
public AloraMerryThief(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.HALFLING);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// Whenever you attack, up to one target attacking creature can't be blocked this turn. Return that creature to its owner's hand at the beginning of the next end step.
Ability ability = new AttacksWithCreaturesTriggeredAbility(
new CantBeBlockedTargetEffect(Duration.EndOfTurn), 1
);
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(
new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ReturnToHandTargetEffect()
.setText("return that creature to its owner's hand")), true
).setText("Return that creature to its owner's hand at the beginning of the next end step"));
ability.addTarget(new TargetAttackingCreature(0, 1));
this.addAbility(ability);
// Choose a Background
this.addAbility(ChooseABackgroundAbility.getInstance());
}
private AloraMerryThief(final AloraMerryThief card) {
super(card);
}
@Override
public AloraMerryThief copy() {
return new AloraMerryThief(this);
}
}

View file

@ -22,7 +22,6 @@ import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.TargetPermanent;
import mage.target.common.TargetAttackingCreature;
import mage.watchers.common.BlockedByOnlyOneCreatureThisCombatWatcher;
import java.util.*;
@ -114,7 +113,8 @@ class BalduvianWarlordUnblockEffect extends OneShotEffect {
if (targetsController != null) {
FilterAttackingCreature filter = new FilterAttackingCreature("creature attacking " + targetsController.getLogName());
filter.add(new PermanentInListPredicate(list));
TargetAttackingCreature target = new TargetAttackingCreature(1, 1, filter, true);
TargetPermanent target = new TargetPermanent(filter);
target.setNotTarget(true);
if (target.canChoose(controller.getId(), source, game)) {
while (!target.isChosen() && target.canChoose(controller.getId(), source, game) && controller.canRespond()) {
controller.chooseTarget(outcome, target, source, game);

View file

@ -1,6 +1,5 @@
package mage.cards.b;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
@ -13,10 +12,11 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author jeffwadsworth
*/
public final class BazaarKrovod extends CardImpl {
@ -28,7 +28,7 @@ public final class BazaarKrovod extends CardImpl {
}
public BazaarKrovod(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}");
this.subtype.add(SubType.BEAST);
this.power = new MageInt(2);
@ -37,7 +37,7 @@ public final class BazaarKrovod extends CardImpl {
// Whenever Bazaar Krovod attacks, another target attacking creature gets +0/+2 until end of turn. Untap that creature.
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(0, 2, Duration.EndOfTurn), false);
ability.addEffect(new UntapTargetEffect().setText("Untap that creature"));
ability.addTarget(new TargetAttackingCreature(1, 1, filter, false));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}

View file

@ -1,7 +1,6 @@
package mage.cards.c;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility;
import mage.abilities.condition.common.AttackedThisStepCondition;
@ -11,12 +10,12 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.PhaseStep;
import mage.constants.TurnPhase;
import mage.filter.common.FilterAttackingCreature;
import mage.target.common.TargetAttackingCreature;
import mage.watchers.common.PlayerAttackedStepWatcher;
import java.util.UUID;
/**
*
* @author TheElk801
*/
public final class CommandOfUnsummoning extends CardImpl {
@ -34,7 +33,7 @@ public final class CommandOfUnsummoning extends CardImpl {
// Return one or two target attacking creatures to their owner's hand.
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect().setText("Return one or two target attacking creatures to their owner's hand."));
this.getSpellAbility().addTarget(new TargetAttackingCreature(1, 2, new FilterAttackingCreature(), false));
this.getSpellAbility().addTarget(new TargetAttackingCreature(1, 2));
}
private CommandOfUnsummoning(final CommandOfUnsummoning card) {

View file

@ -1,6 +1,5 @@
package mage.cards.c;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
@ -14,10 +13,11 @@ import mage.constants.ColoredManaSymbol;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterAttackingCreature;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public final class CrossroadsConsecrator extends CardImpl {
@ -29,7 +29,7 @@ public final class CrossroadsConsecrator extends CardImpl {
}
public CrossroadsConsecrator(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.CLERIC);
this.power = new MageInt(1);
@ -37,7 +37,7 @@ public final class CrossroadsConsecrator extends CardImpl {
// {G}, {T}: Target attacking Human gets +1/+1 until end of turn.
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.G));
ability.addTarget(new TargetAttackingCreature(1, 1, filter, false));
ability.addTarget(new TargetPermanent(filter));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

View file

@ -24,7 +24,6 @@ import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.TargetPermanent;
import mage.target.common.TargetAttackingCreature;
import mage.watchers.common.BlockedByOnlyOneCreatureThisCombatWatcher;
import java.util.*;
@ -138,7 +137,8 @@ class FalseOrdersUnblockEffect extends OneShotEffect {
}
FilterAttackingCreature filter = new FilterAttackingCreature("creature attacking " + targetsController.getLogName());
filter.add(new PermanentInListPredicate(list));
TargetAttackingCreature target = new TargetAttackingCreature(1, 1, filter, true);
TargetPermanent target = new TargetPermanent(filter);
target.setNotTarget(true);
if (target.canChoose(controller.getId(), source, game)) {
while (!target.isChosen() && target.canChoose(controller.getId(), source, game) && controller.canRespond()) {
controller.chooseTarget(outcome, target, source, game);

View file

@ -1,7 +1,6 @@
package mage.cards.m;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
@ -18,21 +17,23 @@ import mage.constants.Duration;
import mage.constants.Zone;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author emerald000
*/
public final class MazeOfShadows extends CardImpl {
private static final FilterAttackingCreature filter = new FilterAttackingCreature("attacking creature with shadow");
static {
filter.add(new AbilityPredicate(ShadowAbility.class));
}
public MazeOfShadows(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// {tap}: Add {C}.
this.addAbility(new ColorlessManaAbility());
@ -45,7 +46,7 @@ public final class MazeOfShadows extends CardImpl {
effect = new PreventDamageToTargetEffect(Duration.EndOfTurn, Integer.MAX_VALUE, true);
effect.setText("and dealt by that creature this turn");
ability.addEffect(effect);
ability.addTarget(new TargetAttackingCreature(1, 1, filter, false));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}

View file

@ -1,23 +1,23 @@
package mage.cards.p;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.constants.SubType;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author TheElk801
*/
public final class PegasusCourser extends CardImpl {
@ -40,7 +40,7 @@ public final class PegasusCourser extends CardImpl {
// Whenever Pegasus Courser attacks, another target attacking creature gains flying until end of turn.
Ability ability = new AttacksTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), false);
ability.addTarget(new TargetAttackingCreature(1, 1, filter, false));
ability.addTarget(new TargetPermanent(filter));
addAbility(ability);
}

View file

@ -1,6 +1,5 @@
package mage.cards.p;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
@ -15,28 +14,29 @@ import mage.constants.Zone;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author fireshoes
*/
public final class PitTrap extends CardImpl {
private static final FilterAttackingCreature filter = new FilterAttackingCreature("attacking creature without flying");
static {
filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class)));
}
public PitTrap(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {2}, {tap}, Sacrifice Pit Trap: Destroy target attacking creature without flying. It can't be regenerated.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(true), new GenericManaCost(2));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetAttackingCreature(1, 1, filter, false));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}

View file

@ -15,12 +15,11 @@ import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.game.Game;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author jeffwadsworth
*/
public final class PitfallTrap extends CardImpl {
@ -32,7 +31,7 @@ public final class PitfallTrap extends CardImpl {
}
public PitfallTrap(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{W}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}");
this.subtype.add(SubType.TRAP);
// If exactly one creature is attacking, you may pay {W} rather than pay Pitfall Trap's mana cost.
@ -40,7 +39,7 @@ public final class PitfallTrap extends CardImpl {
// Destroy target attacking creature without flying.
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetAttackingCreature(1, 1, filter, false));
this.getSpellAbility().addTarget(new TargetPermanent(filter));
}
private PitfallTrap(final PitfallTrap card) {
@ -55,7 +54,7 @@ public final class PitfallTrap extends CardImpl {
enum PitfallTrapCondition implements Condition {
instance;
instance;
@Override
public boolean apply(Game game, Ability source) {

View file

@ -1,6 +1,5 @@
package mage.cards.r;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.CycleTriggeredAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
@ -13,14 +12,15 @@ import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
import mage.target.common.TargetAttackingCreature;
import java.util.UUID;
/**
*
* @author Plopman
*/
public final class ResoundingSilence extends CardImpl {
public ResoundingSilence(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{W}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{W}");
// Exile target attacking creature.
this.getSpellAbility().addEffect(new ExileTargetEffect());
@ -29,8 +29,7 @@ public final class ResoundingSilence extends CardImpl {
this.addAbility(new CyclingAbility(new ManaCostsImpl("{5}{G}{W}{U}")));
// When you cycle Resounding Silence, exile up to two target attacking creatures.
Ability ability = new CycleTriggeredAbility(new ExileTargetEffect());
TargetPermanent target = new TargetAttackingCreature(0, 2, StaticFilters.FILTER_ATTACKING_CREATURES, false);
ability.addTarget(target);
ability.addTarget(new TargetPermanent(0, 2, StaticFilters.FILTER_ATTACKING_CREATURES));
this.addAbility(ability);
}

View file

@ -15,7 +15,7 @@ import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
@ -39,7 +39,7 @@ public final class SlingbowTrap extends CardImpl {
// Destroy target attacking creature with flying.
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetAttackingCreature(1, 1, filter, false));
this.getSpellAbility().addTarget(new TargetPermanent(filter));
}
private SlingbowTrap(final SlingbowTrap card) {

View file

@ -1,19 +1,19 @@
package mage.cards.t;
import java.util.UUID;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
*
* @author Loki
*/
public final class TerashisVerdict extends CardImpl {
@ -25,12 +25,12 @@ public final class TerashisVerdict extends CardImpl {
}
public TerashisVerdict(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}");
this.subtype.add(SubType.ARCANE);
// Destroy target attacking creature with power 3 or less.
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetAttackingCreature(1, 1, filter, false));
this.getSpellAbility().addTarget(new TargetPermanent(filter));
}
private TerashisVerdict(final TerashisVerdict card) {

View file

@ -1,7 +1,6 @@
package mage.cards.t;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
@ -21,11 +20,12 @@ import mage.filter.common.FilterAttackingCreature;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.target.common.TargetAttackingCreature;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
/**
*
* @author LoneFox
*/
public final class TrapDigger extends CardImpl {
@ -39,7 +39,7 @@ public final class TrapDigger extends CardImpl {
}
public TrapDigger(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(1);
@ -52,7 +52,7 @@ public final class TrapDigger extends CardImpl {
this.addAbility(ability);
// Sacrifice a land with a trap counter on it: Trap Digger deals 3 damage to target attacking creature without flying.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new SacrificeTargetCost(new TargetControlledPermanent(filter1)));
ability.addTarget(new TargetAttackingCreature(1, 1, filter2, false));
ability.addTarget(new TargetPermanent(filter2));
this.addAbility(ability);
}

View file

@ -23,6 +23,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet {
cards.add(new SetCardInfo("Aarakocra Sneak", 54, Rarity.COMMON, mage.cards.a.AarakocraSneak.class));
cards.add(new SetCardInfo("Agent of the Iron Throne", 107, Rarity.UNCOMMON, mage.cards.a.AgentOfTheIronThrone.class));
cards.add(new SetCardInfo("Alora, Merry Thief", 55, Rarity.UNCOMMON, mage.cards.a.AloraMerryThief.class));
cards.add(new SetCardInfo("Ambition's Cost", 110, Rarity.UNCOMMON, mage.cards.a.AmbitionsCost.class));
cards.add(new SetCardInfo("Ancient Brass Dragon", 111, Rarity.MYTHIC, mage.cards.a.AncientBrassDragon.class));
cards.add(new SetCardInfo("Arcane Encyclopedia", 297, Rarity.UNCOMMON, mage.cards.a.ArcaneEncyclopedia.class));

View file

@ -885,6 +885,12 @@ public final class StaticFilters {
FILTER_CREATURE_TOKENS.setLockedFilter(true);
}
public static final FilterAttackingCreature FILTER_ATTACKING_CREATURE = new FilterAttackingCreature();
static {
FILTER_ATTACKING_CREATURE.setLockedFilter(true);
}
public static final FilterAttackingCreature FILTER_ATTACKING_CREATURES = new FilterAttackingCreature("attacking creatures");
static {

View file

@ -1,26 +1,23 @@
package mage.target.common;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
/**
*
* @author BetaSteward_at_googlemail.com
*/
public class TargetAttackingCreature extends TargetPermanent {
public TargetAttackingCreature() {
this(1, 1, new FilterAttackingCreature(), false);
}
public TargetAttackingCreature(int numTargets) {
this(numTargets, numTargets, new FilterAttackingCreature(), false);
this(1);
}
public TargetAttackingCreature(int minNumTargets, int maxNumTargets, FilterAttackingCreature filter, boolean notTarget) {
super(minNumTargets, maxNumTargets, filter, notTarget);
public TargetAttackingCreature(int numTargets) {
this(numTargets, numTargets);
}
public TargetAttackingCreature(int minNumTargets, int maxNumTargets) {
super(minNumTargets, maxNumTargets, StaticFilters.FILTER_ATTACKING_CREATURE, false);
}
public TargetAttackingCreature(final TargetAttackingCreature target) {
@ -31,5 +28,4 @@ public class TargetAttackingCreature extends TargetPermanent {
public TargetAttackingCreature copy() {
return new TargetAttackingCreature(this);
}
}