We no longer run auto_use_power() on every machine every tick.
We now have a global list of areas, and areas that have an APC in them (all_areas and active_areas) no more looping through world bullshit.
A bunch of snowflakey as fuck machines won't use_power() in their process, you get two options, active and idle, use them!
This means a lot of machines won't double dip on power as well so power usage for the station has dropped about 20%
Because everything is snowflakey as fuck we're going to have some machines that don't force an update on their power usage. Fuck them.
We should catch them with the root obj/machine/proc's forcing updates.
This allows for more secure and stable transmission on Linux, but you might see some improvements on Windows too.
Code lies in (confusingly) lib/src.
nudge.c should be compiled to lib/nudge.[dll/so] and be linked against netutil.c.
There's some horribly hacky code in nudge.c to assemble pickled data, but it's probably the fastest way that's still safe.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
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>
Admin request.
Default behavior is what we're used to, that two heads can call for the ERT
with the option turned on it removes the ability for players to call for an ERT and requires admin intervention.
runtime error: Cannot read null.len
proc name: scan atom (/obj/item/device/depth_scanner/proc/scan_atom)
source file: tools_depthscanner.dm,31
usr: Some Guy (/mob/living/carbon/human)
src: the depth analysis scanner (/obj/item/device/depth_scanner)
call stack:
the depth analysis scanner (/obj/item/device/depth_scanner): scan atom(Some Guy (/mob/living/carbon/human), Rock (155,169,5) (/turf/simulated/mineral))
Rock (155,169,5) (/turf/simulated/mineral): attackby(the depth analysis scanner (/obj/item/device/depth_scanner), Some Guy (/mob/living/carbon/human))
Some Guy (/mob/living/carbon/human): ClickOn(Rock (155,169,5) (/turf/simulated/mineral), "icon-x=23;icon-y=13;left=1;scr...")
Rock (155,169,5) (/turf/simulated/mineral): Click(Rock (155,169,5) (/turf/simulated/mineral), "mapwindow.map", "icon-x=23;icon-y=13;left=1;scr...")