Compare commits

...

2 Commits

Author SHA1 Message Date
Philipp
08ed2b3ea0 Merge branch 'main' of https://gitea.goetje-ing.de/ArchitectsOfTheBitburner/The_Bitburner_Scripts 2024-10-11 00:39:03 +02:00
Philipp
dd1d951bc9 Corpus Controllus 2024-10-11 00:38:54 +02:00
10 changed files with 72 additions and 19 deletions

View File

@@ -11,7 +11,9 @@ export async function main(ns) {
let nListenPID = 0; let nListenPID = 0;
let oCorpData = {}; let oCorpData = {};
let oDivisionData = {}; let oDivisionData = {};
let oOfficeData = {} let oOfficeData = {};
let oWarehouseData = {};
let bUnlockStatus = false;
ns.tprint(oCorpStatus); ns.tprint(oCorpStatus);
while (nStep < 199) { while (nStep < 199) {
nStep = oCorpStatus.nStep; nStep = oCorpStatus.nStep;
@@ -40,6 +42,25 @@ export async function main(ns) {
oCorpStatus.nStep = 20; oCorpStatus.nStep = 20;
break; break;
case 20: 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; let nTargetSize = 4;
for (let sCity of aCitites) { for (let sCity of aCitites) {
nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity); nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity);
@@ -47,21 +68,19 @@ export async function main(ns) {
oOfficeData = ns.readPort(nListenPID); oOfficeData = ns.readPort(nListenPID);
await ns.nextPortWrite(ns.run("/corp/UpgradeOffice.js", 1, sDivisionName, sCity, nTargetSize, oOfficeData.size)) await ns.nextPortWrite(ns.run("/corp/UpgradeOffice.js", 1, sDivisionName, sCity, nTargetSize, oOfficeData.size))
} }
oCorpStatus.nStep = 30; oCorpStatus.nStep = 40;
break; break;
case 30: case 40:
for (let sCity of aCitites) { for (let sCity of aCitites) {
nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity); nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity);
await ns.nextPortWrite(nListenPID); await ns.nextPortWrite(nListenPID);
oOfficeData = ns.readPort(nListenPID); oOfficeData = ns.readPort(nListenPID);
ns.tprint(oOfficeData); 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); await ns.nextPortWrite(nListenPID);
} }
oCorpStatus.nStep = 200; oCorpStatus.nStep = 200;
break; break;
case 40:
break;
case 50: case 50:
break; break;
case 60: case 60:

View File

@@ -1 +1 @@
{"nStep":30} {"nStep":200}

View File

@@ -0,0 +1,5 @@
/** @param {NS} ns */
export async function main(ns) {
ns.corporation.purchaseUnlock("Smart Supply")
ns.writePort(ns.pid, true);
}

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

View File

@@ -0,0 +1,4 @@
/** @param {NS} ns */
export async function main(ns) {
ns.writePort(ns.pid, ns.corporation.hasUnlock("Smart Supply"));
}

View File

@@ -1,6 +1,7 @@
/** @param {NS} ns */ /** @param {NS} ns */
export async function main(ns) { export async function main(ns) {
let [sDivName, sCity, oCurrentOffice] = ns.args; let [sDivName, sCity, oCurrentOffice] = ns.args;
oCurrentOffice = JSON.parse(oCurrentOffice)
if (oCurrentOffice.numEmployees < oCurrentOffice.size) { if (oCurrentOffice.numEmployees < oCurrentOffice.size) {
(oCurrentOffice.employeeJobs.Operations < 1) ? ns.corporation.hireEmployee(sDivName, sCity, "Operations") : ""; (oCurrentOffice.employeeJobs.Operations < 1) ? ns.corporation.hireEmployee(sDivName, sCity, "Operations") : "";
(oCurrentOffice.employeeJobs.Engineer < 1) ? ns.corporation.hireEmployee(sDivName, sCity, "Engineer") : ""; (oCurrentOffice.employeeJobs.Engineer < 1) ? ns.corporation.hireEmployee(sDivName, sCity, "Engineer") : "";

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

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

View File

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