From e031ac8176374f61d524a4b37e48bcff73fdcab4 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Sun, 27 May 2018 15:52:18 +0200 Subject: [PATCH] PartnerWith: extended DeckFormat Predicate --- .../src/main/java/forge/card/CardRulesPredicates.java | 6 ++++++ forge-core/src/main/java/forge/deck/DeckFormat.java | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/forge-core/src/main/java/forge/card/CardRulesPredicates.java b/forge-core/src/main/java/forge/card/CardRulesPredicates.java index b47eb9ae67e..dba9ccad197 100644 --- a/forge-core/src/main/java/forge/card/CardRulesPredicates.java +++ b/forge-core/src/main/java/forge/card/CardRulesPredicates.java @@ -563,6 +563,12 @@ public final class CardRulesPredicates { return subject.canBeCommander(); } }; + public static final Predicate CAN_BE_PARTNER_COMMANDER = new Predicate() { + @Override + public boolean apply(final CardRules subject) { + return subject.canBePartnerCommander(); + } + }; public static final Predicate IS_PLANESWALKER = CardRulesPredicates.coreType(true, CardType.CoreType.Planeswalker); public static final Predicate IS_INSTANT = CardRulesPredicates.coreType(true, CardType.CoreType.Instant); diff --git a/forge-core/src/main/java/forge/deck/DeckFormat.java b/forge-core/src/main/java/forge/deck/DeckFormat.java index f4afb99c0ad..131b4360e42 100644 --- a/forge-core/src/main/java/forge/deck/DeckFormat.java +++ b/forge-core/src/main/java/forge/deck/DeckFormat.java @@ -513,6 +513,8 @@ public enum DeckFormat { for (final PaperCard p : commanders) { cmdCI |= p.getRules().getColorIdentity().getColor(); } - return Predicates.compose(Predicates.or(CardRulesPredicates.hasColorIdentity(cmdCI), CardRulesPredicates.hasKeyword("Partner")), PaperCard.FN_GET_RULES); + // TODO : check commander what kind of Partner it needs + return Predicates.compose(Predicates.or(CardRulesPredicates.hasColorIdentity(cmdCI), + CardRulesPredicates.Presets.CAN_BE_PARTNER_COMMANDER), PaperCard.FN_GET_RULES); } }