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.
Gives the research borg module the rapid part exchange device so it can
easily upgrade machines without having to take it apart and slowly put
the pieces back in (with some of these machines being bugged and unable
to be deconstructed like the circuit imprinter).
-Added Eggnerd limb design disk to the mail order pack.
-Added the non-security oties on the pred crate picklist.
-Added mail order guard puppy crate. (the frankensteinian voremobcode+followerpetcode+beepskycode combowombo)
-Attempts a workaround for janihound belly not bulging from people. (I swear it was working before the merged code cleanup :v)
-Janihound sprites centered properly.
-Made remains(mouse skeletons etc.) edible again.
* New dogborgo!
-Oh god this has been my best worst robopup idea so far lmao.
-Added janitor type dogborg.
-Its speciality is a modified sleeperbelly fitted to ingest stuff too!
-This might be very problematic in the wrong hands lmao.
-Increased sleepergurgle item charge from 10 to 100. 10 was so little that the whole code bit for item gurgle charge was practically useless.
-New module hud icons for all dogborgs.
-Removed the unused movement state icons from the static dogborgs.
* A tiny fix for a tiny issue.
* Oh whoops I had to forget something.
* :^↕
* Reworked the icon titles for the improper sleepers
* Animated janihound move states.
Fixed compactor gut.
Cleaned up the runover cleaning fucntion.
* Garbage puppy update: Part 2
-Animated walkcycle icons.
-Fixed compactor gut to work on humans too.
-Cleaned up the runover cleaning function. No water reserve mechanics yet tho.
-Removed some empty blank icons from widerobots.
* Travis being a butt again.
* Defiance to mark the line changed :v
* Added compactor capacity limit.
-Also slightly increased charge reward and gurglesound chance.
* Some fixing and reworking on the compactor noms.
* Cleanup credit for Leshana
* Another framerate tweak.
* Revert "Another framerate tweak."
This reverts commit bfd9f0d8e1.
* Restrict gulpling to /obj/item for type safety on certain special objects.
* Framerate fix.
-Readding the framerate tweaks without the rogue file junk.
-Also renamed the cover overlays to panel so they should probably work now as well.
* Framerate tweak fix.
-Readds the tweak without rogue junk files ruining everything.
-Also renamed the open cover overlays to panel so they should work again.
* I love you too travis.
(Yet another rejection due to the unrelated open space random bug.)
* Since the transcore has a ticker process, it really should be a subsystem. Converted it over. However, because its ticker is so fast, I did not bother implementing MC_TICK_CHECK into it. Therefore it has the SS_NO_TICK_CHECK flag.
* Because its a subsystem, the global variable is now SStranscore instead of transcore.
* Because subsystems are so easy to debug, I removed the "TC" debugging variable from the machines that used it.
* Organized a few files. The transcore subsystem is in the subsystems folder. Defines had to be moved to defines folder so they are included first.
* Remove remaining hard del()'s in our code.
* Replace deleted() and gcDestroyed with QDELETED macro.
* Fix some strange calls directly to Del() (capital D)
* Make Destroy() return qdel hints.
* Make a few of the Destroy()'s more comprehensive in cleaning up references.
* In edited Destroy() procs, converted to use qdel_null and qdel_null_list macros when possible for pretty code.
* Removed unused variable `sleevecard`
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.
This verb frees your job slot, removes you from the manifest, and removes your mind/body records so you can't be resleeved (if you do this sooner than 15 minutes, medical will not be nodified of your demise). This prevents you from respawning as that character (you can play any other character if you want).
**People should start using this**, it's really helpful to people who want to play your job if you're not coming back. Just use it if you're done for the day, or want to switch characters, or whatever.
- Multiple minds at once, gotta catch 'em all, they can all talk to each other, etc
- A setting to enable mind backups for all minds in there like an implant
- Notifications to the already-in-there minds when one comes or goes
- If YOU get put in YOUR soulcatcher, it does ONE backup right then and stops, so medical will be notified
The bluespace jumpsuit is relatively cheap (compared to a shrink ray) and craftable in R&D. When worn, it allows you to resize yourself at will, and when removed you'll snap back to your original size (use a shrinkray or the Mass Altering NIFSoft for permanent changes). The reason it's not permanent is because it's very cheap to make in R&D, really. No mining materials needed, but it only affects you. So you can consider it the 'minor' size change tool.
This PR also comments out the arbitrary size change verb since we decided to remove it, as it was being used to generally just make 'magic' characters that could resize themselves at will, or use it for mechanical purposes to avoid being shot etc when fighting starts, even though it says specifically not to do these things. If you want such a character that can resize themselves due to their physiology, please apply for an SCA and we can give you a small fluff item or other accomidation to allow such a thing.