2024-10-07 12:01:26 +02:00
8 changed files with 79 additions and 44 deletions

View File

@@ -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)
}
}

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 */
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);
}

View File

@@ -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);
};
}
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);
}