In normal mode a hacking tool acts and functions just like any multitool. Use a screwdriver to toggle between normal and hacking mode.
Hacking attempts will take 20 +(0 to 20) seconds (triangular distribution, averages at +10 seconds).
Once an airlock has been successfully hacked the user will have full access to the door operation interface normally restricted to silicons.
A hacking tool will remember the last 6 to 8 hacked airlocks. No time is needed to again hack remembered airlocks.
Once the limit has been reached the least recently accessed airlock is forgotten. Hacking a remembered airlock will update the last accessed time.
Also adds a basic observer/listener pattern implementation to, for example, make it easier to catch when objects have been destroyed and clear references.
Adds client verb to access the character setup screen from anywhere.
Moves name validation to species level, making it possible for IPCs to have numbers in their name.
Adds gender validation, also adds support to add neuter/plural genders in the future if ever desired.
Now sanitizes preferences before applying them to a mob.
Fixes#11433.
Removes a non-utilized config setting.
Adds a config setting to set the respawn timer, defaults to 30 minutes as today.
Makes the MayRespawn() proc utilize this config setting. Makes more uses of MayRespawn() check the respawn delay.
Mouse that go splat now call death() instead of doing partial death handling.
When one wishes to join as mouse timeofdeath is checked, instead of a snowflake var.
- Gridcheck random event is updated. Core behavior remains the same, but mechanism it uses to achieve power outage is changed.
- Both SMESs and APCs have new variable which is set by gridcheck. This variable decrements by 1 every tick, and until it is back to zero the APC/SMES won't work.
- SMESs are disabled for 60-120 seconds (random for each SMES). APCs for 120-240 seconds.
- Both SMESs and APCs show error UI with timer counting down until the device restarts (begins working again).
- Both SMEss and APCs may be manually restarted, on per-device basis, by clicking restart button in the UI. This is useful if you urgently need one or two devices back online, for example, medical treatment facilities, etc. This immediately skips the X second timer and restores the device to working state, while keeping the original intention of this event - allowing antagonists to use lack of power to enter areas they don't normally have access to.