diff --git a/src/CodingContractGenerator.ts b/src/CodingContractGenerator.ts index 93d499781..610619409 100644 --- a/src/CodingContractGenerator.ts +++ b/src/CodingContractGenerator.ts @@ -6,11 +6,11 @@ import { } from "./CodingContracts"; import { Factions } from "./Faction/Factions"; import { Player } from "./Player"; -import { AllServers } from "./Server/AllServers"; -import { GetServerByHostname } from "./Server/ServerHelpers"; +import { GetAllServers } from "./Server/AllServers"; +import { getServer } from "./Server/ServerHelpers"; import { SpecialServerNames } from "./Server/SpecialServerIps"; import { Server } from "./Server/Server"; -import { HacknetServer } from "./Hacknet/HacknetServer"; +import { BaseServer } from "./Server/BaseServer"; import { getRandomInt } from "./utils/helpers/getRandomInt"; @@ -68,10 +68,7 @@ export function generateContract(params: IGenerateContractParams): void { // Server let server; if (params.server != null) { - server = GetServerByHostname(params.server); - if (server == null) { - server = AllServers[params.server]; - } + server = getServer(params.server); if (server == null) { server = getRandomServer(); } @@ -165,10 +162,10 @@ function getRandomReward(): ICodingContractReward { return reward; } -function getRandomServer(): Server | HacknetServer { - const servers = Object.keys(AllServers); +function getRandomServer(): BaseServer { + const servers = GetAllServers(); let randIndex = getRandomInt(0, servers.length - 1); - let randServer = AllServers[servers[randIndex]]; + let randServer = servers[randIndex]; // An infinite loop shouldn't ever happen, but to be safe we'll use // a for loop with a limited number of tries @@ -181,13 +178,13 @@ function getRandomServer(): Server | HacknetServer { break; } randIndex = getRandomInt(0, servers.length - 1); - randServer = AllServers[servers[randIndex]]; + randServer = servers[randIndex]; } return randServer; } -function getRandomFilename(server: Server | HacknetServer, reward: ICodingContractReward): string { +function getRandomFilename(server: BaseServer, reward: ICodingContractReward): string { let contractFn = `contract-${getRandomInt(0, 1e6)}`; for (let i = 0; i < 1000; ++i) { diff --git a/src/DevMenu/ui/Servers.tsx b/src/DevMenu/ui/Servers.tsx index 9b1b66e35..13d8ce41c 100644 --- a/src/DevMenu/ui/Servers.tsx +++ b/src/DevMenu/ui/Servers.tsx @@ -8,8 +8,8 @@ import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import Typography from "@mui/material/Typography"; import Button from "@mui/material/Button"; import Select, { SelectChangeEvent } from "@mui/material/Select"; -import { AllServers } from "../../Server/AllServers"; -import { HacknetServer } from "../../Hacknet/HacknetServer"; +import { GetAllServers } from "../../Server/AllServers"; +import { Server } from "../../Server/Server"; import { GetServerByHostname } from "../../Server/ServerHelpers"; import MenuItem from "@mui/material/MenuItem"; @@ -21,7 +21,7 @@ export function Servers(): React.ReactElement { function rootServer(): void { const s = GetServerByHostname(server); if (s === null) return; - if (s instanceof HacknetServer) return; + if (!(s instanceof Server)) return; s.hasAdminRights = true; s.sshPortOpen = true; s.ftpPortOpen = true; @@ -32,9 +32,8 @@ export function Servers(): React.ReactElement { } function rootAllServers(): void { - for (const i in AllServers) { - const s = AllServers[i]; - if (s instanceof HacknetServer) return; + for (const s of GetAllServers()) { + if (!(s instanceof Server)) return; s.hasAdminRights = true; s.sshPortOpen = true; s.ftpPortOpen = true; @@ -48,30 +47,28 @@ export function Servers(): React.ReactElement { function minSecurity(): void { const s = GetServerByHostname(server); if (s === null) return; - if (s instanceof HacknetServer) return; + if (!(s instanceof Server)) return; s.hackDifficulty = s.minDifficulty; } function minAllSecurity(): void { - for (const i in AllServers) { - const server = AllServers[i]; - if (server instanceof HacknetServer) continue; - server.hackDifficulty = server.minDifficulty; + for (const s of GetAllServers()) { + if (!(s instanceof Server)) return; + s.hackDifficulty = s.minDifficulty; } } function maxMoney(): void { const s = GetServerByHostname(server); if (s === null) return; - if (s instanceof HacknetServer) return; + if (!(s instanceof Server)) return; s.moneyAvailable = s.moneyMax; } function maxAllMoney(): void { - for (const i in AllServers) { - const server = AllServers[i]; - if (server instanceof HacknetServer) continue; - server.moneyAvailable = server.moneyMax; + for (const s of GetAllServers()) { + if (!(s instanceof Server)) return; + s.moneyAvailable = s.moneyMax; } } @@ -89,7 +86,7 @@ export function Servers(): React.ReactElement {