Commit Graph

4842 Commits

Author SHA1 Message Date
qcorradi
5a39a92270 Merge branch 'patch-8' of github.com:zeddrak/bitburner into reverse_grow_newton 2022-02-06 14:00:05 +01:00
zeddrak
bfaecc644d
startMoney check should be >= moneyMax, not ==
Just realized that I checked for exactly equal (as would be likely when operating internally), but really, it should treat anything greater than or equal to as a zero growth scenario (just better protection from a wider range of potential issues)
2022-02-01 14:34:27 -08:00
zeddrak
5cc7a6a0a2
added numCycleForGrowthByMultiplier (ie old growthAnalyze parameters)
implemented numCycleForGrowthByMultiplier (fully compatible with old growthAnalyze - though still slightly wrong, it does so in a way that could be seen as beneficial and is compatible with existing scripts)
Also some fixes to numCycleForGrowthByHackAmt (wrong parameter order)
2022-01-31 20:41:42 -08:00
zeddrak
76cc1532a7
Added note to numCycleForGrowthByHackAmt
* NOTE: the prehackMoney parameter can be removed and server.moneyMax used in its place. The return value would then give a thread count
 * that would slowly grow the server more than it is hacked until reaching moneyMax where it would return the correct number of threads.
2022-01-31 20:15:55 -08:00
zeddrak
63e833317b
more otpys
fuinction => function
2022-01-31 20:06:13 -08:00
zeddrak
94bcd0484a
Small comment change
had an "a the" and the point was redundant, so removed it
2022-01-31 20:04:39 -08:00
zeddrak
28a32ed3a0
Ytpo fix
Missed one
2022-01-31 19:56:02 -08:00
zeddrak
7bb3a8169e
Comment Ytop fixes
Sigh, my fingers are soo old and don't work right any more... :)
Thanks for the info.
2022-01-31 19:54:38 -08:00
qcorradi
b09b7fa346 numCycleForGrowth using Newton-Raphson's method 2022-01-31 00:22:59 +01:00
zeddrak
ecdde9c96c
learning ts
forgot a return type, all better now, we hope....
2022-01-28 15:34:39 -08:00
zeddrak
1b81aa2533
moar fixes
just tidying up some more parameters left over from copy/paste
2022-01-28 15:30:28 -08:00
zeddrak
f8c4d07cc2
quick fix
forgot to remove a line used for notes
2022-01-28 15:25:03 -08:00
zeddrak
9af0ed7dba
(WIP) intermediate save 2
Have all the functions in, but need to setup the repercussions.
2022-01-28 15:21:05 -08:00
zeddrak
744cecb058
minor fix
Better to leave off with a commit that at least passes checks ;)
2022-01-28 13:45:12 -08:00
zeddrak
3401f7d0d0
(WIP) Incremental save
Just saving my progress so far before pressing on after lunch.
2022-01-28 13:36:28 -08:00
hydroflame
9294ff3e9e
Merge pull request #2857 from MatthewTh0/patch-1
Spelling fixes in comments
2022-01-28 16:32:56 -05:00
Matthew Thornton
48d4f698c2
Spelling fixes in comments
This just fixes some misspelling in the comments, doesn't change any code or variables.
2022-01-28 14:57:52 -06:00
hydroflame
097e808193
Merge pull request #2856 from zeddrak/patch-7
Fix for Dev not building
2022-01-28 13:13:14 -05:00
zeddrak
3e9728f4c4
more fix
really can't count...
2022-01-28 10:08:20 -08:00
zeddrak
db2369a669
more fix
can't count...
2022-01-28 10:03:40 -08:00
zeddrak
33ed170e29
more fix
two missing ( is better than one...
2022-01-28 10:00:28 -08:00
zeddrak
dc8b051bde
Fix for Dev not building
It's the little things, like a missing "(", that make programmers happy all day long... >.<
2022-01-28 09:54:35 -08:00
hydroflame
47c2f9762c
Merge pull request #2850 from HeinousTugboat/htugboat/replace-stanek-anys
Replaces anys in Stanek with unknown
2022-01-28 00:19:12 -05:00
hydroflame
77b9787fba
Merge pull request #2846 from zeddrak/patch-5
Make crimes detection a little more friendly
2022-01-27 20:52:03 -05:00
hydroflame
a4b8a9ffd5
Update CrimeHelpers.ts 2022-01-27 20:51:48 -05:00
Heinous Tugboat
c7a3ac216f Replaces anys in Stanek with unknown 2022-01-27 20:48:37 -05:00
Olivier Gagnon
01680ca584 fix build 2022-01-27 20:44:50 -05:00
Olivier Gagnon
95e67f954b build 2022-01-27 20:24:43 -05:00
zeddrak
09da6ac63f
Make crimes detection a little more friendly
Initially just wanted to change "traffick" to "traffic" (as that supports both the American and British spelling), but then noticed there were a couple of other ones that could be made slightly less restrictive to improve detection. All changes make detection LESS RESTRICTIVE for the player (ie, they have more ways to provide the parameter), none are MORE RESTRICTIVE (ie, won't break any existing code, etc.

Anything that worked before will still work, but now a few things that may not have worked before - like "traffic arms" (without the k), "illegal arms", and "assassin" will work. (Also allowed for the common misspelling of "forgary")
2022-01-27 11:36:06 -08:00
hydroflame
463af6cbf2
Merge pull request #2819 from MartinFournier/chore/rm-intermediary-doc
Remove intermediary doc input file
2022-01-26 12:58:10 -05:00
hydroflame
e392e6d71f
Merge pull request #2780 from MartinFournier/feat/electron-store-winposition
Store Electron window position in user settings
2022-01-26 12:57:09 -05:00
hydroflame
b04c23bdd1
Merge pull request #2821 from MartinFournier/chore/npm-deps-audit
Run `npm audit fix` to resolve vulnerabilities
2022-01-26 12:56:59 -05:00
hydroflame
cef0f30993
Merge pull request #2820 from MartinFournier/chore/declutter
Declutter repository root
2022-01-26 12:56:37 -05:00
hydroflame
8c9be1667f
Merge pull request #2825 from MartinFournier/chore/move-bundle
Move main bundle output to ./dist subfolder
2022-01-26 12:56:25 -05:00
hydroflame
26d5e4dae0
Merge pull request #2781 from MartinFournier/feat/steam-saves
Add Steam Cloud saves & filesystem saves to Electron
2022-01-26 12:56:16 -05:00
Martin Fournier
70eef25d63 Rebuild the app using the new webpack config 2022-01-26 06:11:32 -05:00
Martin Fournier
069b7831d1 Move main bundle output to ./dist subfolder
Excludes the index.html so that the github page can still work as is.

This will declutter the root of the repo a fair bit.
2022-01-26 06:11:32 -05:00
Martin Fournier
412ef543c8 Run npm audit fix to resolve vulnerabilities
It did not resolve all of the vulns as some are gated behind breaking
changes. Most of them seem to be resolved when updating to webpack 5

Also moves devDependencies out of normal dependencies, as a few libs
were better suited for dev.
2022-01-26 05:47:27 -05:00
Martin Fournier
8e119b2b5b Move cypress & netscript tests to ./test subfolder 2022-01-26 05:35:21 -05:00
Martin Fournier
f943e55e86 Move engines-check to ./tools subfolder 2022-01-26 05:35:21 -05:00
Martin Fournier
a53e0c09af Move steam files to ./assets/Steam subfolder 2022-01-26 05:35:21 -05:00
Martin Fournier
bf6366cef4 Move markdown doc & quotes to ./docs subfolder 2022-01-26 05:35:21 -05:00
Martin Fournier
914c0f44c4 Remove intermediary doc input file 2022-01-26 05:18:58 -05:00
Martin Fournier
a47eae8b25 Add function to enable/disable routing
Wraps the toX() functions of the Router to add a check to only run the
function when it is allowed.

The check is used in the import page to prevent user scripts from
redirecting away to a crime or something else.
2022-01-26 03:56:19 -05:00
Martin Fournier
d386528627 Add support for Steam Cloud & local filesystem
Adds actions to save the game's data directly in the filesystem and/or
into Steam Cloud. Them game will push an event with the save data
whenever the game is saved. Electron will use that data to persist it
into the User Data folder, until the folder reaches a certain size.
Once over the quota, it's going to remove previous saves.

Files are grouped according the the player's identifier, ensuring
backups off different playthroughs if importing.

Optionally, the file will be gzipped before saving to disk, largely
reducing file size.

Adds a way to save & load from Steam Cloud, currently manually only.

When loading a save, it'll trigger the new "Import Data Comparison" page
to accept or cancel the import.

When saving the game, it will save to Steam Cloud & to filesystem if the
options are enabled.

Add automatic game restore

Detects when the player has access to a newer game that has been saved
more recently than the one being loaded. It checks both in the Steam
Cloud and on the local filesystem. Adds an option to disable the
feature.

- Adds a "Save Game" menu item that triggers the game's save.
- Adds a "Export Game" menu item that triggers the download file popup.
- Adds a "Export Scripts" menu item that triggers the "download *"
terminal command.
- Adds a "Load Last Save" menu item that loads the latest file modified
in the user data folder.
- Adds a "Load from Steam Cloud" menu item.
- Adds a "Load From File" menu item that popups a file selector & loads
the file.
- Adds settings for "Saves Compression (.gz)", "Auto-save Backups" &
"Auto-save to Steam", toggleable through the menu.
- Adds a "Open Game Data","Open Saves", "Open Logs" & "Open User Data" menu items.
- Adds a "Quit" menu item.
2022-01-26 03:56:19 -05:00
Martin Fournier
855a4e622d Add Electron preload script to allow communication
Adds a channel to communicate between the main process & the renderer
process, so that the game can easily ship data back to the main process.

It uses the Electron contextBridge & ipcRenderer/ipcMain.

Connects those events to various save functions. Adds triggered events
on game save, game load, and imported game. Adds way for the Electron
app to ask for certain actions or data.

Hook handlers to disable automatic restore

Allows to temporarily disable restore when the game just did an import
or deleted a save game. Prevents looping screens.
2022-01-26 03:56:19 -05:00
Martin Fournier
26432082e2 Add an import save comparison page
This adds a new page reachable from the import save file
options menu. It shows the difference between the current save
and the data that is being imported, for confirmation.

Includes an "automatic" variant, which has different wording for when
Electron decides it has access to a newer version of the game.

While in this screen, the autosave is disabled.

This also adds a new BypassWrapper component around the game's tree.
It allows for content to be displayed without rendering the nested
pages (import, recovery). This prevents player scripts from messing
with the screen.
2022-01-26 03:56:17 -05:00
Martin Fournier
974344545d Move import save functionality into SaveObject
Adds a lot of metadata to be able to easily compare the new save to the
current player.

- Adds lastSaved & identifier to the PlayerObject
- Includes a hash method used to generate an identifier
2022-01-26 03:42:52 -05:00
Martin Fournier
588c3e42d7 Refactor download.ts (export "download *" command)
Export the "download *" helper to be able to be called from Electron.
2022-01-26 03:40:22 -05:00
Martin Fournier
5c1504d7e4 Include lodash in Electron
Will be used to debounce function calls. Is a prerequisite for a few
other fixes.
2022-01-26 03:40:22 -05:00