I switched it to match the same condition as the sidebar menu item,
which checks for player.companyName, which should be set to the latest
company the player worked at. This can prevent a crash loading the jobs
page with an invalid companyName.
This fixes a problem a user had where the player.companyName was empty
while actually items in player.jobs, but I could not figure out how
to replicate. It may have had something to do with part-time jobs.
Previously, going to a full-width page and heading back to the terminal would default the sidebar to its opened state regardless of what it was before.
Now it stores it in the GameRoot's state and also in the Settings so
that it persists over reloads.
The sidebar now checks if the Player has unlocked the features before using the router to head to the new page.
- Check added for Bladeburner
- Check added for Gangs
- 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
A lot of people thought keyboard shortcuts weren't working because the code to make them stop working was only checking if the player was working without checking if the player was also focused. If doing unfocused work, there's no reason not to allow keyboard shortcuts to keep working.
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