Bugfix - queue configurator max player checking; Removed - immediately recurring limited games

This commit is contained in:
jakub.salavec
2025-06-13 18:10:00 +02:00
parent 9b5a2a6c7f
commit d4429864f1
2 changed files with 1 additions and 109 deletions

View File

@@ -229,7 +229,7 @@ public class TournamentRequestHandler extends LotroServerRequestHandler implemen
var tableDraftDefinition = _tableDraftLibrary.getTableDraftDefinition(tableDraftFormatCodeStr);
Throw400IfValidationFails("tableDraftFormatCode", tableDraftFormatCodeStr,tableDraftDefinition != null);
//Check if all players can get to one table
Throw400IfValidationFails("maxPlayers", maxPlayersStr, tableDraftDefinition.getMaxPlayers() < maxPlayers);
Throw400IfValidationFails("maxPlayers", maxPlayersStr, tableDraftDefinition.getMaxPlayers() > maxPlayers);
tableDraftParams.tableDraftFormatCode = tableDraftFormatCodeStr;
tableDraftParams.format = tableDraftDefinition.getFormat();
tableDraftParams.draftTimerType = DraftTimer.getTypeFromString(tableDraftTimer);

View File

@@ -82,91 +82,6 @@ public class TournamentService {
);
}
private void addImmediateRecurringSealed(String queueId, String queueName, String prefix, String formatCode) {
TournamentQueueCallback callback = tournament -> _activeTournaments.put(tournament.getTournamentId(), tournament);
var sealedParams = new SealedTournamentParams();
sealedParams.type = Tournament.TournamentType.SEALED;
sealedParams.deckbuildingDuration = 25;
sealedParams.turnInDuration = 5;
var sealedFormat = _formatLibrary.GetSealedTemplate(formatCode);
sealedParams.sealedFormatCode = formatCode;
sealedParams.format = sealedFormat.GetFormat().getCode();
sealedParams.requiresDeck = false;
sealedParams.tournamentId = prefix;
sealedParams.name = queueName;
sealedParams.cost = 0;
sealedParams.minimumPlayers = 2;
sealedParams.maximumPlayers = 2;
sealedParams.playoff = Tournament.PairingType.SINGLE_ELIMINATION;
sealedParams.prizes = Tournament.PrizeType.NONE;
_tournamentQueues.put(queueId, new ImmediateRecurringQueue(this, queueId, queueName,
new SealedTournamentInfo(this, _productLibrary, _formatLibrary, DateUtils.Today(),
sealedParams), callback, _collectionsManager)
);
}
private void addImmediateRecurringDraft(String queueId, String queueName, String prefix, String formatCode) {
TournamentQueueCallback callback = tournament -> _activeTournaments.put(tournament.getTournamentId(), tournament);
var soloDraftParams = new SoloDraftTournamentParams();
soloDraftParams.type = Tournament.TournamentType.SOLODRAFT;
soloDraftParams.deckbuildingDuration = 25;
soloDraftParams.turnInDuration = 5;
var soloDraft = _soloDraftLibrary.getSoloDraft(formatCode);
soloDraftParams.soloDraftFormatCode = formatCode;
soloDraftParams.format = soloDraft.getFormat();
soloDraftParams.requiresDeck = false;
soloDraftParams.tournamentId = prefix;
soloDraftParams.name = queueName;
soloDraftParams.cost = 0;
soloDraftParams.minimumPlayers = 2;
soloDraftParams.maximumPlayers = 2;
soloDraftParams.playoff = Tournament.PairingType.SINGLE_ELIMINATION;
soloDraftParams.prizes = Tournament.PrizeType.NONE;
_tournamentQueues.put(queueId, new ImmediateRecurringQueue(this, queueId, queueName,
new SoloDraftTournamentInfo(this, _productLibrary, _formatLibrary, DateUtils.Today(),
soloDraftParams, _soloDraftLibrary), callback, _collectionsManager)
);
}
private void addImmediateRecurringTableDraft(String queueId, String queueName, String prefix, String formatCode, int players) {
TournamentQueueCallback callback = tournament -> _activeTournaments.put(tournament.getTournamentId(), tournament);
TableDraftTournamentParams draftParams = new TableDraftTournamentParams();
draftParams.type = Tournament.TournamentType.TABLE_DRAFT;
draftParams.deckbuildingDuration = 15;
draftParams.turnInDuration = 2;
TableDraftDefinition tableDraft = _tableDraftLibrary.getTableDraftDefinition(formatCode);
draftParams.tableDraftFormatCode = formatCode;
draftParams.format = tableDraft.getFormat();
draftParams.draftTimerType = tableDraft.getRecommendedTimer();
draftParams.requiresDeck = false;
draftParams.tournamentId = prefix;
draftParams.name = queueName;
draftParams.cost = 0;
draftParams.minimumPlayers = players;
draftParams.maximumPlayers = players;
draftParams.playoff = Tournament.PairingType.SWISS_3;
draftParams.prizes = Tournament.PrizeType.NONE;
_tournamentQueues.put(queueId, new ImmediateRecurringQueue(this, queueId, queueName,
new TableDraftTournamentInfo(this, _productLibrary, _formatLibrary, DateUtils.Today(),
draftParams, _tableDraftLibrary), true, 90, callback, _collectionsManager)
);
}
private void addRecurringScheduledQueue(String queueId, String queueName, String time, String prefix, String formatCode) {
TournamentQueueCallback callback = tournament -> _activeTournaments.put(tournament.getTournamentId(), tournament);
@@ -185,8 +100,6 @@ public class TournamentService {
public void reloadQueues() {
_tournamentQueues.clear();
addImmediateRecurringCasualLimitedGames();
addImmediateRecurringQueue("fotr_queue", "Fellowship Block", "fotr-", "fotr_block");
addImmediateRecurringQueue("pc_fotr_queue", "PC-Fellowship", "pcfotr-", "pc_fotr_block");
addImmediateRecurringQueue("ts_queue", "Towers Standard", "ts-", "towers_standard");
@@ -210,27 +123,6 @@ public class TournamentService {
}
}
private void addImmediateRecurringCasualLimitedGames() {
String casual = "Casual ";
_tableDraftLibrary.getAllTableDrafts().forEach(tableDraftDefinition -> {
String code = tableDraftDefinition.getCode();
addImmediateRecurringTableDraft(code + "_queue", casual + tableDraftDefinition.getName(), code + "-", code, tableDraftDefinition.getMaxPlayers());
});
addImmediateRecurringDraft("fotr_solo_draft_queue", casual + "FotR Solo Draft", "fotrSoloDraft-", "fotr_draft");
addImmediateRecurringDraft("ttt_solo_draft_queue", casual + "TTT Solo Draft", "tttSoloDraft-", "ttt_draft");
addImmediateRecurringDraft("hobbit_solo_draft_queue", casual + "Hobbit Solo Draft", "hobbitSoloDraft-", "hobbit_random_draft");
addImmediateRecurringSealed("fotr_sealed_queue", casual + "Fellowship Block Sealed", "fotrSealed-", "single_fotr_block_sealed");
addImmediateRecurringSealed("ttt_sealed_queue", casual + "Towers Block Sealed", "tttSealed-", "single_ttt_block_sealed");
addImmediateRecurringSealed("ts_sealed_queue", casual + "Towers Standard Sealed", "tsSealed-", "single_ts_sealed");
addImmediateRecurringSealed("king_sealed_queue", casual + "King Block Sealed", "rotkSealed-", "single_rotk_block_sealed");
addImmediateRecurringSealed("movie_sealed_queue", casual + "Movie Sealed", "movieSealed-", "single_movie_sealed");
addImmediateRecurringSealed("wotr_sealed_queue", casual + "War of the Ring Block Sealed", "wotrSealed-", "single_wotr_block_sealed");
addImmediateRecurringSealed("th_sealed_queue", casual + "Hunters Block Sealed", "thSealed-", "single_th_block_sealed");
}
public void cancelAllTournamentQueues() throws SQLException, IOException {
for (TournamentQueue tournamentQueue : _tournamentQueues.values())
tournamentQueue.leaveAllPlayers();