bitburner-src/src/PersonObjects/Sleeve
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
..
ui WIP: Crimes streamlining. (#138) 2022-10-21 11:57:37 -04:00
Work WIP: Crimes streamlining. (#138) 2022-10-21 11:57:37 -04:00
README.md Finished ResleeveUI implementation (untested) 2019-01-17 07:40:43 -08:00
Sleeve.ts WIP: Crimes streamlining. (#138) 2022-10-21 11:57:37 -04:00
SleeveCovenantPurchases.tsx sleeves to mui 2021-09-26 20:55:38 -04:00
SleeveMethods.ts Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
SleeveTaskTypesEnum.ts See description 2022-10-04 06:40:10 -04:00

Implements the "Duplicate Sleeves" feature, which allows the player to purchase new duplicate sleeves. These are synthetic bodies that contain the player's cloned consciousness. The player can use these sleeves to perform different tasks synchronously.

This feature is introduced and unlocked in BitNode-10.

Note that while they are based on the same concept, this feature is different than the "Re-sleeving" mechanic (which is referred to as "Resleeve" in the source code).