From 5c1f41f3a75acd505f1e61792fab33bd7ef2a996 Mon Sep 17 00:00:00 2001 From: Jeff Date: Fri, 15 Mar 2019 10:01:02 -0500 Subject: [PATCH] - First steps towards fixing Phased/Phased indirectly permanents. --- .../effects/common/DestroySourceEffect.java | 4 +++- .../effects/common/DestroyTargetEffect.java | 12 +++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/effects/common/DestroySourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DestroySourceEffect.java index 1c2262f4149..6ce1a75c8c4 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DestroySourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DestroySourceEffect.java @@ -38,7 +38,9 @@ public class DestroySourceEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Permanent permanent = source.getSourcePermanentIfItStillExists(game); - if (permanent != null) { + if (permanent != null + && permanent.isPhasedIn() + && !permanent.isPhasedOutIndirectly()) { permanent.destroy(source.getSourceId(), game, noRegen); return true; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/DestroyTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DestroyTargetEffect.java index e1deaeef672..6ac8f7ab1c1 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DestroyTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DestroyTargetEffect.java @@ -58,11 +58,15 @@ public class DestroyTargetEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { int affectedTargets = 0; - if (multitargetHandling && source.getTargets().size() > 1 && targetPointer instanceof FirstTargetPointer) { // Decimate + if (multitargetHandling + && source.getTargets().size() > 1 + && targetPointer instanceof FirstTargetPointer) { // Decimate for (Target target : source.getTargets()) { for (UUID permanentId : target.getTargets()) { Permanent permanent = game.getPermanent(permanentId); - if (permanent != null) { + if (permanent != null + && permanent.isPhasedIn() + && !permanent.isPhasedOutIndirectly()) { permanent.destroy(source.getSourceId(), game, noRegen); affectedTargets++; } @@ -71,7 +75,9 @@ public class DestroyTargetEffect extends OneShotEffect { } else { for (UUID permanentId : targetPointer.getTargets(game, source)) { Permanent permanent = game.getPermanent(permanentId); - if (permanent != null) { + if (permanent != null + && permanent.isPhasedIn() + && !permanent.isPhasedOutIndirectly()) { permanent.destroy(source.getSourceId(), game, noRegen); affectedTargets++; }