Before: Every tick each HUD item would recalculate and redo images for every mob in view. For items like the secHUD where we're transversing implants and the various records this gets very expensive.
After: Mobs use their hud_list variable to store varius huditem images, when conditions change for those specific huditem images it updates the specific ones on demand. As a backup every 30 ticks or so the mob will update all of their hud_list.
Also: moved proc/RoundHealth() from 2 seperate locations into __HELPERS/mobs.dm
Fixes with the changes of eyes to internal organs with Imidazoline and the surgery.
New chemicals:
Peridaxon, Potassium Chloride, and Potassium Chlorophoride. Peridaxon: Internal organ healing chemical; 2Bicard+2Clonex(plasma catalyst). Potassium Chloride: Stops hearts for medical in overdose; Salt+Potassium, Potassium Chlorophoride: Stops hearts right proper; PotassiumChloride+Plasma+Chloral Hydrate.
Chloral Hydrate and Soporific changes
Made chloral hydrate less instakill(nerfed), but a toxic dropper without blackscreen. Soporific buffed, but less blackscreen sleeping applied.
Made glowshrooms and intercoms not use a ridiculous internal loop, and fixed a pickup luminosity bug with glowshrooms.
fixes#3708Fixes#3718Fixes#3702
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Fixes#3285. Changes way hearers are found, so it includes pAIs now.
Also adds (R) in front of LOOC messages that are sent by mobs not in view, for admins/mods, since it's quite disorienting.
New define - AGONY. Used as an effect (Like STUN, WEAKN, etc) to cause HALLOSS. Allows use of HALLOSS projectiles without having to worry about them shattering windows/grilles. Future use? Torture tools, pain inducers for interrogation, 'Be Good' modules, Meme, etc.
HALLOSS now regens while standing up (2 per tick), and laying down (Resting, unconscious, paralyzed - 6 per tick). This fixes the 'real damage + HALLOSS = forever crit'.
Sticking a gun in your mouth (Non-stun, damage inducing) and pulling the trigger kills you.
Icon adjustments.
Now each human will have a list of HUD images, that will be refreshed if it's required, say, a medic walking near you with a medHUD will refresh both medical images.
The list, called hud_list, uses seven defines for all the images, defined in the __DEFINES.dm
I also added a check for not rounding the health bar if the pacient it's dead, fixing some issues with showing dead people in critical or with possitive health.