Several tweaks and changes for pAI:
pAI banning:
clicking pAI cards and using the pAI alert ghost verb checks to see if you are banned from playing pAI now. Before only the original recruit prompt checked to see if you were banned from playing pAI! Now all existing forms of joining or asking to play as a pAI should check.
folding and bellies:
now if you end up in a belly as a pAI and you fold up, your card will land in the belly, instead of on the floor (unfolding already has a check to make it impossible to unfold while in a belly, since there's not enough space)
self add to recruit list:
Now when you click a pAI card as a ghost, or use the pAI alert ghost verb, you will be given the option of adding yourself to the pAI recruit list. If you do this, then anyone who checks their pAI cards could choose to pick you! You can of course also just not do this, and use both options as normal otherwise.
Originally you could only add yourself to the recruit list after someone had activated a pAI card and requested personalities. (And then promptly forgot to actually ever check back in with the device again. UWU)
pAI radio:
previously the pAI radio had just been a normal shortwave radio, with all the complications and limitations that implies
thanks to heroman's help though, pAIs now have a normal radio! It's channel access even still gets expanded or restricted based on its present available access, rather than dealing with headset keys! (since it needs to get that access from working with someone anyway)
With this, pAIs have access to juuuuuust about all the basic features one would kind of expect them to.
There's still plenty of things to tweak and add, but these changes should bring them much more in line with what I think can be called 'complete'
All their stuff works I think!!!
Makes a 'Save Configuration' verb, that saves your name, flavortext, eye color, chassis, and card emotion!
Then, to go with this, updates the various ways to become a pAI to allow you to load your configuration data into the pAI, rather than having to manually enter it every time.
Also makes the ghost notification verb and the 'new personality submitted' message both print the same message, and puts it on a 5 minute cooldown so it can't be spammed too often (the ghost one still makes the screens light up as often as you push it, it just only prints the message in the chat every so often)
Additionally, tweaks the release all proc so that it won't trigger the release message and sound when the only targets inside of you are absorbed and it's not releasing absorbed people.
Also removes the admin notification when people use the 'Adjust Mass' verb to not deliver an admin notification, because it doesn't reeeally matter? It's the kind of message we never pay any attention to. So! Instead I changed it to log it instead, so it can still be investigated if need be, but without clogging up chat.
Adds auto-resleeving!
Under normal conditions, this allows one to resleeve their character after they have died in the round.
The auto-resleever requires a bit of time after death to be used:
-Characters who died due to vore reasons must wait 15 minutes
-Characters who died for other reasons must wait 30 minutes
The auto-resleever only requires power, there is no biomass requirement.
The auto-resleever also works for species that can ordinarily not be resleeved, since the potential for abuse there is minimal.
To use the auto-resleever, one only needs to click it as a ghost. If it is ready to revive you, it will pop up a confirmation dialogue.
Additionally, the automatic transcore notification, and the 'Cancel Transcore Notification' verb has been removed. Ghosts have a 'Notify Transcore' verb, which can be used around 5 minutes after death if they wish to notify medical.
This should eliminate false positives for medical, because no one likes resleeving people who don't need it.
This does not otherwise alter the original resleeving process or machines.
The auto-resleever for the tether is on Z1, just south of the psych office. It also features a return chute for items right next to the door. (I wanted to put it in the resleeving room's cleaning room, but it's really far into medical)
The auto-resleever for the stellar delight is in the resleeving's cleaning room.
I also fixed the access on the tourbus's APC while I was there.
This adds throw_alert() and /obj/screen/alert, a system that allows you
to do custom hud alerts for any variety of things from "You're too
cold!" to mecha status indicators for the pilot.
There's quite a few things that actually got replaced; the
fire/oxy/tox/co2 alerts are all now just alerts, as is nutrition. The
xenochimera feral indicator would probably be a good candidate for
conversion, but I didn't touch it in this PR. There's also a number of
new alerts, such as blindness, highness, legcuffed, buckled, handcuffed,
and probably some more I missed; read code/_onclick/hud/alert.dm and see
for yourself!
Additionally, a number of tweaks have been done to resisting code, to
make it so that there's an indicator when you're buckled or handcuffed,
and can just click the alert to start resisting. This includes a
refactor that combines the logic for lockers, holders, micros
escaping from shoes, and struggling in a gut all into one proc, called
container_resist(). This means that vore bellies actually no longer need
the resist override, but it's been left in place just in case someone
finds something else they want to use it for.
Also, the health and internals indicator got moved down one tile each.
Needed room for the alerts. If we add the oxygen tank action buttons
from /tg/ and remove the internals indicator, the health indicator can
go back where it was originally.