diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java b/Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java index 7042247e829..5647c1e18bb 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/MirrorwingDragon.java @@ -172,6 +172,17 @@ class MirrorwingDragonCopySpellEffect extends CopySpellForEachItCouldTargetEffec @Override protected void modifyCopy(Spell copy, Game game, Ability source) { + Spell spell = getSpell(game, source); + copy.setControllerId(spell.getControllerId()); + } + + @Override + protected boolean okUUIDToCopyFor(UUID potentialTarget, Game game, Ability source, Spell spell) { + Permanent permanent = game.getPermanent(potentialTarget); + if (permanent == null || !permanent.getControllerId().equals(spell.getControllerId())) { + return false; + } + return true; } @Override 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 f72cb9d8bdf..2e5c0cd6d45 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java @@ -82,6 +82,10 @@ public abstract class CopySpellForEachItCouldTargetEffect ex modifyCopy(copy, game, source); } + protected boolean okUUIDToCopyFor(UUID potentialTarget, Game game, Ability source, Spell spell) { + return true; + } + @Override public boolean apply(Game game, Ability source) { Player actingPlayer = getPlayer(game, source); @@ -146,6 +150,7 @@ public abstract class CopySpellForEachItCouldTargetEffect ex } } + legal &= okUUIDToCopyFor(objId, game, source, spell); if (legal) { for (TargetAddress addr : targetsToBeChanged) { Target targetInstance = addr.getTarget(copy);