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 4918721cd..01eca77ff 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
@@ -416,20 +416,20 @@ var GempLotrHallUI = Class.extend({
if(result) {
that.inTournament = true;
let message = "You have signed up to participate in the " + queueName
- + " tournament.
You will use a snapshot of your '" + deck +"' deck as it is right now. " +
+ + " tournament.
You will use a snapshot of your '" + deck +"' deck as it is right now. " +
"If you need to change or update your deck, you will need to leave the queue and rejoin.
" +
"The first game begins at " + queueStart + ". Good luck!";
if(type === "sealed") {
message = "You have signed up to participate in the " + queueName
- + " tournament.
When the event begins, you will be issued sealed packs to open and make a deck. " +
+ + " tournament.
When the event begins, you will be issued sealed packs to open and make a deck. " +
"At any time during the deckbuilding phase and for a short time after it ends, you will need to lock-in your deck before the tournament begins.
" +
"Deckbuilding begins at " + queueStart + ". Good luck!";
}
if(type === "solodraft") {
message = "You have signed up to participate in the " + queueName
- + " tournament.
When the event begins, use the 'Go to Draft' button in the Active Tournaments Section, and then build your deck in the Deck Builder." +
+ + " tournament.
When the event begins, use the 'Go to Draft' button in the Active Tournaments Section, and then build your deck in the Deck Builder. " +
"At any time during the deckbuilding phase and for a short time after it ends, you will need to lock-in your deck before the tournament begins.
" +
"Deckbuilding begins at " + queueStart + ". Good luck!";
}
diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java
index 7813b19f7..0191e3637 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java
+++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java
@@ -867,8 +867,10 @@ public class HallServer extends AbstractServer {
private HallTournamentCallback(Tournament tournament) {
tournamentId = tournament.getTournamentId();
tournamentName = tournament.getTournamentName();
+ // Tournaments with just 2 players can be spectated
+ boolean privateGame = tournament.getPlayersInCompetitionCount() != 2;
tournamentGameSettings = new GameSettings(null, _formatLibrary.getFormat(tournament.getFormatCode()),
- tournamentId, null, null, true, true, false,
+ tournamentId, null, null, true, privateGame, false,
false, GameTimer.TOURNAMENT_TIMER, null);
wcGameSettings = new GameSettings(null, _formatLibrary.getFormat(tournament.getFormatCode()),
diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SealedTournament.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SealedTournament.java
index 9d01f8b6d..10d764c41 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SealedTournament.java
+++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SealedTournament.java
@@ -7,10 +7,8 @@ import com.gempukku.lotro.draft.Draft;
import com.gempukku.lotro.draft2.SoloDraftDefinitions;
import com.gempukku.lotro.game.CardCollection;
import com.gempukku.lotro.game.DefaultCardCollection;
-import com.gempukku.lotro.game.Player;
import com.gempukku.lotro.game.formats.LotroFormatLibrary;
import com.gempukku.lotro.hall.TableHolder;
-import com.gempukku.lotro.league.LeagueSerieInfo;
import com.gempukku.lotro.logic.vo.LotroDeck;
import com.gempukku.lotro.packs.ProductLibrary;
import com.gempukku.lotro.tournament.action.BroadcastAction;
@@ -47,6 +45,21 @@ public class SealedTournament extends BaseTournament implements Tournament {
&& _players.contains(player)) {
_tournamentService.updateRecordedPlayerDeck(_tournamentId, player, deck);
_playerDecks.put(player, deck);
+
+ // If 1v1 and both registered the deck, skip the wait and start playing
+ var players = _tournamentService.retrieveTournamentPlayers(_tournamentId);
+ boolean everyoneSubmitted = true;
+ for(var playerName : players) {
+ var registeredDeck = getPlayerDeck(playerName);
+ if(registeredDeck == null || StringUtils.isEmpty(registeredDeck.getDeckName())) {
+ everyoneSubmitted = false;
+ }
+ }
+ if (players.size() == 2 && everyoneSubmitted) {
+ _tournamentInfo.Stage = _sealedInfo.PostRegistrationStage();
+ _tournamentService.recordTournamentStage(_tournamentId, getTournamentStage());
+ }
+
return true;
}
return false;
diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SoloDraftTournament.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SoloDraftTournament.java
index e6a4a519d..8d80f7553 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SoloDraftTournament.java
+++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/SoloDraftTournament.java
@@ -27,8 +27,6 @@ public class SoloDraftTournament extends BaseTournament implements Tournament {
private static final int HIGH_ENOUGH_PRIME_NUMBER = 8963;
private SoloDraftTournamentInfo _soloDraftInfo;
- private long _deckBuildStartTime;
-
public SoloDraftTournament(TournamentService tournamentService, CollectionsManager collectionsManager, ProductLibrary productLibrary,
LotroFormatLibrary formatLibrary, SoloDraftDefinitions soloDraftDefinitions, TableHolder tables, String tournamentId) {
super(tournamentService, collectionsManager, productLibrary, formatLibrary, soloDraftDefinitions, tables, tournamentId);
@@ -51,6 +49,21 @@ public class SoloDraftTournament extends BaseTournament implements Tournament {
&& _players.contains(player)) {
_tournamentService.updateRecordedPlayerDeck(_tournamentId, player, deck);
_playerDecks.put(player, deck);
+
+ // If 1v1 and both registered the deck, skip the wait and start playing
+ var players = _tournamentService.retrieveTournamentPlayers(_tournamentId);
+ boolean everyoneSubmitted = true;
+ for(var playerName : players) {
+ var registeredDeck = getPlayerDeck(playerName);
+ if(registeredDeck == null || StringUtils.isEmpty(registeredDeck.getDeckName())) {
+ everyoneSubmitted = false;
+ }
+ }
+ if (players.size() == 2 && everyoneSubmitted) {
+ _tournamentInfo.Stage = _soloDraftInfo.PostRegistrationStage();
+ _tournamentService.recordTournamentStage(_tournamentId, getTournamentStage());
+ }
+
return true;
}
return false;