From d66c0f2d6150733915628eeba6c8c52056db2bdf Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 9 Aug 2017 09:55:25 +0000 Subject: [PATCH] - Fixed AF DestroyAll destroying cards that can't be destroyed in case those cards were granted indestructibility by another card that is destroyed first (e.g. Crested Sunmare + horse tokens and an attempted removal via a Wrath of God type effect). --- .../forge/game/ability/effects/DestroyAllEffect.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DestroyAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DestroyAllEffect.java index 1483a7b182d..0a5949de874 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DestroyAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DestroyAllEffect.java @@ -1,5 +1,6 @@ package forge.game.ability.effects; +import com.google.common.base.Predicate; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -69,6 +70,14 @@ public class DestroyAllEffect extends SpellAbilityEffect { card.clearRemembered(); } + // exclude cards that can't be destroyed at this moment + list = CardLists.filter(list, new Predicate() { + @Override + public boolean apply(Card card) { + return card.canBeDestroyed(); + } + }); + if (noRegen) { for (Card c : list) { if (game.getAction().destroyNoRegeneration(c, sa) && remDestroyed) {