mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Skip promo sets when determining starter Planeswalker options in Planar Conquest.
This commit is contained in:
@@ -15,6 +15,7 @@ import forge.deck.Deck;
|
||||
import forge.deck.DeckFormat;
|
||||
import forge.deck.DeckSection;
|
||||
import forge.deck.generation.*;
|
||||
import forge.game.card.CardCollection;
|
||||
import forge.item.PaperCard;
|
||||
import forge.model.FModel;
|
||||
import forge.planarconquest.ConquestPreferences.CQPref;
|
||||
@@ -175,13 +176,27 @@ public class ConquestUtil {
|
||||
|
||||
public static Iterable<PaperCard> getStartingPlaneswalkerOptions(final PaperCard startingCommander) {
|
||||
final byte colorIdentity = startingCommander.getRules().getColorIdentity().getColor();
|
||||
return Iterables.filter(FModel.getMagicDb().getCommonCards().getUniqueCards(), new Predicate<PaperCard>() {
|
||||
final List<String> selected = Lists.newArrayList();
|
||||
return Iterables.filter(FModel.getMagicDb().getCommonCards(), new Predicate<PaperCard>() {
|
||||
@Override
|
||||
public boolean apply(PaperCard card) {
|
||||
if (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;
|
||||
}
|
||||
CardRules rules = card.getRules();
|
||||
return rules.getType().isPlaneswalker() &&
|
||||
boolean allowed = rules.getType().isPlaneswalker() &&
|
||||
!card.getName().equals(startingCommander.getName()) && //don't allow picking a commander as a starting planeswalker
|
||||
rules.getColorIdentity().hasNoColorsExcept(colorIdentity);
|
||||
|
||||
if (allowed) {
|
||||
selected.add(card.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user