From 3a6722b1042de105d5e7c4f25b26b3d739416789 Mon Sep 17 00:00:00 2001 From: "jakub.salavec" Date: Fri, 13 Jun 2025 14:37:17 +0200 Subject: [PATCH] Added - queue configurator early start option; Modified - minimum number of players moved to 1 from 2 --- .../handler/TournamentRequestHandler.java | 8 ++-- .../src/main/web/js/gemp-022/communication.js | 3 +- .../src/main/web/js/gemp-022/hallUi.js | 37 +++++++++++++------ 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/TournamentRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/TournamentRequestHandler.java index b4bf3c57b..188086095 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/TournamentRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/TournamentRequestHandler.java @@ -35,7 +35,6 @@ import java.time.ZonedDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.function.Predicate; import java.util.stream.Collectors; public class TournamentRequestHandler extends LotroServerRequestHandler implements UriRequestHandler { @@ -139,6 +138,9 @@ public class TournamentRequestHandler extends LotroServerRequestHandler implemen String competitiveStr = getFormParameterSafely(postDecoder, "competitive"); boolean competitive = Throw400IfNullOrNonBoolean("competitive", competitiveStr); + String startableStr = getFormParameterSafely(postDecoder, "startable"); + boolean startable = Throw400IfNullOrNonBoolean("startable", startableStr); + String sealedFormatCodeStr = getFormParameterSafely(postDecoder, "sealedFormatCode"); String soloDraftFormatCodeStr = getFormParameterSafely(postDecoder, "soloDraftFormatCode"); @@ -164,7 +166,7 @@ public class TournamentRequestHandler extends LotroServerRequestHandler implemen String competitivePrefix = "Competitive "; String prefix = competitive ? competitivePrefix : casualPrefix; - //TODO ready check, ready check time, startable early + //TODO ready check, ready check time if(type == Tournament.TournamentType.SEALED) { var sealedParams = new SealedTournamentParams(); @@ -264,7 +266,7 @@ public class TournamentRequestHandler extends LotroServerRequestHandler implemen return; } - if (_hallServer.addPlayerMadeLimitedQueue(info, resourceOwner, false, -1)) { + if (_hallServer.addPlayerMadeLimitedQueue(info, resourceOwner, startable, -1)) { responseWriter.sendJsonOK(); } else { Throw400IfValidationFails("Error", "Error", false, "Error while creating queue or joining"); diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/communication.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/communication.js index bb7e85c4d..0ab981073 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/communication.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/communication.js @@ -1445,7 +1445,7 @@ var GempLotrCommunication = Class.extend({ }); }, createTournament:function (type, maxPlayers, sealedFormatCode, soloDraftFormatCode, tableDraftFormatCode, tableDraftTimer, - playoff, deckbuildingDuration, competitive, callback, errorMap) { + playoff, deckbuildingDuration, competitive, startable, callback, errorMap) { $.ajax({ type:"POST", url:this.url + "/tournament/create", @@ -1460,6 +1460,7 @@ var GempLotrCommunication = Class.extend({ playoff:playoff, deckbuildingDuration:deckbuildingDuration, competitive:competitive, + startable:startable, participantId:getUrlParam("participantId") }, success:this.deliveryCheck(callback), diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js index 943975029..31c20afd6 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js @@ -185,8 +185,10 @@ var GempLotrHallUI = Class.extend({ const playerCount = parseInt($("#numPlayers").val(), 10); const deckDuration = parseInt($("#deckDuration").val(), 10); const draftTimer = $("#draftTimer").val(); + const competitive = $("#competitiveSelect").val(); + const startableEarly = $("#startableEarlySelect").val(); - const validPlayerCount = Number.isInteger(playerCount) && playerCount >= 2; + const validPlayerCount = Number.isInteger(playerCount) && playerCount >= 1; const validDeckDuration = Number.isInteger(deckDuration) && deckDuration >= 5; const draftValid = gameType !== "table_draft" || draftTimer; @@ -196,6 +198,8 @@ var GempLotrHallUI = Class.extend({ pairingType && validPlayerCount && validDeckDuration && + competitive && + startableEarly && draftValid; $("#createTournamentButton").prop("disabled", !allValid); @@ -249,7 +253,7 @@ var GempLotrHallUI = Class.extend({ // Number of players const $playersLabel = $("