* Splits uplink categories into separate files and moves other files around
* Corrects an incorrect description
* Puts uplink categories in uplink_categories into the same order as they are individual files
* Mercenaries now spawn with their own private uplink.
* Adds a random discount to uplink items that is applied every 15 minutes
no message
no message
* Adds changelog
* Fakes announcements are now once again purchasable from the uplink and actually work
* Removes a debug line
* Adds several existing items to the antag uplink including stun rounds for shotguns, metal foam grenades and more
* Refactors boxes.dm to use absolute pathing and for loops for contents
Adds changelog
* 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.