diff --git a/webapp-service-layer/src/main/kotlin/io/elephantchess/servicelayer/dto/botgame/CreateBotGameRequest.kt b/webapp-service-layer/src/main/kotlin/io/elephantchess/servicelayer/dto/botgame/CreateBotGameRequest.kt index 2cd0f0bbc..2ae55bde6 100644 --- a/webapp-service-layer/src/main/kotlin/io/elephantchess/servicelayer/dto/botgame/CreateBotGameRequest.kt +++ b/webapp-service-layer/src/main/kotlin/io/elephantchess/servicelayer/dto/botgame/CreateBotGameRequest.kt @@ -12,4 +12,6 @@ data class CreateBotGameRequest( val startFen: String?, val openingMode: OpeningMode = OpeningMode.BY_FREQUENCY, val variant: Variant = Variant.XIANGQI, + val timeControlBase: Int? = null, + val timeControlIncrement: Int? = null, ) diff --git a/webapp-service-layer/src/main/kotlin/io/elephantchess/servicelayer/services/PlayerVsBotGameService.kt b/webapp-service-layer/src/main/kotlin/io/elephantchess/servicelayer/services/PlayerVsBotGameService.kt index 3c26060e9..6bc6b2edc 100644 --- a/webapp-service-layer/src/main/kotlin/io/elephantchess/servicelayer/services/PlayerVsBotGameService.kt +++ b/webapp-service-layer/src/main/kotlin/io/elephantchess/servicelayer/services/PlayerVsBotGameService.kt @@ -126,6 +126,20 @@ class PlayerVsBotGameService( throw BadRequestException("You must be authenticated in to play with depth greater than 6") } + request.timeControlBase?.let { base -> + if (base <= 0) { + throw BadRequestException("Time control base must be positive") + } + } + request.timeControlIncrement?.let { increment -> + if (increment < 0) { + throw BadRequestException("Time control increment must be non-negative") + } + if (request.timeControlBase == null) { + throw BadRequestException("Time control increment requires a base time") + } + } + // Manchu variant requires Engine only opening mode if (request.variant == Variant.MANCHU && request.openingMode != OpeningMode.ENGINE_ONLY) { throw BadRequestException("Variants require engine-only opening mode") diff --git a/webapp/src/main/resources/modals/play-bot.html b/webapp/src/main/resources/modals/play-bot.html index f86a9f608..d135398c0 100644 --- a/webapp/src/main/resources/modals/play-bot.html +++ b/webapp/src/main/resources/modals/play-bot.html @@ -1,6 +1,6 @@