While MMIs are 'expensive' and preserving them is important... this is probably more important. Needs to properly be removed so FBPs and borgs with MMI can be removed.
Previously, because noncritical robolimbs did not count for bruteloss or burnloss (per line 13 in human_damage.dm), nothing would ever cause robot limbs to call update_wounds() on the organs to clear wounds after repair. Furthermore, update_wounds ignored wounds on robotic limbs and edited early without even checking if it should remove them. This caused a problem.
This corrects this, and still exits early(er) in update_wounds() for robotic limbs, but makes sure there are no 0-damage wounds left and if there are, removes them.
As a 'backup', hitting a robolimb with a welder when there's nothing to fix will also call this proc, to catch any cases where someone has directly changed wounds or anything like that.
Also fixes spacing on robolimb damage examine text (get_wound_desc had spaces, but should not have in most cases), and added a message for having an open maintenance panel on a limb.
Makes the name of the starsystem and station generic such that it can be modified in global.dm and replace the strings where it is used. This won't have an effect on Polaris itself, but makes changing the name much more simple for forks. Using string concat constants on the advice of Psi.
Cleans up a list in the booze vendor
Removes tea from contraband and puts into the normal product list in the booze vendor
Adds the shot glasses to the autolathe and makes glasses there no longer children of bucket recipes
Changes the Death Alarms from announcing to general comms, to just
Security and Medical. Because sometimes hearing your best friend has
died over Common channel is not the best scenario to hear that someone's
died.
Used the captain's headset to keep things slightly cleaner, and it gets
deleted after as far as I can tell.
* 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
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.