We won't regenerate the list for Manifests every tick while viewing the manifest, instead we have a global variable for it PDA_Manifest that we Cut() if there is a change to the manifest then when the next player goes to view the manifest on their PDA it will recreate the list that one time.
Some sections of the PDA will no longer auto-refresh every tick because...well that's dumb.
Modes that will no longer autoupdate at all: Viewing medical/sec records, viewing notes (will update when you change them of course), and the station alert menu.
Modes that will only autoupdate every 5 ticks: APC list (Because it's a huge fuck off list), the manifest, mulebots and secbots screens, supply requests/orders, and janitor supply locator)
Some other things that I just can't remember right now.
Conflicts:
code/defines/obj.dm
My VERY FIRST PR, I used it to make ghost chat be bold, instead of using viewers() to figure out
what ghosts could see the mob, I used get_mob_in_view() which sounded pretty descriptive.
Unfortunately for me it was one of the most CPU intensive ways of determining who could view the speaker for this.
So yeah, removing the second get_mobs_in_view and replacing it with viewers()
Yes this code has been in since Oct/Nov time frame :(
Before: EVERYTIME someone moved their character this proc would be called and loop through every organ looking for implanted items to see if it needs to apply damage.
After: We create a flag that is set when an item embeddes, only when that flag is set do we do that loop through organs upon movement. Also every 10 ticks while that flag
is set we will check to see if we need to unset it.
Conflicts:
code/modules/mob/living/carbon/human/human_damage.dm
Statue mobs can't change their direction while seen.
Lowered the range for flickering lights.
Lowered the cooldown for blinding people, added user feedback when the spell is used.
The blindness spell will affect people within objects.
Fixes#4324
Resisting out of handcuffs was leaving the handcuffs layer set to 20 (over top of the UI).
Changed it to use the drop_from_inventory() proc so it handles the drop event correctly.
Similar to the handcuff resisting layer bug.
When removing an item from your inventory that has associated inventory slots, items that were dropped from the extra inventory slots would be dropped with incorrect layer variables (set to 20 so they were rendered over the UI).
Now when the extra items are dropped, it calls the drop_from_inventory() proc, which correctly changes their layer back.
Fixes#3676
Before: Toggling would get stuck where it wouldn't toggle the camera until you reset your view.
After: Camera light toggles, you have to toggle off before turning on a new camera light though.
Before: EVERYTIME someone moved their character this proc would be called and loop through every organ looking for implanted items to see if it needs to apply damage.
After: We create a flag that is set when an item embeddes, only when that flag is set do we do that loop through organs upon movement. Also every 10 ticks while that flag
is set we will check to see if we need to unset it.
Conflicts:
code/modules/mob/living/carbon/human/human_damage.dm
pAI has to be a special little snowflake and have it's own messenger proc instead of letting a AI-PDA handle it.
So, updated it with the newest tnote variable functionality so it can participate.