* 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
This adds bladeburner actions to sleeves. In addition this bulked out the IPerson functionality and updated bladeburner functions to be more sleeve compatible
Initially just wanted to change "traffick" to "traffic" (as that supports both the American and British spelling), but then noticed there were a couple of other ones that could be made slightly less restrictive to improve detection. All changes make detection LESS RESTRICTIVE for the player (ie, they have more ways to provide the parameter), none are MORE RESTRICTIVE (ie, won't break any existing code, etc.
Anything that worked before will still work, but now a few things that may not have worked before - like "traffic arms" (without the k), "illegal arms", and "assassin" will work. (Also allowed for the common misspelling of "forgary")
* Hash upgrades and Bladeburner skills can now be clicked to copy to clipboard
* Aug purchase confirmation popup displays money in 0.000a format
* Character now displays hacknet server info properly
* Character,Info now displays hacknet server info correctly.
* Formulas (#825)
Formulas API v0.1
* Make all money the same color, same for reputation, format all numbers consistently.
* rename a lot of the formulas function to no longer contain calculate
* added hacking related formulas
* removed unused variable
* v0.51.0