fix schedule making and running logic.

[?]
Apr 26, 2020, 3:32 PM
44JNP7VZMXR33YWTB4JKT5GDRTGCTTENYHO4CIYJYBUT7HI7GNMQC

Dependencies

Change contents

  • edit in sbin/hacker.js at line 527
    [2.41659]
    [2.41659]
    let string_job = string_decider(ns, string_server_target, float_server_target_security_current, float_server_target_cash_current);
    if (boolean_can_server_run_script_threads(ns, float_server_used_ram_free_current, ns.getScriptRam(string_weaken), 1)) {
    boolean_end_loop_server = false;
    }
  • replacement in sbin/hacker.js at line 538
    [2.41857][2.41857:41996]()
    const string_job = string_decider(ns, string_server_target, float_server_target_security_current, float_server_target_cash_current);
    [2.41857]
    [2.41996]
    string_job = string_decider(ns, string_server_target, float_server_target_security_current, float_server_target_cash_current);
  • replacement in sbin/hacker.js at line 666
    [2.48896][2.48896:48942]()
    let array_schedule_edited = array_schedule;
    [2.48896]
    [2.48942]
    let array_schedule_edited = [...array_schedule];
  • replacement in sbin/hacker.js at line 668
    [2.49005][2.49005:49066]()
    while (boolean_have_not_seen_item_with_security_minimum) {
    [2.49005]
    [2.49066]
    let boolean_end_loop_schedule_edit = false;
    while (
    boolean_have_not_seen_item_with_security_minimum &&
    !boolean_end_loop_schedule_edit
    ) {
  • replacement in sbin/hacker.js at line 674
    [2.49180][2.49180:49243]()
    if (!boolean_have_not_seen_item_with_security_minimum) {
    [2.49180]
    [2.49243]
    if (
    !boolean_have_not_seen_item_with_security_minimum ||
    boolean_end_loop_schedule_edit
    ) {
    boolean_end_loop_schedule_edit = true;
  • edit in sbin/hacker.js at line 684
    [2.49501][2.49501:49516]()
    break;
  • edit in sbin/hacker.js at line 687
    [2.49597]
    [2.49597]
    if (array_schedule_edited.length === 0) {
    boolean_end_loop_schedule_edit = true;
    }
  • replacement in sbin/hacker.js at line 693
    [2.49615][2.49615:49673]()
    if (boolean_have_not_seen_item_with_security_minimum) {
    [2.49615]
    [2.49673]
    if (
    boolean_have_not_seen_item_with_security_minimum ||
    array_schedule_edited.length === 0
    ) {
  • edit in sbin/hacker.js at line 734
    [2.51109][2.51109:52495]()
    let integer_time_start = Date.now();
    let string_server_target = string_server_target_argument;
    if (string_server_target_argument === "") {
    string_server_target = string_get_server_rooted_hackable_with_score_biggest(ns);
    }
    // prepare the target if necessary
    while (true) {
    if (
    ns.getServerSecurityLevel(string_server_target) === ns.getServerMinSecurityLevel(string_server_target) &&
    ns.getServerMoneyAvailable(string_server_target) === ns.getServerMaxMoney(string_server_target)
    ) {
    break;
    }
    const array_schedule_prepare = array_make_schedule(ns, integer_job_cap, float_precision, float_steal_cap, float_padding_seconds, string_server_target, string_job_decider_prepare);
    if (array_schedule_prepare.length > 0) {
    await void_schedule_runner(ns, array_schedule_prepare);
    await ns.sleep((array_schedule_prepare[array_schedule_prepare.length - 1].integer_time_job_finishes_seconds * 1000) - integer_time_start + Date.now());
    }
    }
    // make and run actual hacking schedule
    const array_schedule = array_make_schedule(ns, integer_job_cap, float_precision, float_steal_cap, float_padding_seconds, string_server_target, string_job_decider);
    await void_schedule_runner(ns, array_schedule);
    return (array_schedule[array_schedule.length - 1].integer_time_job_finishes_seconds * 1000) - integer_time_start + Date.now();
    };