* Adds hacking tool.
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.
* Corrects and adds more sanity checking.
* Adds hacktool to uplink devices
* Particularly noticable on the cartridge button of the PDA, any time we transmit a name containing \improper or \proper using nanoui it shows up as ÿ
* This is becuase BYOND internally handles these escapes by simply using character 0xFF etc.
* We'd better strip them out before sending them as JSON data so they aren't rendered as ÿ when treated as utf-8 encoding.
Why would you define a proc on /mob/living/carbon/human for implanting something then ask to be passed your own src? Also why would you try to pass /job/datums as something to implant? Silly.
- Previously when making stack'd items in autolathe, it lets you make as big a stack as you have materials loaded, even if it is larger than the maximum stack size for that material.
- Now autolathe recipies remember this, and autolathe respects maximum stack size.
Replicator and extractor circuits currently need to be adjusted, as they require origin tech and components. This commit is being added simply to save any headaches that may occur do to data loss.
These instances are not initialized until someone first adds or removes a product.
The last added item is the first item to be removed.
This prevents cases were you could insert half-eaten chocolate and get back a full bar, for example.
Adds a new machine to telecomms, which contains special PDAs corresponding to each department on the station. Sending a PDA message to one of these PDAs will duplicate it to everyone in the department the PDA is assigned to. It determines what department someone is in by cartridge type.
Adds cartridges for several jobs that were missing them, for the purposes of being recognized as being in a department. The cartridges otherwise do nothing.
New circuitboard to build the new pda multicaster. It can also be deconstructed with the standard machinery deconstruction steps of screwdriver > crowbar.