diff --git a/forge-core/src/main/java/forge/card/CardRulesPredicates.java b/forge-core/src/main/java/forge/card/CardRulesPredicates.java index 5a5f9045bd0..a40fe98b649 100644 --- a/forge-core/src/main/java/forge/card/CardRulesPredicates.java +++ b/forge-core/src/main/java/forge/card/CardRulesPredicates.java @@ -511,6 +511,7 @@ public final class CardRulesPredicates { public static final Predicate IS_PLANE_OR_PHENOMENON = Predicates.or(IS_PLANE, IS_PHENOMENON); public static final Predicate IS_SCHEME = CardRulesPredicates.coreType(true, CardType.CoreType.Scheme); public static final Predicate IS_VANGUARD = CardRulesPredicates.coreType(true, CardType.CoreType.Vanguard); + public static final Predicate IS_CONSPIRACY = CardRulesPredicates.coreType(true, CardType.CoreType.Conspiracy); public static final Predicate IS_NON_LAND = CardRulesPredicates.coreType(false, CardType.CoreType.Land); public static final Predicate IS_NON_CREATURE_SPELL = Predicates.not(Predicates.or(Presets.IS_CREATURE, Presets.IS_LAND)); public static final Predicate CAN_BE_COMMANDER = Predicates.or(CardRulesPredicates.rules(StringOp.CONTAINS_IC, "can be your commander"), diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java index 2d27cd65207..4eff573a62d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java @@ -50,7 +50,7 @@ import java.util.Map.Entry; public final class CEditorConstructed extends ACEditorBase { private final DeckController controller; private final List allSections = new ArrayList(); - private final ItemPool normalPool, avatarPool, planePool, schemePool; + private final ItemPool normalPool, avatarPool, planePool, schemePool, conspiracyPool; //=========== Constructor /** @@ -66,11 +66,13 @@ public final class CEditorConstructed extends ACEditorBase { allSections.add(DeckSection.Avatar); allSections.add(DeckSection.Schemes); allSections.add(DeckSection.Planes); + allSections.add(DeckSection.Conspiracy); normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class); avatarPool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_VANGUARD, PaperCard.FN_GET_RULES)), PaperCard.class); planePool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_PLANE_OR_PHENOMENON, PaperCard.FN_GET_RULES)), PaperCard.class); schemePool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_SCHEME, PaperCard.FN_GET_RULES)), PaperCard.class); + conspiracyPool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_CONSPIRACY, PaperCard.FN_GET_RULES)), PaperCard.class); CardManager catalogManager = new CardManager(false); // TODO: restore the functionality of the "want uniques only" toggle CardManager deckManager = new CardManager(false); // IMPORTANT: must *always* show all cards in the deck, otherwise cards with different art get ignored! @@ -310,7 +312,9 @@ public final class CEditorConstructed extends ACEditorBase { case Commander: break; //do nothing for Commander here case Conspiracy: - break; //do nothing for conspiracy here + this.getCatalogManager().setup(ItemManagerConfig.CONSPIRACY_DECKS); + this.getCatalogManager().setPool(conspiracyPool,true); + this.getDeckManager().setPool(this.controller.getModel().getOrCreate(DeckSection.Conspiracy)); } this.controller.updateCaptions(); diff --git a/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java b/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java index 669d4f4ba1f..a4ada5e8102 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java +++ b/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java @@ -46,6 +46,8 @@ public enum ItemManagerConfig { null, null, 4, 0), SCHEME_POOL(SColumnUtil.getSpecialCardPoolDefaultColumns(), true, false, true, null, null, 4, 0), + CONSPIRACY_DECKS(SColumnUtil.getSpecialCardPoolDefaultColumns(), true, false, true, + null, null, 4, 0), SCHEME_DECK_EDITOR(SColumnUtil.getCatalogDefaultColumns(true), true, false, true, null, null, 4, 0), PLANAR_POOL(SColumnUtil.getSpecialCardPoolDefaultColumns(), true, false, true,