* 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.
**This commit prevents dead people from being backup-implanted!**
But it's fine because you just use this handheld thing to back them up instead and don't waste an implant, and medical starts with 4 so don't freak out. See below.
Adds the SleeveMate 3200 hand-scanner device. This device allows you to scan people to determine several things about them:
- If they have a mind in them
- If they have a client attached
- If their mind matches their body
- If they are alive/conscious
All of that is represented with in-universe messages of course. The real function of it is that it provides several features:
- One-time mind scan: Performs a one-time mind scan for those that don't like getting mind backup implants. This will store that one scan in the database, but you'll forget everything since then if resleeved. This is also useful for resleeving someone who died without an implant, but is not DNR/DNC.
- One-time body scan: Adds someone to the body scan database, or, updates their body scan if they obtained a new body. Useful if someone has used the body designer and switched bodies, as you can update their body scan. You should probably check medical records, and LOOC around before using this to resleeve someone that didn't have a body scan originally, because they may have picked that to avoid resleeving.
- Store Whole Mind: Takes the entire mind from someone, storing it into the SleeveMate 3200, rendering the patient mindless. From there, it can be backed up as many times as needed, deleted, or stored into someone with a Soulcatcher NIFSoft and run live in their VR (so now you don't have to digest/kill people for that).
Four SM3200's start in medical (1 in minimed downstairs, 3 upstairs), R&D can fab more, and they occasionally show up in trash piles for those wanting to be sneaky with a Soulcatcher, but who don't like digesting people.
* 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`
- 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
Module 1: Maneuvering Jets - Jetpack, fwoosh.
Module 2: Sprinter - Gotta go fast!
Module 3: PATS Module - Opens doors you have access to 3 steps ahead of you, and has an (expensive) option to override an airlock you're facing, though this notifies command and sec of you doing this over radio.
Module 4: Micro Pharmacy - Contains 10u inaprovaline, tricordrazine, tramadol, and dexplus, each, and can have regeneration enabled to slowly regenerate these four drugs in exchange for energy.
(Also fixed a thing with the resleeving computer and disk while I was in there)
* Set appearance_flags on HUD images to prevent them from being scaled up/down when the owning mob is macro/micro.
* Optimized the resize() proc and made it adjust the vertical position of the unscaled hud to stay even with the top of the mob's head.
* Also fix the resize proc to be consistent with update_icons(). Now micros wont be in the middle of a turf temporarily after resizing.
Allows the resleever to sleeve minds into people inside the resleeving pod's occupant, aka if you want you can print a new body for the person (or if you're wiping some existing person, take a living person), have someone eat them, then get in resleeving pod and revive them in a gut. That'll keep them from walking around and tripping too much, yuh.
I'm sure there's a million crazy things you could do with this (eat person you want to impersonate, resleeve yourself into them while they're in your guts, then escape your own guts?) so have fun with that.
For technical reasons, for now, you cannot sleeve the PRED if they have prey in them in the resleeving pod. It has to do with wiping out their bellies and forgetting where their prey are. This would happen to prey if the prey has their own prey, as well, but... don't? Also you can always just OOC escape if you get trapped like that.
Added body designer to Z1, 2, 4 since there are resleeving setups on each. Fixed disk box constructor, and created a custom console sprite for the designer.
* Adds Body Designer computer, which allows you to customize body designs similarly to character setup, but in game.
* Designs are savable to disks which can be loaded into the the resleeving controller console to print and resleeve into.
* Fixes line breaks on OOC notes in the resleeving computer.
* Added circuits so the body designer is constructable, and designs so the circuit is researchable.
* Added a proc for reverse lookup of size_multiplier -> scale name (0.25 -> Micro etc)
Matter bins increase storage amount, manipulators decrease brute amount, scanner decreases burn amount. All upgraded to max will do no damage and store 90,000 materials (30,000 default).
For #1117
Stores 4 inside the implanter, so medical people can just carry one with them if they want. Added more to the vendors to offset the smaller number per thing (7 per box vs 4 per implanter). The sprite is unique, and represents how many are left on the outside. Orange means just one left, flashing red means empty.
You can take the implants out if you want, swap them between implanters, etc. This one is self-cleaning, and can't cause infections, yay. So if you have to leave one in the lobby for people, now you don't have to feel bad about horrible cross-contamination?
Resleeving console now lists people in alphabetical order, and removes bodies when the person cryos (as long as they were really in that body, you can't cryo someone's printed body w/o resleeving and have it remove them)
Now you can start with them in loadout. They are no longer SUNglasses though, so they won't protect you from flashes.
There are several models, the loadout ones are the civilian ones.
- Civilian: Displays job ID icon based on the person's ID, and shows a health bar only if they are injured.
- Medical: Same as civlian, but displays advanced status (virus, borer, etc) along with backup implant status, and allows medical records access.
- Security: Same as civilian, but displays warrant and arrest status, and will automatically darken (electrochromic) in response to flashes, making the wearer immune, plus security records access.
- Engineering: Same as civilian, but will automatically darken to protect one's eyes during welding.
- Research: Same as civilian, but has a trendy goggle form factor for SCIENCE reasons.
- Omni: Has the combined features of all of the above. The only pair available spawns in the CD's office. (CC officers also)
- Synths don't get printed with organic brains/eyes now
- Synths, if they had a custom tail/ears, get that back
- People get the correct custom species
- Debraining a printed but empty body doesn't pull you into the brain (hopefully? I couldn't duplicate)
- Doesn't notify that you're past-due if you've been revived before the notice
- Made the code vastly more simple to follow
Fixes#1008
Apparently the weight prefs were accidentally removed (this also fixes size prefs when spawning), fixes size when resleeving, renames char setup options to be more explanatory
Listen, it's SUPER HARD to code when you've got a fever and it's 3:30am. So for now you just get your own vore bellies. To code it so that you get the OTHER PERSON'S vore bellies will have to wait a bit.
Make mind records get removed when you cryo.
Added resleeving manual.
Commit virgo-7 because mapmerge constantly says it has changes. BeyondCompare says there aren't any. Probably some formatting change but it'll probably do it for everyone until I do it.
Move where backup implants are (put them in resleeving room)
Only Posibrains are indigestible. MMIs are. Squishy brainmeat!
Unrelated icon change to station announcements by admins.