[Home](./index.md) > [bitburner](./bitburner.md) > [HackingFormulas](./bitburner.hackingformulas.md) ## HackingFormulas interface Hacking formulas **Signature:** ```typescript interface HackingFormulas ``` ## Methods
Method Description
[growAmount(server, player, threads, cores)](./bitburner.hackingformulas.growamount.md) 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](./bitburner.ns.grow.md), 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](./bitburner.ns.grow.md) for more details. The inverse of this function is [formulas.hacking.growThreads](./bitburner.hackingformulas.growthreads.md), although it rounds up to integer threads.
[growPercent(server, threads, player, cores)](./bitburner.hackingformulas.growpercent.md) 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](./bitburner.ns.grow.md) 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](./bitburner.hackingformulas.growthreads.md) or [formulas.hacking.growAmount](./bitburner.hackingformulas.growamount.md) instead.
[growThreads(server, player, targetMoney, cores)](./bitburner.hackingformulas.growthreads.md) 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](./bitburner.ns.grow.md), 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](./bitburner.ns.grow.md) for more details. The inverse of this function is [formulas.hacking.growAmount](./bitburner.hackingformulas.growamount.md), although it can work with fractional threads.
[growTime(server, player)](./bitburner.hackingformulas.growtime.md) Calculate grow time.
[hackChance(server, player)](./bitburner.hackingformulas.hackchance.md) Calculate hack chance. (Ex: 0.25 would indicate a 25% chance of success.)
[hackExp(server, player)](./bitburner.hackingformulas.hackexp.md) Calculate hack exp for one thread.
[hackPercent(server, player)](./bitburner.hackingformulas.hackpercent.md) Calculate hack percent for one thread. (Ex: 0.25 would steal 25% of the server's current value.)
[hackTime(server, player)](./bitburner.hackingformulas.hacktime.md) Calculate hack time.
[weakenEffect(threads, cores)](./bitburner.hackingformulas.weakeneffect.md) Calculate the security decrease from a weaken operation. Unlike other hacking formulas, weaken effect depends only on thread count and core count, not on server or player properties. The core bonus formula is .
[weakenTime(server, player)](./bitburner.hackingformulas.weakentime.md) Calculate weaken time.