mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-21 16:52:55 +02:00
merge dev
This commit is contained in:
@@ -5,13 +5,14 @@ import { Bladeburner } from "../Bladeburner/Bladeburner";
|
||||
import { getRamCost } from "../Netscript/RamCostGenerator";
|
||||
import { BitNodeMultipliers } from "../BitNode/BitNodeMultipliers";
|
||||
import { Bladeburner as INetscriptBladeburner, BladeburnerCurAction } from "../ScriptEditor/NetscriptDefinitions";
|
||||
import { IAction } from "src/Bladeburner/IAction";
|
||||
|
||||
export function NetscriptBladeburner(
|
||||
player: IPlayer,
|
||||
workerScript: WorkerScript,
|
||||
helper: INetscriptHelper,
|
||||
): INetscriptBladeburner {
|
||||
const checkBladeburnerAccess = function (func: any, skipjoined: any = false): void {
|
||||
const checkBladeburnerAccess = function (func: string, skipjoined = false): void {
|
||||
const bladeburner = player.bladeburner;
|
||||
if (bladeburner === null) throw new Error("Must have joined bladeburner");
|
||||
const apiAccess =
|
||||
@@ -32,7 +33,7 @@ export function NetscriptBladeburner(
|
||||
}
|
||||
};
|
||||
|
||||
const checkBladeburnerCity = function (func: any, city: any): void {
|
||||
const checkBladeburnerCity = function (func: string, city: string): void {
|
||||
const bladeburner = player.bladeburner;
|
||||
if (bladeburner === null) throw new Error("Must have joined bladeburner");
|
||||
if (!bladeburner.cities.hasOwnProperty(city)) {
|
||||
@@ -40,7 +41,7 @@ export function NetscriptBladeburner(
|
||||
}
|
||||
};
|
||||
|
||||
const getBladeburnerActionObject = function (func: any, type: any, name: any): any {
|
||||
const getBladeburnerActionObject = function (func: string, type: string, name: string): IAction {
|
||||
const bladeburner = player.bladeburner;
|
||||
if (bladeburner === null) throw new Error("Must have joined bladeburner");
|
||||
const actionId = bladeburner.getActionIdFromTypeAndName(type, name);
|
||||
@@ -77,10 +78,11 @@ export function NetscriptBladeburner(
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return bladeburner.getBlackOpNamesNetscriptFn();
|
||||
},
|
||||
getBlackOpRank: function (name: any = ""): number {
|
||||
getBlackOpRank: function (_blackOpName: unknown): number {
|
||||
const blackOpName = helper.string("getBlackOpRank", "blackOpName", _blackOpName);
|
||||
helper.updateDynamicRam("getBlackOpRank", getRamCost(player, "bladeburner", "getBlackOpRank"));
|
||||
checkBladeburnerAccess("getBlackOpRank");
|
||||
const action: any = getBladeburnerActionObject("getBlackOpRank", "blackops", name);
|
||||
const action: any = getBladeburnerActionObject("getBlackOpRank", "blackops", blackOpName);
|
||||
return action.reqdRank;
|
||||
},
|
||||
getGeneralActionNames: function (): string[] {
|
||||
@@ -97,7 +99,9 @@ export function NetscriptBladeburner(
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return bladeburner.getSkillNamesNetscriptFn();
|
||||
},
|
||||
startAction: function (type: any = "", name: any = ""): boolean {
|
||||
startAction: function (_type: unknown, _name: unknown): boolean {
|
||||
const type = helper.string("startAction", "type", _type);
|
||||
const name = helper.string("startAction", "name", _name);
|
||||
helper.updateDynamicRam("startAction", getRamCost(player, "bladeburner", "startAction"));
|
||||
checkBladeburnerAccess("startAction");
|
||||
const bladeburner = player.bladeburner;
|
||||
@@ -122,7 +126,9 @@ export function NetscriptBladeburner(
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return bladeburner.getTypeAndNameFromActionId(bladeburner.action);
|
||||
},
|
||||
getActionTime: function (type: any = "", name: any = ""): number {
|
||||
getActionTime: function (_type: unknown, _name: unknown): number {
|
||||
const type = helper.string("getActionTime", "type", _type);
|
||||
const name = helper.string("getActionTime", "name", _name);
|
||||
helper.updateDynamicRam("getActionTime", getRamCost(player, "bladeburner", "getActionTime"));
|
||||
checkBladeburnerAccess("getActionTime");
|
||||
const bladeburner = player.bladeburner;
|
||||
@@ -133,7 +139,9 @@ export function NetscriptBladeburner(
|
||||
throw helper.makeRuntimeErrorMsg("bladeburner.getActionTime", e);
|
||||
}
|
||||
},
|
||||
getActionEstimatedSuccessChance: function (type: any = "", name: any = ""): [number, number] {
|
||||
getActionEstimatedSuccessChance: function (_type: unknown, _name: unknown): [number, number] {
|
||||
const type = helper.string("getActionEstimatedSuccessChance", "type", _type);
|
||||
const name = helper.string("getActionEstimatedSuccessChance", "name", _name);
|
||||
helper.updateDynamicRam(
|
||||
"getActionEstimatedSuccessChance",
|
||||
getRamCost(player, "bladeburner", "getActionEstimatedSuccessChance"),
|
||||
@@ -147,7 +155,10 @@ export function NetscriptBladeburner(
|
||||
throw helper.makeRuntimeErrorMsg("bladeburner.getActionEstimatedSuccessChance", e);
|
||||
}
|
||||
},
|
||||
getActionRepGain: function (type: any = "", name: any = "", level: any): number {
|
||||
getActionRepGain: function (_type: unknown, _name: unknown, _level: unknown): number {
|
||||
const type = helper.string("getActionRepGain", "type", _type);
|
||||
const name = helper.string("getActionRepGain", "name", _name);
|
||||
const level = helper.number("getActionRepGain", "level", _level);
|
||||
helper.updateDynamicRam("getActionRepGain", getRamCost(player, "bladeburner", "getActionRepGain"));
|
||||
checkBladeburnerAccess("getActionRepGain");
|
||||
const action = getBladeburnerActionObject("getActionRepGain", type, name);
|
||||
@@ -160,7 +171,9 @@ export function NetscriptBladeburner(
|
||||
|
||||
return action.rankGain * rewardMultiplier * BitNodeMultipliers.BladeburnerRank;
|
||||
},
|
||||
getActionCountRemaining: function (type: any = "", name: any = ""): number {
|
||||
getActionCountRemaining: function (_type: unknown, _name: unknown): number {
|
||||
const type = helper.string("getActionCountRemaining", "type", _type);
|
||||
const name = helper.string("getActionCountRemaining", "name", _name);
|
||||
helper.updateDynamicRam("getActionCountRemaining", getRamCost(player, "bladeburner", "getActionCountRemaining"));
|
||||
checkBladeburnerAccess("getActionCountRemaining");
|
||||
const bladeburner = player.bladeburner;
|
||||
@@ -171,31 +184,43 @@ export function NetscriptBladeburner(
|
||||
throw helper.makeRuntimeErrorMsg("bladeburner.getActionCountRemaining", e);
|
||||
}
|
||||
},
|
||||
getActionMaxLevel: function (type: any = "", name: any = ""): number {
|
||||
getActionMaxLevel: function (_type: unknown, _name: unknown): number {
|
||||
const type = helper.string("getActionMaxLevel", "type", _type);
|
||||
const name = helper.string("getActionMaxLevel", "name", _name);
|
||||
helper.updateDynamicRam("getActionMaxLevel", getRamCost(player, "bladeburner", "getActionMaxLevel"));
|
||||
checkBladeburnerAccess("getActionMaxLevel");
|
||||
const action = getBladeburnerActionObject("getActionMaxLevel", type, name);
|
||||
return action.maxLevel;
|
||||
},
|
||||
getActionCurrentLevel: function (type: any = "", name: any = ""): number {
|
||||
getActionCurrentLevel: function (_type: unknown, _name: unknown): number {
|
||||
const type = helper.string("getActionCurrentLevel", "type", _type);
|
||||
const name = helper.string("getActionCurrentLevel", "name", _name);
|
||||
helper.updateDynamicRam("getActionCurrentLevel", getRamCost(player, "bladeburner", "getActionCurrentLevel"));
|
||||
checkBladeburnerAccess("getActionCurrentLevel");
|
||||
const action = getBladeburnerActionObject("getActionCurrentLevel", type, name);
|
||||
return action.level;
|
||||
},
|
||||
getActionAutolevel: function (type: any = "", name: any = ""): boolean {
|
||||
getActionAutolevel: function (_type: unknown, _name: unknown): boolean {
|
||||
const type = helper.string("getActionAutolevel", "type", _type);
|
||||
const name = helper.string("getActionAutolevel", "name", _name);
|
||||
helper.updateDynamicRam("getActionAutolevel", getRamCost(player, "bladeburner", "getActionAutolevel"));
|
||||
checkBladeburnerAccess("getActionAutolevel");
|
||||
const action = getBladeburnerActionObject("getActionCurrentLevel", type, name);
|
||||
return action.autoLevel;
|
||||
},
|
||||
setActionAutolevel: function (type: any = "", name: any = "", autoLevel: any = true): void {
|
||||
setActionAutolevel: function (_type: unknown, _name: unknown, _autoLevel: unknown = true): void {
|
||||
const type = helper.string("setActionAutolevel", "type", _type);
|
||||
const name = helper.string("setActionAutolevel", "name", _name);
|
||||
const autoLevel = helper.boolean(_autoLevel);
|
||||
helper.updateDynamicRam("setActionAutolevel", getRamCost(player, "bladeburner", "setActionAutolevel"));
|
||||
checkBladeburnerAccess("setActionAutolevel");
|
||||
const action = getBladeburnerActionObject("setActionAutolevel", type, name);
|
||||
action.autoLevel = autoLevel;
|
||||
},
|
||||
setActionLevel: function (type: any = "", name: any = "", level: any = 1): void {
|
||||
setActionLevel: function (_type: unknown, _name: unknown, _level: unknown = 1): void {
|
||||
const type = helper.string("setActionLevel", "type", _type);
|
||||
const name = helper.string("setActionLevel", "name", _name);
|
||||
const level = helper.number("setActionLevel", "level", _level);
|
||||
helper.updateDynamicRam("setActionLevel", getRamCost(player, "bladeburner", "setActionLevel"));
|
||||
checkBladeburnerAccess("setActionLevel");
|
||||
const action = getBladeburnerActionObject("setActionLevel", type, name);
|
||||
@@ -221,7 +246,8 @@ export function NetscriptBladeburner(
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return bladeburner.skillPoints;
|
||||
},
|
||||
getSkillLevel: function (skillName: any = ""): number {
|
||||
getSkillLevel: function (_skillName: unknown): number {
|
||||
const skillName = helper.string("getSkillLevel", "skillName", _skillName);
|
||||
helper.updateDynamicRam("getSkillLevel", getRamCost(player, "bladeburner", "getSkillLevel"));
|
||||
checkBladeburnerAccess("getSkillLevel");
|
||||
const bladeburner = player.bladeburner;
|
||||
@@ -232,7 +258,8 @@ export function NetscriptBladeburner(
|
||||
throw helper.makeRuntimeErrorMsg("bladeburner.getSkillLevel", e);
|
||||
}
|
||||
},
|
||||
getSkillUpgradeCost: function (skillName: any = ""): number {
|
||||
getSkillUpgradeCost: function (_skillName: unknown): number {
|
||||
const skillName = helper.string("getSkillUpgradeCost", "skillName", _skillName);
|
||||
helper.updateDynamicRam("getSkillUpgradeCost", getRamCost(player, "bladeburner", "getSkillUpgradeCost"));
|
||||
checkBladeburnerAccess("getSkillUpgradeCost");
|
||||
const bladeburner = player.bladeburner;
|
||||
@@ -243,7 +270,8 @@ export function NetscriptBladeburner(
|
||||
throw helper.makeRuntimeErrorMsg("bladeburner.getSkillUpgradeCost", e);
|
||||
}
|
||||
},
|
||||
upgradeSkill: function (skillName: any): boolean {
|
||||
upgradeSkill: function (_skillName: unknown): boolean {
|
||||
const skillName = helper.string("upgradeSkill", "skillName", _skillName);
|
||||
helper.updateDynamicRam("upgradeSkill", getRamCost(player, "bladeburner", "upgradeSkill"));
|
||||
checkBladeburnerAccess("upgradeSkill");
|
||||
const bladeburner = player.bladeburner;
|
||||
@@ -254,7 +282,9 @@ export function NetscriptBladeburner(
|
||||
throw helper.makeRuntimeErrorMsg("bladeburner.upgradeSkill", e);
|
||||
}
|
||||
},
|
||||
getTeamSize: function (type: any = "", name: any = ""): number {
|
||||
getTeamSize: function (_type: unknown, _name: unknown): number {
|
||||
const type = helper.string("getTeamSize", "type", _type);
|
||||
const name = helper.string("getTeamSize", "name", _name);
|
||||
helper.updateDynamicRam("getTeamSize", getRamCost(player, "bladeburner", "getTeamSize"));
|
||||
checkBladeburnerAccess("getTeamSize");
|
||||
const bladeburner = player.bladeburner;
|
||||
@@ -265,7 +295,10 @@ export function NetscriptBladeburner(
|
||||
throw helper.makeRuntimeErrorMsg("bladeburner.getTeamSize", e);
|
||||
}
|
||||
},
|
||||
setTeamSize: function (type: any = "", name: any = "", size: any): number {
|
||||
setTeamSize: function (_type: unknown, _name: unknown, _size: unknown): number {
|
||||
const type = helper.string("setTeamSize", "type", _type);
|
||||
const name = helper.string("setTeamSize", "name", _name);
|
||||
const size = helper.number("setTeamSize", "size", _size);
|
||||
helper.updateDynamicRam("setTeamSize", getRamCost(player, "bladeburner", "setTeamSize"));
|
||||
checkBladeburnerAccess("setTeamSize");
|
||||
const bladeburner = player.bladeburner;
|
||||
@@ -276,7 +309,8 @@ export function NetscriptBladeburner(
|
||||
throw helper.makeRuntimeErrorMsg("bladeburner.setTeamSize", e);
|
||||
}
|
||||
},
|
||||
getCityEstimatedPopulation: function (cityName: any): number {
|
||||
getCityEstimatedPopulation: function (_cityName: unknown): number {
|
||||
const cityName = helper.string("getCityEstimatedPopulation", "cityName", _cityName);
|
||||
helper.updateDynamicRam(
|
||||
"getCityEstimatedPopulation",
|
||||
getRamCost(player, "bladeburner", "getCityEstimatedPopulation"),
|
||||
@@ -287,7 +321,8 @@ export function NetscriptBladeburner(
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return bladeburner.cities[cityName].popEst;
|
||||
},
|
||||
getCityCommunities: function (cityName: any): number {
|
||||
getCityCommunities: function (_cityName: unknown): number {
|
||||
const cityName = helper.string("getCityCommunities", "cityName", _cityName);
|
||||
helper.updateDynamicRam("getCityCommunities", getRamCost(player, "bladeburner", "getCityCommunities"));
|
||||
checkBladeburnerAccess("getCityCommunities");
|
||||
checkBladeburnerCity("getCityCommunities", cityName);
|
||||
@@ -295,7 +330,8 @@ export function NetscriptBladeburner(
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return bladeburner.cities[cityName].comms;
|
||||
},
|
||||
getCityChaos: function (cityName: any): number {
|
||||
getCityChaos: function (_cityName: unknown): number {
|
||||
const cityName = helper.string("getCityChaos", "cityName", _cityName);
|
||||
helper.updateDynamicRam("getCityChaos", getRamCost(player, "bladeburner", "getCityChaos"));
|
||||
checkBladeburnerAccess("getCityChaos");
|
||||
checkBladeburnerCity("getCityChaos", cityName);
|
||||
@@ -310,13 +346,14 @@ export function NetscriptBladeburner(
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return bladeburner.city;
|
||||
},
|
||||
switchCity: function (cityName: any): boolean {
|
||||
switchCity: function (_cityName: unknown): boolean {
|
||||
const cityName = helper.string("switchCity", "cityName", _cityName);
|
||||
helper.updateDynamicRam("switchCity", getRamCost(player, "bladeburner", "switchCity"));
|
||||
checkBladeburnerAccess("switchCity");
|
||||
checkBladeburnerCity("switchCity", cityName);
|
||||
const bladeburner = player.bladeburner;
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return (bladeburner.city = cityName);
|
||||
return bladeburner.city === cityName;
|
||||
},
|
||||
getStamina: function (): [number, number] {
|
||||
helper.updateDynamicRam("getStamina", getRamCost(player, "bladeburner", "getStamina"));
|
||||
@@ -365,7 +402,7 @@ export function NetscriptBladeburner(
|
||||
checkBladeburnerAccess("getBonusTime");
|
||||
const bladeburner = player.bladeburner;
|
||||
if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
|
||||
return (Math.round(bladeburner.storedCycles / 5))*1000;
|
||||
return Math.round(bladeburner.storedCycles / 5) * 1000;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,14 +4,14 @@ import { IPlayer } from "../PersonObjects/IPlayer";
|
||||
import { getRamCost } from "../Netscript/RamCostGenerator";
|
||||
import { is2DArray } from "../utils/helpers/is2DArray";
|
||||
import { CodingContract } from "../CodingContracts";
|
||||
import { CodingContract as ICodingContract } from "../ScriptEditor/NetscriptDefinitions";
|
||||
import { CodingAttemptOptions, CodingContract as ICodingContract } from "../ScriptEditor/NetscriptDefinitions";
|
||||
|
||||
export function NetscriptCodingContract(
|
||||
player: IPlayer,
|
||||
workerScript: WorkerScript,
|
||||
helper: INetscriptHelper,
|
||||
): ICodingContract {
|
||||
const getCodingContract = function (func: any, hostname: any, filename: any): CodingContract {
|
||||
const getCodingContract = function (func: string, hostname: string, filename: string): CodingContract {
|
||||
const server = helper.getServer(hostname, func);
|
||||
const contract = server.getContract(filename);
|
||||
if (contract == null) {
|
||||
@@ -27,10 +27,12 @@ export function NetscriptCodingContract(
|
||||
return {
|
||||
attempt: function (
|
||||
answer: any,
|
||||
filename: any,
|
||||
hostname: any = workerScript.hostname,
|
||||
{ returnReward }: any = {},
|
||||
_filename: unknown,
|
||||
_hostname: unknown = workerScript.hostname,
|
||||
{ returnReward }: CodingAttemptOptions = { returnReward: false },
|
||||
): boolean | string {
|
||||
const filename = helper.string("attempt", "filename", _filename);
|
||||
const hostname = helper.string("attempt", "hostname", _hostname);
|
||||
helper.updateDynamicRam("attempt", getRamCost(player, "codingcontract", "attempt"));
|
||||
const contract = getCodingContract("attempt", hostname, filename);
|
||||
|
||||
@@ -53,7 +55,10 @@ export function NetscriptCodingContract(
|
||||
const serv = helper.getServer(hostname, "codingcontract.attempt");
|
||||
if (contract.isSolution(answer)) {
|
||||
const reward = player.gainCodingContractReward(creward, contract.getDifficulty());
|
||||
workerScript.log("codingcontract.attempt", () => `Successfully completed Coding Contract '${filename}'. Reward: ${reward}`);
|
||||
workerScript.log(
|
||||
"codingcontract.attempt",
|
||||
() => `Successfully completed Coding Contract '${filename}'. Reward: ${reward}`,
|
||||
);
|
||||
serv.removeContract(filename);
|
||||
return returnReward ? reward : true;
|
||||
} else {
|
||||
@@ -68,7 +73,8 @@ export function NetscriptCodingContract(
|
||||
workerScript.log(
|
||||
"codingcontract.attempt",
|
||||
() =>
|
||||
`Coding Contract attempt '${filename}' failed. ${contract.getMaxNumTries() - contract.tries
|
||||
`Coding Contract attempt '${filename}' failed. ${
|
||||
contract.getMaxNumTries() - contract.tries
|
||||
} attempts remaining.`,
|
||||
);
|
||||
}
|
||||
@@ -76,12 +82,16 @@ export function NetscriptCodingContract(
|
||||
return returnReward ? "" : false;
|
||||
}
|
||||
},
|
||||
getContractType: function (filename: any, hostname: any = workerScript.hostname): string {
|
||||
getContractType: function (_filename: unknown, _hostname: unknown = workerScript.hostname): string {
|
||||
const filename = helper.string("getContractType", "filename", _filename);
|
||||
const hostname = helper.string("getContractType", "hostname", _hostname);
|
||||
helper.updateDynamicRam("getContractType", getRamCost(player, "codingcontract", "getContractType"));
|
||||
const contract = getCodingContract("getContractType", hostname, filename);
|
||||
return contract.getType();
|
||||
},
|
||||
getData: function (filename: any, hostname: any = workerScript.hostname): any {
|
||||
getData: function (_filename: unknown, _hostname: unknown = workerScript.hostname): any {
|
||||
const filename = helper.string("getContractType", "filename", _filename);
|
||||
const hostname = helper.string("getContractType", "hostname", _hostname);
|
||||
helper.updateDynamicRam("getData", getRamCost(player, "codingcontract", "getData"));
|
||||
const contract = getCodingContract("getData", hostname, filename);
|
||||
const data = contract.getData();
|
||||
@@ -101,12 +111,16 @@ export function NetscriptCodingContract(
|
||||
return data;
|
||||
}
|
||||
},
|
||||
getDescription: function (filename: any, hostname: any = workerScript.hostname): string {
|
||||
getDescription: function (_filename: unknown, _hostname: unknown = workerScript.hostname): string {
|
||||
const filename = helper.string("getDescription", "filename", _filename);
|
||||
const hostname = helper.string("getDescription", "hostname", _hostname);
|
||||
helper.updateDynamicRam("getDescription", getRamCost(player, "codingcontract", "getDescription"));
|
||||
const contract = getCodingContract("getDescription", hostname, filename);
|
||||
return contract.getDescription();
|
||||
},
|
||||
getNumTriesRemaining: function (filename: any, hostname: any = workerScript.hostname): number {
|
||||
getNumTriesRemaining: function (_filename: unknown, _hostname: unknown = workerScript.hostname): number {
|
||||
const filename = helper.string("getNumTriesRemaining", "filename", _filename);
|
||||
const hostname = helper.string("getNumTriesRemaining", "hostname", _hostname);
|
||||
helper.updateDynamicRam("getNumTriesRemaining", getRamCost(player, "codingcontract", "getNumTriesRemaining"));
|
||||
const contract = getCodingContract("getNumTriesRemaining", hostname, filename);
|
||||
return contract.getMaxNumTries() - contract.tries;
|
||||
|
||||
@@ -21,7 +21,7 @@ import {
|
||||
Division as NSDivision,
|
||||
WarehouseAPI,
|
||||
OfficeAPI,
|
||||
InvestmentOffer
|
||||
InvestmentOffer,
|
||||
} from "../ScriptEditor/NetscriptDefinitions";
|
||||
|
||||
import {
|
||||
@@ -100,8 +100,8 @@ export function NetscriptCorporation(
|
||||
return upgrade[1];
|
||||
}
|
||||
|
||||
function getUpgradeLevel(aupgradeName: string): number {
|
||||
const upgradeName = helper.string("levelUpgrade", "upgradeName", aupgradeName);
|
||||
function getUpgradeLevel(_upgradeName: string): number {
|
||||
const upgradeName = helper.string("levelUpgrade", "upgradeName", _upgradeName);
|
||||
const corporation = getCorporation();
|
||||
const upgrade = Object.values(CorporationUpgrades).find((upgrade) => upgrade[4] === upgradeName);
|
||||
if (upgrade === undefined) throw new Error(`No upgrade named '${upgradeName}'`);
|
||||
@@ -109,8 +109,8 @@ export function NetscriptCorporation(
|
||||
return corporation.upgrades[upgN];
|
||||
}
|
||||
|
||||
function getUpgradeLevelCost(aupgradeName: string): number {
|
||||
const upgradeName = helper.string("levelUpgrade", "upgradeName", aupgradeName);
|
||||
function getUpgradeLevelCost(_upgradeName: string): number {
|
||||
const upgradeName = helper.string("levelUpgrade", "upgradeName", _upgradeName);
|
||||
const corporation = getCorporation();
|
||||
const upgrade = Object.values(CorporationUpgrades).find((upgrade) => upgrade[4] === upgradeName);
|
||||
if (upgrade === undefined) throw new Error(`No upgrade named '${upgradeName}'`);
|
||||
@@ -135,11 +135,15 @@ export function NetscriptCorporation(
|
||||
|
||||
function getInvestmentOffer(): InvestmentOffer {
|
||||
const corporation = getCorporation();
|
||||
if (corporation.fundingRound >= CorporationConstants.FundingRoundShares.length || corporation.fundingRound >= CorporationConstants.FundingRoundMultiplier.length || corporation.public)
|
||||
if (
|
||||
corporation.fundingRound >= CorporationConstants.FundingRoundShares.length ||
|
||||
corporation.fundingRound >= CorporationConstants.FundingRoundMultiplier.length ||
|
||||
corporation.public
|
||||
)
|
||||
return {
|
||||
funds: 0,
|
||||
shares: 0,
|
||||
round: corporation.fundingRound + 1 // Make more readable
|
||||
round: corporation.fundingRound + 1, // Make more readable
|
||||
}; // Don't throw an error here, no reason to have a second function to check if you can get investment.
|
||||
const val = corporation.determineValuation();
|
||||
const percShares = CorporationConstants.FundingRoundShares[corporation.fundingRound];
|
||||
@@ -149,13 +153,18 @@ export function NetscriptCorporation(
|
||||
return {
|
||||
funds: funding,
|
||||
shares: investShares,
|
||||
round: corporation.fundingRound + 1 // Make more readable
|
||||
round: corporation.fundingRound + 1, // Make more readable
|
||||
};
|
||||
}
|
||||
|
||||
function acceptInvestmentOffer(): boolean {
|
||||
const corporation = getCorporation();
|
||||
if (corporation.fundingRound >= CorporationConstants.FundingRoundShares.length || corporation.fundingRound >= CorporationConstants.FundingRoundMultiplier.length || corporation.public) return false;
|
||||
if (
|
||||
corporation.fundingRound >= CorporationConstants.FundingRoundShares.length ||
|
||||
corporation.fundingRound >= CorporationConstants.FundingRoundMultiplier.length ||
|
||||
corporation.public
|
||||
)
|
||||
return false;
|
||||
const val = corporation.determineValuation();
|
||||
const percShares = CorporationConstants.FundingRoundShares[corporation.fundingRound];
|
||||
const roundMultiplier = CorporationConstants.FundingRoundMultiplier[corporation.fundingRound];
|
||||
@@ -181,7 +190,6 @@ export function NetscriptCorporation(
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
function getResearchCost(division: IIndustry, researchName: string): number {
|
||||
const researchTree = IndustryResearchTrees[division.type];
|
||||
if (researchTree === undefined) throw new Error(`No research tree for industry '${division.type}'`);
|
||||
@@ -192,17 +200,18 @@ export function NetscriptCorporation(
|
||||
}
|
||||
|
||||
function hasResearched(division: IIndustry, researchName: string): boolean {
|
||||
return division.researched[researchName] === undefined ? false : division.researched[researchName] as boolean;
|
||||
return division.researched[researchName] === undefined ? false : (division.researched[researchName] as boolean);
|
||||
}
|
||||
|
||||
function bribe(factionName: string, amountCash: number, amountShares: number): boolean {
|
||||
if (!player.factions.includes(factionName)) throw new Error("Invalid faction name");
|
||||
if (isNaN(amountCash) || amountCash < 0 || isNaN(amountShares) || amountShares < 0) throw new Error("Invalid value for amount field! Must be numeric, grater than 0.");
|
||||
if (isNaN(amountCash) || amountCash < 0 || isNaN(amountShares) || amountShares < 0)
|
||||
throw new Error("Invalid value for amount field! Must be numeric, grater than 0.");
|
||||
|
||||
const corporation = getCorporation();
|
||||
if (corporation.funds < amountCash) return false;
|
||||
if (corporation.numShares < amountShares) return false;
|
||||
const faction = Factions[factionName]
|
||||
const faction = Factions[factionName];
|
||||
const info = faction.getInfo();
|
||||
if (!info.offersWork()) return false;
|
||||
if (player.hasGangWith(factionName)) return false;
|
||||
@@ -302,40 +311,40 @@ export function NetscriptCorporation(
|
||||
checkAccess("getPurchaseWarehouseCost", 7);
|
||||
return CorporationConstants.WarehouseInitialCost;
|
||||
},
|
||||
getUpgradeWarehouseCost: function (adivisionName: any, acityName: any): number {
|
||||
getUpgradeWarehouseCost: function (_divisionName: unknown, _cityName: unknown): number {
|
||||
checkAccess("upgradeWarehouse", 7);
|
||||
const divisionName = helper.string("getUpgradeWarehouseCost", "divisionName", adivisionName);
|
||||
const cityName = helper.string("getUpgradeWarehouseCost", "cityName", acityName);
|
||||
const divisionName = helper.string("getUpgradeWarehouseCost", "divisionName", _divisionName);
|
||||
const cityName = helper.string("getUpgradeWarehouseCost", "cityName", _cityName);
|
||||
const warehouse = getWarehouse(divisionName, cityName);
|
||||
return CorporationConstants.WarehouseUpgradeBaseCost * Math.pow(1.07, warehouse.level + 1);
|
||||
},
|
||||
hasWarehouse: function (adivisionName: any, acityName: any): boolean {
|
||||
hasWarehouse: function (_divisionName: unknown, _cityName: unknown): boolean {
|
||||
checkAccess("hasWarehouse", 7);
|
||||
const divisionName = helper.string("getWarehouse", "divisionName", adivisionName);
|
||||
const cityName = helper.string("getWarehouse", "cityName", acityName);
|
||||
const divisionName = helper.string("getWarehouse", "divisionName", _divisionName);
|
||||
const cityName = helper.string("getWarehouse", "cityName", _cityName);
|
||||
const division = getDivision(divisionName);
|
||||
if (!(cityName in division.warehouses)) throw new Error(`Invalid city name '${cityName}'`);
|
||||
const warehouse = division.warehouses[cityName];
|
||||
return warehouse !== 0;
|
||||
},
|
||||
getWarehouse: function (adivisionName: any, acityName: any): NSWarehouse {
|
||||
getWarehouse: function (_divisionName: unknown, _cityName: unknown): NSWarehouse {
|
||||
checkAccess("getWarehouse", 7);
|
||||
const divisionName = helper.string("getWarehouse", "divisionName", adivisionName);
|
||||
const cityName = helper.string("getWarehouse", "cityName", acityName);
|
||||
const divisionName = helper.string("getWarehouse", "divisionName", _divisionName);
|
||||
const cityName = helper.string("getWarehouse", "cityName", _cityName);
|
||||
const warehouse = getWarehouse(divisionName, cityName);
|
||||
return {
|
||||
level: warehouse.level,
|
||||
loc: warehouse.loc,
|
||||
size: warehouse.size,
|
||||
sizeUsed: warehouse.sizeUsed,
|
||||
smartSupplyEnabled: warehouse.smartSupplyEnabled
|
||||
smartSupplyEnabled: warehouse.smartSupplyEnabled,
|
||||
};
|
||||
},
|
||||
getMaterial: function (adivisionName: any, acityName: any, amaterialName: any): NSMaterial {
|
||||
getMaterial: function (_divisionName: unknown, _cityName: unknown, _materialName: unknown): NSMaterial {
|
||||
checkAccess("getMaterial", 7);
|
||||
const divisionName = helper.string("getMaterial", "divisionName", adivisionName);
|
||||
const cityName = helper.string("getMaterial", "cityName", acityName);
|
||||
const materialName = helper.string("getMaterial", "materialName", amaterialName);
|
||||
const divisionName = helper.string("getMaterial", "divisionName", _divisionName);
|
||||
const cityName = helper.string("getMaterial", "cityName", _cityName);
|
||||
const materialName = helper.string("getMaterial", "materialName", _materialName);
|
||||
const material = getMaterial(divisionName, cityName, materialName);
|
||||
return {
|
||||
name: material.name,
|
||||
@@ -345,10 +354,10 @@ export function NetscriptCorporation(
|
||||
sell: material.sll,
|
||||
};
|
||||
},
|
||||
getProduct: function (adivisionName: any, aproductName: any): NSProduct {
|
||||
getProduct: function (_divisionName: unknown, _productName: unknown): NSProduct {
|
||||
checkAccess("getProduct", 7);
|
||||
const divisionName = helper.string("getProduct", "divisionName", adivisionName);
|
||||
const productName = helper.string("getProduct", "productName", aproductName);
|
||||
const divisionName = helper.string("getProduct", "divisionName", _divisionName);
|
||||
const productName = helper.string("getProduct", "productName", _productName);
|
||||
const product = getProduct(divisionName, productName);
|
||||
return {
|
||||
name: product.name,
|
||||
@@ -360,220 +369,271 @@ export function NetscriptCorporation(
|
||||
developmentProgress: product.prog,
|
||||
};
|
||||
},
|
||||
purchaseWarehouse: function (adivisionName: any, acityName: any): void {
|
||||
purchaseWarehouse: function (_divisionName: unknown, _cityName: unknown): void {
|
||||
checkAccess("purchaseWarehouse", 7);
|
||||
const divisionName = helper.string("purchaseWarehouse", "divisionName", adivisionName);
|
||||
const cityName = helper.string("purchaseWarehouse", "cityName", acityName);
|
||||
const divisionName = helper.string("purchaseWarehouse", "divisionName", _divisionName);
|
||||
const cityName = helper.string("purchaseWarehouse", "cityName", _cityName);
|
||||
const corporation = getCorporation();
|
||||
PurchaseWarehouse(corporation, getDivision(divisionName), cityName);
|
||||
},
|
||||
upgradeWarehouse: function (adivisionName: any, acityName: any): void {
|
||||
upgradeWarehouse: function (_divisionName: unknown, _cityName: unknown): void {
|
||||
checkAccess("upgradeWarehouse", 7);
|
||||
const divisionName = helper.string("upgradeWarehouse", "divisionName", adivisionName);
|
||||
const cityName = helper.string("upgradeWarehouse", "cityName", acityName);
|
||||
const divisionName = helper.string("upgradeWarehouse", "divisionName", _divisionName);
|
||||
const cityName = helper.string("upgradeWarehouse", "cityName", _cityName);
|
||||
const corporation = getCorporation();
|
||||
UpgradeWarehouse(corporation, getDivision(divisionName), getWarehouse(divisionName, cityName));
|
||||
},
|
||||
sellMaterial: function (adivisionName: any, acityName: any, amaterialName: any, aamt: any, aprice: any): void {
|
||||
sellMaterial: function (
|
||||
_divisionName: unknown,
|
||||
_cityName: unknown,
|
||||
_materialName: unknown,
|
||||
_amt: unknown,
|
||||
_price: unknown,
|
||||
): void {
|
||||
checkAccess("sellMaterial", 7);
|
||||
const divisionName = helper.string("sellMaterial", "divisionName", adivisionName);
|
||||
const cityName = helper.string("sellMaterial", "cityName", acityName);
|
||||
const materialName = helper.string("sellMaterial", "materialName", amaterialName);
|
||||
const amt = helper.string("sellMaterial", "amt", aamt);
|
||||
const price = helper.string("sellMaterial", "price", aprice);
|
||||
const divisionName = helper.string("sellMaterial", "divisionName", _divisionName);
|
||||
const cityName = helper.string("sellMaterial", "cityName", _cityName);
|
||||
const materialName = helper.string("sellMaterial", "materialName", _materialName);
|
||||
const amt = helper.string("sellMaterial", "amt", _amt);
|
||||
const price = helper.string("sellMaterial", "price", _price);
|
||||
const material = getMaterial(divisionName, cityName, materialName);
|
||||
SellMaterial(material, amt, price);
|
||||
},
|
||||
sellProduct: function (
|
||||
adivisionName: any,
|
||||
acityName: any,
|
||||
aproductName: any,
|
||||
aamt: any,
|
||||
aprice: any,
|
||||
aall: any,
|
||||
_divisionName: unknown,
|
||||
_cityName: unknown,
|
||||
_productName: unknown,
|
||||
_amt: unknown,
|
||||
_price: unknown,
|
||||
_all: unknown,
|
||||
): void {
|
||||
checkAccess("sellProduct", 7);
|
||||
const divisionName = helper.string("sellProduct", "divisionName", adivisionName);
|
||||
const cityName = helper.string("sellProduct", "cityName", acityName);
|
||||
const productName = helper.string("sellProduct", "productName", aproductName);
|
||||
const amt = helper.string("sellProduct", "amt", aamt);
|
||||
const price = helper.string("sellProduct", "price", aprice);
|
||||
const all = helper.boolean(aall);
|
||||
const divisionName = helper.string("sellProduct", "divisionName", _divisionName);
|
||||
const cityName = helper.string("sellProduct", "cityName", _cityName);
|
||||
const productName = helper.string("sellProduct", "productName", _productName);
|
||||
const amt = helper.string("sellProduct", "amt", _amt);
|
||||
const price = helper.string("sellProduct", "price", _price);
|
||||
const all = helper.boolean(_all);
|
||||
const product = getProduct(divisionName, productName);
|
||||
SellProduct(product, cityName, amt, price, all);
|
||||
},
|
||||
discontinueProduct: function (adivisionName: any, aproductName: any): void {
|
||||
discontinueProduct: function (_divisionName: unknown, _productName: unknown): void {
|
||||
checkAccess("discontinueProduct", 7);
|
||||
const divisionName = helper.string("discontinueProduct", "divisionName", adivisionName);
|
||||
const productName = helper.string("discontinueProduct", "productName", aproductName);
|
||||
const divisionName = helper.string("discontinueProduct", "divisionName", _divisionName);
|
||||
const productName = helper.string("discontinueProduct", "productName", _productName);
|
||||
getDivision(divisionName).discontinueProduct(getProduct(divisionName, productName));
|
||||
},
|
||||
setSmartSupply: function (adivisionName: any, acityName: any, aenabled: any): void {
|
||||
setSmartSupply: function (_divisionName: unknown, _cityName: unknown, _enabled: unknown): void {
|
||||
checkAccess("setSmartSupply", 7);
|
||||
const divisionName = helper.string("setSmartSupply", "divisionName", adivisionName);
|
||||
const cityName = helper.string("sellProduct", "cityName", acityName);
|
||||
const enabled = helper.boolean(aenabled);
|
||||
const divisionName = helper.string("setSmartSupply", "divisionName", _divisionName);
|
||||
const cityName = helper.string("sellProduct", "cityName", _cityName);
|
||||
const enabled = helper.boolean(_enabled);
|
||||
const warehouse = getWarehouse(divisionName, cityName);
|
||||
if (!hasUnlockUpgrade("Smart Supply"))
|
||||
throw helper.makeRuntimeErrorMsg(`corporation.setSmartSupply`, `You have not purchased the Smart Supply upgrade!`);
|
||||
throw helper.makeRuntimeErrorMsg(
|
||||
`corporation.setSmartSupply`,
|
||||
`You have not purchased the Smart Supply upgrade!`,
|
||||
);
|
||||
SetSmartSupply(warehouse, enabled);
|
||||
},
|
||||
setSmartSupplyUseLeftovers: function (adivisionName: any, acityName: any, amaterialName: any, aenabled: any): void {
|
||||
setSmartSupplyUseLeftovers: function (
|
||||
_divisionName: unknown,
|
||||
_cityName: unknown,
|
||||
_materialName: unknown,
|
||||
_enabled: unknown,
|
||||
): void {
|
||||
checkAccess("setSmartSupplyUseLeftovers", 7);
|
||||
const divisionName = helper.string("setSmartSupply", "divisionName", adivisionName);
|
||||
const cityName = helper.string("sellProduct", "cityName", acityName);
|
||||
const materialName = helper.string("sellProduct", "materialName", amaterialName);
|
||||
const enabled = helper.boolean(aenabled);
|
||||
const divisionName = helper.string("setSmartSupply", "divisionName", _divisionName);
|
||||
const cityName = helper.string("sellProduct", "cityName", _cityName);
|
||||
const materialName = helper.string("sellProduct", "materialName", _materialName);
|
||||
const enabled = helper.boolean(_enabled);
|
||||
const warehouse = getWarehouse(divisionName, cityName);
|
||||
const material = getMaterial(divisionName, cityName, materialName);
|
||||
if (!hasUnlockUpgrade("Smart Supply"))
|
||||
throw helper.makeRuntimeErrorMsg(`corporation.setSmartSupply`, `You have not purchased the Smart Supply upgrade!`);
|
||||
throw helper.makeRuntimeErrorMsg(
|
||||
`corporation.setSmartSupply`,
|
||||
`You have not purchased the Smart Supply upgrade!`,
|
||||
);
|
||||
SetSmartSupplyUseLeftovers(warehouse, material, enabled);
|
||||
},
|
||||
buyMaterial: function (adivisionName: any, acityName: any, amaterialName: any, aamt: any): void {
|
||||
buyMaterial: function (_divisionName: unknown, _cityName: unknown, _materialName: unknown, _amt: unknown): void {
|
||||
checkAccess("buyMaterial", 7);
|
||||
const divisionName = helper.string("buyMaterial", "divisionName", adivisionName);
|
||||
const cityName = helper.string("buyMaterial", "cityName", acityName);
|
||||
const materialName = helper.string("buyMaterial", "materialName", amaterialName);
|
||||
const amt = helper.number("buyMaterial", "amt", aamt);
|
||||
const divisionName = helper.string("buyMaterial", "divisionName", _divisionName);
|
||||
const cityName = helper.string("buyMaterial", "cityName", _cityName);
|
||||
const materialName = helper.string("buyMaterial", "materialName", _materialName);
|
||||
const amt = helper.number("buyMaterial", "amt", _amt);
|
||||
if (amt < 0) throw new Error("Invalid value for amount field! Must be numeric and greater than 0");
|
||||
const material = getMaterial(divisionName, cityName, materialName);
|
||||
BuyMaterial(material, amt);
|
||||
},
|
||||
bulkPurchase: function (adivisionName: any, acityName: any, amaterialName: any, aamt: any): void {
|
||||
bulkPurchase: function (_divisionName: unknown, _cityName: unknown, _materialName: unknown, _amt: unknown): void {
|
||||
checkAccess("bulkPurchase", 7);
|
||||
const divisionName = helper.string("bulkPurchase", "divisionName", adivisionName);
|
||||
if (!hasResearched(getDivision(adivisionName), "Bulk Purchasing")) throw new Error(`You have not researched Bulk Purchasing in ${divisionName}`)
|
||||
const divisionName = helper.string("bulkPurchase", "divisionName", _divisionName);
|
||||
if (!hasResearched(getDivision(_divisionName), "Bulk Purchasing"))
|
||||
throw new Error(`You have not researched Bulk Purchasing in ${divisionName}`);
|
||||
const corporation = getCorporation();
|
||||
const cityName = helper.string("bulkPurchase", "cityName", acityName);
|
||||
const materialName = helper.string("bulkPurchase", "materialName", amaterialName);
|
||||
const amt = helper.number("bulkPurchase", "amt", aamt);
|
||||
const warehouse = getWarehouse(divisionName, cityName)
|
||||
const cityName = helper.string("bulkPurchase", "cityName", _cityName);
|
||||
const materialName = helper.string("bulkPurchase", "materialName", _materialName);
|
||||
const amt = helper.number("bulkPurchase", "amt", _amt);
|
||||
const warehouse = getWarehouse(divisionName, cityName);
|
||||
const material = getMaterial(divisionName, cityName, materialName);
|
||||
BulkPurchase(corporation, warehouse, material, amt);
|
||||
},
|
||||
makeProduct: function (
|
||||
adivisionName: any,
|
||||
acityName: any,
|
||||
aproductName: any,
|
||||
adesignInvest: any,
|
||||
amarketingInvest: any,
|
||||
_divisionName: unknown,
|
||||
_cityName: unknown,
|
||||
_productName: unknown,
|
||||
_designInvest: unknown,
|
||||
_marketingInvest: unknown,
|
||||
): void {
|
||||
checkAccess("makeProduct", 7);
|
||||
const divisionName = helper.string("makeProduct", "divisionName", adivisionName);
|
||||
const cityName = helper.string("makeProduct", "cityName", acityName);
|
||||
const productName = helper.string("makeProduct", "productName", aproductName);
|
||||
const designInvest = helper.number("makeProduct", "designInvest", adesignInvest);
|
||||
const marketingInvest = helper.number("makeProduct", "marketingInvest", amarketingInvest);
|
||||
const divisionName = helper.string("makeProduct", "divisionName", _divisionName);
|
||||
const cityName = helper.string("makeProduct", "cityName", _cityName);
|
||||
const productName = helper.string("makeProduct", "productName", _productName);
|
||||
const designInvest = helper.number("makeProduct", "designInvest", _designInvest);
|
||||
const marketingInvest = helper.number("makeProduct", "marketingInvest", _marketingInvest);
|
||||
const corporation = getCorporation();
|
||||
MakeProduct(corporation, getDivision(divisionName), cityName, productName, designInvest, marketingInvest);
|
||||
},
|
||||
exportMaterial: function (
|
||||
asourceDivision: any,
|
||||
asourceCity: any,
|
||||
atargetDivision: any,
|
||||
atargetCity: any,
|
||||
amaterialName: any,
|
||||
aamt: any,
|
||||
_sourceDivision: unknown,
|
||||
_sourceCity: unknown,
|
||||
_targetDivision: unknown,
|
||||
_targetCity: unknown,
|
||||
_materialName: unknown,
|
||||
_amt: unknown,
|
||||
): void {
|
||||
checkAccess("exportMaterial", 7);
|
||||
const sourceDivision = helper.string("exportMaterial", "sourceDivision", asourceDivision);
|
||||
const sourceCity = helper.string("exportMaterial", "sourceCity", asourceCity);
|
||||
const targetDivision = helper.string("exportMaterial", "targetDivision", atargetDivision);
|
||||
const targetCity = helper.string("exportMaterial", "targetCity", atargetCity);
|
||||
const materialName = helper.string("exportMaterial", "materialName", amaterialName);
|
||||
const amt = helper.string("exportMaterial", "amt", aamt);
|
||||
ExportMaterial(targetDivision, targetCity, getMaterial(sourceDivision, sourceCity, materialName), amt + "", getDivision(targetDivision));
|
||||
const sourceDivision = helper.string("exportMaterial", "sourceDivision", _sourceDivision);
|
||||
const sourceCity = helper.string("exportMaterial", "sourceCity", _sourceCity);
|
||||
const targetDivision = helper.string("exportMaterial", "targetDivision", _targetDivision);
|
||||
const targetCity = helper.string("exportMaterial", "targetCity", _targetCity);
|
||||
const materialName = helper.string("exportMaterial", "materialName", _materialName);
|
||||
const amt = helper.string("exportMaterial", "amt", _amt);
|
||||
ExportMaterial(
|
||||
targetDivision,
|
||||
targetCity,
|
||||
getMaterial(sourceDivision, sourceCity, materialName),
|
||||
amt + "",
|
||||
getDivision(targetDivision),
|
||||
);
|
||||
},
|
||||
cancelExportMaterial: function (
|
||||
asourceDivision: any,
|
||||
asourceCity: any,
|
||||
atargetDivision: any,
|
||||
atargetCity: any,
|
||||
amaterialName: any,
|
||||
aamt: any,
|
||||
_sourceDivision: unknown,
|
||||
_sourceCity: unknown,
|
||||
_targetDivision: unknown,
|
||||
_targetCity: unknown,
|
||||
_materialName: unknown,
|
||||
_amt: unknown,
|
||||
): void {
|
||||
checkAccess("cancelExportMaterial", 7);
|
||||
const sourceDivision = helper.string("cancelExportMaterial", "sourceDivision", asourceDivision);
|
||||
const sourceCity = helper.string("cancelExportMaterial", "sourceCity", asourceCity);
|
||||
const targetDivision = helper.string("cancelExportMaterial", "targetDivision", atargetDivision);
|
||||
const targetCity = helper.string("cancelExportMaterial", "targetCity", atargetCity);
|
||||
const materialName = helper.string("cancelExportMaterial", "materialName", amaterialName);
|
||||
const amt = helper.string("cancelExportMaterial", "amt", aamt);
|
||||
const sourceDivision = helper.string("cancelExportMaterial", "sourceDivision", _sourceDivision);
|
||||
const sourceCity = helper.string("cancelExportMaterial", "sourceCity", _sourceCity);
|
||||
const targetDivision = helper.string("cancelExportMaterial", "targetDivision", _targetDivision);
|
||||
const targetCity = helper.string("cancelExportMaterial", "targetCity", _targetCity);
|
||||
const materialName = helper.string("cancelExportMaterial", "materialName", _materialName);
|
||||
const amt = helper.string("cancelExportMaterial", "amt", _amt);
|
||||
CancelExportMaterial(targetDivision, targetCity, getMaterial(sourceDivision, sourceCity, materialName), amt + "");
|
||||
},
|
||||
setMaterialMarketTA1: function (adivisionName: any, acityName: any, amaterialName: any, aon: any): void {
|
||||
setMaterialMarketTA1: function (
|
||||
_divisionName: unknown,
|
||||
_cityName: unknown,
|
||||
_materialName: unknown,
|
||||
_on: unknown,
|
||||
): void {
|
||||
checkAccess("setMaterialMarketTA1", 7);
|
||||
const divisionName = helper.string("setMaterialMarketTA1", "divisionName", adivisionName);
|
||||
const cityName = helper.string("setMaterialMarketTA1", "cityName", acityName);
|
||||
const materialName = helper.string("setMaterialMarketTA1", "materialName", amaterialName);
|
||||
const on = helper.boolean(aon);
|
||||
const divisionName = helper.string("setMaterialMarketTA1", "divisionName", _divisionName);
|
||||
const cityName = helper.string("setMaterialMarketTA1", "cityName", _cityName);
|
||||
const materialName = helper.string("setMaterialMarketTA1", "materialName", _materialName);
|
||||
const on = helper.boolean(_on);
|
||||
if (!getDivision(divisionName).hasResearch("Market-TA.I"))
|
||||
throw helper.makeRuntimeErrorMsg(`corporation.setMaterialMarketTA1`, `You have not researched MarketTA.I for division: ${divisionName}`);
|
||||
throw helper.makeRuntimeErrorMsg(
|
||||
`corporation.setMaterialMarketTA1`,
|
||||
`You have not researched MarketTA.I for division: ${divisionName}`,
|
||||
);
|
||||
SetMaterialMarketTA1(getMaterial(divisionName, cityName, materialName), on);
|
||||
},
|
||||
setMaterialMarketTA2: function (adivisionName: any, acityName: any, amaterialName: any, aon: any): void {
|
||||
setMaterialMarketTA2: function (
|
||||
_divisionName: unknown,
|
||||
_cityName: unknown,
|
||||
_materialName: unknown,
|
||||
_on: unknown,
|
||||
): void {
|
||||
checkAccess("setMaterialMarketTA2", 7);
|
||||
const divisionName = helper.string("setMaterialMarketTA2", "divisionName", adivisionName);
|
||||
const cityName = helper.string("setMaterialMarketTA2", "cityName", acityName);
|
||||
const materialName = helper.string("setMaterialMarketTA2", "materialName", amaterialName);
|
||||
const on = helper.boolean(aon);
|
||||
const divisionName = helper.string("setMaterialMarketTA2", "divisionName", _divisionName);
|
||||
const cityName = helper.string("setMaterialMarketTA2", "cityName", _cityName);
|
||||
const materialName = helper.string("setMaterialMarketTA2", "materialName", _materialName);
|
||||
const on = helper.boolean(_on);
|
||||
if (!getDivision(divisionName).hasResearch("Market-TA.II"))
|
||||
throw helper.makeRuntimeErrorMsg(`corporation.setMaterialMarketTA2`, `You have not researched MarketTA.II for division: ${divisionName}`);
|
||||
throw helper.makeRuntimeErrorMsg(
|
||||
`corporation.setMaterialMarketTA2`,
|
||||
`You have not researched MarketTA.II for division: ${divisionName}`,
|
||||
);
|
||||
SetMaterialMarketTA2(getMaterial(divisionName, cityName, materialName), on);
|
||||
},
|
||||
setProductMarketTA1: function (adivisionName: any, aproductName: any, aon: any): void {
|
||||
setProductMarketTA1: function (_divisionName: unknown, _productName: unknown, _on: unknown): void {
|
||||
checkAccess("setProductMarketTA1", 7);
|
||||
const divisionName = helper.string("setProductMarketTA1", "divisionName", adivisionName);
|
||||
const productName = helper.string("setProductMarketTA1", "productName", aproductName);
|
||||
const on = helper.boolean(aon);
|
||||
const divisionName = helper.string("setProductMarketTA1", "divisionName", _divisionName);
|
||||
const productName = helper.string("setProductMarketTA1", "productName", _productName);
|
||||
const on = helper.boolean(_on);
|
||||
if (!getDivision(divisionName).hasResearch("Market-TA.I"))
|
||||
throw helper.makeRuntimeErrorMsg(`corporation.setProductMarketTA1`, `You have not researched MarketTA.I for division: ${divisionName}`);
|
||||
throw helper.makeRuntimeErrorMsg(
|
||||
`corporation.setProductMarketTA1`,
|
||||
`You have not researched MarketTA.I for division: ${divisionName}`,
|
||||
);
|
||||
SetProductMarketTA1(getProduct(divisionName, productName), on);
|
||||
},
|
||||
setProductMarketTA2: function (adivisionName: any, aproductName: any, aon: any): void {
|
||||
setProductMarketTA2: function (_divisionName: unknown, _productName: unknown, _on: unknown): void {
|
||||
checkAccess("setProductMarketTA2", 7);
|
||||
const divisionName = helper.string("setProductMarketTA2", "divisionName", adivisionName);
|
||||
const productName = helper.string("setProductMarketTA2", "productName", aproductName);
|
||||
const on = helper.boolean(aon);
|
||||
const divisionName = helper.string("setProductMarketTA2", "divisionName", _divisionName);
|
||||
const productName = helper.string("setProductMarketTA2", "productName", _productName);
|
||||
const on = helper.boolean(_on);
|
||||
if (!getDivision(divisionName).hasResearch("Market-TA.II"))
|
||||
throw helper.makeRuntimeErrorMsg(`corporation.setProductMarketTA2`, `You have not researched MarketTA.II for division: ${divisionName}`);
|
||||
throw helper.makeRuntimeErrorMsg(
|
||||
`corporation.setProductMarketTA2`,
|
||||
`You have not researched MarketTA.II for division: ${divisionName}`,
|
||||
);
|
||||
SetProductMarketTA2(getProduct(divisionName, productName), on);
|
||||
},
|
||||
};
|
||||
|
||||
const officeAPI: OfficeAPI = {
|
||||
getHireAdVertCost: function (adivisionName: any): number {
|
||||
getHireAdVertCost: function (_divisionName: unknown): number {
|
||||
checkAccess("getHireAdVertCost", 8);
|
||||
const divisionName = helper.string("getHireAdVertCost", "divisionName", adivisionName);
|
||||
const divisionName = helper.string("getHireAdVertCost", "divisionName", _divisionName);
|
||||
const division = getDivision(divisionName);
|
||||
const upgrade = IndustryUpgrades[1];
|
||||
return upgrade[1] * Math.pow(upgrade[2], division.upgrades[1]);
|
||||
},
|
||||
getHireAdVertCount: function (adivisionName: any): number {
|
||||
getHireAdVertCount: function (_divisionName: unknown): number {
|
||||
checkAccess("getHireAdVertCount", 8);
|
||||
const divisionName = helper.string("getHireAdVertCount", "divisionName", adivisionName);
|
||||
const divisionName = helper.string("getHireAdVertCount", "divisionName", _divisionName);
|
||||
const division = getDivision(divisionName);
|
||||
return division.upgrades[1]
|
||||
return division.upgrades[1];
|
||||
},
|
||||
getResearchCost: function (adivisionName: any, aresearchName: any): number {
|
||||
getResearchCost: function (_divisionName: unknown, _researchName: unknown): number {
|
||||
checkAccess("getResearchCost", 8);
|
||||
const divisionName = helper.string("getResearchCost", "divisionName", adivisionName);
|
||||
const researchName = helper.string("getResearchCost", "researchName", aresearchName);
|
||||
const divisionName = helper.string("getResearchCost", "divisionName", _divisionName);
|
||||
const researchName = helper.string("getResearchCost", "researchName", _researchName);
|
||||
return getResearchCost(getDivision(divisionName), researchName);
|
||||
},
|
||||
hasResearched: function (adivisionName: any, aresearchName: any): boolean {
|
||||
hasResearched: function (_divisionName: unknown, _researchName: unknown): boolean {
|
||||
checkAccess("hasResearched", 8);
|
||||
const divisionName = helper.string("hasResearched", "divisionName", adivisionName);
|
||||
const researchName = helper.string("hasResearched", "researchName", aresearchName);
|
||||
const divisionName = helper.string("hasResearched", "divisionName", _divisionName);
|
||||
const researchName = helper.string("hasResearched", "researchName", _researchName);
|
||||
return hasResearched(getDivision(divisionName), researchName);
|
||||
},
|
||||
setAutoJobAssignment: function (adivisionName: any, acityName: any, ajob: any, aamount: any): Promise<boolean> {
|
||||
setAutoJobAssignment: function (
|
||||
_divisionName: unknown,
|
||||
_cityName: unknown,
|
||||
_job: unknown,
|
||||
_amount: unknown,
|
||||
): Promise<boolean> {
|
||||
checkAccess("setAutoJobAssignment", 8);
|
||||
const divisionName = helper.string("setAutoJobAssignment", "divisionName", adivisionName);
|
||||
const cityName = helper.string("setAutoJobAssignment", "cityName", acityName);
|
||||
const amount = helper.number("setAutoJobAssignment", "amount", aamount);
|
||||
const job = helper.string("setAutoJobAssignment", "job", ajob);
|
||||
const divisionName = helper.string("setAutoJobAssignment", "divisionName", _divisionName);
|
||||
const cityName = helper.string("setAutoJobAssignment", "cityName", _cityName);
|
||||
const amount = helper.number("setAutoJobAssignment", "amount", _amount);
|
||||
const job = helper.string("setAutoJobAssignment", "job", _job);
|
||||
const office = getOffice(divisionName, cityName);
|
||||
if (!Object.values(EmployeePositions).includes(job)) throw new Error(`'${job}' is not a valid job.`);
|
||||
return netscriptDelay(1000, workerScript).then(function () {
|
||||
@@ -583,11 +643,11 @@ export function NetscriptCorporation(
|
||||
return Promise.resolve(office.setEmployeeToJob(job, amount));
|
||||
});
|
||||
},
|
||||
getOfficeSizeUpgradeCost: function (adivisionName: any, acityName: any, asize: any): number {
|
||||
getOfficeSizeUpgradeCost: function (_divisionName: unknown, _cityName: unknown, _size: unknown): number {
|
||||
checkAccess("getOfficeSizeUpgradeCost", 8);
|
||||
const divisionName = helper.string("getOfficeSizeUpgradeCost", "divisionName", adivisionName);
|
||||
const cityName = helper.string("getOfficeSizeUpgradeCost", "cityName", acityName);
|
||||
const size = helper.number("getOfficeSizeUpgradeCost", "size", asize);
|
||||
const divisionName = helper.string("getOfficeSizeUpgradeCost", "divisionName", _divisionName);
|
||||
const cityName = helper.string("getOfficeSizeUpgradeCost", "cityName", _cityName);
|
||||
const size = helper.number("getOfficeSizeUpgradeCost", "size", _size);
|
||||
if (size < 0) throw new Error("Invalid value for size field! Must be numeric and greater than 0");
|
||||
const office = getOffice(divisionName, cityName);
|
||||
const initialPriceMult = Math.round(office.size / CorporationConstants.OfficeInitialSize);
|
||||
@@ -598,40 +658,46 @@ export function NetscriptCorporation(
|
||||
}
|
||||
return CorporationConstants.OfficeInitialCost * mult;
|
||||
},
|
||||
assignJob: function (adivisionName: any, acityName: any, aemployeeName: any, ajob: any): Promise<void> {
|
||||
assignJob: function (
|
||||
_divisionName: unknown,
|
||||
_cityName: unknown,
|
||||
_employeeName: unknown,
|
||||
_job: unknown,
|
||||
): Promise<void> {
|
||||
checkAccess("assignJob", 8);
|
||||
const divisionName = helper.string("assignJob", "divisionName", adivisionName);
|
||||
const cityName = helper.string("assignJob", "cityName", acityName);
|
||||
const employeeName = helper.string("assignJob", "employeeName", aemployeeName);
|
||||
const job = helper.string("assignJob", "job", ajob);
|
||||
const divisionName = helper.string("assignJob", "divisionName", _divisionName);
|
||||
const cityName = helper.string("assignJob", "cityName", _cityName);
|
||||
const employeeName = helper.string("assignJob", "employeeName", _employeeName);
|
||||
const job = helper.string("assignJob", "job", _job);
|
||||
const employee = getEmployee(divisionName, cityName, employeeName);
|
||||
return netscriptDelay(1000, workerScript).then(function () {
|
||||
return Promise.resolve(AssignJob(employee, job));
|
||||
});
|
||||
},
|
||||
hireEmployee: function (adivisionName: any, acityName: any): any {
|
||||
hireEmployee: function (_divisionName: unknown, _cityName: unknown): any {
|
||||
checkAccess("hireEmployee", 8);
|
||||
const divisionName = helper.string("hireEmployee", "divisionName", adivisionName);
|
||||
const cityName = helper.string("hireEmployee", "cityName", acityName);
|
||||
const divisionName = helper.string("hireEmployee", "divisionName", _divisionName);
|
||||
const cityName = helper.string("hireEmployee", "cityName", _cityName);
|
||||
const office = getOffice(divisionName, cityName);
|
||||
return office.hireRandomEmployee();
|
||||
},
|
||||
upgradeOfficeSize: function (adivisionName: any, acityName: any, asize: any): void {
|
||||
upgradeOfficeSize: function (_divisionName: unknown, _cityName: unknown, _size: unknown): void {
|
||||
checkAccess("upgradeOfficeSize", 8);
|
||||
const divisionName = helper.string("upgradeOfficeSize", "divisionName", adivisionName);
|
||||
const cityName = helper.string("upgradeOfficeSize", "cityName", acityName);
|
||||
const size = helper.number("upgradeOfficeSize", "size", asize);
|
||||
const divisionName = helper.string("upgradeOfficeSize", "divisionName", _divisionName);
|
||||
const cityName = helper.string("upgradeOfficeSize", "cityName", _cityName);
|
||||
const size = helper.number("upgradeOfficeSize", "size", _size);
|
||||
if (size < 0) throw new Error("Invalid value for size field! Must be numeric and greater than 0");
|
||||
const office = getOffice(divisionName, cityName);
|
||||
const corporation = getCorporation();
|
||||
UpgradeOfficeSize(corporation, office, size);
|
||||
},
|
||||
throwParty: function (adivisionName: any, acityName: any, acostPerEmployee: any): Promise<number> {
|
||||
throwParty: function (_divisionName: unknown, _cityName: unknown, _costPerEmployee: unknown): Promise<number> {
|
||||
checkAccess("throwParty", 8);
|
||||
const divisionName = helper.string("throwParty", "divisionName", adivisionName);
|
||||
const cityName = helper.string("throwParty", "cityName", acityName);
|
||||
const costPerEmployee = helper.number("throwParty", "costPerEmployee", acostPerEmployee);
|
||||
if (costPerEmployee < 0) throw new Error("Invalid value for Cost Per Employee field! Must be numeric and greater than 0");
|
||||
const divisionName = helper.string("throwParty", "divisionName", _divisionName);
|
||||
const cityName = helper.string("throwParty", "cityName", _cityName);
|
||||
const costPerEmployee = helper.number("throwParty", "costPerEmployee", _costPerEmployee);
|
||||
if (costPerEmployee < 0)
|
||||
throw new Error("Invalid value for Cost Per Employee field! Must be numeric and greater than 0");
|
||||
const office = getOffice(divisionName, cityName);
|
||||
const corporation = getCorporation();
|
||||
return netscriptDelay(
|
||||
@@ -641,10 +707,10 @@ export function NetscriptCorporation(
|
||||
return Promise.resolve(ThrowParty(corporation, office, costPerEmployee));
|
||||
});
|
||||
},
|
||||
buyCoffee: function (adivisionName: any, acityName: any): Promise<void> {
|
||||
buyCoffee: function (_divisionName: unknown, _cityName: unknown): Promise<void> {
|
||||
checkAccess("buyCoffee", 8);
|
||||
const divisionName = helper.string("buyCoffee", "divisionName", adivisionName);
|
||||
const cityName = helper.string("buyCoffee", "cityName", acityName);
|
||||
const divisionName = helper.string("buyCoffee", "divisionName", _divisionName);
|
||||
const cityName = helper.string("buyCoffee", "cityName", _cityName);
|
||||
const corporation = getCorporation();
|
||||
return netscriptDelay(
|
||||
(60 * 1000) / (player.hacking_speed_mult * calculateIntelligenceBonus(player.intelligence, 1)),
|
||||
@@ -653,22 +719,22 @@ export function NetscriptCorporation(
|
||||
return Promise.resolve(BuyCoffee(corporation, getDivision(divisionName), getOffice(divisionName, cityName)));
|
||||
});
|
||||
},
|
||||
hireAdVert: function (adivisionName: any): void {
|
||||
hireAdVert: function (_divisionName: unknown): void {
|
||||
checkAccess("hireAdVert", 8);
|
||||
const divisionName = helper.string("hireAdVert", "divisionName", adivisionName);
|
||||
const divisionName = helper.string("hireAdVert", "divisionName", _divisionName);
|
||||
const corporation = getCorporation();
|
||||
HireAdVert(corporation, getDivision(divisionName), getOffice(divisionName, "Sector-12"));
|
||||
},
|
||||
research: function (adivisionName: any, aresearchName: any): void {
|
||||
research: function (_divisionName: unknown, _researchName: unknown): void {
|
||||
checkAccess("research", 8);
|
||||
const divisionName = helper.string("research", "divisionName", adivisionName);
|
||||
const researchName = helper.string("research", "researchName", aresearchName);
|
||||
const divisionName = helper.string("research", "divisionName", _divisionName);
|
||||
const researchName = helper.string("research", "researchName", _researchName);
|
||||
Research(getDivision(divisionName), researchName);
|
||||
},
|
||||
getOffice: function (adivisionName: any, acityName: any): any {
|
||||
getOffice: function (_divisionName: unknown, _cityName: unknown): any {
|
||||
checkAccess("getOffice", 8);
|
||||
const divisionName = helper.string("getOffice", "divisionName", adivisionName);
|
||||
const cityName = helper.string("getOffice", "cityName", acityName);
|
||||
const divisionName = helper.string("getOffice", "divisionName", _divisionName);
|
||||
const cityName = helper.string("getOffice", "cityName", _cityName);
|
||||
const office = getOffice(divisionName, cityName);
|
||||
return {
|
||||
loc: office.loc,
|
||||
@@ -689,11 +755,11 @@ export function NetscriptCorporation(
|
||||
},
|
||||
};
|
||||
},
|
||||
getEmployee: function (adivisionName: any, acityName: any, aemployeeName: any): NSEmployee {
|
||||
getEmployee: function (_divisionName: unknown, _cityName: unknown, _employeeName: unknown): NSEmployee {
|
||||
checkAccess("getEmployee", 8);
|
||||
const divisionName = helper.string("getEmployee", "divisionName", adivisionName);
|
||||
const cityName = helper.string("getEmployee", "cityName", acityName);
|
||||
const employeeName = helper.string("getEmployee", "employeeName", aemployeeName);
|
||||
const divisionName = helper.string("getEmployee", "divisionName", _divisionName);
|
||||
const cityName = helper.string("getEmployee", "cityName", _cityName);
|
||||
const employeeName = helper.string("getEmployee", "employeeName", _employeeName);
|
||||
const employee = getEmployee(divisionName, cityName, employeeName);
|
||||
return {
|
||||
name: employee.name,
|
||||
@@ -715,42 +781,43 @@ export function NetscriptCorporation(
|
||||
return {
|
||||
...warehouseAPI,
|
||||
...officeAPI,
|
||||
expandIndustry: function (aindustryName: any, adivisionName: any): void {
|
||||
expandIndustry: function (_industryName: unknown, _divisionName: unknown): void {
|
||||
checkAccess("expandIndustry");
|
||||
const industryName = helper.string("expandIndustry", "industryName", aindustryName);
|
||||
const divisionName = helper.string("expandIndustry", "divisionName", adivisionName);
|
||||
const industryName = helper.string("expandIndustry", "industryName", _industryName);
|
||||
const divisionName = helper.string("expandIndustry", "divisionName", _divisionName);
|
||||
const corporation = getCorporation();
|
||||
NewIndustry(corporation, industryName, divisionName);
|
||||
},
|
||||
expandCity: function (adivisionName: any, acityName: any): void {
|
||||
expandCity: function (_divisionName: unknown, _cityName: unknown): void {
|
||||
checkAccess("expandCity");
|
||||
const divisionName = helper.string("expandCity", "divisionName", adivisionName);
|
||||
const cityName = helper.string("expandCity", "cityName", acityName);
|
||||
const divisionName = helper.string("expandCity", "divisionName", _divisionName);
|
||||
const cityName = helper.string("expandCity", "cityName", _cityName);
|
||||
if (!CorporationConstants.Cities.includes(cityName)) throw new Error("Invalid city name");
|
||||
const corporation = getCorporation();
|
||||
const division = getDivision(divisionName);
|
||||
NewCity(corporation, division, cityName);
|
||||
},
|
||||
unlockUpgrade: function (aupgradeName: any): void {
|
||||
unlockUpgrade: function (_upgradeName: unknown): void {
|
||||
checkAccess("unlockUpgrade");
|
||||
const upgradeName = helper.string("unlockUpgrade", "upgradeName", aupgradeName);
|
||||
const upgradeName = helper.string("unlockUpgrade", "upgradeName", _upgradeName);
|
||||
const corporation = getCorporation();
|
||||
const upgrade = Object.values(CorporationUnlockUpgrades).find((upgrade) => upgrade[2] === upgradeName);
|
||||
if (upgrade === undefined) throw new Error(`No upgrade named '${upgradeName}'`);
|
||||
UnlockUpgrade(corporation, upgrade);
|
||||
},
|
||||
levelUpgrade: function (aupgradeName: any): void {
|
||||
levelUpgrade: function (_upgradeName: unknown): void {
|
||||
checkAccess("levelUpgrade");
|
||||
const upgradeName = helper.string("levelUpgrade", "upgradeName", aupgradeName);
|
||||
const upgradeName = helper.string("levelUpgrade", "upgradeName", _upgradeName);
|
||||
const corporation = getCorporation();
|
||||
const upgrade = Object.values(CorporationUpgrades).find((upgrade) => upgrade[4] === upgradeName);
|
||||
if (upgrade === undefined) throw new Error(`No upgrade named '${upgradeName}'`);
|
||||
LevelUpgrade(corporation, upgrade);
|
||||
},
|
||||
issueDividends: function (apercent: any): void {
|
||||
issueDividends: function (_percent: unknown): void {
|
||||
checkAccess("issueDividends");
|
||||
const percent = helper.number("issueDividends", "percent", apercent);
|
||||
if (percent < 0 || percent > 100) throw new Error("Invalid value for percent field! Must be numeric, greater than 0, and less than 100");
|
||||
const percent = helper.number("issueDividends", "percent", _percent);
|
||||
if (percent < 0 || percent > 100)
|
||||
throw new Error("Invalid value for percent field! Must be numeric, greater than 0, and less than 100");
|
||||
const corporation = getCorporation();
|
||||
if (!corporation.public)
|
||||
throw helper.makeRuntimeErrorMsg(`corporation.issueDividends`, `Your company has not gone public!`);
|
||||
@@ -759,9 +826,9 @@ export function NetscriptCorporation(
|
||||
|
||||
// If you modify these objects you will affect them for real, it's not
|
||||
// copies.
|
||||
getDivision: function (adivisionName: any): NSDivision {
|
||||
getDivision: function (_divisionName: unknown): NSDivision {
|
||||
checkAccess("getDivision");
|
||||
const divisionName = helper.string("getDivision", "divisionName", adivisionName);
|
||||
const divisionName = helper.string("getDivision", "divisionName", _divisionName);
|
||||
const division = getDivision(divisionName);
|
||||
return getSafeDivision(division);
|
||||
},
|
||||
@@ -783,33 +850,34 @@ export function NetscriptCorporation(
|
||||
divisions: corporation.divisions.map((division): NSDivision => getSafeDivision(division)),
|
||||
};
|
||||
},
|
||||
createCorporation: function (acorporationName: string, selfFund = true): boolean {
|
||||
const corporationName = helper.string("createCorporation", "corporationName", acorporationName);
|
||||
createCorporation: function (_corporationName: unknown, _selfFund: unknown = true): boolean {
|
||||
const corporationName = helper.string("createCorporation", "corporationName", _corporationName);
|
||||
const selfFund = helper.boolean(_selfFund);
|
||||
return createCorporation(corporationName, selfFund);
|
||||
},
|
||||
hasUnlockUpgrade: function (aupgradeName: any): boolean {
|
||||
hasUnlockUpgrade: function (_upgradeName: unknown): boolean {
|
||||
checkAccess("hasUnlockUpgrade");
|
||||
const upgradeName = helper.string("hasUnlockUpgrade", "upgradeName", aupgradeName);
|
||||
const upgradeName = helper.string("hasUnlockUpgrade", "upgradeName", _upgradeName);
|
||||
return hasUnlockUpgrade(upgradeName);
|
||||
},
|
||||
getUnlockUpgradeCost: function (aupgradeName: any): number {
|
||||
getUnlockUpgradeCost: function (_upgradeName: unknown): number {
|
||||
checkAccess("getUnlockUpgradeCost");
|
||||
const upgradeName = helper.string("getUnlockUpgradeCost", "upgradeName", aupgradeName);
|
||||
const upgradeName = helper.string("getUnlockUpgradeCost", "upgradeName", _upgradeName);
|
||||
return getUnlockUpgradeCost(upgradeName);
|
||||
},
|
||||
getUpgradeLevel: function (aupgradeName: any): number {
|
||||
getUpgradeLevel: function (_upgradeName: unknown): number {
|
||||
checkAccess("hasUnlockUpgrade");
|
||||
const upgradeName = helper.string("getUpgradeLevel", "upgradeName", aupgradeName);
|
||||
const upgradeName = helper.string("getUpgradeLevel", "upgradeName", _upgradeName);
|
||||
return getUpgradeLevel(upgradeName);
|
||||
},
|
||||
getUpgradeLevelCost: function (aupgradeName: any): number {
|
||||
getUpgradeLevelCost: function (_upgradeName: unknown): number {
|
||||
checkAccess("getUpgradeLevelCost");
|
||||
const upgradeName = helper.string("getUpgradeLevelCost", "upgradeName", aupgradeName);
|
||||
const upgradeName = helper.string("getUpgradeLevelCost", "upgradeName", _upgradeName);
|
||||
return getUpgradeLevelCost(upgradeName);
|
||||
},
|
||||
getExpandIndustryCost: function (aindustryName: any): number {
|
||||
getExpandIndustryCost: function (_industryName: unknown): number {
|
||||
checkAccess("getExpandIndustryCost");
|
||||
const industryName = helper.string("getExpandIndustryCost", "industryName", aindustryName);
|
||||
const industryName = helper.string("getExpandIndustryCost", "industryName", _industryName);
|
||||
return getExpandIndustryCost(industryName);
|
||||
},
|
||||
getExpandCityCost: function (): number {
|
||||
@@ -824,31 +892,31 @@ export function NetscriptCorporation(
|
||||
checkAccess("acceptInvestmentOffer");
|
||||
return acceptInvestmentOffer();
|
||||
},
|
||||
goPublic: function (anumShares: any): boolean {
|
||||
goPublic: function (_numShares: unknown): boolean {
|
||||
checkAccess("acceptInvestmentOffer");
|
||||
const numShares = helper.number("goPublic", "numShares", anumShares);
|
||||
const numShares = helper.number("goPublic", "numShares", _numShares);
|
||||
return goPublic(numShares);
|
||||
},
|
||||
sellShares: function (anumShares: any): number {
|
||||
sellShares: function (_numShares: unknown): number {
|
||||
checkAccess("acceptInvestmentOffer");
|
||||
const numShares = helper.number("sellStock", "numShares", anumShares);
|
||||
const numShares = helper.number("sellStock", "numShares", _numShares);
|
||||
return SellShares(getCorporation(), player, numShares);
|
||||
},
|
||||
buyBackShares: function (anumShares: any): boolean {
|
||||
buyBackShares: function (_numShares: unknown): boolean {
|
||||
checkAccess("acceptInvestmentOffer");
|
||||
const numShares = helper.number("buyStock", "numShares", anumShares);
|
||||
const numShares = helper.number("buyStock", "numShares", _numShares);
|
||||
return BuyBackShares(getCorporation(), player, numShares);
|
||||
},
|
||||
bribe: function (afactionName: string, aamountCash: any, aamountShares: any): boolean {
|
||||
bribe: function (_factionName: unknown, _amountCash: unknown, _amountShares: unknown): boolean {
|
||||
checkAccess("bribe");
|
||||
const factionName = helper.string("bribe", "factionName", afactionName);
|
||||
const amountCash = helper.number("bribe", "amountCash", aamountCash);
|
||||
const amountShares = helper.number("bribe", "amountShares", aamountShares);
|
||||
const factionName = helper.string("bribe", "factionName", _factionName);
|
||||
const amountCash = helper.number("bribe", "amountCash", _amountCash);
|
||||
const amountShares = helper.number("bribe", "amountShares", _amountShares);
|
||||
return bribe(factionName, amountCash, amountShares);
|
||||
},
|
||||
getBonusTime: function (): number {
|
||||
checkAccess("getBonusTime");
|
||||
return Math.round(getCorporation().storedCycles / 5) * 1000;
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -130,7 +130,9 @@ export function NetscriptSingularity(
|
||||
augs = augs.filter((a) => a.factions.length > 1 || Factions[facName].augmentations.includes(a.name));
|
||||
|
||||
// Remove blacklisted augs.
|
||||
const blacklist = [AugmentationNames.NeuroFluxGovernor, AugmentationNames.TheRedPill];
|
||||
const blacklist = [AugmentationNames.NeuroFluxGovernor, AugmentationNames.TheRedPill].map(
|
||||
(augmentation) => augmentation as string,
|
||||
);
|
||||
augs = augs.filter((a) => !blacklist.includes(a.name));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user