From 9b8020bb30d140a69e14f8eafa0b9caae91185fb Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Thu, 18 Sep 2025 21:01:42 +0200 Subject: [PATCH] Fix copied SA using old replacingObjects --- .../forge/game/ability/effects/SacrificeEffect.java | 11 +++++------ .../java/forge/game/spellability/SpellAbility.java | 3 +++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java index 313261f7459..4fe536aae8f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java @@ -92,12 +92,11 @@ public class SacrificeEffect extends SpellAbilityEffect { CardZoneTable zoneMovements = AbilityKey.addCardZoneTableParams(params, sa); if (valid.equals("Self") && game.getZoneOf(host) != null) { - if (host.getController().equals(activator) && game.getZoneOf(host).is(ZoneType.Battlefield)) { - if (!optional || activator.getController().confirmAction(sa, null, - Localizer.getInstance().getMessage("lblDoYouWantSacrificeThis", host.getName()), null)) { - if (game.getAction().sacrifice(new CardCollection(host), sa, true, params) != null && remSacrificed) { - host.addRemembered(host); - } + if (host.getController().equals(activator) && game.getZoneOf(host).is(ZoneType.Battlefield) && + (!optional || activator.getController().confirmAction(sa, null, + Localizer.getInstance().getMessage("lblDoYouWantSacrificeThis", host.getName()), null))) { + if (game.getAction().sacrifice(new CardCollection(host), sa, true, params) != null && remSacrificed) { + host.addRemembered(host); } } } else { diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index 399e6ebee96..2f91be78f11 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -1248,6 +1248,9 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit clone.mayChooseNewTargets = false; clone.triggeringObjects = AbilityKey.newMap(this.triggeringObjects); + if (!lki) { + clone.replacingObjects = AbilityKey.newMap(); + } clone.setPayCosts(getPayCosts().copy()); if (manaPart != null) {