diff --git a/Ramses/home/CorpControl.js b/Ramses/home/CorpControl.js index 4ed2131..bfa514b 100644 --- a/Ramses/home/CorpControl.js +++ b/Ramses/home/CorpControl.js @@ -1,14 +1,56 @@ /** @param {NS} ns */ export async function main(ns) { - let cities = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"]; - let corpName = "AgraNeo"; - //ns.tprint(ns.corporation.getConstants()) - //ns.corporation.getMaterial(); - //ns.corporation.buyMaterial(); - for (let city of cities) { - await ns.run("/corp/Smart.js",1,corpName,city); - await ns.tprint(ns.run("/corp/UpgradeOffice.js",1,corpName,city)); + let aCitites = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"]; + let sDivisionName = "Agri-Ram"; + let reset = ns.args[0]; + if (reset === true || !ns.fileExists("CorpStatus.txt")) { + ns.write("CorpStatus.txt", JSON.stringify({ nStep: 0 }), "w"); + }; + let oCorpStatus = JSON.parse(ns.read("CorpStatus.txt")) || { nStep: 0 }; + let nStep = oCorpStatus.nStep; + ns.tprint(oCorpStatus); + while (nStep < 200) { + + nStep = oCorpStatus.nStep; + ns.tprint(nStep); + switch (nStep) { + case 0: + await ns.nextPortWrite(ns.run("/corp/CorpStart.js", 1, sDivisionName, "Agriculture")) + oCorpStatus.nStep = 10; + break; + case 10: + for (let sCity of aCitites) { + if (sCity !== "Sector-12") await ns.nextPortWrite(ns.run("/corp/CorpExpandCity.js", 1, sDivisionName, sCity)) + } + oCorpStatus.nStep = 20; + break; + case 20: + let nTargetSize = 4; + for (let sCity of aCitites) { + 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) } - } \ No newline at end of file diff --git a/Ramses/home/CorpExpandCity.js b/Ramses/home/CorpExpandCity.js deleted file mode 100644 index 73eac2d..0000000 --- a/Ramses/home/CorpExpandCity.js +++ /dev/null @@ -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) - } -} \ No newline at end of file diff --git a/Ramses/home/CorpStart.js b/Ramses/home/CorpStart.js deleted file mode 100644 index 41887e5..0000000 --- a/Ramses/home/CorpStart.js +++ /dev/null @@ -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) -} \ No newline at end of file diff --git a/Ramses/home/CorpStatus.txt b/Ramses/home/CorpStatus.txt new file mode 100644 index 0000000..1835133 --- /dev/null +++ b/Ramses/home/CorpStatus.txt @@ -0,0 +1 @@ +{"nStep":200} \ No newline at end of file diff --git a/Ramses/home/corp/CorpExpandCity.js b/Ramses/home/corp/CorpExpandCity.js new file mode 100644 index 0000000..8e17627 --- /dev/null +++ b/Ramses/home/corp/CorpExpandCity.js @@ -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); +} \ No newline at end of file diff --git a/Ramses/home/corp/CorpStart.js b/Ramses/home/corp/CorpStart.js new file mode 100644 index 0000000..523918d --- /dev/null +++ b/Ramses/home/corp/CorpStart.js @@ -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); +} \ No newline at end of file diff --git a/Ramses/home/corp/HireWorkers.js b/Ramses/home/corp/HireWorkers.js index 22fefa0..6e71c93 100644 --- a/Ramses/home/corp/HireWorkers.js +++ b/Ramses/home/corp/HireWorkers.js @@ -1,16 +1,12 @@ /** @param {NS} ns */ export async function main(ns) { - let cities = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"]; - let corpName = "ChemNeo"; - let currentSize = 0; - for (let city of cities) { - - let currentOffice=(ns.corporation.getOffice(corpName, city)); - if (currentOffice.numEmployees < currentOffice.size) { - (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") : ""; + let [sDivName, sCity, nTargetSize] = ns.args; + let oCurrentOffice = ns.corporation.getOffice(sDivName, sCity); + if (oCurrentOffice.numEmployees < oCurrentOffice.size) { + (oCurrentOffice.employeeJobs.Operations < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Operations") : ""; + (oCurrentOffice.employeeJobs.Engineer < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Engineer") : ""; + (oCurrentOffice.employeeJobs.Business < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Business") : ""; + (oCurrentOffice.employeeJobs.Management < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Management") : ""; }; - } + ns.writePort(ns.pid, true); } \ No newline at end of file diff --git a/Ramses/home/corp/UpgradeOffice.js b/Ramses/home/corp/UpgradeOffice.js index e811f44..977ff94 100644 --- a/Ramses/home/corp/UpgradeOffice.js +++ b/Ramses/home/corp/UpgradeOffice.js @@ -1,12 +1,9 @@ /** @param {NS} ns */ export async function main(ns) { - let cities = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"]; - let corpName = "ChemNeo"; - let currentSize = 0; - for (let city of cities) { - currentSize = ns.corporation.getOffice(corpName, city).size; - if (currentSize < 4) { - ns.corporation.upgradeOfficeSize(corpName, city, 4 - currentSize); - }; - } -} \ No newline at end of file + let [sDivName, sCity, nTargetSize] = ns.args; + let nCurrentSize = ns.corporation.getOffice(sDivName, sCity).size; + if (nCurrentSize < nTargetSize) { + ns.corporation.upgradeOfficeSize(sDivName, sCity, nTargetSize - nCurrentSize); + }; + ns.writePort(ns.pid, true); +}