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); } }