updated targeting for cards that damage

This commit is contained in:
Evan Kranzler 2018-04-19 11:45:20 -04:00
parent 7212b02e53
commit 5fe607e852
548 changed files with 1127 additions and 1133 deletions

View file

@ -253,9 +253,9 @@ public class ComputerPlayer extends PlayerImpl implements Player {
}
return target.isChosen();
}
if (target.getOriginalTarget() instanceof TargetCreatureOrPlayer) {
if (target.getOriginalTarget() instanceof TargetAnyTarget) {
List<Permanent> targets;
TargetCreatureOrPlayer t = ((TargetCreatureOrPlayer) target);
TargetAnyTarget t = ((TargetAnyTarget) target);
if (outcome.isGood()) {
targets = threats(abilityControllerId, sourceId, ((FilterCreatureOrPlayer) t.getFilter()).getCreatureFilter(), game, target.getTargets());
} else {
@ -496,9 +496,9 @@ public class ComputerPlayer extends PlayerImpl implements Player {
}
return target.isChosen();
}
if (target.getOriginalTarget() instanceof TargetCreatureOrPlayer) {
if (target.getOriginalTarget() instanceof TargetAnyTarget) {
List<Permanent> targets;
TargetCreatureOrPlayer t = ((TargetCreatureOrPlayer) target);
TargetAnyTarget t = ((TargetAnyTarget) target);
if (outcome.isGood()) {
targets = threats(abilityControllerId, source.getSourceId(), ((FilterCreatureOrPlayer) t.getFilter()).getCreatureFilter(), game, target.getTargets());
} else {

View file

@ -7,7 +7,7 @@ import mage.cards.Card;
import mage.constants.ColoredManaSymbol;
import mage.constants.Outcome;
import mage.target.Target;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent;
import org.apache.log4j.Logger;
@ -91,7 +91,7 @@ public final class RateCard {
DamageTargetEffect damageEffect = (DamageTargetEffect) effect;
if (damageEffect.getAmount() > 1) {
for (Target target : ability.getTargets()) {
if (target instanceof TargetCreaturePermanent || target instanceof TargetCreatureOrPlayer) {
if (target instanceof TargetCreaturePermanent || target instanceof TargetAnyTarget) {
log.debug("Found damage dealer: " + card.getName());
return 1;
}

View file

@ -69,7 +69,7 @@ import mage.target.TargetAmount;
import mage.target.TargetCard;
import mage.target.TargetPermanent;
import mage.target.common.TargetAttackingCreature;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetDefender;
import mage.util.GameLog;
import mage.util.ManaUtil;
@ -1483,7 +1483,7 @@ public class HumanPlayer extends PlayerImpl {
updateGameStatePriority("assignDamage", game);
int remainingDamage = damage;
while (remainingDamage > 0 && canRespond()) {
Target target = new TargetCreatureOrPlayer();
Target target = new TargetAnyTarget();
target.setNotTarget(true);
if (singleTargetName != null) {
target.setTargetName(singleTargetName);

View file

@ -57,7 +57,7 @@ public class AbunaAcolyte extends CardImpl {
}
public AbunaAcolyte(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}");
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}");
this.subtype.add(SubType.CAT);
this.subtype.add(SubType.CLERIC);
@ -80,4 +80,4 @@ public class AbunaAcolyte extends CardImpl {
return new AbunaAcolyte(this);
}
}
}

View file

@ -36,7 +36,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent;
/**
*
@ -45,7 +45,8 @@ import mage.target.common.TargetAnyTarget;
public class AbunasChant extends CardImpl {
public AbunasChant(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{W}");
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{W}");
// Choose one -
this.getSpellAbility().getModes().setMinModes(1);
@ -55,7 +56,7 @@ public class AbunasChant extends CardImpl {
//or prevent the next 5 damage that would be dealt to target creature this turn.
Mode mode = new Mode();
mode.getEffects().add(new PreventDamageToTargetEffect(Duration.EndOfTurn, 5));
mode.getTargets().add(new TargetAnyTarget());
mode.getTargets().add(new TargetCreaturePermanent());
this.getSpellAbility().getModes().addMode(mode);
// Entwine {2}
this.addAbility(new EntwineAbility("{2}"));

View file

@ -43,7 +43,7 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -61,7 +61,7 @@ public class AcidicSliver extends CardImpl {
// All Slivers have "{2}, Sacrifice this permanent: This permanent deals 2 damage to target creature or player."
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new SacrificeSourceCost());
ability.addCost(new GenericManaCost(2));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new GainAbilityAllEffect(ability,
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE_SLIVERS,

View file

@ -40,7 +40,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent;
/**
@ -56,7 +56,7 @@ public class AcolytesReward extends CardImpl {
// Prevent the next X damage that would be dealt to target creature this turn, where X is your devotion to white. If damage is prevented this way, Acolyte's Reward deals that much damage to target creature or player.
this.getSpellAbility().addEffect(new AcolytesRewardEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public AcolytesReward(final AcolytesReward card) {

View file

@ -43,7 +43,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.SquirrelToken;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -58,7 +58,7 @@ public class AcornCatapult extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}"));
ability.addCost(new TapSourceCost());
ability.addEffect(new AcornCatapultEffect());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -38,7 +38,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -53,7 +53,7 @@ public class Aeolipile extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{1}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -41,7 +41,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.game.Game;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.watchers.common.CastSpellLastTurnWatcher;
/**
@ -58,7 +58,7 @@ public class AetherfluxReservoir extends CardImpl {
// Pay 50 life: Aetherflux Reservoir deals 50 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(50), new PayLifeCost(50));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -44,7 +44,7 @@ import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -70,7 +70,7 @@ public class AirdropCondor extends CardImpl {
// {1}{R}, Sacrifice a Goblin creature: Airdrop Condor deals damage equal to the sacrificed creature's power to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new SacrificeCostCreaturesPower()), new ManaCostsImpl("{1}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(filter)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -44,7 +44,7 @@ import mage.filter.FilterPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.TargetPermanent;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -75,7 +75,7 @@ public class AjaniVengeant extends CardImpl {
effects1.add(new DamageTargetEffect(3));
effects1.add(new GainLifeEffect(3));
LoyaltyAbility ability2 = new LoyaltyAbility(effects1, -2);
ability2.addTarget(new TargetCreatureOrPlayer());
ability2.addTarget(new TargetAnyTarget());
this.addAbility(ability2);
// 7: Destroy all lands target player controls.

View file

@ -37,7 +37,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.Target;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -54,7 +54,7 @@ public class AkoumBoulderfoot extends CardImpl {
this.toughness = new MageInt(5);
Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(1), false);
Target target = new TargetCreatureOrPlayer();
Target target = new TargetAnyTarget();
ability.addTarget(target);
this.addAbility(ability);
}

View file

@ -43,7 +43,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
@ -66,7 +66,7 @@ public class AkoumHellkite extends CardImpl {
// <i>Landfall</i>-Whenever a land enters the battlefield under you control, Akoum Hellkite deals 1 damage to target creature or player.
// If that land is a Mountain, Akoum Hellkite deals 2 damage to that creature or player instead.
Ability ability = new AkoumHellkiteTriggeredAbility();
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -37,7 +37,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -53,7 +53,7 @@ public class AlabasterPotion extends CardImpl {
this.getSpellAbility().addTarget(new TargetPlayer());
Mode mode = new Mode();
mode.getEffects().add(new PreventDamageToTargetEffect(Duration.EndOfTurn, false, true, new ManacostVariableValue()));
mode.getTargets().add(new TargetCreatureOrPlayer());
mode.getTargets().add(new TargetAnyTarget());
this.getSpellAbility().addMode(mode);
}

View file

@ -40,7 +40,7 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -58,7 +58,7 @@ public class AlabasterWall extends CardImpl {
this.addAbility(DefenderAbility.getInstance());
// {tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -37,7 +37,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -50,7 +50,7 @@ public class AladdinsRing extends CardImpl {
// {8}, {tap}: Aladdin's Ring deals 4 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl("{8}"));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

View file

@ -38,7 +38,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -52,7 +52,7 @@ public class AmuletOfKroog extends CardImpl {
// {2}, {tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new GenericManaCost(2));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -39,7 +39,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -58,7 +58,7 @@ public class AnabaShaman extends CardImpl {
// {R}, {tap}: Anaba Shaman deals 1 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -41,7 +41,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -60,7 +60,7 @@ public class AncientHydra extends CardImpl {
// {1}, Remove a fade counter from Ancient Hydra: Ancient Hydra deals 1 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.FADE.createInstance(1)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -36,7 +36,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.watchers.common.DamagedByWatcher;
/**
@ -50,7 +50,7 @@ public class AnnihilatingFire extends CardImpl {
// Annihilating Fire deals 3 damage to target creature or player.
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
// If a creature dealt damage this way would die this turn, exile it instead.
this.getSpellAbility().addEffect(new DealtDamageToCreatureBySourceDies(this, Duration.EndOfTurn));

View file

@ -47,7 +47,7 @@ import mage.constants.Zone;
import mage.counters.CounterType;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -68,7 +68,7 @@ public class ApocalypseHydra extends CardImpl {
// {1}{R}, Remove a +1/+1 counter from Apocalypse Hydra: Apocalypse Hydra deals 1 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}{R}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance()));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -39,7 +39,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -57,7 +57,7 @@ public class ApprenticeSorcerer extends CardImpl {
// {tap}: Apprentice Sorcerer deals 1 damage to target creature or player. Activate this ability only during your turn, before attackers are declared.
Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD,
new DamageTargetEffect(1), new TapSourceCost(), MyTurnBeforeAttackersDeclaredCondition.instance);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -39,7 +39,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.counters.CounterType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -58,7 +58,7 @@ public class ArcBlade extends CardImpl {
Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), false, true);
effect.setText("with 3 time counters on it");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Suspend 3-{2}{R}
this.addAbility(new SuspendAbility(3, new ManaCostsImpl<>("{2}{R}"), this));

View file

@ -39,7 +39,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -57,7 +57,7 @@ public class ArcSlogger extends CardImpl {
// {R}, Exile the top ten cards of your library: Arc-Slogger deals 2 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{R}"));
ability.addCost(new ExileFromTopOfLibraryCost(10));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -43,7 +43,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.Target;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -56,7 +56,7 @@ public class ArcTrail extends CardImpl {
// Arc Trail deals 2 damage to target creature or player and 1 damage to another target creature or player
FilterCreatureOrPlayer filter1 = new FilterCreatureOrPlayer("creature or player to deal 2 damage");
TargetCreatureOrPlayer target1 = new TargetCreatureOrPlayer(1, 1, filter1);
TargetAnyTarget target1 = new TargetAnyTarget(1, 1, filter1);
target1.setTargetTag(1);
this.getSpellAbility().addTarget(target1);
@ -64,7 +64,7 @@ public class ArcTrail extends CardImpl {
AnotherTargetPredicate predicate = new AnotherTargetPredicate(2);
filter2.getCreatureFilter().add(predicate);
filter2.getPlayerFilter().add(predicate);
TargetCreatureOrPlayer target2 = new TargetCreatureOrPlayer(1, 1, filter2);
TargetAnyTarget target2 = new TargetAnyTarget(1, 1, filter2);
target2.setTargetTag(2);
this.getSpellAbility().addTarget(target2);

View file

@ -41,7 +41,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent;
/**
@ -61,7 +61,7 @@ public class ArcaneTeachings extends CardImpl {
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
gainedAbility.addTarget(new TargetCreatureOrPlayer());
gainedAbility.addTarget(new TargetAnyTarget());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA)));
}

View file

@ -45,7 +45,7 @@ import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.StaticFilters;
import mage.game.command.emblems.ArlinnEmbracedByTheMoonEmblem;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -75,7 +75,7 @@ public class ArlinnEmbracedByTheMoon extends CardImpl {
// -1: Arlinn, Embraced by the Moon deals 3 damage to target creature or player. Transform Arlinn, Embraced by the Moon.
this.addAbility(new TransformAbility());
ability = new LoyaltyAbility(new DamageTargetEffect(3), -1);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
ability.addEffect(new TransformSourceEffect(false));
this.addAbility(ability);

View file

@ -35,7 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.watchers.common.PlayerAttackedWatcher;
/**
@ -52,7 +52,7 @@ public class ArrowStorm extends CardImpl {
new DamageTargetEffect(4),
new InvertCondition(RaidCondition.instance),
"{this} deals 4 damage to target creature or player"));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Raid - If you attacked with a creature this turn, instead Arrow Storm deals 5 damage to that creature or player and the damage can't be prevented.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DamageTargetEffect(5, false),

View file

@ -37,7 +37,7 @@ import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -57,7 +57,7 @@ public class Artillerize extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{R}");
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new DamageTargetEffect(5));
}

View file

@ -36,7 +36,7 @@ import mage.cards.SplitCard;
import mage.constants.CardType;
import mage.constants.SpellAbilityType;
import mage.game.permanent.token.ElephantToken;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
public class AssaultBattery extends SplitCard {
@ -48,7 +48,7 @@ public class AssaultBattery extends SplitCard {
Effect effect = new DamageTargetEffect(2);
effect.setText("Assault deals 2 damage to target creature or player");
getLeftHalfCard().getSpellAbility().addEffect(effect);
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreatureOrPlayer());
getLeftHalfCard().getSpellAbility().addTarget(new TargetAnyTarget());
// Battery
// Create a 3/3 green Elephant creature token.

View file

@ -39,7 +39,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -61,7 +61,7 @@ public class AtarkaEfreet extends CardImpl {
Effect effect = new DamageTargetEffect(1, "it");
effect.setText("it deals 1 damage to target creature or player");
Ability ability = new TurnedFaceUpSourceTriggeredAbility(effect, false, false);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -44,7 +44,7 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.predicate.mageobject.MulticoloredPredicate;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -67,7 +67,7 @@ public class AuroraEidolon extends CardImpl {
// {W}, Sacrifice Aurora Eidolon: Prevent the next 3 damage that would be dealt to target creature or player this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 3), new ManaCostsImpl("{W}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// Whenever you cast a multicolored spell, you may return Aurora Eidolon from your graveyard to your hand.
this.addAbility(new SpellCastControllerTriggeredAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), filter, true, false));

View file

@ -40,7 +40,7 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -60,7 +60,7 @@ public class AvenRedeemer extends CardImpl {
// {tap}: Prevent the next 2 damage that would be dealt to target creature or player this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 2), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -38,7 +38,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -54,7 +54,7 @@ public class BallistaCharger extends CardImpl {
// Whenever Ballista Charger attacks, it deals 1 damage to target creature or player.
Ability ability = new AttacksTriggeredAbility(new DamageTargetEffect(1, "it"), false);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// Crew 3

View file

@ -41,7 +41,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -60,7 +60,7 @@ public class BalmOfRestoration extends CardImpl {
// or prevent the next 2 damage that would be dealt to target creature or player this turn.
Mode mode = new Mode();
mode.getEffects().add(new PreventDamageToTargetEffect(Duration.EndOfTurn, 2));
mode.getTargets().add(new TargetCreatureOrPlayer());
mode.getTargets().add(new TargetAnyTarget());
ability.addMode(mode);
this.addAbility(ability);

View file

@ -34,7 +34,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -46,7 +46,7 @@ public class Bandage extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}");
this.getSpellAbility().addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}

View file

@ -48,7 +48,7 @@ import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -61,7 +61,7 @@ public class Banefire extends CardImpl {
// Banefire deals X damage to target creature or player.
this.getSpellAbility().addEffect(new BaneFireEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
// If X is 5 or more, Banefire can't be countered by spells or abilities and the damage can't be prevented.
this.addAbility(new SimpleStaticAbility(Zone.STACK, new BanefireCantCounterEffect()));
}

View file

@ -43,7 +43,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -61,7 +61,7 @@ public class Banshee extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new HalfValue(new ManacostVariableValue(), false)).setText("Banshee deals half X damage, rounded down, to target creature or player,"), new ManaCostsImpl("{X}"));
ability.addCost(new TapSourceCost());
ability.addEffect(new DamageControllerEffect(new HalfValue(new ManacostVariableValue(), true)).setText(" and half X damage, rounded up, to you"));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -42,7 +42,7 @@ import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -65,7 +65,7 @@ public class BarbarianRing extends CardImpl {
new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
thresholdAbility.addCost(new SacrificeSourceCost());
thresholdAbility.addTarget(new TargetCreatureOrPlayer());
thresholdAbility.addTarget(new TargetAnyTarget());
thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}

View file

@ -41,7 +41,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetLandPermanent;
/**
@ -62,7 +62,7 @@ public class BarbedField extends CardImpl {
this.addAbility(ability);
// Enchanted land has "{tap}: This land deals 1 damage to target creature or player."
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA);
effect.setText("Enchanted land has \"{T}: This land deals 1 damage to target creature or player.\"");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));

View file

@ -39,7 +39,7 @@ import mage.constants.CardType;
import mage.constants.Zone;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -53,7 +53,7 @@ public class BarrageOfExpendables extends CardImpl {
// {R}, Sacrifice a creature: Barrage of Expendables deals 1 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -42,7 +42,7 @@ import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import java.util.UUID;
@ -64,7 +64,7 @@ public class BarrageOgre extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
this.addAbility(ability);
}

View file

@ -46,7 +46,7 @@ import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.ColorlessPredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -75,7 +75,7 @@ public class BarrageTyrant extends CardImpl {
effect.setText("{this} deals damage equal to the sacrificed creature's power to target creature or player");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(filter)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -42,7 +42,7 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -60,7 +60,7 @@ public class BarrentonMedic extends CardImpl {
// {tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// Put a -1/-1 counter on Barrenton Medic: Untap Barrenton Medic.

View file

@ -33,7 +33,7 @@ import mage.abilities.effects.common.ShuffleSpellEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -45,7 +45,7 @@ public class BeaconOfDestruction extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{R}{R}");
this.getSpellAbility().addEffect(new DamageTargetEffect(5));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(ShuffleSpellEffect.getInstance());
}

View file

@ -32,7 +32,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -45,7 +45,7 @@ public class BeeSting extends CardImpl {
// Bee Sting deals 2 damage to target creature or player.
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public BeeSting(final BeeSting card) {

View file

@ -40,7 +40,7 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -57,7 +57,7 @@ public class BenevolentAncestor extends CardImpl {
this.addAbility(DefenderAbility.getInstance());
// {tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -39,7 +39,7 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetDiscard;
/**
@ -56,7 +56,7 @@ public class BlastOfGenius extends CardImpl {
// Choose target creature or player. Draw three cards and discard a card. Blast of Genius deals damage equal to the converted mana cost of the discard card to that creature or player.
this.getSpellAbility().addEffect(new BlastOfGeniusEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public BlastOfGenius(final BlastOfGenius card) {

View file

@ -42,7 +42,7 @@ import mage.constants.Zone;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.filter.common.FilterCreaturePermanent;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -56,7 +56,7 @@ public class BlastingStation extends CardImpl {
// {tap}, Sacrifice a creature: Blasting Station deals 1 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// Whenever a creature enters the battlefield, you may untap Blasting Station.
this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new FilterCreaturePermanent("a creature"), true));

View file

@ -33,7 +33,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -47,7 +47,7 @@ public class Blaze extends CardImpl {
// Blaze deals X damage to target creature or player.
this.getSpellAbility().addEffect(new DamageTargetEffect(new ManacostVariableValue()));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public Blaze(final Blaze card) {

View file

@ -41,7 +41,7 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -58,7 +58,7 @@ public class BlazingHellhound extends CardImpl {
// {1}, Sacrifice another creature: Blazing Hellhound deals 1 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -43,7 +43,7 @@ import mage.constants.*;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import java.util.List;
import java.util.UUID;
@ -76,7 +76,7 @@ public class BlazingTorch extends CardImpl {
// Equipped creature has "{tap}, Sacrifice Blazing Torch: Blazing Torch deals 2 damage to target creature or player.")
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BlazingTorchDamageEffect(), new TapSourceCost());
ability.addCost(new BlazingTorchCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
// Equip {1}

View file

@ -39,7 +39,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -59,7 +59,7 @@ public class BlightedGorge extends CardImpl {
new ManaCostsImpl<>("{4}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -37,7 +37,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -52,7 +52,7 @@ public class BlisterstickShaman extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(1));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -39,7 +39,7 @@ import mage.constants.CardType;
import mage.constants.Zone;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
* @author Loki
@ -51,7 +51,7 @@ public class BloodRites extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{1}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -40,7 +40,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -56,7 +56,7 @@ public class BloodhallPriest extends CardImpl {
// Whenever Bloodhall Priest enters the battlefield or attacks, if you have no cards in hand, Bloodhall Priest deals 2 damage to target creature or player.
TriggeredAbility triggeredAbility = new EntersBattlefieldOrAttacksSourceTriggeredAbility(new DamageTargetEffect(2));
triggeredAbility.addTarget(new TargetCreatureOrPlayer());
triggeredAbility.addTarget(new TargetAnyTarget());
this.addAbility(new ConditionalTriggeredAbility(
triggeredAbility,
HellbentCondition.instance,

View file

@ -41,7 +41,7 @@ import mage.constants.SubType;
import mage.constants.Zone;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -62,7 +62,7 @@ public class BloodshotCyclops extends CardImpl {
new DamageTargetEffect(new SacrificeCostCreaturesPower()),
new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -33,7 +33,7 @@ import mage.abilities.effects.keyword.ScryEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -47,7 +47,7 @@ public class BoltOfKeranos extends CardImpl {
// Bolt of Keranos deals 3 damage to target creature and/or player. Scry 1.
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new ScryEffect(1));
}

View file

@ -36,7 +36,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -53,7 +53,7 @@ public class BomberCorps extends CardImpl {
// Battalion - Whenever Bomber Corps and at least two other creatures attack, Bomber Corps deals 1 damage to target creature or player.
Ability ability = new BattalionAbility(new DamageTargetEffect(1));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -37,7 +37,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -54,7 +54,7 @@ public class BonethornValesk extends CardImpl {
// Whenever a permanent is turned face up, Bonethorn Valesk deals 1 damage to target creature or player.
Ability ability = new TurnedFaceUpAllTriggeredAbility(new DamageTargetEffect(1), new FilterPermanent("a permanent"));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -44,7 +44,7 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterLandCard;
import mage.target.common.TargetCardInHand;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -69,7 +69,7 @@ public class BorborygmosEnraged extends CardImpl {
//Discard a land card: Borborygmos Enraged deals 3 damage to target creature or player
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new DiscardTargetCost(new TargetCardInHand(new FilterLandCard())));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -42,7 +42,7 @@ import mage.constants.*;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -59,7 +59,7 @@ public class BorosReckoner extends CardImpl {
// Whenever Boros Reckoner is dealt damage, it deals that much damage to target creature or player.
Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new BorosReckonerDealDamageEffect(), false, false, true);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// {R/W}: Boros Reckoner gains first strike until end of turn.

View file

@ -45,7 +45,7 @@ import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -69,7 +69,7 @@ public class BoshIronGolem extends CardImpl {
effect.setText("{this} deals damage equal to the sacrificed artifact's converted mana cost to target creature or player");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{3}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledArtifactPermanent("an artifact"))));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -44,7 +44,7 @@ import mage.cards.LevelerCard;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -62,12 +62,12 @@ public class BrimstoneMage extends LevelerCard {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{3}{R}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<>();
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
abilities1.add(ability);
Abilities<Ability> abilities2 = new AbilitiesImpl<>();
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
abilities2.add(ability);
this.addAbilities(LevelerCardBuilder.construct(

View file

@ -37,7 +37,7 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.watchers.Watcher;
import mage.watchers.common.MorbidWatcher;
@ -53,7 +53,7 @@ public class BrimstoneVolley extends CardImpl {
// Brimstone Volley deals 3 damage to target creature or player.
// Morbid - Brimstone Volley deals 5 damage to that creature or player instead if a creature died this turn.
this.getSpellAbility().addEffect(new BrimstoneVolleyEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public BrimstoneVolley(final BrimstoneVolley card) {

View file

@ -40,7 +40,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -59,7 +59,7 @@ public class BrothersOfFire extends CardImpl {
Effect effect = new DamageControllerEffect(1);
effect.setText("and 1 damage to you");
ability.addEffect(effect);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -42,7 +42,7 @@ import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -64,7 +64,7 @@ public class BurnAtTheStake extends CardImpl {
this.getSpellAbility().addCost(new TapVariableTargetCost(filter, true, "any number of"));
// Burn at the Stake deals damage to target creature or player equal to three times the number of creatures tapped this way.
this.getSpellAbility().addEffect(new BurnAtTheStakeEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public BurnAtTheStake(final BurnAtTheStake card) {

View file

@ -43,7 +43,7 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.targetpointer.FixedTarget;
/**
@ -58,7 +58,7 @@ public class BurnFromWithin extends CardImpl {
// Burn from Within deals X damage to target creature or player. If a creature is dealt damage this way, it loses indestructible until end of turn.
// If that creature would die this turn, exile it instead.
this.getSpellAbility().addEffect(new BurnFromWithinEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}

View file

@ -33,7 +33,7 @@ import mage.abilities.keyword.ConspireAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -46,7 +46,7 @@ public class BurnTrail extends CardImpl {
// Burn Trail deals 3 damage to target creature or player.
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Conspire
this.addAbility(new ConspireAbility(getId(), ConspireAbility.ConspireTargets.ONE));

View file

@ -42,7 +42,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent;
/**
@ -67,7 +67,7 @@ public class BurningAnger extends CardImpl {
Effect effect = new DamageTargetEffect(new SourcePermanentPowerCount());
effect.setText("{this} deals damage equal to its power to target creature or player");
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost());
gainedAbility.addTarget(new TargetCreatureOrPlayer());
gainedAbility.addTarget(new TargetAnyTarget());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield,
"Enchanted creature has \"{T}: This creature deals damage equal to its power to target creature or player.\"")));
}

View file

@ -41,7 +41,7 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -59,7 +59,7 @@ public class BurningEyeZubera extends CardImpl {
// When Burning-Eye Zubera dies, if 4 or more damage was dealt to it this turn, Burning-Eye Zubera deals 3 damage to target creature or player.
Ability ability = new ConditionalTriggeredAbility(new DiesTriggeredAbility(new DamageTargetEffect(3)),new SourceGotFourDamage(),
"When {this} dies, if 4 or more damage was dealt to it this turn, Burning-Eye Zubera deals 3 damage to target creature or player");
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -37,7 +37,7 @@ import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
* @author nantuko
@ -68,7 +68,7 @@ class BurningVengeanceOnCastAbility extends TriggeredAbilityImpl {
BurningVengeanceOnCastAbility() {
super(Zone.BATTLEFIELD, new DamageTargetEffect(2), false);
TargetCreatureOrPlayer target = new TargetCreatureOrPlayer();
TargetAnyTarget target = new TargetAnyTarget();
this.addTarget(target);
}

View file

@ -36,7 +36,7 @@ import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -52,7 +52,7 @@ public class BurstLightning extends CardImpl {
this.addAbility(new KickerAbility("{4}"));
// Burst Lightning deals 2 damage to target creature or player. If Burst Lightning was kicked, it deals 4 damage to that creature or player instead.
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageTargetEffect(4),
new DamageTargetEffect(2), KickedCondition.instance, "{this} deals 2 damage to target creature or player. If {this} was kicked, it deals 4 damage to that creature or player instead"));
}

View file

@ -35,7 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -59,7 +59,7 @@ public class CacklingFlames extends CardImpl {
HellbentCondition.instance,
"<br/><br/><i>Hellbent</i> - {this} deals 5 damage to that creature or player instead if you have no cards in hand."));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public CacklingFlames(final CacklingFlames card) {

View file

@ -38,7 +38,7 @@ import mage.constants.SubType;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import java.util.UUID;
@ -55,7 +55,7 @@ public class CandlesGlow extends CardImpl {
// Prevent the next 3 damage that would be dealt to target creature or player this turn. You gain life equal to the damage prevented this way.
this.getSpellAbility().addEffect(new CandlesGlowPreventDamageTargetEffect(Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Splice onto Arcane {1}{W}
this.addAbility(new SpliceOntoArcaneAbility("{1}{W}"));
}

View file

@ -39,7 +39,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -57,7 +57,7 @@ public class CapriciousSorcerer extends CardImpl {
// {tap}: Capricious Sorcerer deals 1 damage to target creature or player. Activate this ability only during your turn, before attackers are declared.
Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD,
new DamageTargetEffect(1), new TapSourceCost(), MyTurnBeforeAttackersDeclaredCondition.instance);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.watchers.common.DamagedByWatcher;
/**
@ -51,7 +51,7 @@ public class Carbonize extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addEffect(new CantRegenerateTargetEffect(Duration.EndOfTurn, "That creature"));
this.getSpellAbility().addEffect(new ExileTargetIfDiesEffect().setText("If the creature would die this turn, exile it instead"));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addWatcher(new DamagedByWatcher());
}

View file

@ -43,7 +43,7 @@ import mage.constants.SubType;
import mage.constants.Zone;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -62,7 +62,7 @@ public class Caregiver extends CardImpl {
// {W}, Sacrifice a creature: Prevent the next 1 damage that would be dealt to target creature or player this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new ColoredManaCost(ColoredManaSymbol.W));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -46,7 +46,7 @@ import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -65,7 +65,7 @@ public class CauterySliver extends CardImpl {
// All Slivers have "{1}, Sacrifice this permanent: This permanent deals 1 damage to target creature or player."
Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("1"));
ability1.addCost(new SacrificeSourceCost());
ability1.addTarget(new TargetCreatureOrPlayer());
ability1.addTarget(new TargetAnyTarget());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new GainAbilityAllEffect(ability1, Duration.WhileOnBattlefield, filter,
"All Slivers have \"{1}, Sacrifice this permanent: This permanent deals 1 damage to target creature or player.\"")));
@ -89,7 +89,7 @@ public class CauterySliver extends CardImpl {
}
class TargetSliverCreatureOrPlayer extends TargetCreatureOrPlayer {
class TargetSliverCreatureOrPlayer extends TargetAnyTarget {
public TargetSliverCreatureOrPlayer(){
super();
filter = new FilterCreatureOrPlayerByType("Sliver", "Sliver creature or player");

View file

@ -40,7 +40,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -53,7 +53,7 @@ public class ChainLightning extends CardImpl {
// Chain Lightning deals 3 damage to target creature or player. Then that player or that creature's controller may pay {R}{R}. If the player does, he or she may copy this spell and may choose a new target for that copy.
this.getSpellAbility().addEffect(new ChainLightningEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public ChainLightning(final ChainLightning card) {

View file

@ -40,7 +40,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -53,7 +53,7 @@ public class ChainOfPlasma extends CardImpl {
// Chain of Plasma deals 3 damage to target creature or player. Then that player or that creature's controller may discard a card. If the player does, he or she may copy this spell and may choose a new target for that copy.
this.getSpellAbility().addEffect(new ChainOfPlasmaEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public ChainOfPlasma(final ChainOfPlasma card) {

View file

@ -42,7 +42,7 @@ import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -60,7 +60,7 @@ public class Chainflinger extends CardImpl {
// {1}{R}, {tap}: Chainflinger deals 1 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1),new ManaCostsImpl("{1}{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// Threshold - {2}{R}, {tap}: Chainflinger deals 2 damage to target creature or player. Activate this ability only if seven or more cards are in your graveyard.
Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
@ -68,7 +68,7 @@ public class Chainflinger extends CardImpl {
new ManaCostsImpl("{2}{R}"),
new CardsInControllerGraveCondition(7));
thresholdAbility.addCost(new TapSourceCost());
thresholdAbility.addTarget(new TargetCreatureOrPlayer());
thresholdAbility.addTarget(new TargetAnyTarget());
thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(thresholdAbility);
}

View file

@ -52,7 +52,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCardInGraveyard;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetDiscard;
/**
@ -71,7 +71,7 @@ public class ChandraAblaze extends CardImpl {
// +1: Discard a card. If a red card is discarded this way, Chandra Ablaze deals 4 damage to target creature or player.
LoyaltyAbility ability = new LoyaltyAbility(new ChandraAblazeEffect1(), 1);
ability.addEffect(new ChandraAblazeEffect2());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// -2: Each player discards their hand, then draws three cards.
ability = new LoyaltyAbility(new DiscardHandAllEffect(), -2);

View file

@ -45,7 +45,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.targetpointer.FixedTarget;
/**
@ -63,7 +63,7 @@ public class ChandraTheFirebrand extends CardImpl {
// +1: Chandra, the Firebrand deals 1 damage to target creature or player.
LoyaltyAbility ability1 = new LoyaltyAbility(new DamageTargetEffect(1), 1);
ability1.addTarget(new TargetCreatureOrPlayer());
ability1.addTarget(new TargetAnyTarget());
this.addAbility(ability1);
// -2: When you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy.
@ -73,7 +73,7 @@ public class ChandraTheFirebrand extends CardImpl {
// -6: Chandra, the Firebrand deals 6 damage to each of up to six target creatures and/or players
LoyaltyAbility ability2 = new LoyaltyAbility(new DamageTargetEffect(6, true, "each of up to six target creatures and/or players"), -6);
ability2.addTarget(new TargetCreatureOrPlayer(0, 6));
ability2.addTarget(new TargetAnyTarget(0, 6));
this.addAbility(ability2);
}

View file

@ -34,7 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -48,7 +48,7 @@ public class Char extends CardImpl {
// Char deals 4 damage to target creature or player and 2 damage to you.
this.getSpellAbility().addEffect(new DamageTargetEffect(4));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
Effect effect = new DamageControllerEffect(2);
effect.setText("and 2 damage to you");
this.getSpellAbility().addEffect(effect);

View file

@ -41,7 +41,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -60,7 +60,7 @@ public class CinderElemental extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new ManacostVariableValue()), new ManaCostsImpl("{X}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -32,7 +32,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -44,7 +44,7 @@ public class CinderStorm extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{6}{R}");
// Cinder Storm deals 7 damage to target creature or player.
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new DamageTargetEffect(7));
}

View file

@ -39,7 +39,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -55,7 +55,7 @@ public class ClergyEnVec extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn ,1), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -49,7 +49,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.Target;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.targetpointer.FixedTarget;
/**
@ -106,7 +106,7 @@ class ClockworkHydraEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null && permanent != null && permanent.getCounters(game).getCount(CounterType.P1P1) > 0) {
permanent.removeCounters(CounterType.P1P1.createInstance(), game);
Target target = new TargetCreatureOrPlayer();
Target target = new TargetAnyTarget();
if (controller.chooseTarget(outcome, target, source, game)) {
Effect effect = new DamageTargetEffect(1);
effect.setTargetPointer(new FixedTarget(target.getFirstTarget()));

View file

@ -37,7 +37,7 @@ import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -56,7 +56,7 @@ public class CloseQuarters extends CardImpl {
// Whenever a creature you control becomes blocked, Close Quarters deals 1 damage to target creature or player.
Ability ability = new BecomesBlockedAllTriggeredAbility(new DamageTargetEffect(1), false, filter, false);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -50,7 +50,7 @@ public class CollateralDamage extends CardImpl {
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
// Collateral Damage deals 3 damage to target creature or player.
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
}

View file

@ -39,7 +39,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -57,7 +57,7 @@ public class CombatMedic extends CardImpl {
// {1}{W}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new ManaCostsImpl("{1}{W}"));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -40,7 +40,7 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -56,7 +56,7 @@ public class CometStorm extends CardImpl {
// Choose target creature or player, then choose another target creature or player for each time Comet Storm was kicked. Comet Storm deals X damage to each of them.
this.getSpellAbility().addEffect(new CometStormEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer(1));
this.getSpellAbility().addTarget(new TargetAnyTarget(1));
}
public CometStorm(final CometStorm card) {
@ -68,7 +68,7 @@ public class CometStorm extends CardImpl {
if (ability instanceof SpellAbility) {
ability.getTargets().clear();
int numbTargets = new MultikickerCount().calculate(game, ability, null) + 1;
ability.addTarget(new TargetCreatureOrPlayer(numbTargets));
ability.addTarget(new TargetAnyTarget(numbTargets));
}
}

View file

@ -40,7 +40,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.Target;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -54,7 +54,7 @@ public class ConeOfFlame extends CardImpl {
// Cone of Flame deals 1 damage to target creature or player, 2 damage to another target creature or player, and 3 damage to a third target creature or player.
FilterCreatureOrPlayer filter1 = new FilterCreatureOrPlayer("creature or player to deal 1 damage");
TargetCreatureOrPlayer target1 = new TargetCreatureOrPlayer(1, 1, filter1);
TargetAnyTarget target1 = new TargetAnyTarget(1, 1, filter1);
target1.setTargetTag(1);
this.getSpellAbility().addTarget(target1);
@ -62,7 +62,7 @@ public class ConeOfFlame extends CardImpl {
AnotherTargetPredicate predicate2 = new AnotherTargetPredicate(2);
filter2.getCreatureFilter().add(predicate2);
filter2.getPlayerFilter().add(predicate2);
TargetCreatureOrPlayer target2 = new TargetCreatureOrPlayer(1, 1, filter2);
TargetAnyTarget target2 = new TargetAnyTarget(1, 1, filter2);
target2.setTargetTag(2);
this.getSpellAbility().addTarget(target2);
@ -70,7 +70,7 @@ public class ConeOfFlame extends CardImpl {
AnotherTargetPredicate predicate3 = new AnotherTargetPredicate(3);
filter3.getCreatureFilter().add(predicate3);
filter3.getPlayerFilter().add(predicate3);
TargetCreatureOrPlayer target3 = new TargetCreatureOrPlayer(1, 1, filter3);
TargetAnyTarget target3 = new TargetAnyTarget(1, 1, filter3);
target3.setTargetTag(3);
this.getSpellAbility().addTarget(target3);

View file

@ -40,7 +40,7 @@ import mage.filter.FilterMana;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
@ -61,7 +61,7 @@ public class ConsumeSpirit extends CardImpl {
// Spend only black mana on X.
// Consume Spirit deals X damage to target creature or player and you gain X life.
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new ConsumeSpiritEffect());
VariableCost variableCost = this.getSpellAbility().getManaCostsToPay().getVariableCosts().get(0);
if (variableCost instanceof VariableManaCost) {

View file

@ -43,7 +43,7 @@ import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -55,7 +55,7 @@ public class Corrupt extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{B}");
// Corrupt deals damage to target creature or player equal to the number of Swamps you control. You gain life equal to the damage dealt this way.
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new CorruptEffect());
}

View file

@ -35,7 +35,7 @@ import mage.abilities.keyword.ConvokeAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -58,7 +58,7 @@ public class CovenantOfBlood extends CardImpl {
effect = new GainLifeEffect(4);
effect.setText("and you gain 4 life");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public CovenantOfBlood(final CovenantOfBlood card) {

View file

@ -49,7 +49,7 @@ import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent;
/**
@ -81,7 +81,7 @@ public class Crackleburr extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl("{U/R}{U/R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent(2, 2, filter, true)));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// {UR}{UR}, {untap}, Untap two tapped blue creatures you control: Return target creature to its owner's hand.

View file

@ -39,7 +39,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
/**
*
@ -58,7 +58,7 @@ public class CracklingTriton extends CardImpl {
// {2}{R}, Sacrifice Crackling Triton: Crackling Triton deals 2 damage to target creature or player.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}{R}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

Some files were not shown because too many files have changed in this diff Show more