Commit Graph

43 Commits

Author SHA1 Message Date
Snarling
3a7ff7880d
COMPANY: Show unqualified direct promotion (followup) (#983) 2023-12-19 05:27:26 -05:00
Jesse Clark
28ef5df880
COMPANY: Much better job location interface (#927) 2023-12-18 07:23:47 -05:00
Jesse Clark
fdcb8306d9
FACTIONS: Add "Rumors" system for learning about faction join requirements (#888) 2023-11-02 10:20:24 -04:00
alutman
1a052a7daf
API: Change singularity.applyToCompany() to use an enum for job field (#859) 2023-10-17 05:33:16 -04:00
Snarling
e2655793f4
TYPESAFETY: CompanyName (#650) 2023-07-11 09:23:17 -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
Snarling
fb1f95c26e
VARIOUS: Various changes prior to release 2.2 (#271)
See PR #271 description
2022-12-29 20:28:53 -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
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
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
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
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
38063f62a7 build fix, lint, remove some instanceof checks 2022-09-27 16:09:32 -04:00
Snarling
a21b1029d7 No more player/router context 2022-09-27 15:35:40 -04:00
Olivier Gagnon
6b630753f0 nuke some use of any 2022-07-14 19:00:10 -04:00
nickofolas
ab841f7530 Refactor for ... in loops 2022-01-15 18:45:03 -06:00
Olivier Gagnon
de64777c75 some chagens 2022-01-15 17:52:50 -05:00
nickofolas
4e94b3db4e Remove unneeded rolloverRep attribute 2022-01-10 14:19:25 -06:00
nickofolas
30f6d157d9 Fix indentation 2022-01-10 14:15:32 -06:00
nickofolas
b731b9946e Update Company favor gaining 2022-01-10 14:08:17 -06:00
Olivier Gagnon
6b114fab7d remove unused stuff 2021-10-14 18:45:50 -04:00
Olivier Gagnon
0d9caac455 mui-fy some modals 2021-09-30 20:06:40 -04:00
Olivier Gagnon
06f716c0fa moved a bunch of files 2021-09-25 14:42:57 -04:00
Olivier Gagnon
c79fa240e1 Factions have a property explaining if they should keep on install 2021-09-22 03:09:37 -04:00
Olivier Gagnon
5f8de7e426 bunch of react conversion 2021-09-12 18:03:07 -04:00
Olivier Gagnon
2a13db39c7 fix sleeve memory bug 2021-09-08 23:47:34 -04:00
Olivier Gagnon
a18bdd6afc prettify, sorry for the big ass commit 2021-09-04 19:09:30 -04:00
Olivier Gagnon
d745150c45 all the lints 2021-05-01 03:17:31 -04:00
Olivier Gagnon
3fad505096 run auto fix lint 2021-04-29 23:52:56 -04:00
danielyxie
bf9b837e31 Fixed bugs with Location code refactor 2019-04-03 17:08:11 -07:00
danielyxie
4b95ba9ed1 Finished location code refactor. Has not yet been tested 2019-04-01 02:23:25 -07:00
danielyxie
7172f4e527 Began creating 'parent' components for the City and Location-specific parts of the UI 2019-03-29 00:12:41 -07:00
danielyxie
920d3d3f36 Fixed bugs with job requirement tooltips not appearing 2019-02-09 23:25:34 -08:00
danielyxie
5c8512c4b6 Convert Locations and Faction implementations to TypeScript. Also restructed directory. Implemented Sleeve, but untested 2018-12-07 02:54:26 -08:00
danielyxie
b242ca2f42 Fixed bugs with refactored Company/job code. Added 'expr' Terminal command 2018-11-17 16:23:48 -08:00
danielyxie
9b3ff6d2d3 Fixed merge conflicts with dev 2018-11-15 19:45:03 -08:00
danielyxie
d6bdc9433a Initial commit for company code refactor. Split out all components into separate files and converted to typescript 2018-11-15 17:28:23 -08:00
danielyxie
23eef62332 Created a standalone CompanyPosition class with TS 2018-10-31 14:57:47 -05:00