Merge branch 'planeswalkerErrata' into master

This commit is contained in:
theelk801 2018-04-20 16:21:44 -04:00 committed by GitHub
commit 95d2721421
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
754 changed files with 3085 additions and 3051 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 {
@ -821,7 +821,8 @@ public class ComputerPlayer extends PlayerImpl implements Player {
log.debug("chooseTarget: " + outcome.toString() + ':' + target.toString());
}
UUID opponentId = game.getOpponents(playerId).iterator().next();
if (target.getOriginalTarget() instanceof TargetCreatureOrPlayerAmount) {
if (target.getOriginalTarget() instanceof TargetCreatureOrPlayerAmount
|| target.getOriginalTarget() instanceof TargetAnyTargetAmount) {
if (outcome == Outcome.Damage && game.getPlayer(opponentId).getLife() <= target.getAmountRemaining()) {
target.addTarget(opponentId, target.getAmountRemaining(), source, game);
return true;

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

@ -41,7 +41,7 @@ import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreaturePermanent;
/**
@ -64,7 +64,7 @@ public class AbunaAcolyte extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost());
ability1.addTarget(new TargetCreatureOrPlayer());
ability1.addTarget(new TargetAnyTarget());
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 2), new TapSourceCost());
ability2.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability1);

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;
/**
*
@ -58,14 +58,14 @@ public class AcidicSliver extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
// All Slivers have "{2}, Sacrifice this permanent: This permanent deals 2 damage to target creature or player."
// All Slivers have "{2}, Sacrifice this permanent: This permanent deals 2 damage to any target."
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,
"All Slivers have \"{2}, Sacrifice this permanent: This permanent deals 2 damage to target creature or player.\"")));
"All Slivers have \"{2}, Sacrifice this permanent: This permanent deals 2 damage to any target.\"")));
}
public AcidicSliver(final AcidicSliver card) {

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;
/**
@ -53,10 +53,10 @@ public class AcolytesReward extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}");
// 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.
// 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 any target.
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) {
@ -75,7 +75,7 @@ class AcolytesRewardEffect extends PreventionEffectImpl {
public AcolytesRewardEffect() {
super(Duration.EndOfTurn);
staticText = "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, {this} deals that much damage to target creature or player";
staticText = "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, {this} deals that much damage to any target";
}
public AcolytesRewardEffect(final AcolytesRewardEffect effect) {

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;
/**
*
@ -54,11 +54,11 @@ public class AcornCatapult extends CardImpl {
public AcornCatapult(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// {1}, {tap}: Acorn Catapult deals 1 damage to target creature or player. That creature's controller or that player creates a 1/1 green Squirrel creature token.
// {1}, {tap}: Acorn Catapult deals 1 damage to any target. That creature's controller or that player creates a 1/1 green Squirrel creature token.
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;
/**
*
@ -49,11 +49,11 @@ public class Aeolipile extends CardImpl {
public Aeolipile(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
// {1}, {tap}, Sacrifice Aeolipile: Aeolipile deals 2 damage to target creature or player.
// {1}, {tap}, Sacrifice Aeolipile: Aeolipile deals 2 damage to any target.
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

@ -27,6 +27,7 @@
*/
package mage.cards.a;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
@ -43,10 +44,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetOpponent;
import java.util.UUID;
import mage.target.common.TargetOpponentOrPlaneswalker;
/**
*
@ -61,11 +59,11 @@ public class AetherCharge extends CardImpl {
}
public AetherCharge(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{R}");
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}");
// Whenever a Beast enters the battlefield under your control, you may have it deal 4 damage to target opponent.
Ability ability = new AetherChargeTriggeredAbility();
ability.addTarget(new TargetOpponent());
ability.addTarget(new TargetOpponentOrPlaneswalker());
this.addAbility(ability);
}
@ -108,7 +106,7 @@ class AetherChargeTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
return "Whenever a Beast enters the battlefield under your control, you may have it deal 4 damage to target opponent.";
return "Whenever a Beast enters the battlefield under your control, you may have it deal 4 damage to target opponent or planeswalker.";
}
@Override
@ -121,7 +119,7 @@ class AetherChargeEffect extends OneShotEffect {
public AetherChargeEffect() {
super(Outcome.Damage);
staticText = "you may have it deal 4 damage to target opponent";
staticText = "you may have it deal 4 damage to target opponent or planeswalker";
}
public AetherChargeEffect(final AetherChargeEffect effect) {
@ -141,12 +139,7 @@ class AetherChargeEffect extends OneShotEffect {
creature = (Permanent) game.getLastKnownInformation(creatureId, Zone.BATTLEFIELD);
}
if (creature != null) {
UUID target = source.getTargets().getFirstTarget();
Player opponent = game.getPlayer(target);
if (opponent != null) {
opponent.damage(4, creature.getId(), game, false, true);
return true;
}
return game.damagePlayerOrPlaneswalker(source.getFirstTarget(), 4, creature.getId(), game, false, true) > 0;
}
return false;
}

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;
/**
@ -56,9 +56,9 @@ public class AetherfluxReservoir extends CardImpl {
// Whenever you cast a spell, you gain 1 life for each spell you've cast this turn.
this.addAbility(new SpellCastControllerTriggeredAbility(new GainLifeEffect(new AetherfluxReservoirDynamicValue()), false));
// Pay 50 life: Aetherflux Reservoir deals 50 damage to target creature or player.
// Pay 50 life: Aetherflux Reservoir deals 50 damage to any target.
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

@ -41,8 +41,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
@ -51,7 +51,7 @@ import mage.target.common.TargetCreaturePermanent;
public class AethertorchRenegade extends CardImpl {
public AethertorchRenegade(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(1);
@ -67,7 +67,7 @@ public class AethertorchRenegade extends CardImpl {
this.addAbility(ability);
// {t}, Pay {E}{E}{E}{E}{E}{E}{E}{E}: Aethertorch Renegade deals 6 damage to target player.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(6), new TapSourceCost());
ability.addTarget(new TargetPlayer());
ability.addTarget(new TargetPlayerOrPlaneswalker());
ability.addCost(new PayEnergyCost(8));
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;
/**
*
@ -67,10 +67,10 @@ public class AirdropCondor extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {1}{R}, Sacrifice a Goblin creature: Airdrop Condor deals damage equal to the sacrificed creature's power to target creature or player.
// {1}{R}, Sacrifice a Goblin creature: Airdrop Condor deals damage equal to the sacrificed creature's power to any target.
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;
/**
*
@ -70,12 +70,12 @@ public class AjaniVengeant extends CardImpl {
ability1.addTarget(new TargetPermanent());
this.addAbility(ability1);
// 2: Ajani Vengeant deals 3 damage to target creature or player and you gain 3 life.
// 2: Ajani Vengeant deals 3 damage to any target and you gain 3 life.
Effects effects1 = new Effects();
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;
@ -55,7 +55,7 @@ import java.util.UUID;
public class AkoumHellkite extends CardImpl {
public AkoumHellkite(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}");
this.subtype.add(SubType.DRAGON);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
@ -63,10 +63,10 @@ public class AkoumHellkite extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// <i>Landfall</i>-Whenever a land enters the battlefield under you control, Akoum Hellkite deals 1 damage to target creature or player.
// <i>Landfall</i>-Whenever a land enters the battlefield under you control, Akoum Hellkite deals 1 damage to any target.
// 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);
}
@ -82,8 +82,8 @@ public class AkoumHellkite extends CardImpl {
class AkoumHellkiteTriggeredAbility extends TriggeredAbilityImpl {
private static final String text = "<i>Landfall</i> - Whenever a land enters the battlefield under your control, {this} 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.";
private static final String text = "<i>Landfall</i> - Whenever a land enters the battlefield under your control, {this} deals 1 damage to any target. "
+ "If that land is a Mountain, Akoum Hellkite deals 2 damage to that permanent or player instead.";
public AkoumHellkiteTriggeredAbility() {
super(Zone.BATTLEFIELD, new AkoumHellkiteDamageEffect());
@ -110,12 +110,13 @@ class AkoumHellkiteTriggeredAbility extends TriggeredAbilityImpl {
&& permanent.isLand()
&& permanent.getControllerId().equals(getControllerId())) {
Permanent sourcePermanent = game.getPermanent(getSourceId());
if (sourcePermanent != null)
if (sourcePermanent != null) {
for (Effect effect : getEffects()) {
if (effect instanceof AkoumHellkiteDamageEffect) {
effect.setTargetPointer(new FixedTarget(permanent, game));
if (effect instanceof AkoumHellkiteDamageEffect) {
effect.setTargetPointer(new FixedTarget(permanent, game));
}
return true;
}
return true;
}
}
return false;

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;
/**
*
@ -48,12 +48,12 @@ public class AlabasterPotion extends CardImpl {
public AlabasterPotion(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{X}{W}{W}");
// Choose one - Target player gains X life; or prevent the next X damage that would be dealt to target creature or player this turn.
// Choose one - Target player gains X life; or prevent the next X damage that would be dealt to any target this turn.
this.getSpellAbility().addEffect(new GainLifeTargetEffect(new ManacostVariableValue()));
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;
/**
*
@ -56,9 +56,9 @@ public class AlabasterWall extends CardImpl {
// Defender
this.addAbility(DefenderAbility.getInstance());
// {tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
// {tap}: Prevent the next 1 damage that would be dealt to any target 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;
/**
*
@ -48,9 +48,9 @@ public class AladdinsRing extends CardImpl {
public AladdinsRing(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{8}");
// {8}, {tap}: Aladdin's Ring deals 4 damage to target creature or player.
// {8}, {tap}: Aladdin's Ring deals 4 damage to any target.
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;
/**
*
@ -49,10 +49,10 @@ public class AmuletOfKroog extends CardImpl {
public AmuletOfKroog(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
// {2}, {tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
// {2}, {tap}: Prevent the next 1 damage that would be dealt to any target 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;
/**
*
@ -55,10 +55,10 @@ public class AnabaShaman extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
// {R}, {tap}: Anaba Shaman deals 1 damage to target creature or player.
// {R}, {tap}: Anaba Shaman deals 1 damage to any target.
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;
/**
*
@ -57,10 +57,10 @@ public class AncientHydra extends CardImpl {
// Fading 5
this.addAbility(new FadingAbility(5, this));
// {1}, Remove a fade counter from Ancient Hydra: Ancient Hydra deals 1 damage to target creature or player.
// {1}, Remove a fade counter from Ancient Hydra: Ancient Hydra deals 1 damage to any target.
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

@ -40,7 +40,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.target.common.TargetCreatureOrPlayerAmount;
import mage.target.common.TargetAnyTargetAmount;
/**
*
@ -62,7 +62,7 @@ public class AngelOfSalvation extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Angel of Salvation enters the battlefield, prevent the next 5 damage that would be dealt this turn to any number of target creatures and/or players, divided as you choose.
Ability ability = new EntersBattlefieldTriggeredAbility(new PreventDamageToTargetMultiAmountEffect(Duration.EndOfTurn, 5));
ability.addTarget(new TargetCreatureOrPlayerAmount(5));
ability.addTarget(new TargetAnyTargetAmount(5));
this.addAbility(ability);
}

View file

@ -52,6 +52,7 @@ import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.common.TargetOpponent;
import mage.target.common.TargetOpponentOrPlaneswalker;
/**
*
@ -69,9 +70,11 @@ public class AngrathMinotaurPirate extends CardImpl {
// +2: Angrath, Minotaur Pirate deals 1 damage to target opponent and each creature that player controls.
Effects effects1 = new Effects();
effects1.add(new DamageTargetEffect(1));
effects1.add(new DamageAllControlledTargetEffect(1, new FilterCreaturePermanent()).setText("and each creature that player controls"));
effects1.add(new DamageAllControlledTargetEffect(1, new FilterCreaturePermanent())
.setText("and each creature that player or that planeswalkers controller controls")
);
LoyaltyAbility ability1 = new LoyaltyAbility(effects1, +2);
ability1.addTarget(new TargetOpponent());
ability1.addTarget(new TargetOpponentOrPlaneswalker());
this.addAbility(ability1);
// -3: Return target Pirate card from your graveyard to the battlefield.

View file

@ -36,8 +36,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
import mage.target.targetpointer.SecondTargetPointer;
/**
@ -61,8 +61,8 @@ public class AngrathsFury extends CardImpl {
// Angrath's Fury deals 3 damage to target player.
this.getSpellAbility().addEffect(new DamageTargetEffect(3).setTargetPointer(new SecondTargetPointer())
.setText("{this} deals 3 damage to target player"));
this.getSpellAbility().addTarget(new TargetPlayer());
.setText("{this} deals 3 damage to target player or planeswalker"));
this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker());
// You may search your library and/or graveyard for a card named Angrath, Minotaur Pirate, reveal it, and put it into your hand. If you search your library this way, shuffle it.
this.getSpellAbility().addEffect(new SearchLibraryGraveyardPutInHandEffect(filter)

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;
/**
@ -48,9 +48,9 @@ public class AnnihilatingFire extends CardImpl {
public AnnihilatingFire(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}{R}");
// Annihilating Fire deals 3 damage to target creature or player.
// Annihilating Fire deals 3 damage to any target.
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

@ -81,7 +81,7 @@ class AnthemOfRakdosHellbentEffect extends ReplacementEffectImpl {
public AnthemOfRakdosHellbentEffect() {
super(Duration.WhileOnBattlefield, Outcome.Damage);
staticText = "<i>Hellbent</i> - As long as you have no cards in hand, if a source you control would deal damage to a creature or player, it deals double that damage to that creature or player instead.";
staticText = "<i>Hellbent</i> - As long as you have no cards in hand, if a source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead.";
}
public AnthemOfRakdosHellbentEffect(final AnthemOfRakdosHellbentEffect effect) {
@ -96,7 +96,8 @@ class AnthemOfRakdosHellbentEffect extends ReplacementEffectImpl {
@Override
public boolean checksEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.DAMAGE_CREATURE
|| event.getType() == GameEvent.EventType.DAMAGE_PLAYER;
|| event.getType() == GameEvent.EventType.DAMAGE_PLAYER
|| event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER;
}
@Override

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;
/**
*
@ -65,10 +65,10 @@ public class ApocalypseHydra extends CardImpl {
// Apocalypse Hydra enters the battlefield with X +1/+1 counters on it. If X is 5 or more, it enters the battlefield with an additional X +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new ApocalypseHydraEffect()));
// {1}{R}, Remove a +1/+1 counter from Apocalypse Hydra: Apocalypse Hydra deals 1 damage to target creature or player.
// {1}{R}, Remove a +1/+1 counter from Apocalypse Hydra: Apocalypse Hydra deals 1 damage to any target.
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;
/**
*
@ -54,10 +54,10 @@ public class ApprenticeSorcerer extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
// {tap}: Apprentice Sorcerer deals 1 damage to target creature or player. Activate this ability only during your turn, before attackers are declared.
// {tap}: Apprentice Sorcerer deals 1 damage to any target. 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;
/**
*
@ -50,7 +50,7 @@ public class ArcBlade extends CardImpl {
public ArcBlade(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{R}{R}");
// Arc Blade deals 2 damage to target creature or player.
// Arc Blade deals 2 damage to any target.
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
// Exile Arc Blade
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
@ -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

@ -33,7 +33,7 @@ import mage.abilities.effects.common.DamageMultiEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayerAmount;
import mage.target.common.TargetAnyTargetAmount;
/**
*
@ -46,7 +46,7 @@ public class ArcLightning extends CardImpl {
// Arc Lightning deals 3 damage divided as you choose among one, two, or three target creatures and/or players.
this.getSpellAbility().addEffect(new DamageMultiEffect(3));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayerAmount(3));
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(3));
}
public ArcLightning(final ArcLightning card) {

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.TargetCreatureOrPlayerAmount;
import mage.target.common.TargetAnyTargetAmount;
/**
*
@ -62,7 +62,7 @@ public class ArcMage extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCreatureOrPlayerAmount(2));
ability.addTarget(new TargetAnyTargetAmount(2));
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;
/**
*
@ -54,10 +54,10 @@ public class ArcSlogger extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(5);
// {R}, Exile the top ten cards of your library: Arc-Slogger deals 2 damage to target creature or player.
// {R}, Exile the top ten cards of your library: Arc-Slogger deals 2 damage to any target.
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

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.cards.a;
import java.io.ObjectStreamException;
@ -37,13 +36,13 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePlayerOrPlaneswalker;
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
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;
/**
*
@ -51,27 +50,27 @@ import mage.target.common.TargetCreatureOrPlayer;
*/
public class ArcTrail extends CardImpl {
public ArcTrail (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}");
public ArcTrail(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}");
// 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);
// Arc Trail deals 2 damage to any target and 1 damage to another any target
FilterCreaturePlayerOrPlaneswalker filter1 = new FilterCreaturePlayerOrPlaneswalker("creature, player or planeswalker to deal 2 damage");
TargetAnyTarget target1 = new TargetAnyTarget(1, 1, filter1);
target1.setTargetTag(1);
this.getSpellAbility().addTarget(target1);
FilterCreatureOrPlayer filter2 = new FilterCreatureOrPlayer("another creature or player to deal 1 damage");
FilterCreaturePlayerOrPlaneswalker filter2 = new FilterCreaturePlayerOrPlaneswalker("another creature, player or planeswalker to deal 1 damage");
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);
this.getSpellAbility().addEffect(ArcTrailEffect.getInstance());
}
public ArcTrail (final ArcTrail card) {
public ArcTrail(final ArcTrail card) {
super(card);
}
@ -84,7 +83,7 @@ public class ArcTrail extends CardImpl {
class ArcTrailEffect extends OneShotEffect {
private static final ArcTrailEffect instance = new ArcTrailEffect();
private static final ArcTrailEffect instance = new ArcTrailEffect();
private Object readResolve() throws ObjectStreamException {
return instance;
@ -94,9 +93,9 @@ class ArcTrailEffect extends OneShotEffect {
return instance;
}
private ArcTrailEffect ( ) {
private ArcTrailEffect() {
super(Outcome.Damage);
staticText = "{source} deals 2 damage to target creature or player and 1 damage to another target creature or player";
staticText = "{source} deals 2 damage to any target and 1 damage to another target";
}
@Override
@ -106,19 +105,19 @@ class ArcTrailEffect extends OneShotEffect {
boolean twoDamageDone = false;
int damage = 2;
for ( Target target : source.getTargets() ) {
for (Target target : source.getTargets()) {
Permanent permanent = game.getPermanent(target.getFirstTarget());
if ( twoDamageDone ) {
if (twoDamageDone) {
damage = 1;
}
if (permanent != null) {
applied |= (permanent.damage( damage, source.getSourceId(), game, false, true ) > 0);
applied |= (permanent.damage(damage, source.getSourceId(), game, false, true) > 0);
}
Player player = game.getPlayer(target.getFirstTarget());
if (player != null) {
applied |= (player.damage( damage, source.getSourceId(), game, false, true ) > 0);
applied |= (player.damage(damage, source.getSourceId(), game, false, true) > 0);
}
twoDamageDone = true;

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;
/**
*
@ -72,14 +72,14 @@ public class ArlinnEmbracedByTheMoon extends CardImpl {
ability.addEffect(effect);
this.addAbility(ability);
// -1: Arlinn, Embraced by the Moon deals 3 damage to target creature or player. Transform Arlinn, Embraced by the Moon.
// -1: Arlinn, Embraced by the Moon deals 3 damage to any target. 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);
// -6: You get an emblem with "Creatures you control have haste and '{T}: This creature deals damage equal to its power to target creature or player.'"
// -6: You get an emblem with "Creatures you control have haste and '{T}: This creature deals damage equal to its power to any target.'"
this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new ArlinnEmbracedByTheMoonEmblem()), -6));
}

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;
/**
@ -47,17 +47,17 @@ public class ArrowStorm extends CardImpl {
public ArrowStorm(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}");
// Arrow Storm deals 4 damage to target creature or player.
// Arrow Storm deals 4 damage to any target.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DamageTargetEffect(4),
new InvertCondition(RaidCondition.instance),
"{this} deals 4 damage to target creature or player"));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
"{this} deals 4 damage to any target"));
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),
RaidCondition.instance,
"<br/><br/><i>Raid</i> &mdash; If you attacked with a creature this turn, instead {this} deals 5 damage to that creature or player and the damage can't be prevented"));
"<br/><br/><i>Raid</i> &mdash; If you attacked with a creature this turn, instead {this} deals 5 damage to that permanent or player and the damage can't be prevented"));
this.getSpellAbility().addWatcher(new PlayerAttackedWatcher());
}

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 {
@ -44,11 +44,11 @@ public class AssaultBattery extends SplitCard {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}", "{3}{G}", SpellAbilityType.SPLIT);
// Assault
// Assault deals 2 damage to target creature or player.
// Assault deals 2 damage to any target.
Effect effect = new DamageTargetEffect(2);
effect.setText("Assault deals 2 damage to target creature or player");
effect.setText("Assault deals 2 damage to any target");
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;
/**
*
@ -57,11 +57,11 @@ public class AtarkaEfreet extends CardImpl {
// Megamorph {2}{R}
this.addAbility(new MorphAbility(this, new ManaCostsImpl("{2}{R}"), true));
// When Atarka Efreet is turned face up, it deals 1 damage to target creature or player.
// When Atarka Efreet is turned face up, it deals 1 damage to any target.
Effect effect = new DamageTargetEffect(1, "it");
effect.setText("it deals 1 damage to target creature or player");
effect.setText("it deals 1 damage to any target");
Ability ability = new TurnedFaceUpSourceTriggeredAbility(effect, false, false);
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -49,7 +49,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.TargetCreatureOrPlayerAmount;
import mage.target.common.TargetAnyTargetAmount;
import mage.target.targetpointer.FixedTarget;
import mage.watchers.Watcher;
@ -88,7 +88,7 @@ public class AureliasFury extends CardImpl {
DynamicValue xValue = new ManacostVariableValue();
this.getSpellAbility().addEffect(new DamageMultiEffect(xValue));
this.getSpellAbility().addEffect(new AureliasFuryEffect());
this.getSpellAbility().addTarget(new TargetCreatureOrPlayerAmount(xValue));
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(xValue));
this.getSpellAbility().addWatcher(new AureliasFuryDamagedByWatcher());
}

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;
/**
*
@ -64,10 +64,10 @@ public class AuroraEidolon extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
// {W}, Sacrifice Aurora Eidolon: Prevent the next 3 damage that would be dealt to target creature or player this turn.
// {W}, Sacrifice Aurora Eidolon: Prevent the next 3 damage that would be dealt to any target 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

@ -47,8 +47,8 @@ import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
@ -57,13 +57,13 @@ import mage.target.common.TargetCreaturePermanent;
public class AvacynGuardianAngel extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
static {
filter.add(new AnotherPredicate());
}
public AvacynGuardianAngel(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}{W}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}{W}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ANGEL);
@ -75,17 +75,17 @@ public class AvacynGuardianAngel extends CardImpl {
// Vigilance
this.addAbility(VigilanceAbility.getInstance());
// {1}{W}: Prevent all damage that would be dealt to another target creature this turn by sources of the color of your choice.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AvacynGuardianAngelPreventToCreatureEffect(),
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AvacynGuardianAngelPreventToCreatureEffect(),
new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetCreaturePermanent(filter));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
// {5}{W}{W}: Prevent all damage that would be dealt to target player this turn by sources of the color of your choice.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AvacynGuardianAngelPreventToPlayerEffect(),
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AvacynGuardianAngelPreventToPlayerEffect(),
new ManaCostsImpl<>("{5}{W}{W}"));
ability.addTarget(new TargetPlayer());
ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability);
}
@ -100,21 +100,21 @@ public class AvacynGuardianAngel extends CardImpl {
}
class AvacynGuardianAngelPreventToCreatureEffect extends OneShotEffect {
AvacynGuardianAngelPreventToCreatureEffect() {
super(Outcome.PreventDamage);
this.staticText = "Prevent all damage that would be dealt to another target creature this turn by sources of the color of your choice";
}
AvacynGuardianAngelPreventToCreatureEffect(final AvacynGuardianAngelPreventToCreatureEffect effect) {
super(effect);
}
@Override
public AvacynGuardianAngelPreventToCreatureEffect copy() {
return new AvacynGuardianAngelPreventToCreatureEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
@ -130,7 +130,7 @@ class AvacynGuardianAngelPreventToCreatureEffect extends OneShotEffect {
}
class AvacynGuardianAngelPreventToCreaturePreventionEffect extends PreventionEffectImpl {
private final ObjectColor color;
AvacynGuardianAngelPreventToCreaturePreventionEffect(ObjectColor color) {
@ -169,21 +169,21 @@ class AvacynGuardianAngelPreventToCreaturePreventionEffect extends PreventionEff
}
class AvacynGuardianAngelPreventToPlayerEffect extends OneShotEffect {
AvacynGuardianAngelPreventToPlayerEffect() {
super(Outcome.PreventDamage);
this.staticText = "Prevent all damage that would be dealt to target player this turn by sources of the color of your choice";
this.staticText = "Prevent all damage that would be dealt to target player or planeswalker this turn by sources of the color of your choice";
}
AvacynGuardianAngelPreventToPlayerEffect(final AvacynGuardianAngelPreventToPlayerEffect effect) {
super(effect);
}
@Override
public AvacynGuardianAngelPreventToPlayerEffect copy() {
return new AvacynGuardianAngelPreventToPlayerEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
@ -199,7 +199,7 @@ class AvacynGuardianAngelPreventToPlayerEffect extends OneShotEffect {
}
class AvacynGuardianAngelPreventToPlayerPreventionEffect extends PreventionEffectImpl {
private final ObjectColor color;
AvacynGuardianAngelPreventToPlayerPreventionEffect(ObjectColor color) {
@ -220,7 +220,8 @@ class AvacynGuardianAngelPreventToPlayerPreventionEffect extends PreventionEffec
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
if (super.applies(event, source, game)) {
if (event.getType() == GameEvent.EventType.DAMAGE_PLAYER
if ((event.getType() == GameEvent.EventType.DAMAGE_PLAYER
|| event.getType() == GameEvent.EventType.DAMAGED_PLANESWALKER)
&& event.getTargetId().equals(getTargetPointer().getFirst(game, source))) {
MageObject sourceObject = game.getObject(event.getSourceId());
if (sourceObject != null && sourceObject.getColor(game).shares(this.color)) {

View file

@ -39,7 +39,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.game.Game;
import mage.target.common.TargetCreatureOrPlayerAmount;
import mage.target.common.TargetAnyTargetAmount;
/**
*
@ -60,7 +60,7 @@ public class AvacynsJudgment extends CardImpl {
Effect effect = new DamageMultiEffect(xValue);
effect.setText("{this} deals 2 damage divided as you choose among any number of target creatures and/or players. If {this}'s madness cost was paid, it deals X damage divided as you choose among those creatures and/or players instead.");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetCreatureOrPlayerAmount(xValue));
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(xValue));
}
public AvacynsJudgment(final AvacynsJudgment 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;
/**
*
@ -58,9 +58,9 @@ public class AvenRedeemer extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {tap}: Prevent the next 2 damage that would be dealt to target creature or player this turn.
// {tap}: Prevent the next 2 damage that would be dealt to any target 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

@ -42,7 +42,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SetTargetPointer;
import mage.filter.StaticFilters;
import mage.target.TargetPlayer;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
@ -66,7 +66,7 @@ public class AxelrodGunnarson extends CardImpl {
Effect effect = new DamageTargetEffect(1);
effect.setText("and {this} deals 1 damage to target player");
ability.addEffect(effect);
ability.addTarget(new TargetPlayer());
ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability);
}

View file

@ -45,7 +45,7 @@ import mage.constants.Zone;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPlayer;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
* @author Loki
@ -65,16 +65,15 @@ public class BalefireLiege extends CardImpl {
}
public BalefireLiege(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/W}{R/W}{R/W}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R/W}{R/W}{R/W}");
this.subtype.add(SubType.SPIRIT, SubType.HORROR);
this.power = new MageInt(2);
this.toughness = new MageInt(4);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterRedCreature, true)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterWhiteCreature, true)));
Ability ability = new SpellCastControllerTriggeredAbility(new DamageTargetEffect(3), filterRedSpell, false);
ability.addTarget(new TargetPlayer());
ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability);
this.addAbility(new SpellCastControllerTriggeredAbility(new GainLifeEffect(3), filterWhiteSpell, false));
}

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;
/**
*
@ -52,9 +52,9 @@ public class BallistaCharger extends CardImpl {
this.power = new MageInt(6);
this.toughness = new MageInt(6);
// Whenever Ballista Charger attacks, it deals 1 damage to target creature or player.
// Whenever Ballista Charger attacks, it deals 1 damage to any target.
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;
/**
*
@ -57,10 +57,10 @@ public class BalmOfRestoration extends CardImpl {
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
// or prevent the next 2 damage that would be dealt to target creature or player this turn.
// or prevent the next 2 damage that would be dealt to any target 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;
/**
*
@ -59,9 +59,9 @@ public class Banefire extends CardImpl {
public Banefire(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{R}");
// Banefire deals X damage to target creature or player.
// Banefire deals X damage to any target.
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()));
}
@ -101,7 +101,7 @@ class BaneFireEffect extends OneShotEffect {
public BaneFireEffect() {
super(Outcome.Damage);
staticText = "{this} deals X damage to target creature or player";
staticText = "{this} deals X damage to any target";
}
public BaneFireEffect(final BaneFireEffect effect) {

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;
/**
*
@ -57,11 +57,11 @@ public class Banshee extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(1);
// {X}, {T}: Banshee deals half X damage, rounded down, to target creature or player, and half X damage, rounded up, to you.
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}"));
// {X}, {T}: Banshee deals half X damage, rounded down, to any target, and half X damage, rounded up, to you.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new HalfValue(new ManacostVariableValue(), false)).setText("Banshee deals half X damage, rounded down, to any target,"), 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;
/**
*
@ -58,14 +58,14 @@ public class BarbarianRing extends CardImpl {
redManaAbility.addEffect(new DamageControllerEffect(1));
this.addAbility(redManaAbility);
// Threshold - {R}, {T}, Sacrifice Barbarian Ring: Barbarian Ring deals 2 damage to target creature or player. Activate this ability only if seven or more cards are in your graveyard.
// Threshold - {R}, {T}, Sacrifice Barbarian Ring: Barbarian Ring deals 2 damage to any target. Activate this ability only if seven or more cards are in your graveyard.
Ability thresholdAbility = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new DamageTargetEffect(2),
new ManaCostsImpl("{R}"),
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;
/**
@ -60,11 +60,11 @@ public class BarbedField extends CardImpl {
this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility));
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// Enchanted land has "{tap}: This land deals 1 damage to target creature or player."
// Enchanted land has "{tap}: This land deals 1 damage to any target."
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.\"");
effect.setText("Enchanted land has \"{T}: This land deals 1 damage to any target.\"");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
}

View file

@ -34,8 +34,8 @@ import mage.abilities.keyword.EntwineAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
@ -44,18 +44,18 @@ import mage.target.common.TargetCreaturePermanent;
public class BarbedLightning extends CardImpl {
public BarbedLightning(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
// Choose one - Barbed Lightning deals 3 damage to target creature;
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// or Barbed Lightning deals 3 damage to target player.
Mode mode = new Mode();
mode.getEffects().add(new DamageTargetEffect(3));
mode.getTargets().add(new TargetPlayer());
mode.getTargets().add(new TargetPlayerOrPlaneswalker());
this.getSpellAbility().getModes().addMode(mode);
// Entwine {2}
this.addAbility(new EntwineAbility("{2}"));
}

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;
/**
*
@ -50,10 +50,10 @@ public class BarrageOfExpendables extends CardImpl {
public BarrageOfExpendables(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{R}");
// {R}, Sacrifice a creature: Barrage of Expendables deals 1 damage to target creature or player.
// {R}, Sacrifice a creature: Barrage of Expendables deals 1 damage to any target.
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;
/**
*
@ -70,12 +70,12 @@ public class BarrageTyrant extends CardImpl {
// Devoid
this.addAbility(new DevoidAbility(this.color));
// {2}{R}, Sacrifice another colorless creature: Barrage Tyrant deals damage equal to the sacrificed creature's power to target creature or player.
// {2}{R}, Sacrifice another colorless creature: Barrage Tyrant deals damage equal to the sacrificed creature's power to any target.
Effect effect = new DamageTargetEffect(new SacrificeCostCreaturesPower());
effect.setText("{this} deals damage equal to the sacrificed creature's power to target creature or player");
effect.setText("{this} deals damage equal to the sacrificed creature's power to any target");
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;
/**
*
@ -58,9 +58,9 @@ public class BarrentonMedic extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(4);
// {tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
// {tap}: Prevent the next 1 damage that would be dealt to any target 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;
/**
*
@ -43,9 +43,9 @@ public class BeeSting extends CardImpl {
public BeeSting(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}");
// Bee Sting deals 2 damage to target creature or player.
// Bee Sting deals 2 damage to any target.
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;
/**
*
@ -55,9 +55,9 @@ public class BenevolentAncestor extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(4);
this.addAbility(DefenderAbility.getInstance());
// {tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn.
// {tap}: Prevent the next 1 damage that would be dealt to any target 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

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.cards.b;
import java.util.UUID;
@ -39,24 +38,21 @@ 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;
/**
*
* @author LevelX2
*/
public class BlastOfGenius extends CardImpl {
public BlastOfGenius(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{U}{R}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{U}{R}");
// 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.
// Choose any target. 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) {
@ -74,7 +70,7 @@ class BlastOfGeniusEffect extends OneShotEffect {
public BlastOfGeniusEffect() {
super(Outcome.Benefit);
this.staticText = "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.staticText = "Choose any target. Draw three cards and discard a card. Blast of Genius deals damage equal to the converted mana cost of the discard card to that permanent or player";
}
public BlastOfGeniusEffect(final BlastOfGeniusEffect effect) {

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;
/**
*
@ -53,10 +53,10 @@ public class BlastingStation extends CardImpl {
public BlastingStation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
// {tap}, Sacrifice a creature: Blasting Station deals 1 damage to target creature or player.
// {tap}, Sacrifice a creature: Blasting Station deals 1 damage to any target.
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;
/**
*
@ -45,9 +45,9 @@ public class Blaze extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{R}");
// Blaze deals X damage to target creature or player.
// Blaze deals X damage to any target.
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;
/**
*
@ -55,10 +55,10 @@ public class BlazingHellhound extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(3);
// {1}, Sacrifice another creature: Blazing Hellhound deals 1 damage to target creature or player.
// {1}, Sacrifice another creature: Blazing Hellhound deals 1 damage to any target.
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;
@ -73,10 +73,10 @@ public class BlazingTorch extends CardImpl {
new CantBeBlockedByCreaturesAttachedEffect(Duration.WhileOnBattlefield, filter, AttachmentType.EQUIPMENT)));
// Equipped creature has "{tap}, Sacrifice Blazing Torch: Blazing Torch deals 2 damage to target creature or player.")
// Equipped creature has "{tap}, Sacrifice Blazing Torch: Blazing Torch deals 2 damage to any target.")
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}
@ -135,7 +135,7 @@ class BlazingTorchDamageEffect extends OneShotEffect {
public BlazingTorchDamageEffect() {
super(Outcome.Damage);
this.staticText = "Blazing Torch deals 2 damage to target creature or player";
this.staticText = "Blazing Torch deals 2 damage to any target";
}
public BlazingTorchDamageEffect(final BlazingTorchDamageEffect effect) {

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;
/**
*
@ -53,13 +53,13 @@ public class BlightedGorge extends CardImpl {
// {T}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {4}{R}, {T}, Sacrifice Blighted Gorge: Blighted Gorge deals 2 damage to target creature or player.
// {4}{R}, {T}, Sacrifice Blighted Gorge: Blighted Gorge deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new DamageTargetEffect(2),
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

@ -24,17 +24,24 @@
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
*/
package mage.cards.b;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.TargetPlayer;
import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetPlayerOrPlaneswalker;
import mage.target.targetpointer.FixedTarget;
/**
*
@ -43,14 +50,12 @@ import mage.target.TargetPlayer;
public class Blightning extends CardImpl {
public Blightning(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}{R}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}{R}");
// Blightning deals 3 damage to target player. That player discards two cards.
this.getSpellAbility().addTarget(new TargetPlayer());
this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker());
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addEffect(new DiscardTargetEffect(2));
this.getSpellAbility().addEffect(new BlightningEffect());
}
public Blightning(final Blightning card) {
@ -62,3 +67,37 @@ public class Blightning extends CardImpl {
return new Blightning(this);
}
}
class BlightningEffect extends OneShotEffect {
BlightningEffect() {
super(Outcome.Benefit);
this.staticText = "That player or that planeswalkers controller discards two cards.";
}
BlightningEffect(final BlightningEffect effect) {
super(effect);
}
@Override
public BlightningEffect copy() {
return new BlightningEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getFirstTarget());
if (player == null) {
Permanent permanent = game.getPermanent(source.getFirstTarget());
if (permanent != null) {
player = game.getPlayer(permanent.getControllerId());
}
}
if (player == null) {
return false;
}
Effect effect = new DiscardTargetEffect(2);
effect.setTargetPointer(new FixedTarget(player.getId(), game));
return true;
}
}

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;
/**
*
@ -54,13 +54,13 @@ public class BloodhallPriest extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(4);
// 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.
// Whenever Bloodhall Priest enters the battlefield or attacks, if you have no cards in hand, Bloodhall Priest deals 2 damage to any target.
TriggeredAbility triggeredAbility = new EntersBattlefieldOrAttacksSourceTriggeredAbility(new DamageTargetEffect(2));
triggeredAbility.addTarget(new TargetCreatureOrPlayer());
triggeredAbility.addTarget(new TargetAnyTarget());
this.addAbility(new ConditionalTriggeredAbility(
triggeredAbility,
HellbentCondition.instance,
"Whenever {this} enters the battlefield or attacks, if you have no cards in hand, {this} deals 2 damage to target creature or player"
"Whenever {this} enters the battlefield or attacks, if you have no cards in hand, {this} deals 2 damage to any target"
));
// Madness {1}{B}{R}

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;
/**
*
@ -57,12 +57,12 @@ public class BloodshotCyclops extends CardImpl {
this.toughness = new MageInt(4);
// {T}, Sacrifice a creature: Bloodshot Cyclops deals damage equal to the sacrificed
// creature's power to target creature or player.
// creature's power to any target.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
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

@ -39,7 +39,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreatureOrPlayerAmount;
import mage.target.common.TargetAnyTargetAmount;
/**
*
@ -57,7 +57,7 @@ public class BogardanHellkite extends CardImpl {
this.addAbility(FlashAbility.getInstance());
this.addAbility(FlyingAbility.getInstance());
Ability ability = new EntersBattlefieldTriggeredAbility(new DamageMultiEffect(5), false);
ability.addTarget(new TargetCreatureOrPlayerAmount(5));
ability.addTarget(new TargetAnyTargetAmount(5));
this.addAbility(ability);
}

View file

@ -39,7 +39,7 @@ import mage.constants.TargetController;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.TargetPlayer;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
@ -55,13 +55,12 @@ public class BoggartShenanigans extends CardImpl {
}
public BoggartShenanigans(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{2}{R}");
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{2}{R}");
this.subtype.add(SubType.GOBLIN);
// Whenever another Goblin you control dies, you may have Boggart Shenanigans deal 1 damage to target player.
Ability ability = new DiesCreatureTriggeredAbility(new DamageTargetEffect(1), true, filter, false);
ability.addTarget(new TargetPlayer());
ability.addTarget(new TargetPlayerOrPlaneswalker());
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;
/**
*
@ -51,9 +51,9 @@ public class BomberCorps extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(2);
// Battalion - Whenever Bomber Corps and at least two other creatures attack, Bomber Corps deals 1 damage to target creature or player.
// Battalion - Whenever Bomber Corps and at least two other creatures attack, Bomber Corps deals 1 damage to any target.
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;
/**
*
@ -52,9 +52,9 @@ public class BonethornValesk extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(2);
// Whenever a permanent is turned face up, Bonethorn Valesk deals 1 damage to target creature or player.
// Whenever a permanent is turned face up, Bonethorn Valesk deals 1 damage to any target.
Ability ability = new TurnedFaceUpAllTriggeredAbility(new DamageTargetEffect(1), new FilterPermanent("a permanent"));
ability.addTarget(new TargetCreatureOrPlayer());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -50,8 +50,7 @@ import mage.target.TargetPlayer;
public class BonfireOfTheDamned extends CardImpl {
public BonfireOfTheDamned(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{X}{R}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{R}");
// Bonfire of the Damned deals X damage to target player and each creature he or she controls.
this.getSpellAbility().addEffect(new BonfireOfTheDamnedEffect());
@ -77,7 +76,7 @@ class BonfireOfTheDamnedEffect extends OneShotEffect {
public BonfireOfTheDamnedEffect() {
super(Outcome.Damage);
staticText = "{this} deals X damage to target player and each creature he or she controls";
staticText = "{this} deals X damage to target player or planeswalker and each creature that player or that planeswalkers controller controls";
}
public BonfireOfTheDamnedEffect(final BonfireOfTheDamnedEffect effect) {
@ -86,12 +85,12 @@ class BonfireOfTheDamnedEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getFirstTarget());
Player player = game.getPlayerOrPlaneswalkerController(source.getFirstTarget());
if (player != null) {
int damage = source.getManaCostsToPay().getX();
if (damage > 0) {
int damage = source.getManaCostsToPay().getX();
if (damage > 0) {
player.damage(damage, source.getSourceId(), game, false, true);
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
for (Permanent perm : game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
perm.damage(damage, source.getSourceId(), game, false, true);
}
}

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;
/**
*
@ -67,9 +67,9 @@ public class BorborygmosEnraged extends CardImpl {
//Whenever Borborygmous Enraged deals combat damage to a player, reveal the top three cards of your library. Put all land cards revealed this way into your hand and the rest into your graveyard.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new RevealLibraryPutIntoHandEffect(3, new FilterLandCard(), Zone.GRAVEYARD), false, false));
//Discard a land card: Borborygmos Enraged deals 3 damage to target creature or player
//Discard a land card: Borborygmos Enraged deals 3 damage to any target
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

@ -40,8 +40,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.common.FilterControlledPermanent;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
@ -49,13 +49,12 @@ import mage.target.common.TargetCreaturePermanent;
*/
public class BorosCharm extends CardImpl {
public BorosCharm (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}{W}");
public BorosCharm(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}{W}");
//Choose one - Boros Charm deals 4 damage to target player
this.getSpellAbility().addEffect(new DamageTargetEffect(4));
this.getSpellAbility().addTarget(new TargetPlayer());
this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker());
//or permanents you control are indestructible this turn
Mode mode = new Mode();
Effect effect = new GainAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledPermanent(), false);
@ -74,7 +73,7 @@ public class BorosCharm extends CardImpl {
}
@Override
public BorosCharm copy() {
public BorosCharm copy() {
return new BorosCharm(this);
}
}

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;
/**
*
@ -57,9 +57,9 @@ public class BorosReckoner extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// Whenever Boros Reckoner is dealt damage, it deals that much damage to target creature or player.
// Whenever Boros Reckoner is dealt damage, it deals that much damage to any target.
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.
@ -81,7 +81,7 @@ class BorosReckonerDealDamageEffect extends OneShotEffect {
public BorosReckonerDealDamageEffect() {
super(Outcome.Damage);
this.staticText = "it deals that much damage to target creature or player";
this.staticText = "it deals that much damage to any target";
}
public BorosReckonerDealDamageEffect(final BorosReckonerDealDamageEffect effect) {

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;
/**
*
@ -64,12 +64,12 @@ public class BoshIronGolem extends CardImpl {
// Trample
this.addAbility(TrampleAbility.getInstance());
// {3}{R}, Sacrifice an artifact: Bosh, Iron Golem deals damage equal to the sacrificed artifact's converted mana cost to target creature or player.
// {3}{R}, Sacrifice an artifact: Bosh, Iron Golem deals damage equal to the sacrificed artifact's converted mana cost to any target.
Effect effect = new DamageTargetEffect(new SacrificeCostConvertedMana("artifact"));
effect.setText("{this} deals damage equal to the sacrificed artifact's converted mana cost to target creature or player");
effect.setText("{this} deals damage equal to the sacrificed artifact's converted mana cost to any target");
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

@ -32,7 +32,7 @@ import mage.abilities.effects.common.DamageMultiEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreatureOrPlayerAmount;
import mage.target.common.TargetAnyTargetAmount;
/**
*
@ -46,7 +46,7 @@ public class Boulderfall extends CardImpl {
// Boulderfall deals 5 damage divided as you choose among any number of target creatures and/or players.
this.getSpellAbility().addEffect(new DamageMultiEffect(5));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayerAmount(5));
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(5));
}
public Boulderfall(final Boulderfall card) {

View file

@ -44,9 +44,9 @@ import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.game.permanent.token.ThopterToken;
import mage.target.TargetPlayer;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
@ -71,7 +71,7 @@ public class BreyaEtheriumShaper extends CardImpl {
new DamageTargetEffect(3),
new GenericManaCost(2));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(2, 2, new FilterControlledArtifactPermanent("two artifacts"), true)));
ability.addTarget(new TargetPlayer());
ability.addTarget(new TargetPlayerOrPlaneswalker());
// Target creature gets -4/-4 until end of turn.
Mode mode = new Mode();

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;
@ -47,13 +47,12 @@ import mage.watchers.common.MorbidWatcher;
public class BrimstoneVolley extends CardImpl {
public BrimstoneVolley(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
// Brimstone Volley deals 3 damage to target creature or player.
// Brimstone Volley deals 3 damage to any target.
// 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) {
@ -70,7 +69,7 @@ class BrimstoneVolleyEffect extends OneShotEffect {
public BrimstoneVolleyEffect() {
super(Outcome.Damage);
staticText = "{this} deals 3 damage to target creature or player.\n Morbid - {this} deals 5 damage to that creature or player instead if a creature died this turn";
staticText = "{this} deals 3 damage to any target.\n Morbid - {this} deals 5 damage to that permanent or player instead if a creature died this turn";
}
public BrimstoneVolleyEffect(final BrimstoneVolleyEffect effect) {
@ -82,7 +81,7 @@ class BrimstoneVolleyEffect extends OneShotEffect {
int damage = 3;
Watcher watcher = game.getState().getWatchers().get(MorbidWatcher.class.getSimpleName());
if (watcher.conditionMet()) {
damage = 5;
damage = 5;
}
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
if (permanent != null) {

View file

@ -36,6 +36,7 @@ import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.LifelinkAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@ -43,9 +44,8 @@ import mage.constants.*;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetPlayer;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
@ -60,7 +60,7 @@ public class BrionStoutarm extends CardImpl {
}
public BrionStoutarm(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{W}");
addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GIANT, SubType.WARRIOR);
@ -73,7 +73,7 @@ public class BrionStoutarm extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BrionStoutarmEffect(), new ManaCostsImpl("{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, true)));
ability.addTarget(new TargetPlayer());
ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability);
}
@ -91,7 +91,7 @@ class BrionStoutarmEffect extends OneShotEffect {
public BrionStoutarmEffect() {
super(Outcome.Benefit);
this.staticText = "{this} deals damage equal to the sacrificed creature's power to target player";
this.staticText = "{this} deals damage equal to the sacrificed creature's power to target player or planeswalker";
}
public BrionStoutarmEffect(final BrionStoutarmEffect effect) {
@ -113,10 +113,7 @@ class BrionStoutarmEffect extends OneShotEffect {
}
}
if (amount > 0) {
Player player = game.getPlayer(source.getFirstTarget());
if (player != null) {
player.damage(amount, source.getSourceId(), game, false, true);
}
return new DamageTargetEffect(amount).apply(game, source);
}
return true;
}

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;
/**
*
@ -54,12 +54,12 @@ public class BrothersOfFire extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
// {1}{R}{R}: Brothers of Fire deals 1 damage to target creature or player and 1 damage to you.
// {1}{R}{R}: Brothers of Fire deals 1 damage to any target and 1 damage to you.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}{R}{R}"));
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;
/**
*
@ -62,9 +62,9 @@ public class BurnAtTheStake extends CardImpl {
// As an additional cost to cast Burn at the Stake, tap any number of untapped creatures you control.
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.
// Burn at the Stake deals damage to any target 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) {
@ -81,7 +81,7 @@ class BurnAtTheStakeEffect extends OneShotEffect {
public BurnAtTheStakeEffect() {
super(Outcome.Damage);
this.staticText = "{this} deals damage to target creature or player equal to three times the number of creatures tapped this way";
this.staticText = "{this} deals damage to any target equal to three times the number of creatures tapped this way";
}
public BurnAtTheStakeEffect(final BurnAtTheStakeEffect effect) {

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;
/**
@ -55,10 +55,10 @@ public class BurnFromWithin extends CardImpl {
public BurnFromWithin(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{R}");
// 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.
// Burn from Within deals X damage to any target. 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());
}
@ -76,7 +76,7 @@ class BurnFromWithinEffect extends OneShotEffect {
public BurnFromWithinEffect() {
super(Outcome.Benefit);
this.staticText = "{this} 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.staticText = "{this} deals X damage to any target. 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";
}
public BurnFromWithinEffect(final BurnFromWithinEffect effect) {

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;
/**
*
@ -44,9 +44,9 @@ public class BurnTrail extends CardImpl {
public BurnTrail(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{R}");
// Burn Trail deals 3 damage to target creature or player.
// Burn Trail deals 3 damage to any target.
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;
/**
@ -63,13 +63,13 @@ public class BurningAnger extends CardImpl {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// Enchanted creature has "{T}: This creature deals damage equal to its power to target creature or player."
// Enchanted creature has "{T}: This creature deals damage equal to its power to any target."
Effect effect = new DamageTargetEffect(new SourcePermanentPowerCount());
effect.setText("{this} deals damage equal to its power to target creature or player");
effect.setText("{this} deals damage equal to its power to any target");
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.\"")));
"Enchanted creature has \"{T}: This creature deals damage equal to its power to any target.\"")));
}
public BurningAnger(final BurningAnger card) {

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;
/**
*
@ -56,10 +56,10 @@ public class BurningEyeZubera extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// 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.
// When Burning-Eye Zubera dies, if 4 or more damage was dealt to it this turn, Burning-Eye Zubera deals 3 damage to any target.
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());
"When {this} dies, if 4 or more damage was dealt to it this turn, Burning-Eye Zubera deals 3 damage to any target");
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.TargetOpponent;
import mage.target.common.TargetOpponentOrPlaneswalker;
/**
*
@ -41,10 +41,10 @@ import mage.target.common.TargetOpponent;
public class BurningFields extends CardImpl {
public BurningFields(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{R}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{R}");
// Burning Fields deals 5 damage to target opponent.
this.getSpellAbility().addTarget(new TargetOpponent());
this.getSpellAbility().addTarget(new TargetOpponentOrPlaneswalker());
this.getSpellAbility().addEffect(new DamageTargetEffect(5));
}

View file

@ -38,7 +38,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetOpponent;
import mage.target.common.TargetOpponentOrPlaneswalker;
/**
*
@ -56,9 +56,9 @@ public class BurningSunsAvatar extends CardImpl {
// When Burning Sun's Avatar enters the battlefield, it deals 3 damage to target opponent and 3 damage to up to one target creature.
Effect effect = new DamageTargetEffect(3);
effect.setText("it deals 3 damage to target opponent and 3 damage to up to one target creature");
effect.setText("it deals 3 damage to target opponent or planeswalker and 3 damage to up to one target creature");
Ability ability = new EntersBattlefieldTriggeredAbility(effect, false);
ability.addTarget(new TargetOpponent());
ability.addTarget(new TargetOpponentOrPlaneswalker());
ability.addTarget(new TargetCreaturePermanent(0, 1));
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
@ -48,7 +48,7 @@ public class BurningVengeance extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}");
// Whenever you cast a spell from your graveyard, Burning Vengeance deals 2 damage to target creature or player.
// Whenever you cast a spell from your graveyard, Burning Vengeance deals 2 damage to any target.
this.addAbility(new BurningVengeanceOnCastAbility());
}
@ -64,11 +64,11 @@ public class BurningVengeance extends CardImpl {
class BurningVengeanceOnCastAbility extends TriggeredAbilityImpl {
private static final String abilityText = "Whenever you cast a spell from your graveyard, Burning Vengeance deals 2 damage to target creature or player";
private static final String abilityText = "Whenever you cast a spell from your graveyard, Burning Vengeance deals 2 damage to any target";
BurningVengeanceOnCastAbility() {
super(Zone.BATTLEFIELD, new DamageTargetEffect(2), false);
TargetCreatureOrPlayer target = new TargetCreatureOrPlayer();
TargetAnyTarget target = new TargetAnyTarget();
this.addTarget(target);
}

View file

@ -24,8 +24,7 @@
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
*/
package mage.cards.b;
import java.util.UUID;
@ -36,7 +35,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;
/**
*
@ -45,16 +44,15 @@ import mage.target.common.TargetCreatureOrPlayer;
public class BurstLightning extends CardImpl {
public BurstLightning(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}");
// Kicker {4} (You may pay an additional {4} as you cast this spell.)
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());
// Burst Lightning deals 2 damage to any target. If Burst Lightning was kicked, it deals 4 damage to that creature or player instead.
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"));
new DamageTargetEffect(2), KickedCondition.instance, "{this} deals 2 damage to any target. If {this} was kicked, it deals 4 damage to that permanent or player instead"));
}
public BurstLightning(final BurstLightning card) {

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;
/**
*
@ -44,22 +44,20 @@ import mage.target.common.TargetCreatureOrPlayer;
public class CacklingFlames extends CardImpl {
public CacklingFlames(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{R}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}");
// Cackling Flames deals 3 damage to target creature or player.
// Cackling Flames deals 3 damage to any target.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DamageTargetEffect(3),
new InvertCondition(HellbentCondition.instance),
"{this} deals 3 damage to target creature or player"));
"{this} deals 3 damage to any target"));
// Hellbent - Cackling Flames deals 5 damage to that creature or player instead if you have no cards in hand.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DamageTargetEffect(5),
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());
"<br/><br/><i>Hellbent</i> - {this} deals 5 damage to that permanent or player instead if you have no cards in hand."));
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;
@ -53,9 +53,9 @@ public class CandlesGlow extends CardImpl {
this.subtype.add(SubType.ARCANE);
// 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.
// Prevent the next 3 damage that would be dealt to any target 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}"));
}
@ -76,7 +76,7 @@ class CandlesGlowPreventDamageTargetEffect extends PreventionEffectImpl {
public CandlesGlowPreventDamageTargetEffect(Duration duration) {
super(duration);
staticText = "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";
staticText = "Prevent the next 3 damage that would be dealt to any target this turn. You gain life equal to the damage prevented this way";
}
public CandlesGlowPreventDamageTargetEffect(final CandlesGlowPreventDamageTargetEffect effect) {

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;
/**
*
@ -54,10 +54,10 @@ public class CapriciousSorcerer extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
// {tap}: Capricious Sorcerer deals 1 damage to target creature or player. Activate this ability only during your turn, before attackers are declared.
// {tap}: Capricious Sorcerer deals 1 damage to any target. 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);
}

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