From d227da0c10cd095668d064acb506f0f0db12c49e Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sun, 25 Apr 2021 11:49:05 +0800 Subject: [PATCH] refactor getStartingPlaneswalkerOptions --- forge-core/src/main/java/forge/card/CardDb.java | 15 +++++++++++++++ .../gamemodes/planarconquest/ConquestUtil.java | 7 +------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index 0e274d60d00..72a2d263376 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -628,6 +628,21 @@ public final class CardDb implements ICardDatabase, IDeckGenPool { })); } + public Collection getAllNonPromosNonReprintsNoAlt() { + return Lists.newArrayList(Iterables.filter(getAllCardsNoAlt(), new Predicate() { + @Override + public boolean apply(final PaperCard paperCard) { + CardEdition edition = null; + try { + edition = editions.getEditionByCodeOrThrow(paperCard.getEdition()); + } catch (Exception ex) { + return false; + } + return edition != null && (edition.getType() != Type.PROMOS||edition.getType() != Type.REPRINT); + } + })); + } + public String getName(final String cardName) { if (alternateName.containsKey(cardName)) { return alternateName.get(cardName); diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java index b3f7cb03778..1dd15bb9c25 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java @@ -12,7 +12,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import forge.card.CardEdition; import forge.card.CardRarity; import forge.card.CardRules; import forge.card.CardType; @@ -187,13 +186,9 @@ public class ConquestUtil { public static Iterable getStartingPlaneswalkerOptions(final PaperCard startingCommander) { final byte colorIdentity = startingCommander.getRules().getColorIdentity().getColor(); final List selected = Lists.newArrayList(); - return Iterables.filter(FModel.getMagicDb().getCommonCards().getUniqueCards(), new Predicate() { + return Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromosNonReprintsNoAlt(), new Predicate() { @Override public boolean apply(PaperCard card) { - if (FModel.getMagicDb().getEditions().get(card.getEdition()).getType() == CardEdition.Type.PROMOS - || FModel.getMagicDb().getEditions().get(card.getEdition()).getType() == CardEdition.Type.REPRINT) { - return false; // exclude promos from the starting planeswalker set - } if (selected.contains(card.getName())) { return false; }