Commit Graph

648 Commits

Author SHA1 Message Date
Snarling 5b2a96fa0c CORPORATION: Happiness/Energy/Morale trend down even for productive corps (#157) 2022-10-25 10:32:20 -04:00
Snarling 5fe89d5599 CORPORATION: Reorganize Industry data (#154) 2022-10-24 21:54:54 -04:00
G4mingJon4s 6dc5990b63 CORPORATION: Added check to buy amount (#149) 2022-10-24 16:09:53 -04:00
Snarling 0a3ff56331 WIP: Remove corp employees as objects (#143)
* Removed employees as objects from corporations
* Remove employees from office JSON after loading / convert to new parameters
* Showed down morale/etc gain; added optional position to hireEmployee
* enum support for corp employee positions

Mostly authored-by: Kelenius <kelenius@ya.ru>
2022-10-24 08:44:01 -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
Snarling 19e8946d9a fix Stock Initializer (#137)
* stock symbols initializer is called by stockmarket initializer
* remove redundant second initStockMarketFn function
2022-10-20 00:38:19 -04:00
omuretsu e192ad53ec Actually format + lint 2022-10-12 10:18:56 -04:00
omuretsu 7a384d53f4 typefix netscriptFunctions (see desc)
* Types for InternalFunction and ExternalFunction have been modified to actually typecheck ns functions against docs.
* Internal functions are required to use unknown for any params on the inner function.
* Return types for internal function inner-function must match the respective external function.
* Added new typecheck assertion function for asserting dynamic object types, to allow unknownifying params that were previously hardcoded objec structures.
* Because type assertion for parameter types and return types is enforced by InternalAPI, removed all duplicate type declarations on NetscriptFunction params and returns.
2022-10-12 08:49:27 -04:00
omuretsu 41b6f0b87b add hoop before exposing 2022-10-11 21:02:04 -04:00
omuretsu 7d07f44b3e move to global scope 2022-10-11 20:01:10 -04:00
omuretsu 84b99c569a extra printRaw function 2022-10-11 16:07:45 -04: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 f4668b21ca functions to generate dummy contracts 2022-10-09 02:56:11 -04:00
Olivier Gagnon 0fdf74ceeb typo 2022-10-09 01:32:44 -04:00
Olivier Gagnon f6f023eeb4 Fix tons of typos 2022-10-09 01:25:31 -04:00
Snarling 068533cd2f format, lint, more enums, revert fn rename 2022-10-05 14:52:48 -04: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 50f14b4f58 Commit1 2022-10-03 12:12:16 -04:00
Snarling 16fac67257 fix broken rebase 2022-09-27 16:23:53 -04:00
Snarling 38063f62a7 build fix, lint, remove some instanceof checks 2022-09-27 16:09:32 -04:00
Snarling e5e6b05be0 format+lint+build fix 2022-09-27 15:35:42 -04:00
Snarling bc7c15ad77 corp: classes are types 2022-09-27 15:35:42 -04:00
Snarling 2213d06159 Using bladeburner and action classes as types 2022-09-27 15:35:41 -04:00
Snarling 475a8812bb findSleevePurchasableAugs as a class member 2022-09-27 15:35:41 -04:00
Snarling 21a2d49de7 Finish removing player passing 2022-09-27 15:35:41 -04:00
Snarling a21b1029d7 No more player/router context 2022-09-27 15:35:40 -04:00
Snarling 83d357e758 commit1 2022-09-27 15:35:40 -04:00
Duck McSouls 0a644aed58 Typo fix in ns.singularity.workForFaction()
Abbreviation of "you are" is "you're".  Also place a full stop at the end to complete the sentence.  Fixes #4118.
2022-09-23 20:32:53 +10:00
hydroflame 5101b345ec Merge pull request #4069 from Mughur/corp
API: Corp functions now return copy of constant arrays instead of the original
2022-09-23 00:58:32 -03:00
hydroflame ee67aa90f9 Merge pull request #4131 from Mughur/valuation
CORPORATION: Gave investors some economics classes
2022-09-23 00:58:06 -03:00
hydroflame a8e640e309 Merge pull request #4084 from Rasmoh/expose_exports
CORPORATION API: FIX #3655 Expose exports from Material
2022-09-23 00:46:28 -03:00
Olivier Gagnon 4f64d3eeb1 use triple equal 2022-09-22 23:45:00 -04:00
hydroflame 9f922de50d Merge pull request #4101 from Kelenius/UnhardcodeBBAndCorpDisabling
UI: Bitnode stats now show if BB/Corporation are disabled
2022-09-23 00:43:19 -03:00
hydroflame 23c889bafd Merge pull request #4074 from phyzical/hotfix/4058
CORP API: Fix up param order for limitProductProduction to match docs
2022-09-23 00:36:24 -03:00
hydroflame e49bd3d091 Merge branch 'dev' into feature/add-back-api-export 2022-09-23 00:34:19 -03:00
hydroflame c449680256 Merge pull request #4104 from Mughur/dev
MISC: multiple hasAugmentation checks didn't check if the augment was installed
2022-09-23 00:32:16 -03:00
Mughur d4c06eba24 Change corporatio valuation calculations 2022-09-23 05:05:18 +03:00
phyzical 4175960fc6 use bitnode multiplers in the output of crime stats 2022-09-20 17:56:05 +08:00
Mughur 4c5adc8dfb More hasAugmentation fixes 2022-09-14 21:21:49 +03:00
Kelenius 5350e1c3e9 Unhardcoded BN8 BB check; show if corp/BB are disabled in BN stats 2022-09-12 17:48:52 +03:00
phyzical ca2f1a62a5 add singularity function for exporting game save 2022-09-07 16:11:51 +08:00
Rasmoh cc0fd197c5 Expose exports from Material 2022-09-05 17:25:32 -07:00
phyzical 2a8ddb8147 fix up param order to match docs
hotfix/4058

File List:
src/NetscriptFunctions/Corporation.ts
2022-09-02 11:58:12 +08:00
Mughur c467a49a38 corp functions now return copy instead of original 2022-08-31 12:05:36 +03:00
Olivier Gagnon c9a0998cc1 Improve wrong arg user message and add ui.windowSize 2022-08-29 18:07:17 -04:00
hydroflame a0475cc630 Merge pull request #4049 from MPJ-K/dev
NETSCRIPT: FIX #3963 Prevent bladeburner.setActionLevel from setting invalid action levels
2022-08-29 11:20:28 -03:00
hydroflame c2796e164a Merge pull request #4052 from Snarling/ns1wrapper
NETSCRIPT: FIX #4037 ns1 wraps deeper layers correctly.
2022-08-29 11:14:32 -03:00
Florian Schöffl 282dc28c8d INFILTRATION: Corrected ns formula for infiltration rewards
In commit 
7c5097ee83 the author extracted the functionality for infiltration rewards into a NS function and made it accessible via formulas.

The exposed function does however not use the same input parameters as the Victory screen after infiltration since he uses the difficulty and not the starting difficulty.

Difficulty is clamped to [0;3], so the formulas api showed for high difficulty servers a vastly lower result.
2022-08-29 02:35:39 +02:00
Snarling ef1f376c09 format, lint, remove unused "running" property on ws 2022-08-27 22:32:48 -04:00
Snarling 6f36e9cdc5 Fix/Unify NS1 wrapper 2022-08-27 20:56:12 -04:00