From e5117a967d8f5674fc7c9331cdb482973eaad92f Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 15 Jul 2016 18:14:38 +0200 Subject: [PATCH] * Mirrorwing Dragon - Fixed wrong target handling. --- Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java | 5 +++++ .../effects/common/CopySpellForEachItCouldTargetEffect.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java b/Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java index b8e02388b7d..7042247e829 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java @@ -108,7 +108,9 @@ class MirrorwingDragonCopyTriggeredAbility extends TriggeredAbilityImpl { private boolean checkSpell(Spell spell, Game game) { if (spell != null && (spell.getCardType().contains(CardType.INSTANT) || spell.getCardType().contains(CardType.SORCERY))) { + boolean noTargets = true; for (TargetAddress addr : TargetAddress.walk(spell)) { + noTargets = false; Target targetInstance = addr.getTarget(spell); for (UUID target : targetInstance.getTargets()) { Permanent permanent = game.getPermanent(target); @@ -117,6 +119,9 @@ class MirrorwingDragonCopyTriggeredAbility extends TriggeredAbilityImpl { } } } + if (noTargets) { + return false; + } getEffects().get(0).setValue("triggeringSpell", spell); return true; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java index 543a4070865..f72cb9d8bdf 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java @@ -122,7 +122,7 @@ public abstract class CopySpellForEachItCouldTargetEffect ex copy = spell.copySpell(source.getControllerId()); try { modifyCopy(copy, (T) obj, game, source); - if (!filter.match((T) obj, game)) { + if (!filter.match((T) obj, source.getSourceId(), actingPlayer.getId(), game)) { continue; } } catch (ClassCastException e) {