From 1c4640d69b4d555e0b0ac290e8c5035965a27931 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Wed, 7 Apr 2021 22:11:47 +0200 Subject: [PATCH] Fix NoAbilities failing for basic land types --- forge-game/src/main/java/forge/game/card/Card.java | 9 +++++++++ .../src/main/java/forge/game/card/CardProperty.java | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index b5f86b5caf9..b7c6addc2d0 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -2731,6 +2731,15 @@ public class Card extends GameEntity implements Comparable, IHasSVars { return false; } + public boolean hasRemoveAll() { + for (final CardTraitChanges ck : changedCardTraits.values()) { + if (ck.isRemoveAll()) { + return true; + } + } + return false; + } + public void updateSpellAbilities(List list, CardState state, Boolean mana) { if (hasRemoveIntrinsic()) { list.clear(); diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 7574e09b340..718a4c0ce7a 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1749,7 +1749,8 @@ public class CardProperty { return false; } } else if (property.equals("NoAbilities")) { - if (!((card.getAbilityText().trim().equals("") || card.isFaceDown()) && (card.getUnhiddenKeywords().isEmpty()))) { + // basic land types have no ability text, so need extra check + if (!((card.getAbilityText().trim().equals("") || card.isFaceDown()) && (!card.isLand() || card.hasRemoveAll()) && card.getUnhiddenKeywords().isEmpty())) { return false; } } else if (property.equals("HasCounters")) {