Commit Graph

929 Commits

Author SHA1 Message Date
Shy
4aaf845fca
API: make ns.atExit add the callback to an array instead of setting it (#1059) 2024-03-05 19:22:45 -05:00
LJ
a5f5c81912
API: Add karma to ns.getPlayer() & document ns.heart.break() (#1131) 2024-03-04 09:35:54 -05:00
Bart Kuijper
6a3d22d7bd
CONTRACTS: createDummyContract returns filename (#1129) 2024-03-01 23:12:04 -05:00
LJ
f6871f0911
GANG: Clarify install behavior & add getInstallResult() (#1119)
New function returns post-install ascension ratios.

* Add ascension penalty to Gang constants
* Improve wording of Gang install message
* Add GangMember#getInstallResults()
* Update prestiging to use getInstallResults()
* Add ns.gang.getInstallResults(memberName)
* Update definitions
* Add ram cost for ns.gang.getInstallResult()
* Fix typo
* More specific wording in documentation
* Fix another typo
* Run prettier
* Rename getInstallResults to getPostInstallPoints
* Update Prestige.ts
* Update Gang.ts
2024-02-23 12:58:22 -08:00
LJ
27a8abbdec
PORTS: Support all serializable data. (#1089)
A significant portion of players who use ports are passing objects through them. Currently they are required to handle that themselves via JSON serialization. This PR adds better support for passing objects; which is more convenient, extensive, and optimized (probably, more on this one later).

This adds zero overhead to existing (or when passing any primitive types) port usage, and also isn't a breaking change. The questions to debate here are:

Should objects be supported in the first place?
If so, how exactly do we want to serialize objects?
Based on an extensive discussion in Discord, the overwhelming majority answered "yes" to question one. As for question two, that has been much more hotly contested.

Ultimately, `structuredClone` was used, despite less-than-stellar performance, because other options were worse either in safety, speed, error-handling, or multiple of the above.
2024-02-17 19:15:17 -08:00
adeilt
22aec2a8b9
DOC: Fix outdated example for ns.spawn() (#1101) 2024-02-15 23:44:25 -05:00
LJ
078f94cbc0
BUGFIX: Fix script editor documentation button using wrong URL (#1099)
* Fix script editor documentation button
* Fix lint and import url
2024-02-15 04:55:36 -08:00
Caldwell
fccc27fe58
MISC: HGWOptions accepts non integer (#1035) 2024-02-10 07:24:11 -05:00
LJ
fd5b0f8241
MISC: Use structuredClone() for deep cloning (#1077) 2024-02-10 04:10:19 -05:00
Rinne
5277db2c65
API: Changing return value of ns.bladeburner.getSkillUpgradeCost to return Infinity when the skill's level overshoot the maximum level (#1060) 2024-01-31 19:40:27 -05:00
deansvendsen
cb7c75a3ce
MISC: Gang Expenses category in MoneySource (#1043) 2024-01-23 18:18:56 -05:00
LJ
157ff8ea88
PORTS: Add ns.nextPortWrite() as a safer option (#1036) 2024-01-15 06:10:39 -05:00
Caldwell
6f8a59593a
EDITOR: fix disposing models (#1026) 2024-01-09 18:45:31 -05:00
Shy
68a8427838
EDITOR: Add file URI's to monaco to improve intellisense (#1017) 2024-01-07 07:13:52 -05:00
Michael Ficocelli
7e721c144e
[IPvGO] Docs improvements and other feedback (#1011) 2024-01-05 20:50:28 -05:00
Rinne
eba840dcd3
API: Updating typing for ns.singularity.getCurrentWork() (#989) 2023-12-27 06:06:45 -05:00
Snarling
489ba595f3
VERSION: Begin 2.6.0 dev cycle (#992) 2023-12-26 11:53:27 -05:00
Michael Ficocelli
7ef12a0323
BITNODE: IPvGO territory control strategy game (#934) 2023-12-26 11:45:27 -05:00
Jesse Clark
28ef5df880
COMPANY: Much better job location interface (#927) 2023-12-18 07:23:47 -05:00
Jesse Clark
473217ef31
API: Programming-friendly interface to getFactionInviteRequirements (#953) 2023-12-16 04:27:22 -05:00
TheAimMan
5482848eeb
SLEEVE: Add task counter to Crimes and BladeBurner (#930) 2023-12-07 21:24:50 -05:00
David Walker
019f2d6a11
DOCS: Add type of return for 3 formulas functions. (#967) 2023-12-07 07:33:15 -05:00
Snarling
f93bbfbd5d
UPDATE: 2.5.1 Release (#952) 2023-11-30 16:46:56 -05:00
Snarling
aaf80a9a33
SLEEVE: Add a nextCompletion promise to SleeveBladeburnerWork (#916) 2023-11-05 20:09:34 -05:00
Sphyxis
b06b8bbdde
BLADEBURNER: Updated descriptions (#906) 2023-11-03 21:48:46 -04:00
Jesse Clark
fdcb8306d9
FACTIONS: Add "Rumors" system for learning about faction join requirements (#888) 2023-11-02 10:20:24 -04:00
TheAimMan
6f67224146
BUGFIX: Add effect definition to fragmentObject (#891) 2023-10-30 04:00:31 -04:00
Caldwell
009622069f
add size property to getProduct (#893) 2023-10-30 03:56:54 -04:00
Snarling
87925f1900
EDITOR: Reorganization and minor efficiency improvements (#886) 2023-10-23 07:02:33 -04:00
Caldwell
e992cb966a
CORPORATION: adding prevState and changed state display in the warehouse UI (#861) 2023-10-23 04:48:06 -04:00
Jesse Clark
61c311a126
API: Add nextUpdate() promise for systems with bonus time (#845) 2023-10-23 04:24:30 -04:00
Snarling
38f693e2c1
ENUMS: Followup for #859 (#868) 2023-10-17 07:19:32 -04:00
alutman
1a052a7daf
API: Change singularity.applyToCompany() to use an enum for job field (#859) 2023-10-17 05:33:16 -04:00
missymae#2783
1007ce5e68
API: Add ns.bladeburner.getNextBlackOp() (#815) 2023-10-17 02:18:54 -04:00
Michael Ficocelli
7b00fcc5b1
MISC: spelling and consistency fixes in the NetscriptDefinitions.ts file (#821) 2023-10-02 20:14:44 -04:00
muesli4brekkies
c5e2f65cb0
API: Added spawnDelay parameter to ns.spawn options, allowing user defined delay (#807) 2023-09-27 01:31:47 -04:00
Michael Ficocelli
7fad6e0778
UI: Rename Territory Warfare gang status to avoid confusion with gang member task of the same name (#790) 2023-09-26 21:04:43 -04:00
Jesse Clark
3ae3f947ac
CORPORATION: Rework share price calculation + UI improvements (#782) 2023-09-20 00:36:48 -04:00
Caldwell
bf5e638891
CORPORATION: Fix "Use same 'Sell Amount' for all cities" toggle for products (#775) 2023-09-12 04:31:51 -04:00
Caldwell
d2b3659512
DOC: Add CorporationDivisions multiplier to BitNodeMultipliers API interface (#798) 2023-09-12 04:30:19 -04:00
Caldwell
624a0a5b02
CORPORATION: improve State description (#778) 2023-09-12 01:25:51 -04:00
Caldwell
bba2ccd83a
CORPORATION: add issueNewSharesCooldown and makesMaterial (#774) 2023-09-12 01:23:36 -04:00
missymae#2783
8d3f2bd750
GANG: Updates to Docs, UI, API (#773)
API Changes:
Adds ns.gang.getRecruitsAvailable: Gets the number of additional gang members that can currently be recruited
Adds ns.gang.respectForNextRecruit: Gets the respect threshold for recruiting the next gang member
Adds ns.gang.renameMember: Renames a gang member

Plus many doc and ui improvements
2023-09-05 18:07:19 -04:00
missymae#2783
bec737a253
DOCS: Add documentation descriptions for GangMemberInfo properties (#779) 2023-09-03 16:50:24 -04:00
muesli4brekkies
66ac31ee99
DOCS: Improve/correct some API docs related to ports (#772) 2023-09-02 10:57:31 -04:00
VictorS
b7fdcdf35d
DOCS: Improved documentation for functions that take a FilenameOrPID (#759) 2023-08-30 16:36:34 -04:00
missymae#2783
ad9bde40e0
DOCS: Improve documentation for ns.bladeburner.getActionRepGain (#760) 2023-08-30 16:28:21 -04:00
missymae#2783
4b627cde1e
DOCS: ns.getScriptLog update to use "FilenameOrPID" and related ns.tail change (#753) 2023-08-28 14:49:37 -04:00
Zelow79
b7ad3395ae
API: Added CompanyName to NetscriptDefinitions (#731) 2023-08-16 17:31:41 -04:00
missymae#2783
7500ef0da2
DOCUMENTATION: ns.share and getSharePower definition updates (#734) 2023-08-16 17:08:55 -04:00
hydroflame
931d7e588a
Remove more rtd references (#702) 2023-08-06 00:05:03 -04:00
myCatsName
aed01b0979
NETSCRIPT: added ns.singularity.getAugmentationFactions (#706) 2023-08-06 00:04:36 -04:00
omuretsu
75579a2ff1 Add owned aug and SF info to getResetInfo 2023-08-01 01:40:30 -04:00
Snarling
1c6369ffa4
NETSCRIPT: Add ns.stock.getConstants (#692) 2023-07-31 23:08:42 -04:00
Snarling
e2655793f4
TYPESAFETY: CompanyName (#650) 2023-07-11 09:23:17 -04:00
Snarling
006fbd528f
DOCS: Add printRaw and tprintRaw docs (#663) 2023-07-07 18:23:26 -04:00
Snarling
3981f72149
Add investment info to API representation of product (#661) 2023-07-05 19:50:29 -04:00
Snarling
26cdc502bf
Fix backwards name for indent option (#659) 2023-07-05 18:18:53 -04:00
Aleksei Bezrodnov
1d5a735941
MISC: enforce eslint react checks (#640) 2023-06-26 22:29:44 -04:00
Snarling
91bfb154b6
Better docs for ascension result (#649) 2023-06-26 04:56:58 -04:00
htmlh4cker
d4113e325a
DOCS: fix issue in scp .md (#636) 2023-06-20 18:04:06 -04:00
Aleksei Bezrodnov
08e3afd125
FIX: show ram calculation error reason to player (#627) 2023-06-19 03:49:32 -04:00
Aleksei Bezrodnov
9e75621cd2
UI: add cursor options to the script editor (#615) 2023-06-18 21:17:15 -04:00
Aleksei Bezrodnov
709875d9ca
FIX: script options modal issue #625 (#626) 2023-06-17 17:58:56 -04:00
Aleksei Bezrodnov
12b5c00d14
fix RAM calculation on a different server (#612) 2023-06-13 17:19:42 -04:00
Snarling
6732549196
ENUMS: Initial Enum Helper rework + Reorganization (#596) 2023-06-12 00:34:20 -04:00
Aleksei Bezrodnov
174f10d1f5
MISC: tiny corp code style improvement (#586) 2023-06-09 19:34:35 -04:00
Kateract
cc5247ac89
Update exportMaterial amount to number | string (#583) 2023-06-07 13:48:23 -04:00
Snarling
cbff2a420b
CORP: Robotics industry NaN fix + better exports validation (#578) 2023-06-06 23:50:23 -04:00
quacksouls
4c4c4a0335
DOC: additionalMsec is no longer experimental (#576)
The attribute `additionalMsec` of the object `BasicHGWOptions` was experimental in v2.2.2.  It is now a stable feature.
2023-06-06 17:19:07 -04:00
Aleksei Bezrodnov
7050c90378
UI: Fix several issues with script editor tabs (#554) (#567) 2023-06-04 12:01:06 -04:00
Aleksei Bezrodnov
dd9849f53d
BUGFIX: script tab reordering (#563) 2023-06-03 14:26:55 -04:00
Aleksei Bezrodnov
99954ebd1e
REFACTORING: ScriptEditor (#560) 2023-06-03 13:55:25 -04:00
Kateract
10215a924c
CORP: Add maxProducts property to division, consolidate maxProducts logic (#551) 2023-06-01 15:20:54 -04:00
omuretsu
7240bbe8b7 Fix hotfix 2023-05-30 20:47:01 -04:00
omuretsu
8bc67f542a Satisfy lint 2023-05-30 20:06:13 -04:00
omuretsu
b65bd62345 More hotfixes...
* Script editor theme could be corrupted leading to a recovery screen, this should fix that.
* Because script filepath changes were moved before the detection of .ns files, a check was added for .ns files in BaseServer so they get the better name.
2023-05-30 20:00:43 -04:00
omuretsu
8bf13b6fd3 fileExists no longer case sensitive for programs 2023-05-27 08:39:29 -04:00
David Walker
4503da6226
UI: LogBox overhaul (#508) 2023-05-26 08:07:37 -04:00
G4mingJon4s
113af6e711
Add ns.getFunctionRamCost (#526) 2023-05-26 07:46:08 -04:00
David W
97ea35bd5b
Clarify exec needs script to be on remote server (#512) 2023-05-25 16:27:56 -04:00
Nikolai Korolev
2e9dc32deb
DOC: Specify optional parameters in hacknet functions (#515) 2023-05-18 01:28:56 -04:00
omuretsu
27a6b619eb Lint fix
Also reduce unnecessary imports
2023-05-16 11:41:55 -04:00
omuretsu
00522fb8f3 Fix infinite loop detection
Also debounce it with the ram calc to improve performance
2023-05-16 11:27:11 -04:00
Snarling
2ae3ac52f1
CORPORATION: Corp changes prior to 2.3 finalization (#503) 2023-05-15 18:06:57 -04:00
Snarling
ebae35b1fb
CODEBASE: Expand lint rules, and Aliases are stored as maps (#501) 2023-05-05 03:55:59 -04:00
omuretsu
003be33886 Lint fix 2023-05-03 07:31:29 -04:00
omuretsu
3c996a47ea Fully remove formatCode function (trim on script save) 2023-05-03 07:21:23 -04:00
Snarling
8f684fa74c Changelog and markdown update 2023-04-28 14:45:55 -04:00
David Walker
aa7facd4ba
NETSCRIPT: Greatly speed up script launching, and remove the limitation unique args per script (#440)
* Remove the limitation unique args per script
* Internal changes to how runningScripts are stored on the server, to make common usage faster.
2023-04-27 18:21:06 -04:00
Snarling
6024c81113
NETSCRIPT: add ns.getResetInfo(#490)
* Move lastAugReset and lastNodeReset back to main API under getResetInfo, also included currentNode.
* The associated properties are deprecated on getPlayer()
2023-04-25 05:22:36 -04:00
Snarling
62adaf3006
Various bugfix/cleanup (#489)
* parseCommands no longer removes excess whitespace (it was unneeded and also had a bug in it relating to commands that ended in a quote mark)
* more documentation and some variable renaming
* Fix script editor focus bug on navigating to the editor from sidebar
* Fix initialization for lastNodeReset and lastAugReset
2023-04-24 15:48:49 -04:00
Snarling
e0272ad4af
FILES: Path rework & typesafety (#479)
* Added new types for various file paths, all in the Paths folder.
* TypeSafety and other helper functions related to these types
* Added basic globbing support with * and ?. Currently only implemented for Script/Text, on nano and download terminal commands
* Enforcing the new types throughout the codebase, plus whatever rewrites happened along the way
* Server.textFiles is now a map
* TextFile no longer uses a fn property, now it is filename
* Added a shared ContentFile interface for shared functionality between TextFile and Script.
* related to ContentFile change above, the player is now allowed to move a text file to a script file and vice versa.
* File paths no longer conditionally start with slashes, and all directory names other than root have ending slashes. The player is still able to provide paths starting with / but this now indicates that the player is specifying an absolute path instead of one relative to root.
* Singularized the MessageFilename and LiteratureName enums
* Because they now only accept correct types, server.writeToXFile functions now always succeed (the only reasons they could fail before were invalid filepath).
* Fix several issues with tab completion, which included pretty much a complete rewrite
* Changed the autocomplete display options so there's less chance it clips outside the display area.
* Turned CompletedProgramName into an enum.
* Got rid of programsMetadata, and programs and DarkWebItems are now initialized immediately instead of relying on initializers called from the engine.
* For any executable (program, cct, or script file) pathing can be used directly to execute without using the run command (previously the command had to start with ./ and it wasn't actually using pathing).
2023-04-24 10:26:57 -04:00
Snarling
0df984eea0
CODEBASE: Add Jsonable Map and Set types, move player.sourceFiles to a map (#473) 2023-04-18 03:19:45 -04:00
G4mingJon4s
d01ba91654
SINGULARITY: Added aug and node identifiers (timestamps of last resets) (#472) 2023-04-12 13:13:42 -04:00
Snarling
f761eed377
NETSCRIPT: Type correctness for getServer (#476) 2023-04-11 15:12:55 -04:00
omuretsu
f74002cce0 Fix and rebuild doc 2023-04-07 07:49:11 -04:00
quacksouls
4ade263ae8
DOC: typo fixes in sleeves API (#467)
A bunch of typographical fixes in the documentation of the Sleeve API.
2023-04-07 07:45:14 -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
T.J. Eckman
677686fa20
SINGULARITY: getCompanyPositionInfo (#460) 2023-04-04 12:00:54 -04:00