CorpControl updated to step 2, next up:

- splitting the hireWorkers script into two parts
This commit is contained in:
Philipp
2024-10-07 11:26:10 +02:00
parent 880860b5de
commit f3bc36794c
8 changed files with 79 additions and 63 deletions

View File

@@ -1,33 +1,56 @@
/** @param {NS} ns */ /** @param {NS} ns */
export async function main(ns, reset) { export async function main(ns) {
let cities = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"]; let aCitites = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"];
let corpName = "Agri-Ram"; let sDivisionName = "Agri-Ram";
if (reset === true || !ns.fileExists("CorpStatus.txt")){ let reset = ns.args[0];
ns.write("CorpStatus.txt",JSON.stringify({step: 0}),"w"); if (reset === true || !ns.fileExists("CorpStatus.txt")) {
ns.write("CorpStatus.txt", JSON.stringify({ nStep: 0 }), "w");
}; };
let corpStatus = JSON.parse(ns.read("CorpStatus.txt")) || {step: 0}; let oCorpStatus = JSON.parse(ns.read("CorpStatus.txt")) || { nStep: 0 };
let step = corpStatus.step; let nStep = oCorpStatus.nStep;
while (step < 99) { ns.tprint(oCorpStatus);
step = corpStatus.step; while (nStep < 200) {
switch (step) {
case 0: nStep = oCorpStatus.nStep;
case 10: ns.tprint(nStep);
case 20: switch (nStep) {
case 30: case 0:
case 40: await ns.nextPortWrite(ns.run("/corp/CorpStart.js", 1, sDivisionName, "Agriculture"))
case 50: oCorpStatus.nStep = 10;
case 60: break;
case 70: case 10:
case 80: for (let sCity of aCitites) {
case 90: if (sCity !== "Sector-12") await ns.nextPortWrite(ns.run("/corp/CorpExpandCity.js", 1, sDivisionName, sCity))
case 100: }
default: oCorpStatus.nStep = 20;
break;
} case 20:
for (let city of cities) { let nTargetSize = 4;
await ns.run("/corp/Smart.js",1,corpName,city); for (let sCity of aCitites) {
await ns.tprint(ns.run("/corp/UpgradeOffice.js",1,corpName,city)); await ns.nextPortWrite(ns.run("/corp/UpgradeOffice.js", 1, sDivisionName, sCity, nTargetSize))
}
oCorpStatus.nStep = 200;
break;
case 30:
break;
case 40:
break;
case 50:
break;
case 60:
break;
case 70:
break;
case 80:
break;
case 90:
break;
case 100:
break;
default:
break;
}
ns.write("CorpStatus.txt", JSON.stringify(oCorpStatus), "w")
await ns.sleep(1000) await ns.sleep(1000)
} }
}
} }

View File

@@ -1,7 +0,0 @@
/** @param {NS} ns */
export async function main(ns, divName) {
let cities = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"];
for (let city of cities) {
ns.corporation.expandCity(divName,city)
}
}

View File

@@ -1,6 +0,0 @@
/** @param {NS} ns */
export async function main(ns) {
let newDivName = ns.args[0]
ns.corporation.expandIndustry("Agriculture",newDivName);
ns.run("CorpExpandCity.js",1,newDivName)
}

View File

@@ -0,0 +1 @@
{"nStep":200}

View File

@@ -0,0 +1,6 @@
/** @param {NS} ns */
export async function main(ns) {
let [sDivName, sCity] = ns.args;
ns.corporation.expandCity(sDivName, sCity)
ns.writePort(ns.pid, true);
}

View File

@@ -0,0 +1,6 @@
/** @param {NS} ns */
export async function main(ns) {
let [newDivName,industry] = ns.args;
ns.corporation.expandIndustry(industry, newDivName);
ns.writePort(ns.pid,true);
}

View File

@@ -1,16 +1,12 @@
/** @param {NS} ns */ /** @param {NS} ns */
export async function main(ns) { export async function main(ns) {
let cities = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"]; let [sDivName, sCity, nTargetSize] = ns.args;
let corpName = "ChemNeo"; let oCurrentOffice = ns.corporation.getOffice(sDivName, sCity);
let currentSize = 0; if (oCurrentOffice.numEmployees < oCurrentOffice.size) {
for (let city of cities) { (oCurrentOffice.employeeJobs.Operations < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Operations") : "";
(oCurrentOffice.employeeJobs.Engineer < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Engineer") : "";
let currentOffice=(ns.corporation.getOffice(corpName, city)); (oCurrentOffice.employeeJobs.Business < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Business") : "";
if (currentOffice.numEmployees < currentOffice.size) { (oCurrentOffice.employeeJobs.Management < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Management") : "";
(currentOffice.employeeJobs.Operations < 1) ? ns.corporation.hireEmployee(corpName, city,"Operations") : "";
(currentOffice.employeeJobs.Engineer < 1) ? ns.corporation.hireEmployee(corpName, city,"Engineer") : "";
(currentOffice.employeeJobs.Business < 1) ? ns.corporation.hireEmployee(corpName, city,"Business") : "";
(currentOffice.employeeJobs.Management < 1) ? ns.corporation.hireEmployee(corpName, city,"Management") : "";
}; };
} ns.writePort(ns.pid, true);
} }

View File

@@ -1,12 +1,9 @@
/** @param {NS} ns */ /** @param {NS} ns */
export async function main(ns) { export async function main(ns) {
let cities = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"]; let [sDivName, sCity, nTargetSize] = ns.args;
let corpName = "ChemNeo"; let nCurrentSize = ns.corporation.getOffice(sDivName, sCity).size;
let currentSize = 0; if (nCurrentSize < nTargetSize) {
for (let city of cities) { ns.corporation.upgradeOfficeSize(sDivName, sCity, nTargetSize - nCurrentSize);
currentSize = ns.corporation.getOffice(corpName, city).size; };
if (currentSize < 4) { ns.writePort(ns.pid, true);
ns.corporation.upgradeOfficeSize(corpName, city, 4 - currentSize); }
};
}
}