* Adds in body snatcher
* Modifies method the bodysnatcher works
* Fixes merge & compile error
* Update trash_pile.dm
* Update trash_pile.dm
* Gets transfer_to to work
- Reduced trash piles by probably half. There shouldn't be more than one
trash pile in any room.
- Replaced steel beds with comfy beds everywhere.
- Removed syndie ID from trash pile, because there's absolutely no way
to detect it by Security, making it OP.
- Added sizegun to trash piles. Is technically not contraband, so enjoy.
-Took out the minimum oxygen requirement from space oties. They all died outside as oxygen was not one of the gases there.
-Moved guard otie to security category in cargo.
-Moved the collared otie from pred crate to its own crate. Bare one is still in the pred crate chances.
-
The radio jammer is very obnoxious, and I feel like it should not appear as often as it does. Every shift I have been on since its addition has seen a jammer easily located.
- Removed gun_vr judge, Polaris has one now.
- Removed vorestation m44 mags, Polaris has those now.
- Removed detective's .44 magnum because NO YOU CANNOT HAVE A FUCKING
MAGNUM
- Corrected inconsistent naming of .44 speedloaders
- Corrected inconsistent naming of .357 speedloaders
- Fixed broken calibers for .357 stuff to be consistent with upcoming
Polaris sync.
-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.
**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`
Replaces some lockers and racks in maintenance with trash piles. They are presistent loot piles for people who just can't help but greytide. It allows people who join later in the shift to still get goodies. Each is searchable once per shift by each ckey.
They have three loot lists: alpha, beta, and gamma.
Alpha has the highest chance and just random maint stuff. All usable items (no random empty beer cans) but nothing you couldn't find elsewhere.
Beta has a lower chance of spawning and is usually contraband, mechaically useful stuff. Radio jammers and the like.
Gamma is dangerous or highly illegal contraband, and is unique. Guns (nonlethal!), teleporters, syndicate IDs, etc.
Gamma items have special handling: all of the trash piles share a gamma list, and when an item is given out from the gamma list to someone, it's de-pooled so that another trash pile won't hand it out. The pile-collective maintains a reference to it as an 'allocated' gamma item though. Then, when the gamma list runs out, it reviews allocated gamma items to find any that it might be able to 're'-distribute. Namely ones that have been deleted, or are in cryopod computers because the user left with them. It can then hand that item out again. If it cannot hand out a new gamma item, it gives beta instead.
You can also just manually put gamma-list items back into the piles if you're leaving. Or, if you find a translocator, but already made yourself one in R&D (or later make one), or you're the RD and find a bluespace harpoon, you can stuff the translocator/whatever back into any trash pile and it'll be re-pooled into all of them. You can only return gamma items this way, not beta/alpha.
Additionally, if you find yourself playing a simple animal mob for an event (or you're a mouse), you can hide in trash piles by clicking them. There's a 50% chance you're revealed if the pile is searched. You can climb out by clicking the pile again. I dunno if that'll ever get used but it was easy to code, so eh.
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.
s = Speedloaders. (Functionally the same as clips, but they're not
_really_ the same thing, just in case we change these later.)
c = Clips. (Can also be used to fill other magazines.)
m = Magazine. (Holds ammo rounds.)
a = Ammo. (Individual rounds of ammo.)