Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { getWeakenThreads, getGrowThreads, getHackThreads } from "Utilities/lib.js";
- /** @param {NS} ns */
- export async function main(ns) {
- //The comments will be used for examples
- const delay = ns.args[0]; // 200ms
- const target = ns.args[1];
- const minimumCashReserves = ns.getServerMaxMoney(target) * 0.9;
- const timeWeaken = ns.getWeakenTime(target); // 30s
- const timeGrow = ns.getGrowTime(target); // 15s
- const timeHack = ns.getHackTime(target); // 5s
- const threadsHack = getHackThreads(ns, target, minimumCashReserves);
- const weakenZeroThreads = getWeakenThreads(ns, target, ns.hackAnalyzeSecurity(threadsHack));
- const threadsGrow = getGrowThreads(ns, target, minimumCashReserves);
- const weakenOneThreads = getWeakenThreads(ns, target, ns.growthAnalyzeSecurity(threadsGrow));
- //Weaken 0
- ns.exec("./weaken.js", ns.getHostname(), weakenZeroThreads, target)
- const weakenZeroDelay = 2 * delay; // 0.4s + 30s = 30.4s so next weaken happens the 3rd tick.
- ns.sleep(weakenZeroDelay); // On 0.4s
- //Weaken 1
- ns.exec("./weaken.js", ns.getHostname(), weakenOneThreads, target)
- const weakenOneDelay = timeWeaken - timeGrow - delay // 30 - 15 - 0.2 = 14.8s. 14.8s delay plus previous 0.4s = 15.2s + 15 = 30.2s so grow happens on 2nd tick.
- ns.sleep(weakenOneDelay); // On 15.2s
- //Grow
- ns.exec("./grow.js", ns.getHostname(), threadsGrow, target)
- const growDelay = timeWeaken + 3 * delay - timeHack - weakenZeroDelay - weakenOneDelay;
- /** 30 + 0.6 = 30.6s this is the 4th tick and when the hack is suppossed to happen.
- * 30.6 - 5s = 25.6s this is how many seconds the delay is from T0
- * 25.6s - 0.4s - 14.8 = 10.4s delay from the current 15.2s so 25.6s then + 5 = 30.6 when the hack occurs */
- ns.sleep(growDelay); // On 25.6
- //Hack
- ns.exec("./hack.js", ns.getHostname(), threadsHack, target)
- /** Weaken Zero: 0s - 30s
- * Grow: 15.2s - 30.2s
- * Weaken One: 0.4s - 30.4s
- * Hack: 25.6s - 30.6s
- *
- * Exactly one delay between each step.
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement