som updates
This commit is contained in:
83
Mizzajl/home/CorpControl.js
Normal file
83
Mizzajl/home/CorpControl.js
Normal file
@@ -0,0 +1,83 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
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;
|
||||
let nListenPID = 0;
|
||||
let oCorpData = {};
|
||||
let oDivisionData = {};
|
||||
let oOfficeData = {}
|
||||
ns.tprint(oCorpStatus);
|
||||
while (nStep < 199) {
|
||||
nStep = oCorpStatus.nStep;
|
||||
ns.tprint(nStep);
|
||||
nListenPID = ns.run("/corp/GetCorpData.js");
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
oCorpData = ns.readPort(nListenPID);
|
||||
switch (nStep) {
|
||||
case 0:
|
||||
if (!oCorpData.divisions.length > 0) {
|
||||
nListenPID = ns.run("/corp/CorpStart.js", 1, sDivisionName, "Agriculture");
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
};
|
||||
oCorpStatus.nStep = 10;
|
||||
break;
|
||||
case 10:
|
||||
for (let sCity of aCitites) {
|
||||
nListenPID = ns.run("/corp/GetDivisionsData.js", 1, sDivisionName);
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
oDivisionData = ns.readPort(nListenPID);
|
||||
if (sCity !== "Sector-12" && !oDivisionData.cities.includes(sCity)) {
|
||||
nListenPID = ns.run("/corp/CorpExpandCity.js", 1, sDivisionName, sCity);
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
}
|
||||
}
|
||||
oCorpStatus.nStep = 20;
|
||||
break;
|
||||
case 20:
|
||||
let nTargetSize = 4;
|
||||
for (let sCity of aCitites) {
|
||||
nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity);
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
oOfficeData = ns.readPort(nListenPID);
|
||||
await ns.nextPortWrite(ns.run("/corp/UpgradeOffice.js", 1, sDivisionName, sCity, nTargetSize, oOfficeData.size))
|
||||
}
|
||||
oCorpStatus.nStep = 30;
|
||||
break;
|
||||
case 30:
|
||||
for (let sCity of aCitites) {
|
||||
nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity);
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
oOfficeData = ns.readPort(nListenPID);
|
||||
ns.tprint(oOfficeData);
|
||||
nListenPID = ns.run("/corp/HireWorkers.js", 1, sDivisionName, sCity, oOfficeData);
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
}
|
||||
oCorpStatus.nStep = 200;
|
||||
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(1)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user