Bitburner-Scripts/servers/home/utils.ts

23 lines
764 B
TypeScript
Raw Normal View History

2023-11-03 02:00:43 -03:00
import {NS} from "NetscriptDefinitions";
export function recursiveScan(ns: NS) {
// Starting case
let servers = ns.scan(ns.getHostname());
// Add all servers to the list
let allServers: string[] = [];
while (servers.length > 0) {
let server = servers.shift();
if(server) {
let newServers = ns.scan(server);
for (let newServer of newServers) {
if (!allServers.includes(newServer)) {
allServers.push(newServer);
servers.push(newServer);
}
}
}
}
// Remove the current server
allServers.splice(allServers.indexOf(ns.getHostname()), 1);
// Print all servers
return allServers;
}