# Formulas

Reverse engineered from the [bitburner source](https://github.com/bitburner-official/bitburner-src).

## To be tested:

### Gang

- [ ] `ascencionMultipler(points)`
- [ ] `ascensionPointsGain(exp)`
- [ ] `moneyGain(gang, member, task)`
- [ ] `respectGain(gang, member, task)`
- [ ] `wantedLevelGain(gang, member, task)`
- [ ] `wantedPenalty(gang)`

### Hacking

- [ ] `growAmount(server, player, threads, cores)`
- [ ] `growPercent(server, threads, player, cores)`
- [ ] `growThreads(server, player, targetMoney, cores)`
- [ ] `growTime(server, player)`
- [ ] `hackChance(server, player)`
- [ ] `hackExp(server, player)`
- [ ] `hackPercent(server, player)`
- [ ] `hackTime(server, player)`
- [ ] `weakenTime(server, player)`

### HacknetNodes

- [ ] `constants()`
- [ ] `coreUpgradeCost(startingCore, extraCores, costMult)`
- [ ] `hacknetNodeCost(n, mult)`
- [ ] `levelUpgradeCost(startingLevel, extraLevels, costMult)`
- [ ] `moneyGainRate(level, ram, cores, mult)`
- [ ] `ramUpgradeCost(startingRam, extraLevels, costMult)`

### HacknetServers

- [ ] `cacheUpgradeCost(startingCache, extraCache)`
- [ ] `constants()`
- [ ] `coreUpgradeCost(startingCore, extraCores, costMult)`
- [ ] `hacknetServerCost(n, mult)`
- [ ] `hashGrainRate(level, ramUsed, maxRam, cores, mult)`
- [ ] `hashUpgradeCost(startingLevel, extraLevels, costMult)`
- [ ] `ramUpgradeCost(startingRam, extraLevels, costMult)`

### Reputation

- [ ] `calculateFavorToRep(favor)`
- [ ] `calculateRepToFavor(rep)`
- [ ] `donationForRep(reputation, player)`
- [ ] `repFromDonation(amount, player)`

### Skills

- [ ] `calculateExp(skill, skillMult)`
- [ ] `calculateSkill(exp, skillMult)`

## To be reverse engineered:

- [ ] Bladeburner
- [ ] Work
