|
|
|
|
@@ -1,12 +1,23 @@
|
|
|
|
|
/** @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") : "";
|
|
|
|
|
let [sDivName, sCity, oCurrentOffice, oWorkerDistribution] = ns.args;
|
|
|
|
|
oCurrentOffice = JSON.parse(oCurrentOffice);
|
|
|
|
|
let aWorkerDistribution = JSON.parse(oWorkerDistribution).nWorkerNumbers;
|
|
|
|
|
ns.tprint(aWorkerDistribution);
|
|
|
|
|
let nTotalWorkers = 0;
|
|
|
|
|
const len = aWorkerDistribution.length;
|
|
|
|
|
for (let i = 0; i < len; i++) nTotalWorkers += aWorkerDistribution[i];
|
|
|
|
|
ns.tprint(typeof(oCurrentOffice.employeeJobs["Research & Development"]))
|
|
|
|
|
|
|
|
|
|
while (oCurrentOffice.numEmployees < oCurrentOffice.size && oCurrentOffice.numEmployees < nTotalWorkers) {
|
|
|
|
|
(oCurrentOffice.employeeJobs.Operations < aWorkerDistribution[0]) ? ns.corporation.hireEmployee(sDivName, sCity, "Operations") : "";
|
|
|
|
|
(oCurrentOffice.employeeJobs.Engineer < aWorkerDistribution[1]) ? ns.corporation.hireEmployee(sDivName, sCity, "Engineer") : "";
|
|
|
|
|
(oCurrentOffice.employeeJobs.Business < aWorkerDistribution[2]) ? ns.corporation.hireEmployee(sDivName, sCity, "Business") : "";
|
|
|
|
|
(oCurrentOffice.employeeJobs.Management < aWorkerDistribution[3]) ? ns.corporation.hireEmployee(sDivName, sCity, "Management") : "";
|
|
|
|
|
ns.tprint("before")
|
|
|
|
|
(oCurrentOffice.employeeJobs.Research & Development < aWorkerDistribution[4]) ? ns.corporation.hireEmployee(sDivName, sCity, "Research & Development") : "";
|
|
|
|
|
ns.tprint("after")
|
|
|
|
|
(oCurrentOffice.employeeJobs.Intern < aWorkerDistribution[5]) ? ns.corporation.hireEmployee(sDivName, sCity, "Intern") : "";
|
|
|
|
|
};
|
|
|
|
|
ns.writePort(ns.pid, true);
|
|
|
|
|
}
|