VARIOUS: Various changes prior to release 2.2 (#271)

See PR #271 description
This commit is contained in:
Snarling
2022-12-29 20:28:53 -05:00
committed by GitHub
parent 24ad342203
commit fb1f95c26e
310 changed files with 3768 additions and 2583 deletions
+361 -368
View File
@@ -10,78 +10,78 @@ type RamCostTree<API> = Omit<
>;
/** Constants for assigning costs to ns functions */
export const RamCostConstants: Record<string, number> = {
ScriptBaseRamCost: 1.6,
ScriptDomRamCost: 25,
ScriptCorporationRamCost: 1024 - 1.6,
ScriptHackRamCost: 0.1,
ScriptHackAnalyzeRamCost: 1,
ScriptGrowRamCost: 0.15,
ScriptGrowthAnalyzeRamCost: 1,
ScriptWeakenRamCost: 0.15,
ScriptWeakenAnalyzeRamCost: 1,
ScriptScanRamCost: 0.2,
ScriptRecentScriptsRamCost: 0.2,
ScriptPortProgramRamCost: 0.05,
ScriptRunRamCost: 1.0,
ScriptExecRamCost: 1.3,
ScriptSpawnRamCost: 2.0,
ScriptScpRamCost: 0.6,
ScriptKillRamCost: 0.5,
ScriptHasRootAccessRamCost: 0.05,
ScriptGetHostnameRamCost: 0.05,
ScriptGetHackingLevelRamCost: 0.05,
ScriptGetMultipliersRamCost: 4.0,
ScriptGetServerRamCost: 0.1,
ScriptGetServerMaxRam: 0.05,
ScriptGetServerUsedRam: 0.05,
ScriptFileExistsRamCost: 0.1,
ScriptIsRunningRamCost: 0.1,
ScriptHacknetNodesRamCost: 4.0,
ScriptHNUpgLevelRamCost: 0.4,
ScriptHNUpgRamRamCost: 0.6,
ScriptHNUpgCoreRamCost: 0.8,
ScriptGetStockRamCost: 2.0,
ScriptBuySellStockRamCost: 2.5,
ScriptGetPurchaseServerRamCost: 0.25,
ScriptPurchaseServerRamCost: 2.25,
ScriptGetPurchasedServerLimit: 0.05,
ScriptGetPurchasedServerMaxRam: 0.05,
ScriptRoundRamCost: 0.05,
ScriptReadWriteRamCost: 1.0,
ScriptArbScriptRamCost: 1.0,
ScriptGetScriptRamCost: 0.1,
ScriptGetRunningScriptRamCost: 0.3,
ScriptGetHackTimeRamCost: 0.05,
ScriptGetFavorToDonate: 0.1,
ScriptCodingContractBaseRamCost: 10,
ScriptSleeveBaseRamCost: 4,
ScriptClearTerminalCost: 0.2,
ScriptGetMoneySourcesCost: 1.0,
export const RamCostConstants = {
Base: 1.6,
Dom: 25,
Corporation: 1024,
Max: 1024,
Hack: 0.1,
HackAnalyze: 1,
Grow: 0.15,
GrowthAnalyze: 1,
Weaken: 0.15,
WeakenAnalyze: 1,
Scan: 0.2,
RecentScripts: 0.2,
PortProgram: 0.05,
Run: 1.0,
Exec: 1.3,
Spawn: 2.0,
Scp: 0.6,
Kill: 0.5,
HasRootAccess: 0.05,
GetHostname: 0.05,
GetHackingLevel: 0.05,
GetServer: 0.1,
GetServerMaxRam: 0.05,
GetServerUsedRam: 0.05,
FileExists: 0.1,
IsRunning: 0.1,
HacknetNodes: 4.0,
HNUpgLevel: 0.4,
HNUpgRam: 0.6,
HNUpgCore: 0.8,
GetStock: 2.0,
BuySellStock: 2.5,
GetPurchaseServer: 0.25,
PurchaseServer: 2.25,
GetPurchasedServerLimit: 0.05,
GetPurchasedServerMaxRam: 0.05,
Round: 0.05,
ReadWrite: 1.0,
ArbScript: 1.0,
GetScript: 0.1,
GetRunningScript: 0.3,
GetHackTime: 0.05,
GetFavorToDonate: 0.1,
CodingContractBase: 10,
SleeveBase: 4,
ClearTerminalCost: 0.2,
GetMoneySourcesCost: 1.0,
ScriptSingularityFn1RamCost: 2,
ScriptSingularityFn2RamCost: 3,
ScriptSingularityFn3RamCost: 5,
SingularityFn1: 2,
SingularityFn2: 3,
SingularityFn3: 5,
ScriptGangApiBaseRamCost: 4,
GangApiBase: 4,
ScriptBladeburnerApiBaseRamCost: 4,
BladeburnerApiBase: 4,
ScriptStanekWidth: 0.4,
ScriptStanekHeight: 0.4,
ScriptStanekCharge: 0.4,
ScriptStanekFragmentDefinitions: 0,
ScriptStanekPlacedFragments: 5,
ScriptStanekClear: 0,
ScriptStanekCanPlace: 0.5,
ScriptStanekPlace: 5,
ScriptStanekFragmentAt: 2,
ScriptStanekDeleteAt: 0.15,
ScriptInfiltrationCalculateDifficulty: 2.5,
ScriptInfiltrationCalculateRewards: 2.5,
ScriptInfiltrationGetLocations: 5,
ScriptInfiltrationGetInfiltrations: 15,
ScriptStanekAcceptGift: 2,
StanekWidth: 0.4,
StanekHeight: 0.4,
StanekCharge: 0.4,
StanekFragmentDefinitions: 0,
StanekPlacedFragments: 5,
StanekClear: 0,
StanekCanPlace: 0.5,
StanekPlace: 5,
StanekFragmentAt: 2,
StanekDeleteAt: 0.15,
InfiltrationCalculateDifficulty: 2.5,
InfiltrationCalculateRewards: 2.5,
InfiltrationGetLocations: 5,
InfiltrationGetInfiltrations: 15,
StanekAcceptGift: 2,
};
function SF4Cost(cost: number): () => number {
@@ -125,84 +125,84 @@ const stock = {
hasTIXAPIAccess: 0.05,
has4SData: 0.05,
has4SDataTIXAPI: 0.05,
getSymbols: RamCostConstants.ScriptGetStockRamCost,
getPrice: RamCostConstants.ScriptGetStockRamCost,
getOrganization: RamCostConstants.ScriptGetStockRamCost,
getAskPrice: RamCostConstants.ScriptGetStockRamCost,
getBidPrice: RamCostConstants.ScriptGetStockRamCost,
getPosition: RamCostConstants.ScriptGetStockRamCost,
getMaxShares: RamCostConstants.ScriptGetStockRamCost,
getPurchaseCost: RamCostConstants.ScriptGetStockRamCost,
getSaleGain: RamCostConstants.ScriptGetStockRamCost,
buyStock: RamCostConstants.ScriptBuySellStockRamCost,
sellStock: RamCostConstants.ScriptBuySellStockRamCost,
buyShort: RamCostConstants.ScriptBuySellStockRamCost,
sellShort: RamCostConstants.ScriptBuySellStockRamCost,
placeOrder: RamCostConstants.ScriptBuySellStockRamCost,
cancelOrder: RamCostConstants.ScriptBuySellStockRamCost,
getOrders: RamCostConstants.ScriptBuySellStockRamCost,
getVolatility: RamCostConstants.ScriptBuySellStockRamCost,
getForecast: RamCostConstants.ScriptBuySellStockRamCost,
purchase4SMarketData: RamCostConstants.ScriptBuySellStockRamCost,
purchase4SMarketDataTixApi: RamCostConstants.ScriptBuySellStockRamCost,
purchaseWseAccount: RamCostConstants.ScriptBuySellStockRamCost,
purchaseTixApi: RamCostConstants.ScriptBuySellStockRamCost,
getSymbols: RamCostConstants.GetStock,
getPrice: RamCostConstants.GetStock,
getOrganization: RamCostConstants.GetStock,
getAskPrice: RamCostConstants.GetStock,
getBidPrice: RamCostConstants.GetStock,
getPosition: RamCostConstants.GetStock,
getMaxShares: RamCostConstants.GetStock,
getPurchaseCost: RamCostConstants.GetStock,
getSaleGain: RamCostConstants.GetStock,
buyStock: RamCostConstants.BuySellStock,
sellStock: RamCostConstants.BuySellStock,
buyShort: RamCostConstants.BuySellStock,
sellShort: RamCostConstants.BuySellStock,
placeOrder: RamCostConstants.BuySellStock,
cancelOrder: RamCostConstants.BuySellStock,
getOrders: RamCostConstants.BuySellStock,
getVolatility: RamCostConstants.BuySellStock,
getForecast: RamCostConstants.BuySellStock,
purchase4SMarketData: RamCostConstants.BuySellStock,
purchase4SMarketDataTixApi: RamCostConstants.BuySellStock,
purchaseWseAccount: RamCostConstants.BuySellStock,
purchaseTixApi: RamCostConstants.BuySellStock,
} as const;
// Singularity API
const singularity = {
universityCourse: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
gymWorkout: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
travelToCity: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
goToLocation: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
purchaseTor: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
purchaseProgram: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
getCurrentServer: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
connect: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
manualHack: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
installBackdoor: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),
getDarkwebProgramCost: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),
getDarkwebPrograms: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),
hospitalize: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),
isBusy: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),
stopAction: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 2),
upgradeHomeRam: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),
upgradeHomeCores: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),
getUpgradeHomeRamCost: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 2),
getUpgradeHomeCoresCost: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 2),
workForCompany: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),
applyToCompany: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),
quitJob: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),
getCompanyRep: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),
getCompanyFavor: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),
getCompanyFavorGain: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 4),
checkFactionInvitations: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),
joinFaction: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),
workForFaction: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),
getFactionRep: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),
getFactionFavor: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),
getFactionFavorGain: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 4),
donateToFaction: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
createProgram: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
commitCrime: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
getCrimeChance: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
getCrimeStats: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
getOwnedAugmentations: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
getOwnedSourceFiles: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
getAugmentationsFromFaction: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
getAugmentationCost: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
getAugmentationPrereq: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
getAugmentationPrice: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost / 2),
getAugmentationBasePrice: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost / 2),
getAugmentationRepReq: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost / 2),
getAugmentationStats: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
purchaseAugmentation: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
softReset: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
installAugmentations: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),
universityCourse: SF4Cost(RamCostConstants.SingularityFn1),
gymWorkout: SF4Cost(RamCostConstants.SingularityFn1),
travelToCity: SF4Cost(RamCostConstants.SingularityFn1),
goToLocation: SF4Cost(RamCostConstants.SingularityFn3),
purchaseTor: SF4Cost(RamCostConstants.SingularityFn1),
purchaseProgram: SF4Cost(RamCostConstants.SingularityFn1),
getCurrentServer: SF4Cost(RamCostConstants.SingularityFn1),
connect: SF4Cost(RamCostConstants.SingularityFn1),
manualHack: SF4Cost(RamCostConstants.SingularityFn1),
installBackdoor: SF4Cost(RamCostConstants.SingularityFn1),
getDarkwebProgramCost: SF4Cost(RamCostConstants.SingularityFn1 / 4),
getDarkwebPrograms: SF4Cost(RamCostConstants.SingularityFn1 / 4),
hospitalize: SF4Cost(RamCostConstants.SingularityFn1 / 4),
isBusy: SF4Cost(RamCostConstants.SingularityFn1 / 4),
stopAction: SF4Cost(RamCostConstants.SingularityFn1 / 2),
upgradeHomeRam: SF4Cost(RamCostConstants.SingularityFn2),
upgradeHomeCores: SF4Cost(RamCostConstants.SingularityFn2),
getUpgradeHomeRamCost: SF4Cost(RamCostConstants.SingularityFn2 / 2),
getUpgradeHomeCoresCost: SF4Cost(RamCostConstants.SingularityFn2 / 2),
workForCompany: SF4Cost(RamCostConstants.SingularityFn2),
applyToCompany: SF4Cost(RamCostConstants.SingularityFn2),
quitJob: SF4Cost(RamCostConstants.SingularityFn2),
getCompanyRep: SF4Cost(RamCostConstants.SingularityFn2 / 3),
getCompanyFavor: SF4Cost(RamCostConstants.SingularityFn2 / 3),
getCompanyFavorGain: SF4Cost(RamCostConstants.SingularityFn2 / 4),
checkFactionInvitations: SF4Cost(RamCostConstants.SingularityFn2),
joinFaction: SF4Cost(RamCostConstants.SingularityFn2),
workForFaction: SF4Cost(RamCostConstants.SingularityFn2),
getFactionRep: SF4Cost(RamCostConstants.SingularityFn2 / 3),
getFactionFavor: SF4Cost(RamCostConstants.SingularityFn2 / 3),
getFactionFavorGain: SF4Cost(RamCostConstants.SingularityFn2 / 4),
donateToFaction: SF4Cost(RamCostConstants.SingularityFn3),
createProgram: SF4Cost(RamCostConstants.SingularityFn3),
commitCrime: SF4Cost(RamCostConstants.SingularityFn3),
getCrimeChance: SF4Cost(RamCostConstants.SingularityFn3),
getCrimeStats: SF4Cost(RamCostConstants.SingularityFn3),
getOwnedAugmentations: SF4Cost(RamCostConstants.SingularityFn3),
getOwnedSourceFiles: SF4Cost(RamCostConstants.SingularityFn3),
getAugmentationsFromFaction: SF4Cost(RamCostConstants.SingularityFn3),
getAugmentationCost: SF4Cost(RamCostConstants.SingularityFn3),
getAugmentationPrereq: SF4Cost(RamCostConstants.SingularityFn3),
getAugmentationPrice: SF4Cost(RamCostConstants.SingularityFn3 / 2),
getAugmentationBasePrice: SF4Cost(RamCostConstants.SingularityFn3 / 2),
getAugmentationRepReq: SF4Cost(RamCostConstants.SingularityFn3 / 2),
getAugmentationStats: SF4Cost(RamCostConstants.SingularityFn3),
purchaseAugmentation: SF4Cost(RamCostConstants.SingularityFn3),
softReset: SF4Cost(RamCostConstants.SingularityFn3),
installAugmentations: SF4Cost(RamCostConstants.SingularityFn3),
isFocused: SF4Cost(0.1),
setFocus: SF4Cost(0.1),
exportGame: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 2),
exportGameBonus: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),
exportGame: SF4Cost(RamCostConstants.SingularityFn1 / 2),
exportGameBonus: SF4Cost(RamCostConstants.SingularityFn1 / 4),
b1tflum3: SF4Cost(16),
destroyW0r1dD43m0n: SF4Cost(32),
getCurrentWork: SF4Cost(0.5),
@@ -210,119 +210,119 @@ const singularity = {
// Gang API
const gang = {
createGang: RamCostConstants.ScriptGangApiBaseRamCost / 4,
inGang: RamCostConstants.ScriptGangApiBaseRamCost / 4,
getMemberNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,
getGangInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,
getOtherGangInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,
getMemberInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,
canRecruitMember: RamCostConstants.ScriptGangApiBaseRamCost / 4,
recruitMember: RamCostConstants.ScriptGangApiBaseRamCost / 2,
getTaskNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,
getTaskStats: RamCostConstants.ScriptGangApiBaseRamCost / 4,
setMemberTask: RamCostConstants.ScriptGangApiBaseRamCost / 2,
getEquipmentNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,
getEquipmentCost: RamCostConstants.ScriptGangApiBaseRamCost / 2,
getEquipmentType: RamCostConstants.ScriptGangApiBaseRamCost / 2,
getEquipmentStats: RamCostConstants.ScriptGangApiBaseRamCost / 2,
purchaseEquipment: RamCostConstants.ScriptGangApiBaseRamCost,
ascendMember: RamCostConstants.ScriptGangApiBaseRamCost,
getAscensionResult: RamCostConstants.ScriptGangApiBaseRamCost / 2,
setTerritoryWarfare: RamCostConstants.ScriptGangApiBaseRamCost / 2,
getChanceToWinClash: RamCostConstants.ScriptGangApiBaseRamCost,
createGang: RamCostConstants.GangApiBase / 4,
inGang: RamCostConstants.GangApiBase / 4,
getMemberNames: RamCostConstants.GangApiBase / 4,
getGangInformation: RamCostConstants.GangApiBase / 2,
getOtherGangInformation: RamCostConstants.GangApiBase / 2,
getMemberInformation: RamCostConstants.GangApiBase / 2,
canRecruitMember: RamCostConstants.GangApiBase / 4,
recruitMember: RamCostConstants.GangApiBase / 2,
getTaskNames: RamCostConstants.GangApiBase / 4,
getTaskStats: RamCostConstants.GangApiBase / 4,
setMemberTask: RamCostConstants.GangApiBase / 2,
getEquipmentNames: RamCostConstants.GangApiBase / 4,
getEquipmentCost: RamCostConstants.GangApiBase / 2,
getEquipmentType: RamCostConstants.GangApiBase / 2,
getEquipmentStats: RamCostConstants.GangApiBase / 2,
purchaseEquipment: RamCostConstants.GangApiBase,
ascendMember: RamCostConstants.GangApiBase,
getAscensionResult: RamCostConstants.GangApiBase / 2,
setTerritoryWarfare: RamCostConstants.GangApiBase / 2,
getChanceToWinClash: RamCostConstants.GangApiBase,
getBonusTime: 0,
} as const;
// Bladeburner API
const bladeburner = {
inBladeburner: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 4,
getContractNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,
getOperationNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,
getBlackOpNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,
getBlackOpRank: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 2,
getGeneralActionNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,
getSkillNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,
startAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
stopBladeburnerAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 2,
getCurrentAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 4,
getActionTime: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getActionCurrentTime: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getActionEstimatedSuccessChance: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getActionRepGain: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getActionCountRemaining: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getActionMaxLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getActionCurrentLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getActionAutolevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
setActionAutolevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
setActionLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getRank: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getSkillPoints: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getSkillLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getSkillUpgradeCost: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
upgradeSkill: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getTeamSize: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
setTeamSize: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getCityEstimatedPopulation: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getCityCommunities: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getCityChaos: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getCity: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
switchCity: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
getStamina: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
joinBladeburnerFaction: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
joinBladeburnerDivision: RamCostConstants.ScriptBladeburnerApiBaseRamCost,
inBladeburner: RamCostConstants.BladeburnerApiBase / 4,
getContractNames: RamCostConstants.BladeburnerApiBase / 10,
getOperationNames: RamCostConstants.BladeburnerApiBase / 10,
getBlackOpNames: RamCostConstants.BladeburnerApiBase / 10,
getBlackOpRank: RamCostConstants.BladeburnerApiBase / 2,
getGeneralActionNames: RamCostConstants.BladeburnerApiBase / 10,
getSkillNames: RamCostConstants.BladeburnerApiBase / 10,
startAction: RamCostConstants.BladeburnerApiBase,
stopBladeburnerAction: RamCostConstants.BladeburnerApiBase / 2,
getCurrentAction: RamCostConstants.BladeburnerApiBase / 4,
getActionTime: RamCostConstants.BladeburnerApiBase,
getActionCurrentTime: RamCostConstants.BladeburnerApiBase,
getActionEstimatedSuccessChance: RamCostConstants.BladeburnerApiBase,
getActionRepGain: RamCostConstants.BladeburnerApiBase,
getActionCountRemaining: RamCostConstants.BladeburnerApiBase,
getActionMaxLevel: RamCostConstants.BladeburnerApiBase,
getActionCurrentLevel: RamCostConstants.BladeburnerApiBase,
getActionAutolevel: RamCostConstants.BladeburnerApiBase,
setActionAutolevel: RamCostConstants.BladeburnerApiBase,
setActionLevel: RamCostConstants.BladeburnerApiBase,
getRank: RamCostConstants.BladeburnerApiBase,
getSkillPoints: RamCostConstants.BladeburnerApiBase,
getSkillLevel: RamCostConstants.BladeburnerApiBase,
getSkillUpgradeCost: RamCostConstants.BladeburnerApiBase,
upgradeSkill: RamCostConstants.BladeburnerApiBase,
getTeamSize: RamCostConstants.BladeburnerApiBase,
setTeamSize: RamCostConstants.BladeburnerApiBase,
getCityEstimatedPopulation: RamCostConstants.BladeburnerApiBase,
getCityCommunities: RamCostConstants.BladeburnerApiBase,
getCityChaos: RamCostConstants.BladeburnerApiBase,
getCity: RamCostConstants.BladeburnerApiBase,
switchCity: RamCostConstants.BladeburnerApiBase,
getStamina: RamCostConstants.BladeburnerApiBase,
joinBladeburnerFaction: RamCostConstants.BladeburnerApiBase,
joinBladeburnerDivision: RamCostConstants.BladeburnerApiBase,
getBonusTime: 0,
} as const;
const infiltration = {
getPossibleLocations: RamCostConstants.ScriptInfiltrationGetLocations,
getInfiltration: RamCostConstants.ScriptInfiltrationGetInfiltrations,
getPossibleLocations: RamCostConstants.InfiltrationGetLocations,
getInfiltration: RamCostConstants.InfiltrationGetInfiltrations,
} as const;
// Coding Contract API
const codingcontract = {
attempt: RamCostConstants.ScriptCodingContractBaseRamCost,
getContractType: RamCostConstants.ScriptCodingContractBaseRamCost / 2,
getData: RamCostConstants.ScriptCodingContractBaseRamCost / 2,
getDescription: RamCostConstants.ScriptCodingContractBaseRamCost / 2,
getNumTriesRemaining: RamCostConstants.ScriptCodingContractBaseRamCost / 5,
createDummyContract: RamCostConstants.ScriptCodingContractBaseRamCost / 5,
getContractTypes: RamCostConstants.ScriptCodingContractBaseRamCost / 5,
attempt: RamCostConstants.CodingContractBase,
getContractType: RamCostConstants.CodingContractBase / 2,
getData: RamCostConstants.CodingContractBase / 2,
getDescription: RamCostConstants.CodingContractBase / 2,
getNumTriesRemaining: RamCostConstants.CodingContractBase / 5,
createDummyContract: RamCostConstants.CodingContractBase / 5,
getContractTypes: RamCostConstants.CodingContractBase / 5,
} as const;
// Duplicate Sleeve API
const sleeve = {
getNumSleeves: RamCostConstants.ScriptSleeveBaseRamCost,
setToShockRecovery: RamCostConstants.ScriptSleeveBaseRamCost,
setToSynchronize: RamCostConstants.ScriptSleeveBaseRamCost,
setToCommitCrime: RamCostConstants.ScriptSleeveBaseRamCost,
setToUniversityCourse: RamCostConstants.ScriptSleeveBaseRamCost,
travel: RamCostConstants.ScriptSleeveBaseRamCost,
setToCompanyWork: RamCostConstants.ScriptSleeveBaseRamCost,
setToFactionWork: RamCostConstants.ScriptSleeveBaseRamCost,
setToGymWorkout: RamCostConstants.ScriptSleeveBaseRamCost,
getTask: RamCostConstants.ScriptSleeveBaseRamCost,
getSleeve: RamCostConstants.ScriptSleeveBaseRamCost,
getSleeveAugmentations: RamCostConstants.ScriptSleeveBaseRamCost,
getSleevePurchasableAugs: RamCostConstants.ScriptSleeveBaseRamCost,
purchaseSleeveAug: RamCostConstants.ScriptSleeveBaseRamCost,
setToBladeburnerAction: RamCostConstants.ScriptSleeveBaseRamCost,
getSleeveAugmentationPrice: RamCostConstants.ScriptSleeveBaseRamCost,
getSleeveAugmentationRepReq: RamCostConstants.ScriptSleeveBaseRamCost,
getNumSleeves: RamCostConstants.SleeveBase,
setToShockRecovery: RamCostConstants.SleeveBase,
setToSynchronize: RamCostConstants.SleeveBase,
setToCommitCrime: RamCostConstants.SleeveBase,
setToUniversityCourse: RamCostConstants.SleeveBase,
travel: RamCostConstants.SleeveBase,
setToCompanyWork: RamCostConstants.SleeveBase,
setToFactionWork: RamCostConstants.SleeveBase,
setToGymWorkout: RamCostConstants.SleeveBase,
getTask: RamCostConstants.SleeveBase,
getSleeve: RamCostConstants.SleeveBase,
getSleeveAugmentations: RamCostConstants.SleeveBase,
getSleevePurchasableAugs: RamCostConstants.SleeveBase,
purchaseSleeveAug: RamCostConstants.SleeveBase,
setToBladeburnerAction: RamCostConstants.SleeveBase,
getSleeveAugmentationPrice: RamCostConstants.SleeveBase,
getSleeveAugmentationRepReq: RamCostConstants.SleeveBase,
} as const;
// Stanek API
const stanek = {
giftWidth: RamCostConstants.ScriptStanekWidth,
giftHeight: RamCostConstants.ScriptStanekHeight,
chargeFragment: RamCostConstants.ScriptStanekCharge,
fragmentDefinitions: RamCostConstants.ScriptStanekFragmentDefinitions,
activeFragments: RamCostConstants.ScriptStanekPlacedFragments,
clearGift: RamCostConstants.ScriptStanekClear,
canPlaceFragment: RamCostConstants.ScriptStanekCanPlace,
placeFragment: RamCostConstants.ScriptStanekPlace,
getFragment: RamCostConstants.ScriptStanekFragmentAt,
removeFragment: RamCostConstants.ScriptStanekDeleteAt,
acceptGift: RamCostConstants.ScriptStanekAcceptGift,
giftWidth: RamCostConstants.StanekWidth,
giftHeight: RamCostConstants.StanekHeight,
chargeFragment: RamCostConstants.StanekCharge,
fragmentDefinitions: RamCostConstants.StanekFragmentDefinitions,
activeFragments: RamCostConstants.StanekPlacedFragments,
clearGift: RamCostConstants.StanekClear,
canPlaceFragment: RamCostConstants.StanekCanPlace,
placeFragment: RamCostConstants.StanekPlace,
getFragment: RamCostConstants.StanekFragmentAt,
removeFragment: RamCostConstants.StanekDeleteAt,
acceptGift: RamCostConstants.StanekAcceptGift,
} as const;
// UI API
@@ -347,73 +347,66 @@ const grafting = {
} as const;
const corporation = {
hasCorporation: 0,
getMaterialNames: 0,
getConstants: 0,
getIndustryTypes: 0,
getEmployeePositions: 0,
getUnlockables: 0,
getUpgradeNames: 0,
getResearchNames: 0,
createCorporation: 0,
hasUnlockUpgrade: 0,
getUnlockUpgradeCost: 0,
getUpgradeLevel: 0,
getUpgradeLevelCost: 0,
getExpandIndustryCost: 0,
getExpandCityCost: 0,
getInvestmentOffer: 0,
acceptInvestmentOffer: 0,
goPublic: 0,
bribe: 0,
getCorporation: 0,
getDivision: 0,
expandIndustry: 0,
expandCity: 0,
unlockUpgrade: 0,
levelUpgrade: 0,
issueDividends: 0,
issueNewShares: 0,
buyBackShares: 0,
sellShares: 0,
getBonusTime: 0,
sellMaterial: 0,
sellProduct: 0,
discontinueProduct: 0,
setSmartSupply: 0,
setSmartSupplyUseLeftovers: 0,
buyMaterial: 0,
bulkPurchase: 0,
getWarehouse: 0,
getProduct: 0,
getMaterial: 0,
setMaterialMarketTA1: 0,
setMaterialMarketTA2: 0,
setProductMarketTA1: 0,
setProductMarketTA2: 0,
exportMaterial: 0,
cancelExportMaterial: 0,
purchaseWarehouse: 0,
upgradeWarehouse: 0,
makeProduct: 0,
limitMaterialProduction: 0,
limitProductProduction: 0,
getPurchaseWarehouseCost: 0,
getUpgradeWarehouseCost: 0,
hasWarehouse: 0,
hireEmployee: 0,
upgradeOfficeSize: 0,
throwParty: 0,
buyCoffee: 0,
hireAdVert: 0,
research: 0,
getOffice: 0,
getHireAdVertCost: 0,
getHireAdVertCount: 0,
getResearchCost: 0,
hasResearched: 0,
setAutoJobAssignment: 0,
getOfficeSizeUpgradeCost: 0,
hasCorporation: 0, // This one is free
getConstants: RamCostConstants.Corporation,
getIndustryData: RamCostConstants.Corporation,
getMaterialData: RamCostConstants.Corporation,
issueNewShares: RamCostConstants.Corporation,
createCorporation: RamCostConstants.Corporation,
hasUnlockUpgrade: RamCostConstants.Corporation,
getUnlockUpgradeCost: RamCostConstants.Corporation,
getUpgradeLevel: RamCostConstants.Corporation,
getUpgradeLevelCost: RamCostConstants.Corporation,
getInvestmentOffer: RamCostConstants.Corporation,
acceptInvestmentOffer: RamCostConstants.Corporation,
goPublic: RamCostConstants.Corporation,
bribe: RamCostConstants.Corporation,
getCorporation: RamCostConstants.Corporation,
getDivision: RamCostConstants.Corporation,
expandIndustry: RamCostConstants.Corporation,
expandCity: RamCostConstants.Corporation,
unlockUpgrade: RamCostConstants.Corporation,
levelUpgrade: RamCostConstants.Corporation,
issueDividends: RamCostConstants.Corporation,
buyBackShares: RamCostConstants.Corporation,
sellShares: RamCostConstants.Corporation,
getBonusTime: RamCostConstants.Corporation,
sellMaterial: RamCostConstants.Corporation,
sellProduct: RamCostConstants.Corporation,
discontinueProduct: RamCostConstants.Corporation,
setSmartSupply: RamCostConstants.Corporation,
setSmartSupplyUseLeftovers: RamCostConstants.Corporation,
buyMaterial: RamCostConstants.Corporation,
bulkPurchase: RamCostConstants.Corporation,
getWarehouse: RamCostConstants.Corporation,
getProduct: RamCostConstants.Corporation,
getMaterial: RamCostConstants.Corporation,
setMaterialMarketTA1: RamCostConstants.Corporation,
setMaterialMarketTA2: RamCostConstants.Corporation,
setProductMarketTA1: RamCostConstants.Corporation,
setProductMarketTA2: RamCostConstants.Corporation,
exportMaterial: RamCostConstants.Corporation,
cancelExportMaterial: RamCostConstants.Corporation,
purchaseWarehouse: RamCostConstants.Corporation,
upgradeWarehouse: RamCostConstants.Corporation,
makeProduct: RamCostConstants.Corporation,
limitMaterialProduction: RamCostConstants.Corporation,
limitProductProduction: RamCostConstants.Corporation,
getUpgradeWarehouseCost: RamCostConstants.Corporation,
hasWarehouse: RamCostConstants.Corporation,
hireEmployee: RamCostConstants.Corporation,
upgradeOfficeSize: RamCostConstants.Corporation,
throwParty: RamCostConstants.Corporation,
buyCoffee: RamCostConstants.Corporation,
hireAdVert: RamCostConstants.Corporation,
research: RamCostConstants.Corporation,
getOffice: RamCostConstants.Corporation,
getHireAdVertCost: RamCostConstants.Corporation,
getHireAdVertCount: RamCostConstants.Corporation,
getResearchCost: RamCostConstants.Corporation,
hasResearched: RamCostConstants.Corporation,
setAutoJobAssignment: RamCostConstants.Corporation,
getOfficeSizeUpgradeCost: RamCostConstants.Corporation,
} as const;
/** RamCosts guaranteed to match ns structure 1:1 (aside from args and enums).
@@ -436,21 +429,21 @@ export const RamCosts: RamCostTree<NSFull> = {
sprintf: 0,
vsprintf: 0,
scan: RamCostConstants.ScriptScanRamCost,
hack: RamCostConstants.ScriptHackRamCost,
hackAnalyzeThreads: RamCostConstants.ScriptHackAnalyzeRamCost,
hackAnalyze: RamCostConstants.ScriptHackAnalyzeRamCost,
hackAnalyzeSecurity: RamCostConstants.ScriptHackAnalyzeRamCost,
hackAnalyzeChance: RamCostConstants.ScriptHackAnalyzeRamCost,
scan: RamCostConstants.Scan,
hack: RamCostConstants.Hack,
hackAnalyzeThreads: RamCostConstants.HackAnalyze,
hackAnalyze: RamCostConstants.HackAnalyze,
hackAnalyzeSecurity: RamCostConstants.HackAnalyze,
hackAnalyzeChance: RamCostConstants.HackAnalyze,
sleep: 0,
asleep: 0,
share: 2.4,
getSharePower: 0.2,
grow: RamCostConstants.ScriptGrowRamCost,
growthAnalyze: RamCostConstants.ScriptGrowthAnalyzeRamCost,
growthAnalyzeSecurity: RamCostConstants.ScriptGrowthAnalyzeRamCost,
weaken: RamCostConstants.ScriptWeakenRamCost,
weakenAnalyze: RamCostConstants.ScriptWeakenAnalyzeRamCost,
grow: RamCostConstants.Grow,
growthAnalyze: RamCostConstants.GrowthAnalyze,
growthAnalyzeSecurity: RamCostConstants.GrowthAnalyze,
weaken: RamCostConstants.Weaken,
weakenAnalyze: RamCostConstants.WeakenAnalyze,
print: 0,
printf: 0,
tprint: 0,
@@ -461,53 +454,53 @@ export const RamCosts: RamCostTree<NSFull> = {
isLogEnabled: 0,
getScriptLogs: 0,
hasTorRouter: 0.05,
nuke: RamCostConstants.ScriptPortProgramRamCost,
brutessh: RamCostConstants.ScriptPortProgramRamCost,
ftpcrack: RamCostConstants.ScriptPortProgramRamCost,
relaysmtp: RamCostConstants.ScriptPortProgramRamCost,
httpworm: RamCostConstants.ScriptPortProgramRamCost,
sqlinject: RamCostConstants.ScriptPortProgramRamCost,
run: RamCostConstants.ScriptRunRamCost,
exec: RamCostConstants.ScriptExecRamCost,
spawn: RamCostConstants.ScriptSpawnRamCost,
kill: RamCostConstants.ScriptKillRamCost,
killall: RamCostConstants.ScriptKillRamCost,
nuke: RamCostConstants.PortProgram,
brutessh: RamCostConstants.PortProgram,
ftpcrack: RamCostConstants.PortProgram,
relaysmtp: RamCostConstants.PortProgram,
httpworm: RamCostConstants.PortProgram,
sqlinject: RamCostConstants.PortProgram,
run: RamCostConstants.Run,
exec: RamCostConstants.Exec,
spawn: RamCostConstants.Spawn,
kill: RamCostConstants.Kill,
killall: RamCostConstants.Kill,
exit: 0,
atExit: 0,
scp: RamCostConstants.ScriptScpRamCost,
ls: RamCostConstants.ScriptScanRamCost,
ps: RamCostConstants.ScriptScanRamCost,
getRecentScripts: RamCostConstants.ScriptRecentScriptsRamCost,
hasRootAccess: RamCostConstants.ScriptHasRootAccessRamCost,
getHostname: RamCostConstants.ScriptGetHostnameRamCost,
getHackingLevel: RamCostConstants.ScriptGetHackingLevelRamCost,
getHackingMultipliers: 0.1,
getHacknetMultipliers: 0.1,
getBitNodeMultipliers: RamCostConstants.ScriptGetMultipliersRamCost,
getServer: RamCostConstants.ScriptGetMultipliersRamCost / 2,
getServerMoneyAvailable: RamCostConstants.ScriptGetServerRamCost,
getServerSecurityLevel: RamCostConstants.ScriptGetServerRamCost,
getServerBaseSecurityLevel: RamCostConstants.ScriptGetServerRamCost,
getServerMinSecurityLevel: RamCostConstants.ScriptGetServerRamCost,
getServerRequiredHackingLevel: RamCostConstants.ScriptGetServerRamCost,
getServerMaxMoney: RamCostConstants.ScriptGetServerRamCost,
getServerGrowth: RamCostConstants.ScriptGetServerRamCost,
getServerNumPortsRequired: RamCostConstants.ScriptGetServerRamCost,
getServerRam: RamCostConstants.ScriptGetServerRamCost,
getServerMaxRam: RamCostConstants.ScriptGetServerMaxRam,
getServerUsedRam: RamCostConstants.ScriptGetServerUsedRam,
serverExists: RamCostConstants.ScriptGetServerRamCost,
fileExists: RamCostConstants.ScriptFileExistsRamCost,
isRunning: RamCostConstants.ScriptIsRunningRamCost,
getPurchasedServerLimit: RamCostConstants.ScriptGetPurchasedServerLimit,
getPurchasedServerMaxRam: RamCostConstants.ScriptGetPurchasedServerMaxRam,
getPurchasedServerCost: RamCostConstants.ScriptGetPurchaseServerRamCost,
scp: RamCostConstants.Scp,
ls: RamCostConstants.Scan,
ps: RamCostConstants.Scan,
getRecentScripts: RamCostConstants.RecentScripts,
hasRootAccess: RamCostConstants.HasRootAccess,
getHostname: RamCostConstants.GetHostname,
getHackingLevel: RamCostConstants.GetHackingLevel,
getHackingMultipliers: 0.25,
getHacknetMultipliers: 0.25,
getBitNodeMultipliers: 4,
getServer: 2,
getServerMoneyAvailable: RamCostConstants.GetServer,
getServerSecurityLevel: RamCostConstants.GetServer,
getServerBaseSecurityLevel: RamCostConstants.GetServer,
getServerMinSecurityLevel: RamCostConstants.GetServer,
getServerRequiredHackingLevel: RamCostConstants.GetServer,
getServerMaxMoney: RamCostConstants.GetServer,
getServerGrowth: RamCostConstants.GetServer,
getServerNumPortsRequired: RamCostConstants.GetServer,
getServerRam: RamCostConstants.GetServer,
getServerMaxRam: RamCostConstants.GetServerMaxRam,
getServerUsedRam: RamCostConstants.GetServerUsedRam,
serverExists: RamCostConstants.GetServer,
fileExists: RamCostConstants.FileExists,
isRunning: RamCostConstants.IsRunning,
getPurchasedServerLimit: RamCostConstants.GetPurchasedServerLimit,
getPurchasedServerMaxRam: RamCostConstants.GetPurchasedServerMaxRam,
getPurchasedServerCost: RamCostConstants.GetPurchaseServer,
getPurchasedServerUpgradeCost: 0.1,
upgradePurchasedServer: 0.25,
renamePurchasedServer: 2,
purchaseServer: RamCostConstants.ScriptPurchaseServerRamCost,
deleteServer: RamCostConstants.ScriptPurchaseServerRamCost,
getPurchasedServers: RamCostConstants.ScriptPurchaseServerRamCost,
purchaseServer: RamCostConstants.PurchaseServer,
deleteServer: RamCostConstants.PurchaseServer,
getPurchasedServers: RamCostConstants.PurchaseServer,
write: 0,
tryWritePort: 0,
read: 0,
@@ -516,27 +509,27 @@ export const RamCosts: RamCostTree<NSFull> = {
writePort: 0,
readPort: 0,
getPortHandle: 0,
rm: RamCostConstants.ScriptReadWriteRamCost,
scriptRunning: RamCostConstants.ScriptArbScriptRamCost,
scriptKill: RamCostConstants.ScriptArbScriptRamCost,
rm: RamCostConstants.ReadWrite,
scriptRunning: RamCostConstants.ArbScript,
scriptKill: RamCostConstants.ArbScript,
getScriptName: 0,
getScriptRam: RamCostConstants.ScriptGetScriptRamCost,
getHackTime: RamCostConstants.ScriptGetHackTimeRamCost,
getGrowTime: RamCostConstants.ScriptGetHackTimeRamCost,
getWeakenTime: RamCostConstants.ScriptGetHackTimeRamCost,
getTotalScriptIncome: RamCostConstants.ScriptGetScriptRamCost,
getScriptIncome: RamCostConstants.ScriptGetScriptRamCost,
getTotalScriptExpGain: RamCostConstants.ScriptGetScriptRamCost,
getScriptExpGain: RamCostConstants.ScriptGetScriptRamCost,
getRunningScript: RamCostConstants.ScriptGetRunningScriptRamCost,
getScriptRam: RamCostConstants.GetScript,
getHackTime: RamCostConstants.GetHackTime,
getGrowTime: RamCostConstants.GetHackTime,
getWeakenTime: RamCostConstants.GetHackTime,
getTotalScriptIncome: RamCostConstants.GetScript,
getScriptIncome: RamCostConstants.GetScript,
getTotalScriptExpGain: RamCostConstants.GetScript,
getScriptExpGain: RamCostConstants.GetScript,
getRunningScript: RamCostConstants.GetRunningScript,
nFormat: 0,
tFormat: 0,
getTimeSinceLastAug: RamCostConstants.ScriptGetHackTimeRamCost,
getTimeSinceLastAug: RamCostConstants.GetHackTime,
prompt: 0,
wget: 0,
getFavorToDonate: RamCostConstants.ScriptGetFavorToDonate,
getPlayer: RamCostConstants.ScriptSingularityFn1RamCost / 4,
getMoneySources: RamCostConstants.ScriptGetMoneySourcesCost,
getFavorToDonate: RamCostConstants.GetFavorToDonate,
getPlayer: RamCostConstants.SingularityFn1 / 4,
getMoneySources: RamCostConstants.GetMoneySourcesCost,
mv: 0,
tail: 0,
toast: 0,