This adds bladeburner actions to sleeves. In addition this bulked out the IPerson functionality and updated bladeburner functions to be more sleeve compatible
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
Copy the terminal commands into the player object so that they are saved
between game reloads.
Adds a 'history' command to display history, and a 'history -c' command
to clear it from both the current terminal & the player's save.
- Add a script to generate achievement data from Steamworks API
- Add achievements page with a link in sidebar
- Calculate achievements (1/min) with an engine counter
- Store achievements with a timestamp on unlocked in the PlayerObject
- Add a script to generate monochrome icons from Steam icons
- Add toast when unlocking an achievement
The shortcut was always allowed to run, meaning when the player doesn't
have a job, they were sent to the job screen with no job and lost the
view context/sidebar.
- Add utility method to check if the player 'hasJob', being at least 1
job.
- Check if player has job when the key combination is pressed
Resolvesdanielyxie/bitburner#2013