pretty much the same effeciencies from human/life()
no need to updatehealth() over and over and over
no need to process environment if everything is normal
etc.
Before: We process a whole lot of bullshit for no real reason most of the time because temperatures are perfect.
Now: We check if our temperatures and environment are within normal bounds and get the hell out of the proc.
Also: Mobs that are long dead or just dead mobs spawned at round start won't process Life(), those 3 clowns don't need Life(), those jerks.
We do a bit of pre-processing to see if we want to do checks on all the organs.
First we don't even do preprocessing unless we have damage of some kind
afterwards we process what is hurt until it gets better or overall we get worse
when we go ahead and check everything else out again.
Can add a safety check in life every 30 ticks or so go ahead and check every organ again but I don't think it's needed.
Some players are having issues with NanoUI not opening up or acting funny
before the only fix was to have them log out, and log back in, check if that worked.
If not log out, delete cache log back in, if that don't work not much can be done.
Now we just skip the whole logout login thing and force the server to send the files
to their client once again skipping the need for their character to take a dirtnap for a moment.
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.
Will fix#4600 and the problem with drinks not knowing when they are open/closed.
Hopefully I didn't miss a string of code again,I don't think so,though.
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: The stacker and processor used del(item) to get rid of the items causing /obj/movable/del() to spike up and cause fun amounts of lag. Also we have seperate variables for if a certain ore type is selected in the processing machine and the cooking portion of process() uses a huge string of if()'s which check 8 or so variables and is terrible and probably a pain in the ass should someone decide to later add ore types and recipes.
After: We just set item.loc = null when it goes in the stacker of processor and garbage collection takes care of it within a tick. Those different variables for ore selection are now just one variable which is a bitfield, much easier to read, much easier to expand upon.
Before: AI's on new APC system would constantly add more and more power usage to the APC
After: AI's no longer handle their power consumption, that has been pushed off to an /obj/machinery/ai_powersupply dummy object which will process the power usage. This is much cleaner because machinery objects are already processed properly for the new system and keeps us from having to rewrite a bunch of AI code to bring the AI in line with how the new APC system works.