New PauperArchetypeCardGen DeckType added and UI updated for desktop/mobile

This commit is contained in:
Valerio Maggio
2023-05-20 13:59:29 +01:00
parent f03a8049cd
commit 2049a3dce4
11 changed files with 54 additions and 33 deletions

View File

@@ -659,7 +659,12 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
if(FModel.isdeckGenMatrixLoaded()) { if(FModel.isdeckGenMatrixLoaded()) {
updateMatrix(FModel.getFormats().get("Vintage")); updateMatrix(FModel.getFormats().get("Vintage"));
} }
break; break;
case PAUPER_CARDGEN_DECK:
if(FModel.isdeckGenMatrixLoaded()) {
updateMatrix(FModel.getFormats().getPauper());
}
break;
case RANDOM_COMMANDER_DECK: case RANDOM_COMMANDER_DECK:
updateRandomCommander(); updateRandomCommander();
break; break;

View File

@@ -230,6 +230,7 @@ public class VLobby implements ILobbyView {
case MODERN_CARDGEN_DECK: case MODERN_CARDGEN_DECK:
case LEGACY_CARDGEN_DECK: case LEGACY_CARDGEN_DECK:
case VINTAGE_CARDGEN_DECK: case VINTAGE_CARDGEN_DECK:
case PAUPER_CARDGEN_DECK:
case COLOR_DECK: case COLOR_DECK:
case STANDARD_COLOR_DECK: case STANDARD_COLOR_DECK:
case MODERN_COLOR_DECK: case MODERN_COLOR_DECK:

View File

@@ -82,6 +82,7 @@ public enum CSubmenuGauntletQuick implements ICDoc {
if (view.getBoxModernGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.MODERN_CARDGEN_DECK); } if (view.getBoxModernGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.MODERN_CARDGEN_DECK); }
if (view.getBoxLegacyGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.LEGACY_CARDGEN_DECK); } if (view.getBoxLegacyGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.LEGACY_CARDGEN_DECK); }
if (view.getBoxVintageGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.VINTAGE_CARDGEN_DECK); } if (view.getBoxVintageGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.VINTAGE_CARDGEN_DECK); }
if (view.getBoxPauperGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.PAUPER_CARDGEN_DECK); }
if (view.getBoxModernColorDecks().isSelected()) { allowedDeckTypes.add(DeckType.MODERN_COLOR_DECK); } if (view.getBoxModernColorDecks().isSelected()) { allowedDeckTypes.add(DeckType.MODERN_COLOR_DECK); }
if (view.getBoxPauperColorDecks().isSelected()) { allowedDeckTypes.add(DeckType.PAUPER_COLOR_DECK); } if (view.getBoxPauperColorDecks().isSelected()) { allowedDeckTypes.add(DeckType.PAUPER_COLOR_DECK); }
if (view.getBoxThemeDecks().isSelected()) { allowedDeckTypes.add(DeckType.THEME_DECK); } if (view.getBoxThemeDecks().isSelected()) { allowedDeckTypes.add(DeckType.THEME_DECK); }

View File

@@ -64,6 +64,7 @@ public enum VSubmenuGauntletQuick implements IVSubmenu<CSubmenuGauntletQuick> {
private final JCheckBox boxModernCardgenDecks = new FCheckBox(DeckType.MODERN_CARDGEN_DECK.toString()); private final JCheckBox boxModernCardgenDecks = new FCheckBox(DeckType.MODERN_CARDGEN_DECK.toString());
private final JCheckBox boxLegacyCardgenDecks = new FCheckBox(DeckType.LEGACY_CARDGEN_DECK.toString()); private final JCheckBox boxLegacyCardgenDecks = new FCheckBox(DeckType.LEGACY_CARDGEN_DECK.toString());
private final JCheckBox boxVintageCardgenDecks = new FCheckBox(DeckType.VINTAGE_CARDGEN_DECK.toString()); private final JCheckBox boxVintageCardgenDecks = new FCheckBox(DeckType.VINTAGE_CARDGEN_DECK.toString());
private final JCheckBox boxPauperCardgenDecks = new FCheckBox(DeckType.PAUPER_CARDGEN_DECK.toString());
private final JCheckBox boxModernColorDecks = new FCheckBox(DeckType.MODERN_COLOR_DECK.toString()); private final JCheckBox boxModernColorDecks = new FCheckBox(DeckType.MODERN_COLOR_DECK.toString());
private final JCheckBox boxPauperColorDecks = new FCheckBox(DeckType.PAUPER_COLOR_DECK.toString()); private final JCheckBox boxPauperColorDecks = new FCheckBox(DeckType.PAUPER_COLOR_DECK.toString());
private final JCheckBox boxThemeDecks = new FCheckBox(DeckType.THEME_DECK.toString()); private final JCheckBox boxThemeDecks = new FCheckBox(DeckType.THEME_DECK.toString());
@@ -245,9 +246,8 @@ public enum VSubmenuGauntletQuick implements IVSubmenu<CSubmenuGauntletQuick> {
public JCheckBox getBoxLegacyGenDecks() { public JCheckBox getBoxLegacyGenDecks() {
return boxLegacyCardgenDecks; return boxLegacyCardgenDecks;
} }
public JCheckBox getBoxVintageGenDecks() { public JCheckBox getBoxVintageGenDecks() { return boxVintageCardgenDecks; }
return boxVintageCardgenDecks; public JCheckBox getBoxPauperGenDecks() { return boxPauperCardgenDecks; }
}
/** @return {@link javax.swing.JCheckBox} */ /** @return {@link javax.swing.JCheckBox} */
public JCheckBox getBoxThemeDecks() { public JCheckBox getBoxThemeDecks() {

View File

@@ -9,6 +9,7 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import forge.game.GameFormat;
import forge.util.MyRandom; import forge.util.MyRandom;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -146,7 +147,7 @@ public class FDeckChooser extends FScreen {
&& selectedDeckType != DeckType.PIONEER_CARDGEN_DECK && selectedDeckType != DeckType.HISTORIC_CARDGEN_DECK && selectedDeckType != DeckType.PIONEER_CARDGEN_DECK && selectedDeckType != DeckType.HISTORIC_CARDGEN_DECK
&& selectedDeckType != DeckType.MODERN_CARDGEN_DECK && selectedDeckType != DeckType.LEGACY_CARDGEN_DECK && selectedDeckType != DeckType.MODERN_CARDGEN_DECK && selectedDeckType != DeckType.LEGACY_CARDGEN_DECK
&& selectedDeckType != DeckType.VINTAGE_CARDGEN_DECK && selectedDeckType != DeckType.MODERN_COLOR_DECK && selectedDeckType != DeckType.VINTAGE_CARDGEN_DECK && selectedDeckType != DeckType.MODERN_COLOR_DECK
&& selectedDeckType != DeckType.PAUPER_COLOR_DECK && selectedDeckType != DeckType.PAUPER_CARDGEN_DECK && selectedDeckType != DeckType.PAUPER_COLOR_DECK
&& selectedDeckType != DeckType.COLOR_DECK && selectedDeckType != DeckType.THEME_DECK && selectedDeckType != DeckType.COLOR_DECK && selectedDeckType != DeckType.THEME_DECK
&& selectedDeckType != DeckType.RANDOM_COMMANDER_DECK && selectedDeckType != DeckType.RANDOM_CARDGEN_COMMANDER_DECK) { && selectedDeckType != DeckType.RANDOM_COMMANDER_DECK && selectedDeckType != DeckType.RANDOM_CARDGEN_COMMANDER_DECK) {
FDeckViewer.show(getDeck(), false, DeckType.DRAFT_DECK.equals(selectedDeckType)); FDeckViewer.show(getDeck(), false, DeckType.DRAFT_DECK.equals(selectedDeckType));
@@ -180,6 +181,9 @@ public class FDeckChooser extends FScreen {
else if (selectedDeckType == DeckType.VINTAGE_CARDGEN_DECK){ else if (selectedDeckType == DeckType.VINTAGE_CARDGEN_DECK){
DeckgenUtil.randomSelect(lstDecks); DeckgenUtil.randomSelect(lstDecks);
} }
else if (selectedDeckType == DeckType.PAUPER_CARDGEN_DECK){
DeckgenUtil.randomSelect(lstDecks);
}
else { else {
int size = 0; int size = 0;
try { try {
@@ -327,6 +331,7 @@ public class FDeckChooser extends FScreen {
case HISTORIC_CARDGEN_DECK: case HISTORIC_CARDGEN_DECK:
case LEGACY_CARDGEN_DECK: case LEGACY_CARDGEN_DECK:
case VINTAGE_CARDGEN_DECK: case VINTAGE_CARDGEN_DECK:
case PAUPER_CARDGEN_DECK:
case MODERN_COLOR_DECK: case MODERN_COLOR_DECK:
case THEME_DECK: case THEME_DECK:
case RANDOM_DECK: case RANDOM_DECK:
@@ -551,11 +556,12 @@ public class FDeckChooser extends FScreen {
cmbDeckTypes.addItem(DeckType.THEME_DECK); cmbDeckTypes.addItem(DeckType.THEME_DECK);
if(FModel.isdeckGenMatrixLoaded()) { if(FModel.isdeckGenMatrixLoaded()) {
cmbDeckTypes.addItem(DeckType.STANDARD_CARDGEN_DECK); cmbDeckTypes.addItem(DeckType.STANDARD_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.PIONEER_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.HISTORIC_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.MODERN_CARDGEN_DECK); cmbDeckTypes.addItem(DeckType.MODERN_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.PAUPER_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.LEGACY_CARDGEN_DECK); cmbDeckTypes.addItem(DeckType.LEGACY_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.VINTAGE_CARDGEN_DECK); cmbDeckTypes.addItem(DeckType.VINTAGE_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.PIONEER_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.HISTORIC_CARDGEN_DECK);
} }
cmbDeckTypes.addItem(DeckType.NET_DECK); cmbDeckTypes.addItem(DeckType.NET_DECK);
cmbDeckTypes.addItem(DeckType.NET_ARCHIVE_STANDARD_DECK); cmbDeckTypes.addItem(DeckType.NET_ARCHIVE_STANDARD_DECK);
@@ -942,50 +948,37 @@ public class FDeckChooser extends FScreen {
break; break;
case STANDARD_CARDGEN_DECK: case STANDARD_CARDGEN_DECK:
maxSelections = 1; maxSelections = 1;
pool= new ArrayList<>(); pool = getCardGenDeckPool(FModel.getFormats().getStandard());
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().getStandard(), isAi);
}
config = ItemManagerConfig.STRING_ONLY; config = ItemManagerConfig.STRING_ONLY;
break; break;
case PIONEER_CARDGEN_DECK: case PIONEER_CARDGEN_DECK:
maxSelections = 1; maxSelections = 1;
pool= new ArrayList<>(); pool = getCardGenDeckPool(FModel.getFormats().getPioneer());
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().getPioneer(), isAi);
}
config = ItemManagerConfig.STRING_ONLY; config = ItemManagerConfig.STRING_ONLY;
break; break;
case HISTORIC_CARDGEN_DECK: case HISTORIC_CARDGEN_DECK:
maxSelections = 1; maxSelections = 1;
pool= new ArrayList<>(); pool = getCardGenDeckPool(FModel.getFormats().getHistoric());
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().getHistoric(), isAi);
}
config = ItemManagerConfig.STRING_ONLY; config = ItemManagerConfig.STRING_ONLY;
break; break;
case MODERN_CARDGEN_DECK: case MODERN_CARDGEN_DECK:
maxSelections = 1; maxSelections = 1;
pool= new ArrayList<>(); pool = getCardGenDeckPool(FModel.getFormats().getModern());
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().getModern(), isAi);
}
config = ItemManagerConfig.STRING_ONLY; config = ItemManagerConfig.STRING_ONLY;
break; break;
case LEGACY_CARDGEN_DECK: case LEGACY_CARDGEN_DECK:
maxSelections = 1; maxSelections = 1;
pool= new ArrayList<>(); pool = getCardGenDeckPool(FModel.getFormats().get("Legacy"));
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().get("Legacy"), isAi);
}
config = ItemManagerConfig.STRING_ONLY; config = ItemManagerConfig.STRING_ONLY;
break; break;
case VINTAGE_CARDGEN_DECK: case VINTAGE_CARDGEN_DECK:
maxSelections = 1; maxSelections = 1;
pool= new ArrayList<>(); pool = getCardGenDeckPool(FModel.getFormats().get("Vintage"));
if(FModel.isdeckGenMatrixLoaded()) { config = ItemManagerConfig.STRING_ONLY;
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().get("Vintage"), isAi); break;
} case PAUPER_CARDGEN_DECK:
maxSelections = 1;
pool = getCardGenDeckPool(FModel.getFormats().getPauper());
config = ItemManagerConfig.STRING_ONLY; config = ItemManagerConfig.STRING_ONLY;
break; break;
case MODERN_COLOR_DECK: case MODERN_COLOR_DECK:
@@ -1148,6 +1141,13 @@ public class FDeckChooser extends FScreen {
} }
} }
private Iterable<DeckProxy> getCardGenDeckPool(GameFormat format) {
Iterable<DeckProxy> pool = new ArrayList<>();
if(FModel.isdeckGenMatrixLoaded())
pool = ArchetypeDeckGenerator.getMatrixDecks(format, isAi);
return pool;
}
@Override @Override
protected void doLayout(float startY, float width, float height) { protected void doLayout(float startY, float width, float height) {
float x = PADDING; float x = PADDING;
@@ -1430,6 +1430,7 @@ public class FDeckChooser extends FScreen {
DeckType.MODERN_CARDGEN_DECK, DeckType.MODERN_CARDGEN_DECK,
DeckType.LEGACY_CARDGEN_DECK, DeckType.LEGACY_CARDGEN_DECK,
DeckType.VINTAGE_CARDGEN_DECK, DeckType.VINTAGE_CARDGEN_DECK,
DeckType.PAUPER_CARDGEN_DECK,
DeckType.THEME_DECK, DeckType.THEME_DECK,
DeckType.NET_DECK, DeckType.NET_DECK,
DeckType.NET_ARCHIVE_STANDARD_DECK, DeckType.NET_ARCHIVE_STANDARD_DECK,
@@ -1448,6 +1449,7 @@ public class FDeckChooser extends FScreen {
deckTypes.remove(DeckType.MODERN_CARDGEN_DECK); deckTypes.remove(DeckType.MODERN_CARDGEN_DECK);
deckTypes.remove(DeckType.LEGACY_CARDGEN_DECK); deckTypes.remove(DeckType.LEGACY_CARDGEN_DECK);
deckTypes.remove(DeckType.VINTAGE_CARDGEN_DECK); deckTypes.remove(DeckType.VINTAGE_CARDGEN_DECK);
deckTypes.remove(DeckType.PAUPER_CARDGEN_DECK);
} }
ListChooser<DeckType> chooser = new ListChooser<>( ListChooser<DeckType> chooser = new ListChooser<>(

View File

@@ -547,6 +547,7 @@ public abstract class LobbyScreen extends LaunchScreen implements ILobbyView {
case MODERN_CARDGEN_DECK: case MODERN_CARDGEN_DECK:
case LEGACY_CARDGEN_DECK: case LEGACY_CARDGEN_DECK:
case VINTAGE_CARDGEN_DECK: case VINTAGE_CARDGEN_DECK:
case PAUPER_CARDGEN_DECK:
case COLOR_DECK: case COLOR_DECK:
case STANDARD_COLOR_DECK: case STANDARD_COLOR_DECK:
case MODERN_COLOR_DECK: case MODERN_COLOR_DECK:

View File

@@ -128,6 +128,7 @@ public class NewGauntletScreen extends LaunchScreen {
DeckType.MODERN_CARDGEN_DECK, DeckType.MODERN_CARDGEN_DECK,
DeckType.LEGACY_CARDGEN_DECK, DeckType.LEGACY_CARDGEN_DECK,
DeckType.VINTAGE_CARDGEN_DECK, DeckType.VINTAGE_CARDGEN_DECK,
DeckType.PAUPER_CARDGEN_DECK,
DeckType.THEME_DECK), null, new Callback<List<DeckType>>() { DeckType.THEME_DECK), null, new Callback<List<DeckType>>() {
@Override @Override
public void run(final List<DeckType> allowedDeckTypes) { public void run(final List<DeckType> allowedDeckTypes) {

View File

@@ -26,6 +26,7 @@ public enum DeckType {
MODERN_CARDGEN_DECK("lblRandomModernArchetypeDecks"), MODERN_CARDGEN_DECK("lblRandomModernArchetypeDecks"),
LEGACY_CARDGEN_DECK("lblRandomLegacyArchetypeDecks"), LEGACY_CARDGEN_DECK("lblRandomLegacyArchetypeDecks"),
VINTAGE_CARDGEN_DECK("lblRandomVintageArchetypeDecks"), VINTAGE_CARDGEN_DECK("lblRandomVintageArchetypeDecks"),
PAUPER_CARDGEN_DECK("lblRandomPauperArchetypeDecks"),
STANDARD_COLOR_DECK("lblRandomStandardColorDecks"), STANDARD_COLOR_DECK("lblRandomStandardColorDecks"),
MODERN_COLOR_DECK("lblRandomModernColorDecks"), MODERN_COLOR_DECK("lblRandomModernColorDecks"),
PAUPER_COLOR_DECK("lblRandomPauperColorDecks"), PAUPER_COLOR_DECK("lblRandomPauperColorDecks"),
@@ -55,11 +56,12 @@ public enum DeckType {
DeckType.MODERN_COLOR_DECK, DeckType.MODERN_COLOR_DECK,
DeckType.PAUPER_COLOR_DECK, DeckType.PAUPER_COLOR_DECK,
DeckType.STANDARD_CARDGEN_DECK, DeckType.STANDARD_CARDGEN_DECK,
DeckType.PIONEER_CARDGEN_DECK,
DeckType.HISTORIC_CARDGEN_DECK,
DeckType.MODERN_CARDGEN_DECK, DeckType.MODERN_CARDGEN_DECK,
DeckType.PAUPER_CARDGEN_DECK,
DeckType.LEGACY_CARDGEN_DECK, DeckType.LEGACY_CARDGEN_DECK,
DeckType.VINTAGE_CARDGEN_DECK, DeckType.VINTAGE_CARDGEN_DECK,
DeckType.PIONEER_CARDGEN_DECK,
DeckType.HISTORIC_CARDGEN_DECK,
DeckType.THEME_DECK, DeckType.THEME_DECK,
DeckType.RANDOM_DECK, DeckType.RANDOM_DECK,
DeckType.NET_DECK, DeckType.NET_DECK,

View File

@@ -116,6 +116,8 @@ public class RandomDeckGenerator extends DeckProxy implements Comparable<RandomD
return DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Legacy"), isAi); return DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Legacy"), isAi);
case VINTAGE_CARDGEN_DECK: case VINTAGE_CARDGEN_DECK:
return DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"), isAi); return DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"), isAi);
case PAUPER_CARDGEN_DECK:
return DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getPauper(), isAi);
case STANDARD_COLOR_DECK: case STANDARD_COLOR_DECK:
return generateRandomColorDeckOfFormat(FModel.getFormats().getStandard()); return generateRandomColorDeckOfFormat(FModel.getFormats().getStandard());
case MODERN_COLOR_DECK: case MODERN_COLOR_DECK:

View File

@@ -55,6 +55,9 @@ public class GauntletUtil {
case VINTAGE_CARDGEN_DECK: case VINTAGE_CARDGEN_DECK:
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"),true); deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"),true);
break; break;
case PAUPER_CARDGEN_DECK:
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getPauper(),true);
break;
case MODERN_COLOR_DECK: case MODERN_COLOR_DECK:
deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getModern().getFilterPrinted(),true); deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getModern().getFilterPrinted(),true);
break; break;

View File

@@ -51,6 +51,9 @@ public class TournamentUtil {
case VINTAGE_CARDGEN_DECK: case VINTAGE_CARDGEN_DECK:
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"),true); deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"),true);
break; break;
case PAUPER_CARDGEN_DECK:
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getPauper(),true);
break;
case MODERN_COLOR_DECK: case MODERN_COLOR_DECK:
deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getModern().getFilterPrinted(),true); deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getModern().getFilterPrinted(),true);
break; break;