Rather than prob 60/40/50 in the case of legal implant, illegal implant, and shrapnel/other in that order, surgery now has a time-to-remove.
Legal implants take 10 seconds, illegal take 20 (to represent you needing to dig around/hunt for it), and shrapnel/other stuff takes 10 seconds.
This will make surgery for shrapnel removal much less of a PITA, and should be more fun for players now as a result. Rather than YOU JUST MISSED IT THIS TIME x72.
Just.. Im just frothing with rage while looking at some of this stuff. Some polaris dude named Neerti did a bunch of half assed commenting five years ago, and has been causing a shit ton of warning messages because of it. I ended up fixing most of it out of pure rage.
Tell me if you guys need a CHOMPedit on these, because this is mostly just fixing really stupid commented out stuff that should have been fixed years ago by the person that did this. I wouldn't think it would need a CHOMPedit, but you never know.
-Fixes the synth brain transplant rename prompt being a) broken, and b) having the capability to force a contaminated and unsanitized real_name var for the body, which in turn has the capability to kill regex and cause big issues.
In other words: an unnamed synth body wearing a person's ID gets their display name shown as "Unknown (as name)". The problematic part is that the brain transplant procedure here forces the new body to rename itself by the copied display name, AND also forces the real_name var into that without sanitizing. This causes the chat mention system to divide the unsanitized name into 3 names "Unknown", "(as", and "name)" and to shove these into regex to look for, and the rogue () in the names makes regex commit die and likely also break map loading and stuff.
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.