* streamline crimes * Crimes object is now indexed by CrimeType enum instead of an entirely new set of keys that aren't used for anything else. This eliminated a lot of instances of iterating to find the right crime for a given CrimeType. * Removed unused `None` CrimeType which allowed typing Crimes as a Record<CrimeType, Crime>. * Added slums tooltip text as a crime property, to allow streamlining slums. * Refactor slums location - removed repetitive code, rerenders 1/sec to update chances * Fix bugged descriptive text when sleeve is committing a crime (was "is attempting to DRUGS", now uses correct text e.g. "to deal drugs"). * Remove unused and now unneeded NewCrimeType enum. Values were identical to existing CrimeType values after removing unused None. * Add CrimeType enum in NetscriptDefinition.d.ts * Also update broken ToastVariant type. Better support for enums in player scripts. * Still todo is modifying some NS functions to expect CrimeType as input (rough crime names will continue to work to avoid breaking scripts) * Expect enum use for crime functions Affected functions: * ns.singularity.commitCrime * ns.singularity.getCrimeChance * ns.singularity.getCrimeStats * ns.sleeve.setToCommitCrime * formulas.work.crimeGains (param type only) - Affected functions still will fall back to rough names, except formulas.work.crimeGains which already only accepted the enum members. - Some documentation changes: * examples updated to use uppercase expected form. * Note on sleeve.setToCommitCrime that it only accepts exact matches removed. It already, and still does, accept any rough crime name (but the enum is expected input). * note about needing to use isBusy to schedule crimes remove - crimes autoloop now. * Since expected string inputs are documented directly on the type, removed list of crimes from sleeve.setToCommitCrimes
Bitburner
Bitburner is a programming-based incremental game that revolves around hacking and cyberpunk themes. The game can be played at https://danielyxie.github.io/bitburner or installed through Steam.
See the frequently asked questions for more information . To discuss the game or get help, join the official Discord server.
Documentation
The game's official documentation can be found on Read The Docs. Please note that this is still a work-in-progress.
The in-game documentation is generated from the TypeScript definitions.
Anyone is welcome to contribute to the documentation by editing the source files and then making a pull request with your contributions. For further guidance, please refer to the "As A Documenter" section of CONTRIBUTING.
Contribution
There are many ways to contribute to the game. It can be as simple as fixing a typo, correcting a bug, or improving the UI. For guidance on doing so, please refer to the CONTRIBUTING document.
You will retain all ownership of the Copyright of any contributions you make, and will have the same rights to use or license your contributions. By submitting a pull request you agree to grant me perpetual, worldwide, non-exclusive, transferable, royalty-free, and irrevocable rights to use, publish, and distribute your contributions to the project. A formal Contributor's License Agreement will be drawn up in the future.
If you would like to make significant contributions to the project as a collaborator, please reach out to @danielyxie to help coordinate the effort.