From 3bf0443571380ef60561c96f7cb22457bcd402c6 Mon Sep 17 00:00:00 2001 From: Mizzajl Date: Tue, 15 Oct 2024 21:51:05 +0200 Subject: [PATCH] Distributed HGW --- Mizzajl/home/CorpControl.js | 49 ++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/Mizzajl/home/CorpControl.js b/Mizzajl/home/CorpControl.js index 20650b3..ef3da28 100644 --- a/Mizzajl/home/CorpControl.js +++ b/Mizzajl/home/CorpControl.js @@ -1,5 +1,6 @@ /** @param {NS} ns */ export async function main(ns) { + ns.tail(); let aCitites = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"]; let sCorpName = "RM Enterprises"; let sDivisionName = "Agri-Ram"; @@ -15,12 +16,15 @@ export async function main(ns) { let oOfficeData = {}; let oWarehouseData = {}; let bUnlockStatus = false; + let nTargetSize = 0; nListenPID = ns.run("/corp/HasCorp.js"); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) let bCorpExists = ns.readPort(nListenPID); if (!bCorpExists) { nListenPID = ns.run("/corp/CreateCorp.js", 1, sCorpName); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) } if (!ns.readPort(nListenPID)) { ns.tprint("Error! Couldn't start Corporation!"); return }; ns.tprint(oCorpStatus); @@ -29,12 +33,14 @@ export async function main(ns) { ns.tprint(nStep); nListenPID = ns.run("/corp/GetCorpData.js"); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) 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); + await ns.sleep(1) }; oCorpStatus.nStep = 10; break; @@ -42,10 +48,12 @@ export async function main(ns) { for (let sCity of aCitites) { nListenPID = ns.run("/corp/GetDivisionsData.js", 1, sDivisionName); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) 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); + await ns.sleep(1) } } oCorpStatus.nStep = 20; @@ -53,29 +61,36 @@ export async function main(ns) { case 20: nListenPID = ns.run("/corp/HasUnlock.js", 1, "Smart Supply"); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) bUnlockStatus = ns.readPort(nListenPID); if (!bUnlockStatus) { await ns.nextPortWrite(ns.run("/corp/BuyUnlock.js", 1, "Smart Supply")); + await ns.sleep(1) } for (let sCity of aCitites) { nListenPID = ns.run("/corp/GetWarehouseData.js", 1, sDivisionName, sCity); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) oWarehouseData = ns.readPort(nListenPID); if (!oWarehouseData) { await ns.nextPortWrite(ns.run("/corp/PurchaseWarehouses.js", 1, sDivisionName, sCity)); + await ns.sleep(1) } await ns.nextPortWrite(ns.run("/corp/SetSmartSupply.js", 1, sDivisionName, sCity)); + await ns.sleep(1) }; oCorpStatus.nStep = 30; break; case 30: - let nTargetSize = 4; + nTargetSize = 4; for (let sCity of aCitites) { nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) oOfficeData = ns.readPort(nListenPID); await ns.nextPortWrite(ns.run("/corp/UpgradeOffice.js", 1, sDivisionName, sCity, nTargetSize, oOfficeData.size)) + await ns.sleep(1) } oCorpStatus.nStep = 40; break; @@ -83,9 +98,11 @@ export async function main(ns) { for (let sCity of aCitites) { nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) oOfficeData = ns.readPort(nListenPID); - nListenPID = ns.run("/corp/HireWorkers.js", 1, sDivisionName, sCity, JSON.stringify(oOfficeData)); + nListenPID = ns.run("/corp/HireWorkers.js", 1, sDivisionName, sCity, JSON.stringify(oOfficeData), JSON.stringify({nWorkerNumbers: [1, 1, 1, 1, 0, 0]})); await ns.nextPortWrite(nListenPID); + await ns.sleep(1) } oCorpStatus.nStep = 50; break; @@ -96,18 +113,38 @@ export async function main(ns) { ] for (let sCity of aCitites) { aCurrentGoods.forEach(async (entry) => { - + nListenPID = ns.run("/corp/SetSalePrices.js", 1, sDivisionName, sCity, JSON.stringify(entry)); nListenPID = ns.run("/corp/SetMaterialLimit.js", 1, sDivisionName, sCity, JSON.stringify(entry)); - - ns.tprint(sCity, entry) + + ns.tprint(sCity, entry) }) } - oCorpStatus.nStep = 200; + oCorpStatus.nStep = 60; break; case 60: + nTargetSize = 12; + for (let sCity of aCitites) { + nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity); + await ns.nextPortWrite(nListenPID); + await ns.sleep(1) + oOfficeData = ns.readPort(nListenPID); + await ns.nextPortWrite(ns.run("/corp/UpgradeOffice.js", 1, sDivisionName, sCity, nTargetSize, oOfficeData.size)) + await ns.sleep(1) + } + oCorpStatus.nStep = 70; break; case 70: + for (let sCity of aCitites) { + nListenPID = ns.run("/corp/GetOfficeData.js", 1, sDivisionName, sCity); + await ns.nextPortWrite(nListenPID); + await ns.sleep(1) + oOfficeData = ns.readPort(nListenPID); + nListenPID = ns.run("/corp/HireWorkers.js", 1, sDivisionName, sCity, JSON.stringify(oOfficeData), JSON.stringify({nWorkerNumbers: [2, 2, 2, 2, 2, 2]})); + await ns.nextPortWrite(nListenPID); + await ns.sleep(1) + } + oCorpStatus.nStep = 200; break; case 80: break;