* Move lastAugReset and lastNodeReset back to main API under getResetInfo, also included currentNode.
* The associated properties are deprecated on getPlayer()
* 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
- Add support for 2;r;g;b color codes (much easier to deal with
than 5;x256 style codes)
- Fix 40-47 (standard background colors) so that they work
- Add support for italic
- Add support for empty arguments interpreted as 0
(0 is still not supported for "reset style", since it's not needed
with our non-standard usage of resetting styles on every escape
sequence, and it might cause compat issues)
- Fix ordering of 0-15 in the x256 colors to match the standard. The
"main" colors (selected via 30-37 for FG and 40-47 for BG) are still
artificially bright for FG, kept for compatibility, but there's no
reason to screw up the x256 colors. (Hopefully usage of that section
should be small anyway.)
* 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).
* Fix a weird mismatch between gangFormulas and actual gang for calculating wanted penalty
* Gang respect will not fall below 1. Previously, ascension did clamp this at 1 but members dying in warfare allowed respect to reach 0.
* Gang member earned respect is now calculated correctly. Previously the actual gains were calculated, then the respect was added to the gang, and then the member earnedRespect was incorrectly being re-calculated using the increased respect. Now the respect is recorded on the member during the first/actual calculation.
* Update doc error, regenerate docs
* Update a bad error message in renamePurchasedServer@serverPurchases.ts
* restore true/false return (removed in #450 due to miscommunication)
* corp overhaul: Corp production quality now depends on materials
* corp overhaul: Product price can be set separately for each city
* corp overhaul: export uses relatives
* corp overhaul: ignore energy in quality
* corp overhaul: getProduct() is city dependant
* corp overhaul: bulkbuy available from start
* corp overhaul: add multibuy for leveled upgrads
* corp overhaul: changes to UI
* corp overhaul: base quality 1, reqmat changes
* corp overhaul: puchased material quality is 1
* corp overhaul: get rid of the text box from ta2
* corp overhaul: sold shares limitations
* corp overhaul: coffee -> tea, training -> intern
* corp overhaul: smartsupply has multiple options
* corp overhaul: restart, literature, investore, ui
* corp overhaul: nerf advertising
* corp overhaul: bunch of stuff
Now named missingKey, is much faster (approx 4x faster based on testing), and provides better error info when it fails (which property was missing from the provided object).
Previously player could submit as many wrong answers in the solution as they wanted, as long as all correct answers were included. Fixed by ensuring length matches actual answer.
Changed SF1 to apply a 1/incMult multiplier to hacknet costs to match how NFG, SF12, etc. handle it. Previously was calculated as a %reduction.
Changed wording on SF9 to include a %reduction in hacknet costs.
Buffed SF9 effect to 12% base from 8%, to make up for weaker hacknet cost mults from SF1.
* Options are responsive again (fix from previous changes)
* Better height control on the monaco container using flexbox.
* Added options for tab size, auto-detect indentation per-file, font family, and font ligatures.
Increased BN multipliers for HacknetNodeMoney and WorldDaemonDifficulty to PI (3.14159...). This brings WD required hack to 9424.77796076938 (now the 2nd highest ^-^).
Bn9 now starts with the same node bn9.3 rewards (the idea here is it helps showcase the BNs new feature and just speeds up a lot of what made it so slow early on)