BUGFIX: Game crashes when generating CCT in weird case (#2077)

This commit is contained in:
catloversg
2025-04-09 03:47:45 +07:00
committed by GitHub
parent ab0bacaf63
commit cdb74e74dd
+10 -1
View File
@@ -78,6 +78,9 @@ export function generateRandomContract(): void {
// Choose random server
const randServer = getRandomServer();
if (randServer === null) {
return;
}
const contractFn = getRandomFilename(randServer, reward);
const contract = new CodingContract(contractFn, problemType, reward);
@@ -141,6 +144,9 @@ export function generateContract(params: IGenerateContractParams): void {
} else {
server = getRandomServer();
}
if (server === null) {
return;
}
const filename = params.fn ? params.fn : getRandomFilename(server, reward);
@@ -218,8 +224,11 @@ function getRandomReward(): ICodingContractReward {
}
}
function getRandomServer(): BaseServer {
function getRandomServer(): BaseServer | null {
const servers = GetAllServers().filter((server: BaseServer) => server.serversOnNetwork.length !== 0);
if (servers.length === 0) {
return null;
}
let randIndex = getRandomIntInclusive(0, servers.length - 1);
let randServer = servers[randIndex];