mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-26 17:43:48 +01:00
convert to ts
This commit is contained in:
parent
47f54a11c3
commit
2e05f14c0d
@ -103,7 +103,8 @@ import { Player } from "./Player";
|
|||||||
import { Programs } from "./Programs/Programs";
|
import { Programs } from "./Programs/Programs";
|
||||||
import { Script } from "./Script/Script";
|
import { Script } from "./Script/Script";
|
||||||
import { findRunningScript, findRunningScriptByPid } from "./Script/ScriptHelpers";
|
import { findRunningScript, findRunningScriptByPid } from "./Script/ScriptHelpers";
|
||||||
import { isScriptFilename } from "./Script/ScriptHelpersTS";
|
import { isScriptFilename } from "./Script/isScriptFilename";
|
||||||
|
|
||||||
import { AllServers, AddToAllServers, createUniqueRandomIp } from "./Server/AllServers";
|
import { AllServers, AddToAllServers, createUniqueRandomIp } from "./Server/AllServers";
|
||||||
import { RunningScript } from "./Script/RunningScript";
|
import { RunningScript } from "./Script/RunningScript";
|
||||||
import {
|
import {
|
||||||
|
6
src/Script/ScriptHelpers.d.ts
vendored
6
src/Script/ScriptHelpers.d.ts
vendored
@ -1,6 +0,0 @@
|
|||||||
export declare function findRunningScript(
|
|
||||||
filename: string,
|
|
||||||
args: (string | number)[],
|
|
||||||
server: BaseServer,
|
|
||||||
): RunningScript | null;
|
|
||||||
export declare function findRunningScriptByPid(pid: number, server: BaseServer): RunningScript | null;
|
|
@ -1,13 +1,16 @@
|
|||||||
import { CONSTANTS } from "../Constants";
|
import { CONSTANTS } from "../Constants";
|
||||||
import { Player } from "../Player";
|
import { Player } from "../Player";
|
||||||
import { AllServers } from "../Server/AllServers";
|
import { AllServers } from "../Server/AllServers";
|
||||||
|
import { BaseServer } from "../Server/BaseServer";
|
||||||
|
import { Server } from "../Server/Server";
|
||||||
|
import { RunningScript } from "../Script/RunningScript";
|
||||||
import { processSingleServerGrowth } from "../Server/ServerHelpers";
|
import { processSingleServerGrowth } from "../Server/ServerHelpers";
|
||||||
|
|
||||||
import { numeralWrapper } from "../ui/numeralFormat";
|
import { numeralWrapper } from "../ui/numeralFormat";
|
||||||
|
|
||||||
import { compareArrays } from "../../utils/helpers/compareArrays";
|
import { compareArrays } from "../../utils/helpers/compareArrays";
|
||||||
|
|
||||||
export function scriptCalculateOfflineProduction(runningScriptObj) {
|
export function scriptCalculateOfflineProduction(runningScript: RunningScript) {
|
||||||
//The Player object stores the last update time from when we were online
|
//The Player object stores the last update time from when we were online
|
||||||
const thisUpdate = new Date().getTime();
|
const thisUpdate = new Date().getTime();
|
||||||
const lastUpdate = Player.lastUpdate;
|
const lastUpdate = Player.lastUpdate;
|
||||||
@ -16,7 +19,7 @@ export function scriptCalculateOfflineProduction(runningScriptObj) {
|
|||||||
//Calculate the "confidence" rating of the script's true production. This is based
|
//Calculate the "confidence" rating of the script's true production. This is based
|
||||||
//entirely off of time. We will arbitrarily say that if a script has been running for
|
//entirely off of time. We will arbitrarily say that if a script has been running for
|
||||||
//4 hours (14400 sec) then we are completely confident in its ability
|
//4 hours (14400 sec) then we are completely confident in its ability
|
||||||
let confidence = runningScriptObj.onlineRunningTime / 14400;
|
let confidence = runningScript.onlineRunningTime / 14400;
|
||||||
if (confidence >= 1) {
|
if (confidence >= 1) {
|
||||||
confidence = 1;
|
confidence = 1;
|
||||||
}
|
}
|
||||||
@ -24,9 +27,9 @@ export function scriptCalculateOfflineProduction(runningScriptObj) {
|
|||||||
//Data map: [MoneyStolen, NumTimesHacked, NumTimesGrown, NumTimesWeaken]
|
//Data map: [MoneyStolen, NumTimesHacked, NumTimesGrown, NumTimesWeaken]
|
||||||
|
|
||||||
// Grow
|
// Grow
|
||||||
for (const ip in runningScriptObj.dataMap) {
|
for (const ip in runningScript.dataMap) {
|
||||||
if (runningScriptObj.dataMap.hasOwnProperty(ip)) {
|
if (runningScript.dataMap.hasOwnProperty(ip)) {
|
||||||
if (runningScriptObj.dataMap[ip][2] == 0 || runningScriptObj.dataMap[ip][2] == null) {
|
if (runningScript.dataMap[ip][2] == 0 || runningScript.dataMap[ip][2] == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const serv = AllServers[ip];
|
const serv = AllServers[ip];
|
||||||
@ -34,12 +37,13 @@ export function scriptCalculateOfflineProduction(runningScriptObj) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const timesGrown = Math.round(
|
const timesGrown = Math.round(
|
||||||
((0.5 * runningScriptObj.dataMap[ip][2]) / runningScriptObj.onlineRunningTime) * timePassed,
|
((0.5 * runningScript.dataMap[ip][2]) / runningScript.onlineRunningTime) * timePassed,
|
||||||
);
|
);
|
||||||
runningScriptObj.log(`Called on ${serv.hostname} ${timesGrown} times while offline`);
|
runningScript.log(`Called on ${serv.hostname} ${timesGrown} times while offline`);
|
||||||
const host = AllServers[runningScriptObj.server];
|
const host = AllServers[runningScript.server];
|
||||||
|
if (!(serv instanceof Server)) throw new Error("trying to grow a non-normal server");
|
||||||
const growth = processSingleServerGrowth(serv, timesGrown, Player, host.cpuCores);
|
const growth = processSingleServerGrowth(serv, timesGrown, Player, host.cpuCores);
|
||||||
runningScriptObj.log(
|
runningScript.log(
|
||||||
`'${serv.hostname}' grown by ${numeralWrapper.format(growth * 100 - 100, "0.000000%")} while offline`,
|
`'${serv.hostname}' grown by ${numeralWrapper.format(growth * 100 - 100, "0.000000%")} while offline`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -47,28 +51,30 @@ export function scriptCalculateOfflineProduction(runningScriptObj) {
|
|||||||
|
|
||||||
// Offline EXP gain
|
// Offline EXP gain
|
||||||
// A script's offline production will always be at most half of its online production.
|
// A script's offline production will always be at most half of its online production.
|
||||||
const expGain = confidence * (runningScriptObj.onlineExpGained / runningScriptObj.onlineRunningTime) * timePassed;
|
const expGain = confidence * (runningScript.onlineExpGained / runningScript.onlineRunningTime) * timePassed;
|
||||||
Player.gainHackingExp(expGain);
|
Player.gainHackingExp(expGain);
|
||||||
|
|
||||||
// Update script stats
|
// Update script stats
|
||||||
runningScriptObj.offlineRunningTime += timePassed;
|
runningScript.offlineRunningTime += timePassed;
|
||||||
runningScriptObj.offlineExpGained += expGain;
|
runningScript.offlineExpGained += expGain;
|
||||||
|
|
||||||
// Weaken
|
// Weaken
|
||||||
for (const ip in runningScriptObj.dataMap) {
|
for (const ip in runningScript.dataMap) {
|
||||||
if (runningScriptObj.dataMap.hasOwnProperty(ip)) {
|
if (runningScript.dataMap.hasOwnProperty(ip)) {
|
||||||
if (runningScriptObj.dataMap[ip][3] == 0 || runningScriptObj.dataMap[ip][3] == null) {
|
if (runningScript.dataMap[ip][3] == 0 || runningScript.dataMap[ip][3] == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const serv = AllServers[ip];
|
const serv = AllServers[ip];
|
||||||
if (serv == null) {
|
if (serv == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const host = AllServers[runningScriptObj.server];
|
|
||||||
|
if (!(serv instanceof Server)) throw new Error("trying to weaken a non-normal server");
|
||||||
|
const host = AllServers[runningScript.server];
|
||||||
const timesWeakened = Math.round(
|
const timesWeakened = Math.round(
|
||||||
((0.5 * runningScriptObj.dataMap[ip][3]) / runningScriptObj.onlineRunningTime) * timePassed,
|
((0.5 * runningScript.dataMap[ip][3]) / runningScript.onlineRunningTime) * timePassed,
|
||||||
);
|
);
|
||||||
runningScriptObj.log(`Called weaken() on ${serv.hostname} ${timesWeakened} times while offline`);
|
runningScript.log(`Called weaken() on ${serv.hostname} ${timesWeakened} times while offline`);
|
||||||
const coreBonus = 1 + (host.cpuCores - 1) / 16;
|
const coreBonus = 1 + (host.cpuCores - 1) / 16;
|
||||||
serv.weaken(CONSTANTS.ServerWeakenAmount * timesWeakened * coreBonus);
|
serv.weaken(CONSTANTS.ServerWeakenAmount * timesWeakened * coreBonus);
|
||||||
}
|
}
|
||||||
@ -77,7 +83,7 @@ export function scriptCalculateOfflineProduction(runningScriptObj) {
|
|||||||
|
|
||||||
//Returns a RunningScript object matching the filename and arguments on the
|
//Returns a RunningScript object matching the filename and arguments on the
|
||||||
//designated server, and false otherwise
|
//designated server, and false otherwise
|
||||||
export function findRunningScript(filename, args, server) {
|
export function findRunningScript(filename: string, args: (string | number)[], server: BaseServer) {
|
||||||
for (var i = 0; i < server.runningScripts.length; ++i) {
|
for (var i = 0; i < server.runningScripts.length; ++i) {
|
||||||
if (server.runningScripts[i].filename === filename && compareArrays(server.runningScripts[i].args, args)) {
|
if (server.runningScripts[i].filename === filename && compareArrays(server.runningScripts[i].args, args)) {
|
||||||
return server.runningScripts[i];
|
return server.runningScripts[i];
|
||||||
@ -88,7 +94,7 @@ export function findRunningScript(filename, args, server) {
|
|||||||
|
|
||||||
//Returns a RunningScript object matching the pid on the
|
//Returns a RunningScript object matching the pid on the
|
||||||
//designated server, and false otherwise
|
//designated server, and false otherwise
|
||||||
export function findRunningScriptByPid(pid, server) {
|
export function findRunningScriptByPid(pid: number, server: BaseServer) {
|
||||||
for (var i = 0; i < server.runningScripts.length; ++i) {
|
for (var i = 0; i < server.runningScripts.length; ++i) {
|
||||||
if (server.runningScripts[i].pid === pid) {
|
if (server.runningScripts[i].pid === pid) {
|
||||||
return server.runningScripts[i];
|
return server.runningScripts[i];
|
@ -1,4 +1,3 @@
|
|||||||
// Script helper functions
|
|
||||||
export function isScriptFilename(f: string): boolean {
|
export function isScriptFilename(f: string): boolean {
|
||||||
return f.endsWith(".js") || f.endsWith(".script") || f.endsWith(".ns");
|
return f.endsWith(".js") || f.endsWith(".script") || f.endsWith(".ns");
|
||||||
}
|
}
|
@ -11,7 +11,7 @@ import { isValidFilePath } from "../../Terminal/DirectoryHelpers";
|
|||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { IPlayer } from "../../PersonObjects/IPlayer";
|
||||||
import { IRouter } from "../../ui/Router";
|
import { IRouter } from "../../ui/Router";
|
||||||
import { dialogBoxCreate } from "../../../utils/DialogBox";
|
import { dialogBoxCreate } from "../../../utils/DialogBox";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
import { Script } from "../../Script/Script";
|
import { Script } from "../../Script/Script";
|
||||||
import { TextFile } from "../../TextFile";
|
import { TextFile } from "../../TextFile";
|
||||||
import { calculateRamUsage } from "../../Script/RamCalculations";
|
import { calculateRamUsage } from "../../Script/RamCalculations";
|
||||||
|
@ -9,7 +9,7 @@ import { isValidFilePath } from "../Terminal/DirectoryHelpers";
|
|||||||
import { TextFile } from "../TextFile";
|
import { TextFile } from "../TextFile";
|
||||||
import { IReturnStatus } from "../types";
|
import { IReturnStatus } from "../types";
|
||||||
|
|
||||||
import { isScriptFilename } from "../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../Script/isScriptFilename";
|
||||||
|
|
||||||
import { createRandomIp } from "../../utils/IPAddress";
|
import { createRandomIp } from "../../utils/IPAddress";
|
||||||
import { compareArrays } from "../../utils/helpers/compareArrays";
|
import { compareArrays } from "../../utils/helpers/compareArrays";
|
||||||
|
@ -10,7 +10,7 @@ import { TerminalEvents, TerminalClearEvents } from "./TerminalEvents";
|
|||||||
|
|
||||||
import { TextFile } from "../TextFile";
|
import { TextFile } from "../TextFile";
|
||||||
import { Script } from "../Script/Script";
|
import { Script } from "../Script/Script";
|
||||||
import { isScriptFilename } from "../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../Script/isScriptFilename";
|
||||||
import { CONSTANTS } from "../Constants";
|
import { CONSTANTS } from "../Constants";
|
||||||
import { AllServers } from "../Server/AllServers";
|
import { AllServers } from "../Server/AllServers";
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ import { IRouter } from "../../ui/Router";
|
|||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { IPlayer } from "../../PersonObjects/IPlayer";
|
||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { findRunningScript } from "../../Script/ScriptHelpers";
|
import { findRunningScript } from "../../Script/ScriptHelpers";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
|
|
||||||
export function check(
|
export function check(
|
||||||
terminal: ITerminal,
|
terminal: ITerminal,
|
||||||
|
@ -2,7 +2,7 @@ import { ITerminal } from "../ITerminal";
|
|||||||
import { IRouter } from "../../ui/Router";
|
import { IRouter } from "../../ui/Router";
|
||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { IPlayer } from "../../PersonObjects/IPlayer";
|
||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
import FileSaver from "file-saver";
|
import FileSaver from "file-saver";
|
||||||
import JSZip from "jszip";
|
import JSZip from "jszip";
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ import { ITerminal } from "../ITerminal";
|
|||||||
import { IRouter } from "../../ui/Router";
|
import { IRouter } from "../../ui/Router";
|
||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { IPlayer } from "../../PersonObjects/IPlayer";
|
||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
import { TextFile } from "../../TextFile";
|
import { TextFile } from "../../TextFile";
|
||||||
import { Script } from "../../Script/Script";
|
import { Script } from "../../Script/Script";
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ import { ITerminal } from "../ITerminal";
|
|||||||
import { IRouter } from "../../ui/Router";
|
import { IRouter } from "../../ui/Router";
|
||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { IPlayer } from "../../PersonObjects/IPlayer";
|
||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
|
|
||||||
export function nano(
|
export function nano(
|
||||||
terminal: ITerminal,
|
terminal: ITerminal,
|
||||||
|
@ -2,7 +2,7 @@ import { ITerminal } from "../ITerminal";
|
|||||||
import { IRouter } from "../../ui/Router";
|
import { IRouter } from "../../ui/Router";
|
||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { IPlayer } from "../../PersonObjects/IPlayer";
|
||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
import { runScript } from "./runScript";
|
import { runScript } from "./runScript";
|
||||||
import { runProgram } from "./runProgram";
|
import { runProgram } from "./runProgram";
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import { IPlayer } from "../../PersonObjects/IPlayer";
|
|||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { Message } from "../../Message/Message";
|
import { Message } from "../../Message/Message";
|
||||||
import { getServer } from "../../Server/ServerHelpers";
|
import { getServer } from "../../Server/ServerHelpers";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
|
|
||||||
export function scp(
|
export function scp(
|
||||||
terminal: ITerminal,
|
terminal: ITerminal,
|
||||||
|
@ -4,8 +4,8 @@ import { IPlayer } from "../../PersonObjects/IPlayer";
|
|||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { logBoxCreate } from "../../../utils/LogBox";
|
import { logBoxCreate } from "../../../utils/LogBox";
|
||||||
import { findRunningScriptByPid } from "../../Script/ScriptHelpers";
|
import { findRunningScriptByPid } from "../../Script/ScriptHelpers";
|
||||||
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
import { compareArrays } from "../../../utils/helpers/compareArrays";
|
import { compareArrays } from "../../../utils/helpers/compareArrays";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
|
||||||
|
|
||||||
export function tail(
|
export function tail(
|
||||||
terminal: ITerminal,
|
terminal: ITerminal,
|
||||||
|
@ -2,7 +2,7 @@ import { ITerminal } from "../ITerminal";
|
|||||||
import { IRouter } from "../../ui/Router";
|
import { IRouter } from "../../ui/Router";
|
||||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
import { IPlayer } from "../../PersonObjects/IPlayer";
|
||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { isScriptFilename } from "../../Script/ScriptHelpersTS";
|
import { isScriptFilename } from "../../Script/isScriptFilename";
|
||||||
|
|
||||||
export function wget(
|
export function wget(
|
||||||
terminal: ITerminal,
|
terminal: ITerminal,
|
||||||
|
Loading…
Reference in New Issue
Block a user