From 980318ca7f4182f81c357a27bf02b97c80d19dc1 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Sat, 27 Jan 2024 19:20:12 +0100 Subject: [PATCH] DestroyEffect: use Cause if able (#4545) --- .../java/forge/game/ability/effects/DestroyEffect.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java index 0c8567c3738..bcb77596b40 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java @@ -101,10 +101,15 @@ public class DestroyEffect extends SpellAbilityEffect { boolean destroyed = false; final Card lki = sa.hasParam("RememberLKI") ? CardUtil.getLKICopy(gameCard, cachedMap) : null; + SpellAbility cause = sa; + if (sa.isReplacementAbility()) { + cause = (SpellAbility) sa.getReplacingObject(AbilityKey.Cause); + } + if (sac) { - destroyed = game.getAction().sacrifice(gameCard, sa, true, params) != null; + destroyed = game.getAction().sacrifice(gameCard, cause, true, params) != null; } else { - destroyed = game.getAction().destroy(gameCard, sa, !noRegen, params); + destroyed = game.getAction().destroy(gameCard, cause, !noRegen, params); } if (destroyed && remDestroyed) { card.addRemembered(gameCard);