264 Commits

Author SHA1 Message Date
Snarling
38f693e2c1 ENUMS: Followup for #859 (#868) 2023-10-17 07:19:32 -04:00
Zelow79
99e5c5e6b0 Added BB Training to sleeve actions (#713) 2023-09-12 05:07:36 -04:00
hydroflame
931d7e588a Remove more rtd references (#702) 2023-08-06 00:05:03 -04:00
omuretsu
888e5f9c8a Fix bug with sleeve.setToFactionWork
Function was not checking that the player was actually in the faction, which allowed sleeves to work for factions the player was not part of.
2023-07-31 10:36:24 -04:00
omuretsu
05651aa7f5 Fix faction augmentations screen
* Buying an augmentation rerenders the augmentations page (rerender function passed down through props)
* Each unowned purchasable augmentation rerenders periodically to re-check whether it can be bought.
2023-07-11 11:28:23 -04:00
omuretsu
993f234f48 Fix sleeve faction work from ui
Bandaid fix. I have a much better fix in mind for this, but it will need to wait until 2.4 since it will include some breaking changes.
2023-07-11 11:03:49 -04:00
Snarling
e2655793f4 TYPESAFETY: CompanyName (#650) 2023-07-11 09:23:17 -04:00
Aleksei Bezrodnov
1d5a735941 MISC: enforce eslint react checks (#640) 2023-06-26 22:29:44 -04:00
Snarling
9a0a843ffc TYPESAFETY: FactionName (#644) 2023-06-25 22:53:35 -04:00
Snarling
a4b826683e TYPESAFETY: Strict internal typing for AugmentationName (#608) 2023-06-16 17:52:42 -04:00
Aleksei Bezrodnov
61c8026bd0 fix sleeve university job (#604) 2023-06-12 15:19:35 -04:00
Snarling
6732549196 ENUMS: Initial Enum Helper rework + Reorganization (#596) 2023-06-12 00:34:20 -04:00
Snarling
ebae35b1fb CODEBASE: Expand lint rules, and Aliases are stored as maps (#501) 2023-05-05 03:55:59 -04:00
Snarling
04d49e3a6d SCRIPTS: Script modules are reused when they are imported (#461)
Also corrects some compile race conditions.
2023-04-07 00:33:51 -04:00
Eric
8d52e1b510 Small text fix (#462) 2023-04-03 00:21:37 -04:00
Zelow79
d7380a9243 Sleeve crime kills add to numPeopleKilled (#413) 2023-03-07 19:35:01 -05:00
Snarling
401bfe9f31 Sleeve work type changes (#412) 2023-03-07 18:03:13 -05:00
Snarling
e74dfe9b79 NETSCRIPTSLEEVE: Add cyclesWorked to ns.sleeve.getTask return (#409) 2023-03-07 05:30:15 -05:00
zerbosh
14aafbe0a3 SLEEVES: fix typo in MoneySourceTracker call (#405) 2023-03-03 01:03:09 -05:00
Mughur
3c7b0622a5 Merge pull request #375 from Tyasuh/Int-Shock-Recovery-Buff
MISC: Sleeve Int applies to active/passive shock recovery
2023-02-22 14:40:51 +02:00
Snarling
d3f9554a6e 2.2.2 Release (#378) 2023-02-21 09:44:18 -05:00
tyasuh.taeragan@gmail.com
7963158470 Requested Correction 2023-02-20 21:40:47 -05:00
tyasuh.taeragan@gmail.com
b6433786e3 formatter 2023-02-19 05:27:09 -05:00
tyasuh.taeragan@gmail.com
012c5d4f86 Int Buff to shock recovery speed 2023-02-19 01:43:38 -05:00
Snarling
6a6043c509 CODEBASE: Add custom useRerender hook (#359) 2023-02-11 13:22:55 -05:00
Snarling
b4074328ec UI: Added new locale-aware and configurable number formatting (#354) 2023-02-11 13:18:50 -05:00
Zelow79
5f923a348c NETSCRIPT: Added cyclesWorked to certain sleeve.getTask returns, and added bladeburner.getActionSuccesses (#324) 2023-01-15 23:50:54 -05:00
Mughur
7e183c4e4a Updated ReadTheDocs links 2023-01-06 15:24:10 +02:00
omuretsu
7c6d7206dd Fix broken HP 2023-01-03 02:14:00 -05:00
omuretsu
e891b06260 Safe load sleeve class work 2023-01-02 18:18:59 -05:00
Snarling
fb1f95c26e VARIOUS: Various changes prior to release 2.2 (#271)
See PR #271 description
2022-12-29 20:28:53 -05:00
Snarling
5ff2cd5357 VERSION: Update game version to 2.2 (#240)
Includes some bug fixes:
* Fix sleeve shock internal/display discrepancy (0-100 vs 0-100)
* Special error message if ns function called without a this
* Change whitespace to pre-wrap for dialog box.
* Fix bug where idle sleeves do not consume cycles but still recover shock from those cycles. Now they do not recover during idle.
* attempted to tag commit as v2.2.0
2022-12-01 16:07:46 -05:00
Snarling
e7fc0fbb03 Fix documentation for ns.sleeve (#227) 2022-11-24 08:19:51 -05:00
omuretsu
387c0c2786 Fix save corruptions from invalid types 2022-11-20 12:39:08 -05:00
Snarling
65cd14e33b DOC: Add ns documentation for possible sleeve tasks (#217)
* Add specific types for sleeve tasks
* Moved LocationName enum to overall enums file
* Add LocationName enum to those provided to player
* remove trailing s on CompanyPosNames enum (now CompanyPosName, in line with LocationName)
* Also regenerated all ns documentation. This leads to an expected error when checking for generated files, because PRs should not normally touch markdown files. Also leads to a lint failure in generated file bitburner.d.ts
* also removed some exporting from NetscriptDefinitions.d.ts for anything that wasn't imported somewhere else.
2022-11-20 12:07:22 -05:00
Snarling
88d51e9a7e MISC: A bunch of enums stuff. (#212)
* Some game enums moved to utils/enums. Others can eventually be moved there as well.
* findEnumMember function for performing fuzzy matching of player input with enum members, without needing separate fuzzy functions for every enum.
* Also used findEnumMember for safely loading save games (allows case changes in enum values)
* Changed capitalization on some enums.
* BREAKING: removed classGains work formulas function
* Split ClassType enum into UniversityClassType and GymType.
* Added universityGains and gymGains work formulas functions
* Provided the new split enums to the player on ns.enums.
2022-11-20 08:37:11 -05:00
Snarling
c669e473d1 SLEEVE: Fixed inconsistencies in how sleeve work rewards are handled. (#211) 2022-11-10 21:56:46 -05:00
Snarling
426ad5f296 Sleeve criming fix (#209)
Also simplify usage of findCrime
2022-11-10 11:05:42 -05:00
Snarling
8e0e0eaa88 NETSCRIPT: ns.sleeve.getSleeve added. getPlayer and getSleeve can both be used for formulas. (#200)
* BREAKING CHANGE: Removed getSleeveStats and getSleeveInformation because this info is provided by getSleeve in a more usable form.
* BREAKING CHANGE: Removed tor, inBladeburner, and hasCorporation fields from ns.getPlayer. Functionality still exists via added functions ns.hasTorRouter, ns.corporation.hasCorporation, and ns.bladeburner.inBladeburner.
* Separated ns definitions for Person, Sleeve, and Player interfaces with both Player and Sleeve just extending Person.
Added getSleeve, which provides a Sleeve object similar to getPlayer.
* Renamed the sleeve ns layer's interface as sleeve lowercase because of name conflict. todo: May move all the ns layers interface names to lowercase for consistency
* Added ns.formulas.work.crimeSuccessChance and reworked to allow both sleeve and player calculations.
* Removed internal Person.getIntelligenceBonus function which was just a wrapper for calculateIntelligenceBonus. Any use of the former in formulas creates a conflict where ns-provided Person objects throw an error.
* Renamed helpers.player to helpers.person for netscript person validation. Reduced number of fields validated due to Person being a smaller interface.
* Fixed bug in bladeburner where Player multipliers and int were being used no matter which person was performing the task
* Fixed leak of Player.jobs at ns.getPlayer
* Person / Player / Sleeve classes now implement the netscript equivalent interfaces. Netscript helper for person no longer asserts that it's a real Person class member, only that it's a Person interface. Functions that use netscript persons have been changed to expect just a person interface to prevent needing this incorrect type assertion.
2022-11-09 07:26:26 -05:00
Snarling
9e869bc876 NETSCRIPT: Add ns.formulas.work.companyGains function (#195)
* added ns.formulas.work.companyGains.
* Removed Work/Formulas folder, added Work/Formulas.ts
* CompanyPosition.calculateJobPerformance now takes in a Person instead of taking in a full set of stats, and it takes INT into account.
* formulas.crimeGains takes in a person object.
* Renamed ns Player type to Person.
* added multWorkStats, which multiplies a WorkStats object with a multipliers object.
* Remove unused types in NetscriptDefinitons.d.ts
* reuse formulas code in other parts of game
* getSleeveInformation also returns skills

Co-authored-by: Alexey <alexey.kozhemiakin@gmail.com>
2022-11-06 17:27:04 -05:00
omuretsu
e42b1c2edd lint 2022-11-03 08:46:01 -04:00
omuretsu
b057e2e5f2 Fix sleeves unable to commit crime 2022-11-03 08:39:34 -04:00
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
borisflagell
f3becee15b Fix Bladeburner Contract in Sleeve 2022-10-11 15:25:16 +03:00
Olivier Gagnon
cbb7f58231 Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
Olivier Gagnon
f6f023eeb4 Fix tons of typos 2022-10-09 01:25:31 -04:00
hydroflame
c930487c21 Merge pull request #4215 from borisflagell/crime-sleeve
SLEEVE: Fixes 2 issues in Sleeve's implementation of crime work
2022-10-09 00:25:13 -04:00
borisflagell
6d86852969 FIX crime by sleeve
Bitnode multiplier was applied twice in th UI.
Sleeve's multiplier weren't applied (neither in UI, nor engine).
2022-10-08 17:19:20 +03:00
Snarling
aa80cf6451 See description
Reverted ToastVariant back to an enum internally. Still exposed to player as just possible strings.
Changed all 1-line documentation comments to actually be 1-line. Moved some because they were not providing documentation for the thing they were trying to.
2022-10-04 06:40:10 -04:00
Snarling
a4b7128e6c Sleeve bladeburner fix 2022-09-27 16:36:37 -04:00