From f096b0d4e16a23f7b8a1a975fd21450f146da48e Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Tue, 12 Nov 2024 19:03:36 -0600 Subject: [PATCH] Deckbuilder Format Overhaul - Fleshed out deckbuilder format/block/set selection. The deck format selection now filters what block/set will show up in the card filters in the right pane. - Fixed Ring-bearer/One Ring filtering not working. Further fleshed out Ring/Bearer interaction so that other filters may now be used. --- .../async/handler/DeckRequestHandler.java | 11 +- .../async/handler/HallRequestHandler.java | 4 +- .../src/main/web/css/gemp-001/cardFilter.css | 8 + .../src/main/web/deckBuild.html | 2 +- .../src/main/web/js/gemp-022/cards/Card.js | 2 + .../main/web/js/gemp-022/cards/CardFilter.js | 1796 ++++++------ .../main/web/js/gemp-022/deckBuildingUi.js | 2418 +++++++++-------- .../src/main/resources/lotrFormats.hjson | 396 ++- .../src/main/resources/setConfig.hjson | 1154 ++++---- .../com/gempukku/lotro/common/JSONDefs.java | 10 +- .../lotro/game/LotroCardBlueprintLibrary.java | 2 +- .../com/gempukku/lotro/game/LotroFormat.java | 4 +- .../lotro/game/SortAndFilterCards.java | 59 +- .../game/formats/DefaultLotroFormat.java | 74 +- .../game/formats/LotroFormatLibrary.java | 5 + 15 files changed, 3213 insertions(+), 2732 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java index 5b38c29f8..772b09a37 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java @@ -108,13 +108,12 @@ public class DeckRequestHandler extends LotroServerRequestHandler implements Uri json = JsonUtils.Serialize(data); } else { - Map formats = _formatLibrary.getHallFormats(); + JSONDefs.FullFormatReadout data = new JSONDefs.FullFormatReadout(); + data.Formats = _formatLibrary.getAllFormats().values().stream() + .map(LotroFormat::Serialize) + .collect(Collectors.toMap(x-> x.code, x-> x)); - Object[] output = formats.entrySet().stream() - .map(x -> new JSONDefs.ItemStub(x.getKey(), x.getValue().getName())) - .toArray(); - - json = JsonUtils.Serialize(output); + json = JsonUtils.Serialize(data); } responseWriter.writeJsonResponse(json); diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java index 95192479e..dfd5748cb 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java @@ -351,8 +351,8 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri result.append("" + lotroFormat.getName() + ""); result.append("