take into account max thread needed

This commit is contained in:
chris380
2022-04-12 17:42:49 +02:00
parent 2d74b493ee
commit fa29d2d9a8
3 changed files with 21 additions and 4 deletions
+17 -2
View File
@@ -585,9 +585,24 @@ export function NetscriptFunctions(workerScript: WorkerScript): NS {
return calculatePercentMoneyHacked(server, Player);
},
hackAnalyzeSecurity: function (_threads: unknown): number {
hackAnalyzeSecurity: function (_threads: unknown, hostname?: string): number {
updateDynamicRam("hackAnalyzeSecurity", getRamCost(Player, "hackAnalyzeSecurity"));
const threads = helper.number("hackAnalyzeSecurity", "threads", _threads);
let threads = helper.number("hackAnalyzeSecurity", "threads", _threads);
if (hostname) {
const server = safeGetServer(hostname, "hackAnalyze");
if (!(server instanceof Server)) {
workerScript.log("hackAnalyzeSecurity", () => "Cannot be executed on this server.");
return 0;
}
const percentHacked = calculatePercentMoneyHacked(server, Player);
if (percentHacked > 0) {
// thread count is limited to the maximum number of threads needed
threads = Math.ceil(1 / percentHacked);
}
}
return CONSTANTS.ServerFortifyAmount * threads;
},
hackAnalyzeChance: function (_hostname: unknown): number {