From 6c98f4802eedca585176b3330bd925e5e1630717 Mon Sep 17 00:00:00 2001 From: L_J Date: Sat, 31 Mar 2018 00:06:44 +0000 Subject: [PATCH] Fix for Cabal Slaver Cabal Slaver's ability caused the damaging goblin's controller to discard --- .../DealsDamageToAPlayerAllTriggeredAbility.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAllTriggeredAbility.java index 4dcca733cda..aa57b85dc1c 100644 --- a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAllTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAllTriggeredAbility.java @@ -47,12 +47,18 @@ public class DealsDamageToAPlayerAllTriggeredAbility extends TriggeredAbilityImp private final FilterPermanent filter; private final SetTargetPointer setTargetPointer; private final boolean onlyCombat; + private final boolean affectsDefendingPlayer; public DealsDamageToAPlayerAllTriggeredAbility(Effect effect, FilterPermanent filter, boolean optional, SetTargetPointer setTargetPointer, boolean onlyCombat) { + this(effect, filter, optional, setTargetPointer, onlyCombat, false); + } + + public DealsDamageToAPlayerAllTriggeredAbility(Effect effect, FilterPermanent filter, boolean optional, SetTargetPointer setTargetPointer, boolean onlyCombat, boolean affectsDefendingPlayer) { super(Zone.BATTLEFIELD, effect, optional); this.setTargetPointer = setTargetPointer; this.filter = filter; this.onlyCombat = onlyCombat; + this.affectsDefendingPlayer = affectsDefendingPlayer; } public DealsDamageToAPlayerAllTriggeredAbility(final DealsDamageToAPlayerAllTriggeredAbility ability) { @@ -60,6 +66,7 @@ public class DealsDamageToAPlayerAllTriggeredAbility extends TriggeredAbilityImp this.setTargetPointer = ability.setTargetPointer; this.filter = ability.filter; this.onlyCombat = ability.onlyCombat; + this.affectsDefendingPlayer = ability.affectsDefendingPlayer; } @Override @@ -81,6 +88,10 @@ public class DealsDamageToAPlayerAllTriggeredAbility extends TriggeredAbilityImp for (Effect effect : this.getEffects()) { effect.setValue("damage", event.getAmount()); effect.setValue("sourceId", event.getSourceId()); + if (affectsDefendingPlayer) { + effect.setTargetPointer(new FixedTarget(event.getTargetId())); + continue; + } switch (setTargetPointer) { case PLAYER: effect.setTargetPointer(new FixedTarget(permanent.getControllerId()));