From 58739cf2d6ab35fe7c69921ee9a08ac68c5b7aee Mon Sep 17 00:00:00 2001 From: Jeff Wadsworth Date: Wed, 10 Jan 2024 17:24:42 -0600 Subject: [PATCH] Fixed #11623 --- Mage.Client/pom.xml | 3 +++ Mage.Sets/src/mage/cards/h/HealingGrace.java | 8 +++++++- .../PreventAllDamageFromChosenSourceToYouEffect.java | 9 +++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Mage.Client/pom.xml b/Mage.Client/pom.xml index 1fe29e95f4e..4376ee79de0 100644 --- a/Mage.Client/pom.xml +++ b/Mage.Client/pom.xml @@ -180,6 +180,9 @@ org.apache.maven.plugins maven-compiler-plugin + + false + org.apache.maven.plugins diff --git a/Mage.Sets/src/mage/cards/h/HealingGrace.java b/Mage.Sets/src/mage/cards/h/HealingGrace.java index 08628850ab9..d9520df8041 100644 --- a/Mage.Sets/src/mage/cards/h/HealingGrace.java +++ b/Mage.Sets/src/mage/cards/h/HealingGrace.java @@ -63,6 +63,10 @@ class HealingGraceEffect extends PreventionEffectImpl { @Override public void init(Ability source, Game game) { this.targetSource.choose(Outcome.PreventDamage, source.getControllerId(), source.getSourceId(), source, game); + // be sure to note the target source's zcc, etc, if able. + if (targetSource.getFirstTarget() != null) { + this.targetSource.updateTarget(targetSource.getFirstTarget(), game); + } } @Override @@ -74,7 +78,9 @@ class HealingGraceEffect extends PreventionEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { if (super.applies(event, source, game)) { - if (event.getTargetId().equals(source.getFirstTarget()) && event.getSourceId().equals(targetSource.getFirstTarget())) { + if (event.getTargetId().equals(source.getFirstTarget()) + && event.getSourceId().equals(targetSource.getFirstTarget()) + && targetSource.isLegal(source, game)) { // source is blinked, becomes a new object, etc.) { return true; } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageFromChosenSourceToYouEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageFromChosenSourceToYouEffect.java index 4228b047194..e8ae3485aff 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageFromChosenSourceToYouEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageFromChosenSourceToYouEffect.java @@ -1,4 +1,3 @@ - package mage.abilities.effects.common; import mage.abilities.Ability; @@ -44,6 +43,10 @@ public class PreventAllDamageFromChosenSourceToYouEffect extends PreventionEffec @Override public void init(Ability source, Game game) { this.targetSource.choose(Outcome.PreventDamage, source.getControllerId(), source.getSourceId(), source, game); + // be sure to note the target source's zcc, etc, if able. + if (targetSource.getFirstTarget() != null) { + this.targetSource.updateTarget(targetSource.getFirstTarget(), game); + } } @Override @@ -55,7 +58,9 @@ public class PreventAllDamageFromChosenSourceToYouEffect extends PreventionEffec @Override public boolean applies(GameEvent event, Ability source, Game game) { if (super.applies(event, source, game)) { - if (event.getTargetId().equals(source.getControllerId()) && event.getSourceId().equals(targetSource.getFirstTarget())) { + if (event.getTargetId().equals(source.getControllerId()) + && event.getSourceId().equals(targetSource.getFirstTarget()) + && targetSource.isLegal(source, game)) { // source is blinked, becomes a new object, etc. return true; } }