Restrict Deck Editor cards

- fix duplicate cards
This commit is contained in:
Anthony Calosa
2021-03-28 17:55:23 +08:00
parent 0662d44a86
commit 163d95800b
8 changed files with 48 additions and 26 deletions

View File

@@ -82,7 +82,7 @@ public final class CEditorCommander extends CDeckEditor<Deck> {
allSections.add(DeckSection.Sideboard);
allSections.add(DeckSection.Commander);
CardDb commonCards = FModel.getMagicDb().getCommonCards();
CardDb commonCards = FModel.getMagicDb().getCommonCards(false);
if (gameType == GameType.Brawl){
GameFormat format = FModel.getFormats().get("Brawl");
Predicate<CardRules> commanderFilter = CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER;

View File

@@ -93,7 +93,7 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
allSections.add(DeckSection.Planes);
allSections.add(DeckSection.Conspiracy);
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class);
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).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);
@@ -104,8 +104,8 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
allSections.add(DeckSection.Commander);
commanderFilter = CardRulesPredicates.Presets.CAN_BE_COMMANDER;
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class);
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), PaperCard.class);
wantUnique = true;
break;
@@ -113,8 +113,8 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
allSections.add(DeckSection.Commander);
commanderFilter = CardRulesPredicates.Presets.CAN_BE_TINY_LEADERS_COMMANDER;
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class);
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), PaperCard.class);
wantUnique = true;
break;
@@ -122,8 +122,8 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
allSections.add(DeckSection.Commander);
commanderFilter = Predicates.or(CardRulesPredicates.Presets.CAN_BE_OATHBREAKER, CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL);
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class);
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), PaperCard.class);
wantUnique = true;
break;
@@ -131,7 +131,7 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
allSections.add(DeckSection.Commander);
commanderFilter = CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER;
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(Predicates.and(
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(Predicates.and(
FModel.getFormats().get("Brawl").getFilterPrinted(), Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES))), PaperCard.class);
normalPool = ItemPool.createFrom(FModel.getFormats().get("Brawl").getAllCards(), PaperCard.class);

View File

@@ -80,7 +80,7 @@ public final class CEditorQuestCardShop extends ACEditorBase<InventoryItem, Deck
private ItemPool<InventoryItem> cardsForSale;
private final ItemPool<InventoryItem> fullCatalogCards =
ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), InventoryItem.class);
ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), InventoryItem.class);
private boolean showingFullCatalog = false;
private DragCell allDecksParent = null;
private DragCell deckGenParent = null;

View File

@@ -41,7 +41,7 @@ public enum VWorkshopCatalog implements IVDoc<CWorkshopCatalog> {
VWorkshopCatalog() {
this.cardManager = new CardManager(cDetailPicture, true, false);
this.cardManager.setCaption(localizer.getMessage("lblCatalog"));
final Iterable<PaperCard> allCards = Iterables.concat(FModel.getMagicDb().getCommonCards(), FModel.getMagicDb().getVariantCards());
final Iterable<PaperCard> allCards = Iterables.concat(FModel.getMagicDb().getCommonCards(false), FModel.getMagicDb().getVariantCards());
this.cardManager.setPool(ItemPool.createFrom(allCards, PaperCard.class), true);
this.cardManagerContainer.setItemManager(this.cardManager);

View File

@@ -316,10 +316,12 @@ public enum CardZoomer {
* Can simply rotate current card image in situ to get same effect.
*/
private void toggleFlipCard() {
isInAltState = !isInAltState;
thisCard = thisCard.getCard().getState(isInAltState);
imagePanel.setRotation(thisCard.getCard().isFlipCard() && isInAltState ? 180 : 0);
setImage();
try { //prevent NPE trying to view card without alternate
isInAltState = !isInAltState;
thisCard = thisCard.getCard().getState(isInAltState);
imagePanel.setRotation(thisCard.getCard().isFlipCard() && isInAltState ? 180 : 0);
setImage();
} catch (Exception e){}
}
/**