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 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:

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,11 +1,12 @@
/** @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") : "";
(oCurrentOffice.employeeJobs.Business < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Business") : "";
(oCurrentOffice.employeeJobs.Management < 1) ? ns.corporation.hireEmployee(sDivName, sCity,"Management") : "";
(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

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