* Fixes human HUD init so we still get all HUD variables filled. - TODO - Make our own versions of synthetic HUD for other hud categories if we ever feel like it.
* Re-removed gameticker sound code, this time marked it as VOREStation edit (wasn't marked before)
* Removed duplicate mutable_appearance type now that it is moved to mutable_apperance.dm
Dangerous? Not any more than just leaving it, probably. I can't think of a case where player_list -= something wouldn't work, even in the case of nulls probably. And the no-depth [mob] lookup at the end is probably fine, even if it's a null, since it'll use byond's internal "what is this" handler to print the name or an icon or whatever it is.
-Disabled by default.
-One tile range as with the other bellynoises.
-10% chance to manifest when "extremely hungry", same but a little louder when "starving".
A null entry somehow got into ```player_list```, which caused an important proc called ```get_mobs_and_objs_in_view_fast()``` to fail. The cause appeared to be a brain mob failing to qdel, then failing to ```logout()```, leaving a null entry in ```player_list```.
```get_mobs_and_objs_in_view_fast()``` now makes sure every entry it iterates over exists, and this should fix the qdel issue as well.
* The cryopod simply qdel's the datacore records. Old garbage.dm hard-del()'d datums, so it was fine. Now we need to make sure they are actually removed from the data_core.
* Testing shows this fixes#1713 and in most cases the objects also GC cleanly. However some older computers still retain hard references to data_core entries. But even in the cases where that prevents a clean GC, the player is still removed from the manifest successfully and promptly, so that can wait.
Logs soulcatcher messages to the chat log so admins can review them, since that's kinda important, and gives subtle it's own logging format so you can tell it's a subtle and not just an emote. Also disables subtles while in the soulcatcher because apparently that was a thing.
Semi-rewrites how surgery failure works. Using an improper surface will call the surgery step's fail proc instead of just doing a melee attack.
Adds 'surgery odds' var to objs, which determines effectiveness. The numbers for operating tables/roller beds/tables remain unchanged from the previous version, however doing it this way makes it cleaner to add new surfaces in the future.
Adds a proc to get a surgery surface.
Also makes burn repair on FBPs more efficent, so that one scorched robot does not take literally all of robotic's wires.