diff --git a/Mage.Sets/src/mage/cards/f/FeedbackBolt.java b/Mage.Sets/src/mage/cards/f/FeedbackBolt.java index 76d917a3ade..ac0cfc6a2e6 100644 --- a/Mage.Sets/src/mage/cards/f/FeedbackBolt.java +++ b/Mage.Sets/src/mage/cards/f/FeedbackBolt.java @@ -35,7 +35,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.common.FilterControlledArtifactPermanent; -import mage.target.TargetPlayer; +import mage.target.common.TargetPlayerOrPlaneswalker; /** * @@ -44,14 +44,13 @@ import mage.target.TargetPlayer; public class FeedbackBolt extends CardImpl { public FeedbackBolt(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{R}"); - + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{R}"); // Feedback Bolt deals damage to target player equal to the number of artifacts you control. Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent())); - effect.setText("{this} deals damage to target player equal to the number of artifacts you control"); + effect.setText("{this} deals damage to target player or planeswalker equal to the number of artifacts you control"); this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); } public FeedbackBolt(final FeedbackBolt card) { diff --git a/Mage.Sets/src/mage/cards/f/FinalStrike.java b/Mage.Sets/src/mage/cards/f/FinalStrike.java index 751635fdb78..4dfd8f1c2e3 100644 --- a/Mage.Sets/src/mage/cards/f/FinalStrike.java +++ b/Mage.Sets/src/mage/cards/f/FinalStrike.java @@ -37,7 +37,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; import mage.target.common.TargetControlledCreaturePermanent; -import mage.target.common.TargetOpponent; +import mage.target.common.TargetOpponentOrPlaneswalker; /** * @@ -53,9 +53,9 @@ public class FinalStrike extends CardImpl { // Final Strike deals damage to target opponent equal to the sacrificed creature's power. Effect effect = new DamageTargetEffect(new SacrificeCostCreaturesPower()); - effect.setText("{this} deals damage to target opponent equal to the sacrificed creature's power"); + effect.setText("{this} deals damage to target opponent or planeswalker equal to the sacrificed creature's power"); this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetOpponent()); + this.getSpellAbility().addTarget(new TargetOpponentOrPlaneswalker()); } public FinalStrike(final FinalStrike card) { diff --git a/Mage.Sets/src/mage/cards/g/GoblinWarStrike.java b/Mage.Sets/src/mage/cards/g/GoblinWarStrike.java index 329c813a194..8217e81c199 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWarStrike.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWarStrike.java @@ -38,7 +38,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; /** * @@ -47,19 +47,18 @@ import mage.target.TargetPlayer; public class GoblinWarStrike extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Goblins you control"); - + static { filter.add(new SubtypePredicate(SubType.GOBLIN)); filter.add(new ControllerPredicate(TargetController.YOU)); } - - public GoblinWarStrike(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{R}"); + public GoblinWarStrike(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); // Goblin War Strike deals damage equal to the number of Goblins you control to target player. this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter))); - this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); } public GoblinWarStrike(final GoblinWarStrike card) { diff --git a/Mage.Sets/src/mage/cards/k/KessigMalcontents.java b/Mage.Sets/src/mage/cards/k/KessigMalcontents.java index 38fde758bce..7083624e19e 100644 --- a/Mage.Sets/src/mage/cards/k/KessigMalcontents.java +++ b/Mage.Sets/src/mage/cards/k/KessigMalcontents.java @@ -39,7 +39,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.target.TargetPlayer; +import mage.target.common.TargetPlayerOrPlaneswalker; /** * @author noxx @@ -53,7 +53,7 @@ public class KessigMalcontents extends CardImpl { } public KessigMalcontents(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.WARRIOR); @@ -62,7 +62,7 @@ public class KessigMalcontents extends CardImpl { // When Kessig Malcontents enters the battlefield, it deals damage to target player equal to the number of Humans you control. Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter), "it")); - ability.addTarget(new TargetPlayer()); + ability.addTarget(new TargetPlayerOrPlaneswalker()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MobJustice.java b/Mage.Sets/src/mage/cards/m/MobJustice.java index d7adee5672f..c733e5397be 100644 --- a/Mage.Sets/src/mage/cards/m/MobJustice.java +++ b/Mage.Sets/src/mage/cards/m/MobJustice.java @@ -35,7 +35,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.target.TargetPlayer; +import mage.target.common.TargetPlayerOrPlaneswalker; /** * @@ -44,13 +44,13 @@ import mage.target.TargetPlayer; public class MobJustice extends CardImpl { public MobJustice(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}"); // Mob Justice deals damage to target player equal to the number of creatures you control. Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent())); - effect.setText("{this} deals damage to target player equal to the number of creatures you control"); + effect.setText("{this} deals damage to target player or planeswalker equal to the number of creatures you control"); this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); } public MobJustice(final MobJustice card) { diff --git a/Mage.Sets/src/mage/cards/s/ScrapyardSalvo.java b/Mage.Sets/src/mage/cards/s/ScrapyardSalvo.java index 37fd4d66926..a722f442c8f 100644 --- a/Mage.Sets/src/mage/cards/s/ScrapyardSalvo.java +++ b/Mage.Sets/src/mage/cards/s/ScrapyardSalvo.java @@ -34,7 +34,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.common.FilterArtifactCard; -import mage.target.TargetPlayer; +import mage.target.common.TargetPlayerOrPlaneswalker; /** * @@ -45,7 +45,7 @@ public class ScrapyardSalvo extends CardImpl { public ScrapyardSalvo(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}{R}"); - this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); this.getSpellAbility().addEffect(new DamageTargetEffect(new CardsInControllerGraveyardCount(new FilterArtifactCard()))); } diff --git a/Mage.Sets/src/mage/cards/s/StensiaBanquet.java b/Mage.Sets/src/mage/cards/s/StensiaBanquet.java index 03cf4b586a5..fe211c3d5ec 100644 --- a/Mage.Sets/src/mage/cards/s/StensiaBanquet.java +++ b/Mage.Sets/src/mage/cards/s/StensiaBanquet.java @@ -38,7 +38,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.target.common.TargetOpponent; +import mage.target.common.TargetOpponentOrPlaneswalker; /** * @@ -53,13 +53,13 @@ public class StensiaBanquet extends CardImpl { } public StensiaBanquet(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{R}"); // Stensia Banquet deals damage to target opponent equal to the number of Vampires you control. Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)); - effect.setText("{this} deals damage to target opponent equal to the number of Vampires you control"); + effect.setText("{this} deals damage to target opponent or planeswalker equal to the number of Vampires you control"); this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetOpponent()); + this.getSpellAbility().addTarget(new TargetOpponentOrPlaneswalker()); // Draw a card. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); diff --git a/Mage.Sets/src/mage/cards/v/VentSentinel.java b/Mage.Sets/src/mage/cards/v/VentSentinel.java index a52f34adeef..35ed362c63e 100644 --- a/Mage.Sets/src/mage/cards/v/VentSentinel.java +++ b/Mage.Sets/src/mage/cards/v/VentSentinel.java @@ -42,20 +42,22 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.target.TargetPlayer; +import mage.target.common.TargetPlayerOrPlaneswalker; /** * * @author North */ public class VentSentinel extends CardImpl { + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creatures with defender you control"); - static{ + + static { filter.add(new AbilityPredicate(DefenderAbility.class)); } public VentSentinel(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); @@ -64,7 +66,7 @@ public class VentSentinel extends CardImpl { this.addAbility(DefenderAbility.getInstance()); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)), new ManaCostsImpl("{1}{R}")); ability.addCost(new TapSourceCost()); - ability.addTarget(new TargetPlayer()); + ability.addTarget(new TargetPlayerOrPlaneswalker()); this.addAbility(ability); }