diff --git a/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java b/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java index 71a8c01de33..8292093b41f 100644 --- a/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java +++ b/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java @@ -13,6 +13,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.targetpointer.FixedTarget; @@ -34,7 +35,8 @@ public final class ScytheOfTheWretched extends CardImpl { this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(2, 2, Duration.WhileOnBattlefield))); // Whenever a creature dealt damage by equipped creature this turn dies, return that card to the battlefield under your control. Attach Scythe of the Wretched to that creature. - this.addAbility(new DealtDamageAttachedAndDiedTriggeredAbility(new ScytheOfTheWretchedReanimateEffect(), false)); + this.addAbility(new DealtDamageAttachedAndDiedTriggeredAbility(new ScytheOfTheWretchedReanimateEffect(), false, + StaticFilters.FILTER_PERMANENT_CREATURE, SetTargetPointer.CARD, AttachmentType.EQUIPMENT)); // Equip {4} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(4), false)); diff --git a/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java b/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java index 52cad886320..4542fe7a200 100644 --- a/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java +++ b/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java @@ -13,6 +13,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.token.ZombieToken; import mage.players.Player; @@ -38,7 +39,8 @@ public final class UnscytheKillerOfKings extends CardImpl { this.addAbility(ability); // Whenever a creature dealt damage by equipped creature this turn dies, you may exile that card. If you do, create a 2/2 black Zombie creature token. - this.addAbility(new DealtDamageAttachedAndDiedTriggeredAbility(new UnscytheEffect(), true)); + this.addAbility(new DealtDamageAttachedAndDiedTriggeredAbility(new UnscytheEffect(), true, + StaticFilters.FILTER_PERMANENT_CREATURE, SetTargetPointer.CARD, AttachmentType.EQUIPMENT)); // Equip {2} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); diff --git a/Mage/src/main/java/mage/abilities/common/DealtDamageAttachedAndDiedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealtDamageAttachedAndDiedTriggeredAbility.java index 04a36d16338..c7142e68b45 100644 --- a/Mage/src/main/java/mage/abilities/common/DealtDamageAttachedAndDiedTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DealtDamageAttachedAndDiedTriggeredAbility.java @@ -7,7 +7,6 @@ import mage.abilities.effects.Effect; import mage.constants.AttachmentType; import mage.constants.SetTargetPointer; import mage.constants.Zone; -import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.game.events.GameEvent; @@ -21,10 +20,6 @@ public class DealtDamageAttachedAndDiedTriggeredAbility extends TriggeredAbility private final FilterCreaturePermanent filter; private final SetTargetPointer setTargetPointer; - public DealtDamageAttachedAndDiedTriggeredAbility(Effect effect, boolean optional) { - this(effect, optional, StaticFilters.FILTER_PERMANENT_CREATURE, SetTargetPointer.PERMANENT, AttachmentType.EQUIPMENT); - } - public DealtDamageAttachedAndDiedTriggeredAbility(Effect effect, boolean optional, FilterCreaturePermanent filter, SetTargetPointer setTargetPointer, AttachmentType attachmentType) { super(Zone.ALL, effect, optional); @@ -72,8 +67,17 @@ public class DealtDamageAttachedAndDiedTriggeredAbility extends TriggeredAbility })) { return false; } - if (this.setTargetPointer == SetTargetPointer.PERMANENT) { - getEffects().setTargetPointer(new FixedTarget(event.getTargetId(), game)); + switch (setTargetPointer) { + case PERMANENT: + getEffects().setTargetPointer(new FixedTarget(creatureMOR)); + break; + case CARD: + getEffects().setTargetPointer(new FixedTarget(event.getTargetId(), game)); + break; + case NONE: + break; + default: + throw new IllegalArgumentException("Unsupported setTargetPointer value in DealtDamageAttachedAndDiedTriggeredAbility"); } return true; }