Corpus Controllus
This commit is contained in:
@@ -11,7 +11,9 @@ export async function main(ns) {
|
||||
let nListenPID = 0;
|
||||
let oCorpData = {};
|
||||
let oDivisionData = {};
|
||||
let oOfficeData = {}
|
||||
let oOfficeData = {};
|
||||
let oWarehouseData = {};
|
||||
let bUnlockStatus = false;
|
||||
ns.tprint(oCorpStatus);
|
||||
while (nStep < 199) {
|
||||
nStep = oCorpStatus.nStep;
|
||||
@@ -40,6 +42,25 @@ export async function main(ns) {
|
||||
oCorpStatus.nStep = 20;
|
||||
break;
|
||||
case 20:
|
||||
nListenPID = ns.run("/corp/HasUnlock.js", 1, "Smart Supply");
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
bUnlockStatus = ns.readPort(nListenPID);
|
||||
if (!bUnlockStatus) {
|
||||
await ns.nextPortWrite(ns.run("/corp/BuyUnlock.js", 1, "Smart Supply"));
|
||||
}
|
||||
for (let sCity of aCitites) {
|
||||
nListenPID = ns.run("/corp/GetWarehouseData.js", 1, sDivisionName, sCity);
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
oWarehouseData = ns.readPort(nListenPID);
|
||||
if (!oWarehouseData) {
|
||||
await ns.nextPortWrite(ns.run("/corp/PurchaseWarehouses.js", 1, sDivisionName, sCity));
|
||||
}
|
||||
await ns.nextPortWrite(ns.run("/corp/SetSmartSupply.js", 1, sDivisionName, sCity));
|
||||
};
|
||||
|
||||
oCorpStatus.nStep = 30;
|
||||
break;
|
||||
case 30:
|
||||
let nTargetSize = 4;
|
||||
for (let sCity of aCitites) {
|
||||
nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity);
|
||||
@@ -47,21 +68,19 @@ export async function main(ns) {
|
||||
oOfficeData = ns.readPort(nListenPID);
|
||||
await ns.nextPortWrite(ns.run("/corp/UpgradeOffice.js", 1, sDivisionName, sCity, nTargetSize, oOfficeData.size))
|
||||
}
|
||||
oCorpStatus.nStep = 30;
|
||||
oCorpStatus.nStep = 40;
|
||||
break;
|
||||
case 30:
|
||||
case 40:
|
||||
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);
|
||||
nListenPID = ns.run("/corp/HireWorkers.js", 1, sDivisionName, sCity, JSON.stringify(oOfficeData));
|
||||
await ns.nextPortWrite(nListenPID);
|
||||
}
|
||||
oCorpStatus.nStep = 200;
|
||||
break;
|
||||
case 40:
|
||||
break;
|
||||
case 50:
|
||||
break;
|
||||
case 60:
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"nStep":30}
|
||||
{"nStep":200}
|
||||
5
Ramses/home/corp/BuyUnlock.js
Normal file
5
Ramses/home/corp/BuyUnlock.js
Normal file
@@ -0,0 +1,5 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
ns.corporation.purchaseUnlock("Smart Supply")
|
||||
ns.writePort(ns.pid, true);
|
||||
}
|
||||
9
Ramses/home/corp/GetWarehouseData.js
Normal file
9
Ramses/home/corp/GetWarehouseData.js
Normal file
@@ -0,0 +1,9 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
let [sDivName, sCity] = ns.args;
|
||||
if (ns.corporation.hasWarehouse(sDivName, sCity)) {
|
||||
ns.writePort(ns.pid, ns.corporation.getWarehouse(sDivName, sCity))
|
||||
} else {
|
||||
ns.writePort(ns.pid, false)
|
||||
};
|
||||
}
|
||||
4
Ramses/home/corp/HasUnlock.js
Normal file
4
Ramses/home/corp/HasUnlock.js
Normal file
@@ -0,0 +1,4 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
ns.writePort(ns.pid, ns.corporation.hasUnlock("Smart Supply"));
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
let [sDivName, sCity, oCurrentOffice] = ns.args;
|
||||
oCurrentOffice = JSON.parse(oCurrentOffice)
|
||||
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") : "";
|
||||
|
||||
6
Ramses/home/corp/PurchaseWarehouses.js
Normal file
6
Ramses/home/corp/PurchaseWarehouses.js
Normal file
@@ -0,0 +1,6 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
let [sDivName, sCity] = ns.args;
|
||||
ns.corporation.purchaseWarehouse(sDivName, sCity);
|
||||
ns.writePort(ns.pid, true);
|
||||
}
|
||||
6
Ramses/home/corp/SetSmartSupply.js
Normal file
6
Ramses/home/corp/SetSmartSupply.js
Normal file
@@ -0,0 +1,6 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
let [sDivName, sCity] = ns.args;
|
||||
ns.corporation.setSmartSupply(sDivName, sCity, true);
|
||||
ns.writePort(ns.pid, true);
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
let [corpName, city] = ns.args;
|
||||
//ns.corporation.setSmartSupply(corpName, city, true);
|
||||
return true;
|
||||
}
|
||||
9
Ramses/home/corpTest.js
Normal file
9
Ramses/home/corpTest.js
Normal file
@@ -0,0 +1,9 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
let [sDivName, sCity] = ns.args;
|
||||
if (ns.corporation.hasWarehouse(sDivName, sCity)) {
|
||||
ns.writePort(ns.pid, ns.corporation.getWarehouse(sDivName, sCity))
|
||||
} else {
|
||||
ns.writePort(ns.pid, false)
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user