It's about time somebody did this. It still has the really really annoying/bad brute damage, but it doesn't just knock you on your ass in one hit anymore.
modes that update every 5 ticks won't require clicking the pda 5 times to get a UI window open.
We now check to see if a UI already exists if not we don't check
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
Conflicts:
code/modules/mob/living/living.dm
Airlock sensors will now store the previous cycles pressure value, then compare it with the current pressure next time it runs.
If the pressure hasn't changed it will skip sending a status update.
The things you can attach to suits should already be determined by the
allowed list, no need to restrict it based off of size if it's in the
allowed items.
Fixes#4538
also found when you tried to weld it it would break the sprite also
made the toggle verb just call the attack_hand proc to remove some items from the locker.
Had to do a hacky fix. there was no real way around it.
Also, a couple balances with IPCs
And a totally silly death animation (Which has been commented out for now)
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.
Previously, every single /obj would parse the req_access_txt and req_one_access_txt strings and turn them into a list of numbers for the access system.
This is now done the first time check_access() is called, so only objects that actually use the system will have the lists generated.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
- Fixed lighting issues in dorms (added APC to bedroom area, also gave cryo storage and dorm bedrooms their own area subtypes so light switches don't conflict anymore)
- Fixed 0-2 cable "pixel_y = 1" offset (it was making a 1 pixel gap between south-to-end cables on the map)
- Replaced research outpost piping with new subtypes
- Fixed a broken air supply pipe running to the research outpost auxiliary storage area
- Replaced a few plating turfs in space with airless platings
- updated update_icon() for pipes and manifolds to change the color instead of the sprite
- updated subtypes to use global defines for colors instead of hard coded html refs
- added an alpha tweak to hidden pipes for the sake of mapping (DM doesn't render semi-transparent icons correctly, but it does handle var/alpha tweaks) - this is overridden when the pipe is spawned in the game world with New()
(Thinking about it, we could potentially do away with the transparent pipe sprites by just using the alpha variable. May do this later.)
- fixed pipe painter
- unwrenched pipes now inherit their source pipe color, and also inherit it when reattached to a pipe network again