Commit Graph

104 Commits

Author SHA1 Message Date
zerbosh 24ad342203 getCorporation() returns division names (#266) 2022-12-29 04:30:16 -05:00
Mughur 5c80655d62 NETSCRIPT: Added ns.corporation.issueNewShares function (#261) 2022-12-25 03:35:18 -05:00
Mughur 556fe8dd33 NETSCRIPT: Added ns.corporation.getConstants, replacing many other corporation getter functions (#260) 2022-12-25 03:33:13 -05:00
Snarling 14e50e5533 Some corp fixes (#236) 2022-11-29 08:24:04 -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 b275f88053 NETSCRIPT: Expose more enums for player use (#198)
* Add support for enums at other ns layers
* APIWrapper: simplified wrapping algorithm and modified to just use cloneDeep to copy enums instead of recursively wrapping enums as if they were new API layers
* Improve APIWrapper typing
* Changed some typings at RamCostGenerator to allow for enums at different levels without enums needing a ram cost
* Added enums to ns.corporation, removed getter functions that were being used instead.
* Add FactionWorkType for player use
* Add ClassType and CompanyWorkPos enums
* Change netscriptDefinitions to expect members of these new enums where appropriate.
2022-11-09 13:46:21 -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 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
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
Olivier Gagnon 0fdf74ceeb typo 2022-10-09 01:32:44 -04:00
Snarling 068533cd2f format, lint, more enums, revert fn rename 2022-10-05 14:52:48 -04:00
Snarling 50f14b4f58 Commit1 2022-10-03 12:12:16 -04:00
Snarling bc7c15ad77 corp: classes are types 2022-09-27 15:35:42 -04:00
Snarling 83d357e758 commit1 2022-09-27 15:35:40 -04: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
Mughur d4c06eba24 Change corporatio valuation calculations 2022-09-23 05:05:18 +03: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
Risenafis b224321222 fix selfFund was reversed 2022-08-20 23:37:39 +09:00
Snarling ea7c2c4981 fixing other commits after rebase 2022-08-09 18:25:02 -04:00
Snarling 931ea730a5 Move entire ns object to top-level 2022-08-09 18:09:26 -04:00
Snarling 208495e269 Initial commit 2022-08-09 18:09:24 -04:00
Mughur a88f36e2f4 add corp get functions, fix coffee hover text 2022-07-30 18:57:33 +03:00
Olivier Gagnon 18c3572423 removed the ability to bribe for shares 2022-07-26 08:20:22 -04:00
Olivier Gagnon ec17cfdaf3 merge corp not async 2022-07-20 17:27:11 -04:00
Olivier Gagnon ef42ee7232 few more api break 2022-07-20 17:03:08 -04:00
Staszek Welsh 75a9151e74 Merge branch 'dev' into corp-remove-async 2022-07-20 21:12:27 +01:00
hydroflame 17c2f06ae0 Merge pull request #3802 from stalefishies/corp-dividends
CORPORATION: (BREAKING) Dividend fixes and exposing dividends info via scripts
2022-07-20 15:08:41 -04:00
Olivier Gagnon 2442402af5 fix more anys 2022-07-19 16:46:03 -04:00
Olivier Gagnon 5629c16def extract multipliers in its own type 2022-07-14 18:43:33 -04:00
Staszek Welsh 02b07bb332 Fix relevant linter errors and run formatter 2022-06-02 22:54:50 +01:00
Staszek Welsh ba7b76369b Remove industry upgrades
There are only two industry upgrades, one of which is buying coffee
which is not an upgrade, and for the office not the industry. Moving
that to the office leaves just hiring AdVerts, which is better as an
explicitly named set of methods.
2022-06-02 02:43:22 +01:00
Staszek Welsh 04efd899a0 Remove async from buyCoffee and throwParty 2022-06-01 23:36:15 +01:00
Staszek Welsh ffaa38d086 Unify code paths for buying coffee and throwing parties 2022-06-01 23:26:32 +01:00
Staszek Welsh 7d3a43f7b5 Remove async from employee assignment functions 2022-06-01 18:18:53 +01:00
Staszek Welsh b9356ea782 Only switch employee jobs at the start of corp cycles 2022-06-01 18:11:33 +01:00
Staszek Welsh eb46e4d156 Rename getDividends to getCycleDividends for clarity 2022-06-01 12:59:45 +01:00
Staszek Welsh 4a3558098c Fix error check in issueDividends expecting 0-100 when it actually takes 0-1 2022-05-30 22:31:51 +01:00
Staszek Welsh c117b55df9 Expose dividend info through ns.corporation.getCorporation() 2022-05-30 22:21:27 +01:00
Undeemiss f8f3c099e0 Formatted/linted (There are some errors, but they aren't mine afaik) 2022-05-28 21:35:20 -05:00
T.J. Eckman cfb0967634 Unassigned Employees Boost
Speed up assigning of employees currently without a job.
2022-05-25 18:55:34 -04:00
Olivier Gagnon 76ccb0ba36 lint 2022-05-25 11:43:43 -04:00
hydroflame b80e2d5fd1 Merge branch 'dev' into wrap-api 2022-05-19 01:37:06 -04:00
Undeemiss b00301f4e1 Renamed BN mult CorporationSoftCap to CorporationSoftcap
Replaced all instances of "CorporationSoftCap" in src/ with
"CorporationSoftcap". If files outside of src/ must be changed, I
do not know what those would be.
2022-05-09 14:45:19 -05:00