From 29646ca05ff28ddc5aadd9f03d0e484cb91ba4d5 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Thu, 12 Jan 2017 19:22:13 +0000 Subject: [PATCH] PlayerPredicates: add counter Predicates from CardPredicates, probably might do a base class for that --- .../forge/game/player/PlayerPredicates.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/forge-game/src/main/java/forge/game/player/PlayerPredicates.java b/forge-game/src/main/java/forge/game/player/PlayerPredicates.java index 36375849a15..0999c1d90bf 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerPredicates.java +++ b/forge-game/src/main/java/forge/game/player/PlayerPredicates.java @@ -7,6 +7,7 @@ import com.google.common.base.Predicates; import forge.game.card.Card; import forge.game.card.CardLists; +import forge.game.card.CounterType; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; @@ -43,6 +44,29 @@ public final class PlayerPredicates { return Predicates.not(isCardInPlay(cardName)); } + + public static final Predicate hasCounters() { + return new Predicate() { + @Override + public boolean apply(final Player p) { + return p.hasCounters(); + } + }; + } + + public static final Predicate hasCounter(final CounterType type) { + return hasCounter(type, 1); + } + + public static final Predicate hasCounter(final CounterType type, final int n) { + return new Predicate() { + @Override + public boolean apply(final Player p) { + return p.getCounters(type) >= n; + } + }; + } + public static final Comparator compareByZoneSize(final ZoneType zone) { return new Comparator() { @Override