From 364845ab4ea4ba86a095a36b8fae7133ccd47aa6 Mon Sep 17 00:00:00 2001 From: tool4ever Date: Mon, 27 Oct 2025 20:25:41 +0100 Subject: [PATCH] Fix Rock Hydra crash (#9011) --- .../forge/game/ability/effects/CountersRemoveEffect.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java index 41b4c840054..12406970c4d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java @@ -3,6 +3,7 @@ package forge.game.ability.effects; import java.util.Map; import forge.game.card.*; +import forge.game.replacement.ReplacementType; import org.apache.commons.lang3.tuple.Pair; import com.google.common.collect.ImmutableList; @@ -105,12 +106,11 @@ public class CountersRemoveEffect extends SpellAbilityEffect { if (sa.hasParam("Choices")) { ZoneType choiceZone = sa.hasParam("ChoiceZone") ? ZoneType.smartValueOf(sa.getParam("ChoiceZone")) : ZoneType.Battlefield; - srcCards = CardLists.getValidCards(game.getCardsIn(choiceZone), sa.getParam("Choices"), - activator, source, sa); + srcCards = CardLists.getValidCards(game.getCardsIn(choiceZone), sa.getParam("Choices"), activator, source, sa); } else { srcCards = getTargetCards(sa); } - if (sa.isReplacementAbility()) { + if (sa.isReplacementAbility() && sa.getReplacementEffect().getMode() == ReplacementType.Moved) { srcCards = new CardCollection(srcCards).filter(c -> !c.isInPlay() || sa.getLastStateBattlefield().contains(c)); }