update deckgen for adventure

- merge theme and precons for more random deck on chaos mode
This commit is contained in:
Anthony Calosa
2022-05-20 12:49:42 +08:00
parent 853e8b64f0
commit b9a01753ed

View File

@@ -9,6 +9,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
@@ -455,32 +456,39 @@ public class DeckgenUtil {
if (isTheme) { if (isTheme) {
allDecks = DeckProxy.getAllThemeDecks().parallelStream() allDecks = DeckProxy.getAllThemeDecks().parallelStream()
.filter(deckProxy -> deckProxy.getMainSize() <= 60) .filter(deckProxy -> deckProxy.getMainSize() <= 60)
.filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().hasExactlyColor(ColorSet.fromNames(selection).getColor())) .filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().isMonoColor() && deckProxy.getColor().hasExactlyColor(ColorSet.fromNames(selection).getColor()))
.collect(Collectors.toList()); .collect(Collectors.toList());
} else { } else {
allDecks = DeckProxy.getAllPreconstructedDecks(QuestController.getPrecons()).parallelStream() allDecks = DeckProxy.getAllPreconstructedDecks(QuestController.getPrecons()).parallelStream()
.filter(deckProxy -> deckProxy.getMainSize() <= 60) .filter(deckProxy -> deckProxy.getMainSize() <= 60)
.filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().hasExactlyColor(ColorSet.fromNames(selection).getColor())) .filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().isMonoColor() && deckProxy.getColor().hasExactlyColor(ColorSet.fromNames(selection).getColor()))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
} else { } else {
if (isTheme) { if (isTheme) {
allDecks = DeckProxy.getAllThemeDecks().parallelStream() //include both theme and precons
allDecks = Stream.concat(DeckProxy.getAllThemeDecks().parallelStream()
.filter(deckProxy -> deckProxy.getMainSize() <= 60) .filter(deckProxy -> deckProxy.getMainSize() <= 60)
.filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().hasAllColors(ColorSet.fromNames(selection).getColor())) .filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().hasAllColors(ColorSet.fromNames(selection).getColor())),
DeckProxy.getAllPreconstructedDecks(QuestController.getPrecons()).parallelStream()
.filter(deckProxy -> deckProxy.getMainSize() <= 60)
.filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().hasAllColors(ColorSet.fromNames(selection).getColor())))
.collect(Collectors.toList()); .collect(Collectors.toList());
} else { } else {
allDecks = DeckProxy.getAllPreconstructedDecks(QuestController.getPrecons()).parallelStream() allDecks = DeckProxy.getAllPreconstructedDecks(QuestController.getPrecons()).parallelStream()
.filter(deckProxy -> deckProxy.getMainSize() <= 60) .filter(deckProxy -> deckProxy.getMainSize() <= 60)
.filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().hasAllColors(ColorSet.fromNames(selection).getColor())) .filter(deckProxy -> deckProxy.getColor() != null && deckProxy.getColor().hasAllColors(ColorSet.fromNames(selection).getColor()))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
} }
} else { } else {
//no specific colors //no specific colors
if (isTheme) { if (isTheme) {
allDecks = DeckProxy.getAllThemeDecks().parallelStream() //include both theme and precons
.filter(deckProxy -> deckProxy.getMainSize() <= 60) allDecks = Stream.concat(DeckProxy.getAllThemeDecks().parallelStream()
.filter(deckProxy -> deckProxy.getMainSize() <= 60),
DeckProxy.getAllPreconstructedDecks(QuestController.getPrecons()).parallelStream()
.filter(deckProxy -> deckProxy.getMainSize() <= 60))
.collect(Collectors.toList()); .collect(Collectors.toList());
} else { } else {
allDecks = DeckProxy.getAllPreconstructedDecks(QuestController.getPrecons()).parallelStream() allDecks = DeckProxy.getAllPreconstructedDecks(QuestController.getPrecons()).parallelStream()