Commit Graph

2800 Commits

Author SHA1 Message Date
Daniel Xie
5f1b58fd86 Evaluator + Netscript should now properly handle errors in syntax/runtime errors (almost..still have to implement the properly closing down script when an error is thrown. Check file for TODO). Player skill level should now properly be updated 2016-12-15 16:22:42 -06:00
Daniel Xie
96fb37c6d1 Fixed loadAllRunningScripts(), now seems to be working properly 2016-12-15 11:51:23 -06:00
Daniel Xie
7ec22480a2 Trying to get the functionality to load all running scripts upon load to work 2016-12-14 15:44:18 -06:00
Daniel Xie
334c144bae Upon opening window, all of the running scripts are loaded into WorkerScripts 2016-12-14 15:22:12 -06:00
Daniel Xie
23c036827f Fixed script hack(), should be working now. Changed some numbers to rebalance. Implemented script RAM usage. If a script uses too much ram it will not run (untested) 2016-12-14 14:29:40 -06:00
Daniel Xie
c485f28e20 updated README with TODOS. FIxed kill command and sleep() command in script 2016-12-13 17:52:32 -06:00
Daniel Xie
7a5a9ccb65 Implemented kill command. UNTESTED, TEST THIS WHEN YOU CAN 2016-12-06 12:09:23 -06:00
Daniel Xie
8c58710495 Resolving and rejecting at the top level now returns a reference to workerScripts. This makes killing/deleting a running script possible. The feature appears to be working now 2016-12-06 10:59:20 -06:00
Daniel Xie
437ebc2703 Implemented Hack and sleep in script. IMplemented functionality that allows scripts to stop (rejecting the Promises). Scripts will now automatically stop if they are not infinite. THIS IS UNTESTED TEST THIS WHEN I CAN. Still need to implement kill command 2016-12-05 16:31:46 -06:00
Daniel Xie
6d9f0669ba Added an autosave feature that auto saves every minute. Made the updateHackProgress() take in the number of cycles that have passed when calculating its progress 2016-12-02 15:57:20 -06:00
Daniel Xie
2fe4e8a19a Changed the game speed so that it wasn't running faster (Rounding the number of game cycles usually caused it to speed up). Save Load function SHOULD be working now 2016-12-01 16:39:13 -06:00
Daniel Xie
d5d198cbb4 Refactored Code to make Save/Load work. This included re-structuring classes so that they contained only native objects/arrays of native objects and using a Reviver function in the JSON.parse. Cleaned up some code that was no longer needed 2016-12-01 16:18:18 -06:00
Daniel Xie
b821fc2ea9 Added utilities for generic reviver, toJSON, and fromJSON. Eventually will be used for loading and saving objects 2016-11-30 16:08:21 -06:00
Daniel Xie
2d41a63707 Added some TODOs 2016-11-29 17:38:50 -06:00
Daniel Xie
867ae191b5 Refactored Netscript code into their respective files since it will no longer be done in Web Worker 2016-11-29 17:07:24 -06:00
Daniel Xie
77f0c31777 Got NetScript working asyhcronously with Promises! Only for loops have been tested though. Still need to test while loops and ifs. While loops should work if the for loops do, idk about if statements though. If statements aren't a high priority right now though 2016-11-29 16:56:05 -06:00
Daniel Xie
1efee3b7d6 Testing making the script runner NOT be a different web worker thread. 2016-11-28 16:13:13 -06:00
Daniel Xie
4687b80256 Tried to integrate Promises + web workers into Netscript code. Doesn't work at all right now 2016-11-28 16:02:06 -06:00
Daniel Xie
320526ebb3 Added stuff to Script queue functionality..it's gonna get deleted anyways so w.e 2016-11-25 16:08:04 -06:00
Daniel Xie
00f8a31246 When game is opened it will automatically try to load from local save, otherwise it begins a new game. Also fixed up save functions 2016-11-24 16:44:48 -06:00
Daniel Xie
f38fd340f4 Implement Script Editor (mostly) 2016-11-24 16:30:33 -06:00
Daniel Xie
1a600ad560 Added offline properties for Script object 2016-11-21 05:22:18 -06:00
Daniel Xie
d372ce5980 Fixed some bugs, began adding a Script class 2016-11-21 00:11:14 -06:00
Daniel Xie
8d87b74eaf Finished implementing Netscript. Not completely tested yet. Find out how to make it multithreaded (Web Workers is the best way according to internet 2016-11-17 16:25:40 -06:00
Daniel Xie
a4f92f7520 Fixed mege conflicts 2016-11-17 09:34:38 -06:00
Daniel Xie
62fbb5452d Added some factions 2016-11-17 09:31:52 -06:00
Daniel Xie
40b0b585e1 Added InputStream, Tokenizer, and Parser(unfinished) class. Changed Newerth to Aevum 2016-11-14 00:42:31 -06:00
Daniel Xie
f311b0b84f Began deining the Faction class 2016-11-03 16:36:01 -05:00
Daniel Xie
ed7418ac61 Finished defining company and company positions and initialized them in the Engine 2016-11-03 15:43:46 -05:00
Daniel Xie
0e9740dcf9 Continued defining the Company class and began writing initialization for it. Defined a namespace for Constants. 2016-11-02 16:45:10 -05:00
Daniel Xie
8530e51628 Finished initializing new servers (johnson ortho and newerth police). Finished init functions for Company class, and began declaring all possible companies. 2016-11-01 16:19:57 -05:00
Daniel Xie
6e0644555c Began defining the Company class 2016-11-01 00:44:04 -05:00
Daniel Xie
6cf9339919 Refactored the hacking progress code into an action progress code so that it can be reused for analyze and anything else that requires an animated progress bar. Implemented analyze 2016-11-01 00:30:59 -05:00
Daniel Xie
cc6b178a96 Added New Servers.need to properly init them 2016-10-28 16:57:58 -05:00
Daniel Xie
f6aaef455d Added full hack functionality with animated progress bar and everthing. All thats left is balancing exp/money gains and also taking care of porthack stuff. Also fixed the terminal not being scrollable 2016-10-27 13:26:00 -05:00
Daniel Xie
0a13496984 Trying to get hack progress bar to work 2016-10-26 22:34:18 -05:00
Daniel Xie
d268ea09f8 Added debugging statements to try and figure out whats wrong when the time is calculated for hacks 2016-10-24 16:36:23 -05:00
Daniel Xie
0307b3334d Added port properties to server. Wrote code for hacking() and PortHacking, currently untested 2016-10-24 16:16:51 -05:00
Daniel Xie
1446a8d96e Fixed some issues with the width of terminal 2016-10-24 02:18:01 -05:00
Daniel Xie
4ea83fa199 Added functions to create a random network with foreign servers 2016-10-24 01:34:04 -05:00
Daniel Xie
0b7f19fd8c Added function to calculate Player's hacking skill based on exp 2016-10-21 16:15:45 -05:00
Daniel Xie
4517020719 Added some init functions to the engine's init(). Began writing out the hack function for servers 2016-10-20 16:34:21 -05:00
Daniel Xie
4057f946d8 Implemented df and cls/clear commands 2016-10-20 16:11:01 -05:00
Daniel Xie
ce0ca6c24d Fixed syntactical bugs/typos 2016-10-20 13:26:38 -05:00
Daniel Xie
f6212a4c6d Finished creating all the companies (for now) and adding their starting properties in the init function 2016-10-20 13:07:12 -05:00
Daniel Xie
672cd697d6 Added more companies. Began creating Init() function for all foreign servers 2016-10-19 16:43:49 -05:00
Daniel Xie
47e19f5862 Added a few more commands to Terminal (not the implementation). Began defining some of the foreign servers that will exist 2016-10-18 16:37:53 -05:00
Daniel Xie
a1fd46232e Added cases for all the commands that will be implemented for now. Updated Server class to contain information about servers, home computer, etc. Added a few fields to Server that will be used when hacking, as well as constructor. 2016-10-17 16:23:23 -05:00
Daniel Xie
7c03b274d7 Added Player, Server, Terminal, and engine javascript files. Implemented basic terminal UI. Implemented main menu tabs (only added Character and Terminal for now 2016-10-17 03:24:39 -05:00
Daniel Xie
9772525263 Adding basic Player and Server class definitions 2016-10-14 16:02:06 -05:00