* Adds a global hook for when the supply shuttle reaches centcom. The existing sell_crate hook is too limited, as it only detects what is in crates, and is fired many times, making it hard to produce a summary for events that might want stuff shipped on the shuttle.
Making a list just... 'be 10 long' is bad. Like update_icons layers and various other things, if you add more, it will compile fine and then you get runtimes later, which is a little annoying. Having places you just have to 'know' to update elsewhere in the code is meh.
So if a mob is being held, like a Teshari, or anything else ~~like being eaten cough~~ then they are handled correctly by cryopods. Otherwise if someone scoops a Teshari, and cryos, they are simply deleted, their records stay in the round, their job slot is occupied indefinitely, etc.
* Allows constructing new rooms out of the asteroid! Previously blueprint couldn't because it wasn't technically "/area/space"
* Also moved the list of what area types count as space or protected to variables so its not a list embedded in the middle of a proc...
* That if statement wasn't heping anyone as it was.
* Strangely however, even an `if(using_map)` doesn't help, as using_map is in some crazy BYOND limbo state at that point in world init. but checking istype() succeeds in figuring out its not real.
Trays have no attack cooldown because they have this crazy-long snowflake code for attacks.
Beds (and children like chairs) don't track target for grab-buckle do_after, letting them run away and get teleported back to the chair and buckled regardless of their efforts.
* If a custom item can't be equipped to a character's inventory it is dropped on the ground. For late join characters, equip_custom_item() was called before the mob was placed at their starting locations; their coordinates were still 1,1,1. Which is the edge of a map so they get bounced to another z level.
* Fix: Equip custom items AFTER job_master.LateSpawn places the mob at the starting location, so it flows in same order as roundstart join characters.
I'm an idiot, forgot about garbage collecting. This fixes a slight issue
in my previous PR that would have eventually resulted in a call of DEL
if nobody rebuilt the console.
The old build path pointed towards a circuitboard instead of towards the
machine, meaning when you screwdrivered the frame twice, it would cause
frame.dm to runtime, and then not delete the frame, meaning you could
spam click the console with a screwdriver and spawn infinite boards, and
still be stuck with a non functional machine.
injector.computer = null was causing a runtime because it was attempting
to edit something that no longer existed on destruction.
Right now it gives you 300 toxin damage "to be sure" you die. That's a little odd. Especially on health scanners after someone has bled to death. And you can't do heart transplants. We can do heart transplants now in 2017. 3500 per year. Pretty sure they won't forget how by 2561 or whatever.
This makes having no heart or too little blood do 75 oxyloss per tick. Enough to kill you eight seconds if you have no special care. It becomes 15 per tick with dexP which is fast enough to kill you "pretty fastly" and slow enough you can swap out a heart in surgery.
With dexP+dex+tric it becomes a meager 10ish per tick, but an inevitable 10 per tick as they are literally now full of every oxyloss removing drug in the game. So you can survive a couple of minutes, max, with not enough blood. You're still paralyzed and eye_blurry for most of it. You should probably be in surgery.
No-longer-infected but still ORGAN_DEAD flag limbs show up on scanner with a special thing so you can know they still need surgery/removal. They are pretty obvious from a visual exam, but hey, this scanner should show them too.
Yes yes. I know.
Anyway, there's no cooldown on this so you can give someone about 800 brute in 10 seconds. A LITTLE UNUSUAL if you ask me. Also reduced it from 8 because what the hell is that toilet seat made out of? Osmium? For an armor-ignoring attack that's a little high. Also the swirlie thing was coded wrong for the do_after.
Fix necrotic limb surgery
Make fever not so powerful that it resists cryotubes
All necrotic limbs produce toxins unless OD on spaceacillin, regardless of infection
Fix dropper use during surgery
Fix 'gap' in printable adv scanner infection reports
Fix nanoui template for adv scanner
Add examine text to gangrene and highly infected external limbs
Add flags to the MMI holder organs to make them robotic, and thus not infectable if they are > squishy MMI (posibrain, digital)