* 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...
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.
- Redid belly interactions into a hide-able section to keep it nice and clean.
- Changed most 'error' messages into modal alert boxes to make it obvious.
- Remade name/desc/bellycount rules into defines at the start of the file.
- Fixed transfer problems as far as I can tell (Fixes#1063Fixes#763)
- Can't delete transfer location bellies. Notifies you what points at it and tells you to change it first.
- Get rid of the -1% thing. Just set it to 0% if you don't want it to happen.
- Added a little '?' help button for general interaction info.
https://gyazo.com/b8fb247c0ac101753795a400d61240d0
~changes Joan's bag and its icon
+Adds Dhael's gun and permit to her spawnlist
~debug attempt on Crescent Rose's sprite changing code. Also changes sprites.
Also just general AI QOL things.
AIs have a "Hardlight Noms" verb in the Vore tab. When their hologram is on top of a person, they can pick this, and will homf them. Takes 5 seconds, neither of you can move or it cancels. Holograms with someone inside become almost opaque and purple. They also have different examine text.
A hologram with someone inside cannot move through glass/tables/etc. Pressing "Hardlight Noms" again will give the option of dumping the prey out. Derezzing the hologram will also do this. Also because the hologram can be 'blocked' by things now when full, moving the hologram off the screen will derez it and dump the prey too.
AIs can examine mobs now to get flavortext and OOC notes. Shift-click only. This is for annoying technical reasons. Sorry to those that like to right-click and click examine.
* 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.
* The parts lathe can print tech level 1 stock parts (matter bins, capacitors) required to build basic unupgraded machines.
* This is a separate machine from the autolathe to ease any concern that the autolathe would become OP.
* ALSO, it can be hit with a circuit board and will conveniently display the parts required to build that board's machine.
* Added circuitboard and design for constructing a parts lathe.
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.