diff --git a/src/NetscriptFunctions.ts b/src/NetscriptFunctions.ts index 7ec2da28b..896618d2a 100644 --- a/src/NetscriptFunctions.ts +++ b/src/NetscriptFunctions.ts @@ -261,13 +261,7 @@ export const ns: InternalAPI = { const server = helpers.getServer(ctx, hostname); if (!(server instanceof Server)) { - helpers.log(ctx, () => "Cannot be executed on this server."); - return Promise.resolve(0); - } - - const host = GetServer(ctx.workerScript.hostname); - if (host === null) { - throw new Error("Workerscript host is null"); + throw helpers.errorMessage(ctx, "Cannot be executed on this server."); } // No root access or skill level too low @@ -286,6 +280,10 @@ export const ns: InternalAPI = { )} (t=${formatThreads(threads)}).`, ); return helpers.netscriptDelay(ctx, growTime * 1000).then(function () { + const host = GetServer(ctx.workerScript.hostname); + if (host === null) { + throw helpers.errorMessage(ctx, `Cannot find host of WorkerScript. Hostname: ${ctx.workerScript.hostname}.`); + } const moneyBefore = server.moneyAvailable <= 0 ? 1 : server.moneyAvailable; processSingleServerGrowth(server, threads, host.cpuCores); const moneyAfter = server.moneyAvailable; @@ -360,8 +358,7 @@ export const ns: InternalAPI = { const server = helpers.getServer(ctx, hostname); if (!(server instanceof Server)) { - helpers.log(ctx, () => "Cannot be executed on this server."); - return Promise.resolve(0); + throw helpers.errorMessage(ctx, "Cannot be executed on this server."); } // No root access or skill level too low @@ -382,8 +379,7 @@ export const ns: InternalAPI = { return helpers.netscriptDelay(ctx, weakenTime * 1000).then(function () { const host = GetServer(ctx.workerScript.hostname); if (host === null) { - helpers.log(ctx, () => "Server is null, did it die?"); - return Promise.resolve(0); + throw helpers.errorMessage(ctx, `Cannot find host of WorkerScript. Hostname: ${ctx.workerScript.hostname}.`); } const weakenAmt = getWeakenEffect(threads, host.cpuCores); server.weaken(weakenAmt); diff --git a/src/NetscriptFunctions/Singularity.ts b/src/NetscriptFunctions/Singularity.ts index 7bc02e73e..77db2199d 100644 --- a/src/NetscriptFunctions/Singularity.ts +++ b/src/NetscriptFunctions/Singularity.ts @@ -559,8 +559,7 @@ export function NetscriptSingularity(): InternalAPI { helpers.checkSingularityAccess(ctx); const baseserver = Player.getCurrentServer(); if (!(baseserver instanceof Server)) { - helpers.log(ctx, () => "Cannot backdoor this kind of server"); - return Promise.resolve(); + throw helpers.errorMessage(ctx, "Cannot backdoor this kind of server."); } const server = baseserver; const installTime = (calculateHackingTime(server, Player) / 4) * 1000; diff --git a/src/Terminal/commands/backdoor.ts b/src/Terminal/commands/backdoor.ts index f266ef80a..b50c89f1a 100644 --- a/src/Terminal/commands/backdoor.ts +++ b/src/Terminal/commands/backdoor.ts @@ -2,7 +2,6 @@ import { Terminal } from "../../Terminal"; import { Player } from "@player"; import { BaseServer } from "../../Server/BaseServer"; import { Server } from "../../Server/Server"; -import { HacknetServer } from "../../Hacknet/HacknetServer"; export function backdoor(args: (string | number | boolean)[], server: BaseServer): void { if (args.length !== 0) { @@ -11,24 +10,24 @@ export function backdoor(args: (string | number | boolean)[], server: BaseServer } if (!(server instanceof Server)) { - Terminal.error("Can only backdoor normal servers"); + Terminal.error("Can only install a backdoor on normal servers"); + return; } - - const normalServer = server as Server; - - if (normalServer.purchasedByPlayer) { + if (server.purchasedByPlayer) { Terminal.error( - "Cannot use backdoor on your own machines! You are currently connected to your home PC or one of your purchased servers", + "Cannot install a backdoor on your own machines! You are currently connected to your home PC or one of your purchased servers.", ); - } else if (!normalServer.hasAdminRights) { - Terminal.error("You do not have admin rights for this machine! Cannot backdoor"); - } else if (normalServer.requiredHackingSkill > Player.skills.hacking) { - Terminal.error( - "Your hacking skill is not high enough to use backdoor on this machine. Try analyzing the machine to determine the required hacking skill", - ); - } else if (normalServer instanceof HacknetServer) { - Terminal.error("Cannot use backdoor on this type of Server"); - } else { - Terminal.startBackdoor(); + return; } + if (!server.hasAdminRights) { + Terminal.error("You do not have admin rights for this machine"); + return; + } + if (server.requiredHackingSkill > Player.skills.hacking) { + Terminal.error( + "Your hacking skill is not high enough to install a backdoor on this machine. Try analyzing the machine to determine the required hacking skill.", + ); + return; + } + Terminal.startBackdoor(); }