diff --git a/Mage.Sets/src/mage/cards/t/ToxinSliver.java b/Mage.Sets/src/mage/cards/t/ToxinSliver.java
index 36cfe08f38b..a8259c7ea57 100644
--- a/Mage.Sets/src/mage/cards/t/ToxinSliver.java
+++ b/Mage.Sets/src/mage/cards/t/ToxinSliver.java
@@ -45,7 +45,7 @@ import mage.filter.common.FilterCreaturePermanent;
public class ToxinSliver extends CardImpl {
public ToxinSliver(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
this.subtype.add(SubType.SLIVER);
this.power = new MageInt(3);
@@ -53,9 +53,9 @@ public class ToxinSliver extends CardImpl {
// Whenever a Sliver deals combat damage to a creature, destroy that creature. It can't be regenerated.
this.addAbility(new DealsDamageToACreatureAllTriggeredAbility(
- new DestroyTargetEffect(true), false,
- new FilterCreaturePermanent(SubType.SLIVER,"a Sliver"),
- SetTargetPointer.PERMANENT, true));
+ new DestroyTargetEffect(true), false,
+ new FilterCreaturePermanent(SubType.SLIVER, "a Sliver"),
+ SetTargetPointer.PERMANENT_TARGET, true));
}
diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ZurTheEnchanterTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ZurTheEnchanterTest.java
index d5462cb059e..b291d73332e 100644
--- a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ZurTheEnchanterTest.java
+++ b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ZurTheEnchanterTest.java
@@ -66,7 +66,7 @@ public class ZurTheEnchanterTest extends CardTestPlayerBase {
addCard(Zone.HAND, playerB, "Diplomatic Immunity"); // {1}{U}
// Enchant creature
// Enchanted creature gets +1/+1 for each card in your hand.
- addCard(Zone.LIBRARY, playerB, "Empyrial Armor");
+ addCard(Zone.LIBRARY, playerB, "Empyrial Armor", 2);
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Diplomatic Immunity", "Zur the Enchanter");
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAllTriggeredAbility.java
index ee6215d7396..87f28e4dfc5 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAllTriggeredAbility.java
@@ -19,14 +19,29 @@ import mage.target.targetpointer.FixedTarget;
/**
*
- * @author Ludwig.Hirth
+ * @author LevelX2
*/
public class DealsDamageToACreatureAllTriggeredAbility extends TriggeredAbilityImpl {
private final boolean combatDamageOnly;
private final FilterPermanent filterPermanent;
private final SetTargetPointer setTargetPointer;
-
+
+ /**
+ * This ability works only for permanents doing damage.
+ *
+ * @param effect
+ * @param optional
+ * @param filterPermanent The filter that restricts which permanets have to
+ * trigger
+ * @param setTargetPointer The target to be set to target pointer of the
+ * effect.
+ * - PLAYER = player controlling the damage source.
+ * - PERMANENT = source permanent.
+ * - PERMANENT_TARGET = damaged creature.
+ * @param combatDamageOnly The flag to determine if only combat damage has
+ * to trigger
+ */
public DealsDamageToACreatureAllTriggeredAbility(Effect effect, boolean optional, FilterPermanent filterPermanent, SetTargetPointer setTargetPointer, boolean combatDamageOnly) {
super(Zone.BATTLEFIELD, effect, optional);
this.combatDamageOnly = combatDamageOnly;
@@ -64,7 +79,13 @@ public class DealsDamageToACreatureAllTriggeredAbility extends TriggeredAbilityI
effect.setTargetPointer(new FixedTarget(permanent.getControllerId()));
break;
case PERMANENT:
- effect.setTargetPointer(new FixedTarget(permanent.getId(), permanent.getZoneChangeCounter(game)));
+ effect.setTargetPointer(new FixedTarget(permanent, game));
+ break;
+ case PERMANENT_TARGET:
+ Permanent permanent_target = game.getPermanentOrLKIBattlefield(event.getTargetId());
+ if (permanent_target != null) {
+ effect.setTargetPointer(new FixedTarget(permanent_target, game));
+ }
break;
}
@@ -77,7 +98,7 @@ public class DealsDamageToACreatureAllTriggeredAbility extends TriggeredAbilityI
@Override
public String getRule() {
- return "Whenever " + filterPermanent.getMessage() + " deals "
- + (combatDamageOnly ? "combat ":"") + "damage to a creature, " + super.getRule();
+ return "Whenever " + filterPermanent.getMessage() + " deals "
+ + (combatDamageOnly ? "combat " : "") + "damage to a creature, " + super.getRule();
}
-}
\ No newline at end of file
+}
diff --git a/Mage/src/main/java/mage/constants/SetTargetPointer.java b/Mage/src/main/java/mage/constants/SetTargetPointer.java
index 04c3afb9245..edb71ab241c 100644
--- a/Mage/src/main/java/mage/constants/SetTargetPointer.java
+++ b/Mage/src/main/java/mage/constants/SetTargetPointer.java
@@ -33,5 +33,11 @@ package mage.constants;
*/
public enum SetTargetPointer {
- NONE, PLAYER, SPELL, CARD, PERMANENT, ATTACHED_TO_CONTROLLER
+ NONE,
+ PLAYER,
+ SPELL,
+ CARD,
+ PERMANENT,
+ PERMANENT_TARGET,
+ ATTACHED_TO_CONTROLLER
}