Files
bitburner-src/markdown/bitburner.hackingformulas.md
Michael Taylor dcd2f33f7c CODEBASE: Update api-documentor and api-extractor (#2320)
* Update api-documentor and api-extractor. #1566 follow-up.

I have verified that the HTML/markdown table generation bug in
[#4878](https://github.com/microsoft/rushstack/issues/4878) in rushstack
for api-documentor has been fixed as per rushstack#5256. The testcase
[repro](https://github.com/catloversg/api-documenter-bug-pr-4578) now
produces the correct expected output.

I have confirmed that the generated output in bitburner from
`npm run doc` now generated HTML tables, and correctly inserts
a blank line between the </table> and the follow line (e.g. Returns).

Stylisticly it could use some whitespace, but it is correctly rendered.

This commit is only the updated packages, not the updated generated
documentation. I assume that is automatically generated by the GitHub
workflow.

* Follow up to 5f732a6f35, include `npm run doc` changed docs.

* Add missing license info

* Fix React warning

---------

Co-authored-by: CatLover <152669316+catloversg@users.noreply.github.com>
2025-09-26 14:52:39 -07:00

3.5 KiB

Home > bitburner > HackingFormulas

HackingFormulas interface

Hacking formulas

Signature:

interface HackingFormulas 

Methods

Method

Description

growAmount(server, player, threads, cores)

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.

growPercent(server, threads, player, cores)

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.

growThreads(server, player, targetMoney, cores)

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.

growTime(server, player)

Calculate grow time.

hackChance(server, player)

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

hackExp(server, player)

Calculate hack exp for one thread.

hackPercent(server, player)

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

hackTime(server, player)

Calculate hack time.

weakenTime(server, player)

Calculate weaken time.