Interface HackingFormulas

Hacking formulas

interface HackingFormulas {
    growAmount(server, player, threads, cores?): number;
    growPercent(server, threads, player, cores?): number;
    growThreads(server, player, targetMoney, cores?): number;
    growTime(server, player): number;
    hackChance(server, player): number;
    hackExp(server, player): number;
    hackPercent(server, player): number;
    hackTime(server, player): number;
    weakenTime(server, player): number;
}

Methods

  • Calculate the amount of money a grow action will leave a server with. Starting money is server.moneyAvailable. Note that when simulating the effect of grow, what matters is the state of the server and player when the grow finishes, not when it is started.

    The growth amount depends both linearly and exponentially on threads; see grow for more details.

    The inverse of this function is formulas.hacking.growThreads, although it rounds up to integer threads.

    Parameters

    • server: Server

      Server info, typically from getServer

    • player: Person

      Player info, typically from getPlayer

    • threads: number

      Number of threads to grow with. Can be fractional.

    • Optional cores: number

      Number of cores on the computer that will execute grow.

    Returns number

    The amount of money after the calculated grow.

  • Calculate the growth multiplier constant for a given server and threads.

    The actual amount of money grown depends both linearly and exponentially on threads; this is only giving the exponential part that is used for the multiplier. See grow for more details.

    As a result of the above, this multiplier does not depend on the amount of money on the server. Changing server.moneyAvailable and server.moneyMax will have no effect.

    For the most common use-cases, you probably want either formulas.hacking.growThreads or formulas.hacking.growAmount instead.

    Parameters

    • server: Server

      Server info, typically from getServer

    • threads: number

      Amount of threads. Can be fractional.

    • player: Person

      Player info, typically from getPlayer

    • Optional cores: number

      Number of cores on the computer that will execute grow.

    Returns number

    The calculated grow percent.

  • Calculate how many threads it will take to grow server to targetMoney. Starting money is server.moneyAvailable. Note that when simulating the effect of grow, what matters is the state of the server and player when the grow finishes, not when it is started.

    The growth amount depends both linearly and exponentially on threads; see grow for more details.

    The inverse of this function is formulas.hacking.growAmount, although it can work with fractional threads.

    Parameters

    • server: Server

      Server info, typically from getServer

    • player: Person

      Player info, typically from getPlayer

    • targetMoney: number

      Desired final money, capped to server's moneyMax

    • Optional cores: number

      Number of cores on the computer that will execute grow.

    Returns number

    The calculated grow threads as an integer, rounded up.

  • Calculate hack chance. (Ex: 0.25 would indicate a 25% chance of success.)

    Parameters

    Returns number

    The calculated hack chance.

  • Calculate hack exp for one thread.

    Parameters

    Returns number

    The calculated hack exp.

    Remarks

    Multiply by thread to get total exp

  • Calculate hack percent for one thread. (Ex: 0.25 would steal 25% of the server's current value.)

    Parameters

    Returns number

    The calculated hack percent.

    Remarks

    Multiply by thread to get total percent hacked.