Ability refactor: new code to search abilities in cards and permanents;

This commit is contained in:
Oleg Agafonov 2020-05-28 22:34:27 +04:00
parent 978118148b
commit 8af43dc13a
31 changed files with 85 additions and 47 deletions

View file

@ -27,10 +27,10 @@ public enum SuspendedCondition implements Condition {
public boolean apply(Game game, Ability source) {
Card card = game.getCard(source.getSourceId());
if (card != null) {
boolean found = card.getAbilities().stream().anyMatch(ability -> ability instanceof SuspendAbility);
boolean found = card.getAbilities(game).containsClass(SuspendAbility.class);
if (!found) {
found = game.getState().getAllOtherAbilities(source.getSourceId()).stream().anyMatch(ability -> ability instanceof SuspendAbility);
found = game.getState().getAllOtherAbilities(source.getSourceId()).containsClass(SuspendAbility.class);
}
if (found) {