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")
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.
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.
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.
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
The API can already toggle smart supply on/off, but can't manage the
related controls for whether smart supply will draw from the existing
materials in the warehouse. Without it, we can't keep some resources in
storage to boost the production multiplier without disabling smart
supply entirely.