Distributed HGW
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
/** @param {NS} ns */
|
/** @param {NS} ns */
|
||||||
export async function main(ns) {
|
export async function main(ns) {
|
||||||
|
ns.tail();
|
||||||
let aCitites = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"];
|
let aCitites = ["Sector-12", "Aevum", "Volhaven", "Chongqing", "New Tokyo", "Ishima"];
|
||||||
let sCorpName = "RM Enterprises";
|
let sCorpName = "RM Enterprises";
|
||||||
let sDivisionName = "Agri-Ram";
|
let sDivisionName = "Agri-Ram";
|
||||||
@@ -15,12 +16,15 @@ export async function main(ns) {
|
|||||||
let oOfficeData = {};
|
let oOfficeData = {};
|
||||||
let oWarehouseData = {};
|
let oWarehouseData = {};
|
||||||
let bUnlockStatus = false;
|
let bUnlockStatus = false;
|
||||||
|
let nTargetSize = 0;
|
||||||
nListenPID = ns.run("/corp/HasCorp.js");
|
nListenPID = ns.run("/corp/HasCorp.js");
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
let bCorpExists = ns.readPort(nListenPID);
|
let bCorpExists = ns.readPort(nListenPID);
|
||||||
if (!bCorpExists) {
|
if (!bCorpExists) {
|
||||||
nListenPID = ns.run("/corp/CreateCorp.js", 1, sCorpName);
|
nListenPID = ns.run("/corp/CreateCorp.js", 1, sCorpName);
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
}
|
}
|
||||||
if (!ns.readPort(nListenPID)) { ns.tprint("Error! Couldn't start Corporation!"); return };
|
if (!ns.readPort(nListenPID)) { ns.tprint("Error! Couldn't start Corporation!"); return };
|
||||||
ns.tprint(oCorpStatus);
|
ns.tprint(oCorpStatus);
|
||||||
@@ -29,12 +33,14 @@ export async function main(ns) {
|
|||||||
ns.tprint(nStep);
|
ns.tprint(nStep);
|
||||||
nListenPID = ns.run("/corp/GetCorpData.js");
|
nListenPID = ns.run("/corp/GetCorpData.js");
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
oCorpData = ns.readPort(nListenPID);
|
oCorpData = ns.readPort(nListenPID);
|
||||||
switch (nStep) {
|
switch (nStep) {
|
||||||
case 0:
|
case 0:
|
||||||
if (!oCorpData.divisions.length > 0) {
|
if (!oCorpData.divisions.length > 0) {
|
||||||
nListenPID = ns.run("/corp/CorpStart.js", 1, sDivisionName, "Agriculture");
|
nListenPID = ns.run("/corp/CorpStart.js", 1, sDivisionName, "Agriculture");
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
};
|
};
|
||||||
oCorpStatus.nStep = 10;
|
oCorpStatus.nStep = 10;
|
||||||
break;
|
break;
|
||||||
@@ -42,10 +48,12 @@ export async function main(ns) {
|
|||||||
for (let sCity of aCitites) {
|
for (let sCity of aCitites) {
|
||||||
nListenPID = ns.run("/corp/GetDivisionsData.js", 1, sDivisionName);
|
nListenPID = ns.run("/corp/GetDivisionsData.js", 1, sDivisionName);
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
oDivisionData = ns.readPort(nListenPID);
|
oDivisionData = ns.readPort(nListenPID);
|
||||||
if (sCity !== "Sector-12" && !oDivisionData.cities.includes(sCity)) {
|
if (sCity !== "Sector-12" && !oDivisionData.cities.includes(sCity)) {
|
||||||
nListenPID = ns.run("/corp/CorpExpandCity.js", 1, sDivisionName, sCity);
|
nListenPID = ns.run("/corp/CorpExpandCity.js", 1, sDivisionName, sCity);
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
oCorpStatus.nStep = 20;
|
oCorpStatus.nStep = 20;
|
||||||
@@ -53,29 +61,36 @@ export async function main(ns) {
|
|||||||
case 20:
|
case 20:
|
||||||
nListenPID = ns.run("/corp/HasUnlock.js", 1, "Smart Supply");
|
nListenPID = ns.run("/corp/HasUnlock.js", 1, "Smart Supply");
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
bUnlockStatus = ns.readPort(nListenPID);
|
bUnlockStatus = ns.readPort(nListenPID);
|
||||||
if (!bUnlockStatus) {
|
if (!bUnlockStatus) {
|
||||||
await ns.nextPortWrite(ns.run("/corp/BuyUnlock.js", 1, "Smart Supply"));
|
await ns.nextPortWrite(ns.run("/corp/BuyUnlock.js", 1, "Smart Supply"));
|
||||||
|
await ns.sleep(1)
|
||||||
}
|
}
|
||||||
for (let sCity of aCitites) {
|
for (let sCity of aCitites) {
|
||||||
nListenPID = ns.run("/corp/GetWarehouseData.js", 1, sDivisionName, sCity);
|
nListenPID = ns.run("/corp/GetWarehouseData.js", 1, sDivisionName, sCity);
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
oWarehouseData = ns.readPort(nListenPID);
|
oWarehouseData = ns.readPort(nListenPID);
|
||||||
if (!oWarehouseData) {
|
if (!oWarehouseData) {
|
||||||
await ns.nextPortWrite(ns.run("/corp/PurchaseWarehouses.js", 1, sDivisionName, sCity));
|
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.nextPortWrite(ns.run("/corp/SetSmartSupply.js", 1, sDivisionName, sCity));
|
||||||
|
await ns.sleep(1)
|
||||||
};
|
};
|
||||||
|
|
||||||
oCorpStatus.nStep = 30;
|
oCorpStatus.nStep = 30;
|
||||||
break;
|
break;
|
||||||
case 30:
|
case 30:
|
||||||
let nTargetSize = 4;
|
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);
|
||||||
await ns.nextPortWrite(nListenPID);
|
await ns.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
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))
|
||||||
|
await ns.sleep(1)
|
||||||
}
|
}
|
||||||
oCorpStatus.nStep = 40;
|
oCorpStatus.nStep = 40;
|
||||||
break;
|
break;
|
||||||
@@ -83,9 +98,11 @@ export async function main(ns) {
|
|||||||
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);
|
||||||
|
await ns.sleep(1)
|
||||||
oOfficeData = ns.readPort(nListenPID);
|
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.nextPortWrite(nListenPID);
|
||||||
|
await ns.sleep(1)
|
||||||
}
|
}
|
||||||
oCorpStatus.nStep = 50;
|
oCorpStatus.nStep = 50;
|
||||||
break;
|
break;
|
||||||
@@ -103,11 +120,31 @@ export async function main(ns) {
|
|||||||
ns.tprint(sCity, entry)
|
ns.tprint(sCity, entry)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
oCorpStatus.nStep = 200;
|
oCorpStatus.nStep = 60;
|
||||||
break;
|
break;
|
||||||
case 60:
|
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;
|
break;
|
||||||
case 70:
|
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;
|
break;
|
||||||
case 80:
|
case 80:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user