Fix NoAbilities failing for basic land types

This commit is contained in:
tool4EvEr
2021-04-07 22:11:47 +02:00
parent 3aff3c51a8
commit 1c4640d69b
2 changed files with 11 additions and 1 deletions

View File

@@ -2731,6 +2731,15 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
return false;
}
public boolean hasRemoveAll() {
for (final CardTraitChanges ck : changedCardTraits.values()) {
if (ck.isRemoveAll()) {
return true;
}
}
return false;
}
public void updateSpellAbilities(List<SpellAbility> list, CardState state, Boolean mana) {
if (hasRemoveIntrinsic()) {
list.clear();

View File

@@ -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")) {