bitburner-src/src/Work
Snarling d74c380e42
WIP: Crimes streamlining. (#138)
* 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
2022-10-21 11:57:37 -04:00
..
data convert faction work to new work system 2022-07-12 01:54:19 -04:00
formulas Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
ClassWork.tsx Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
CompanyWork.tsx Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
CreateProgramWork.ts Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
CrimeWork.ts WIP: Crimes streamlining. (#138) 2022-10-21 11:57:37 -04:00
FactionWork.tsx Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
GraftingWork.tsx Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
Work.ts commit1 2022-09-27 15:35:40 -04:00
WorkStats.ts Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00