This PR refactors get_pain() to be essentially performance free.
Previously it was a member of the top 5 most expensive procs.
I had to touch a metric shitton of files to make this happen. Notably
get_pain() was also 1/3rd of the entire processing cost for Mobs - Life
DO_UNIQUE prevented a second person scanning the same patient at the
same time.
This does let you spam the medscanner and get multiple scans in progress
at the same time, but that's much less of an issue than getting your
scan canceled by a second well meaning doctor.
Fixes health analyzers NOT mounted on hardsuits (handheld, observer) not
displaying TGUI on scan due to casting runtime. Fixes unrelated bug with
self-scanning not playing nice.
Various fixes and cleanups for hardsuits following the rework.
changes:
- bugfix: "Adds additional safety checks to hardsuit deployment logic to
better handle boot checks."
- bugfix: "Hardsuit Health Analyzer module works again."
- rscadd: "Adds 'Retract All Parts' verb for hardsuits."
- rscdel: "Removes Vitals Scanner module; hardsuits which had this
module by default have had it replaced with the Health Analzyer module."
- rscdel: "Removes hardsuit Maneuvering Jets onmob sprites."