mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-04 14:33:10 +00:00
Remove a whole bunch of in world loops and rework machinery global lists (#3053)
Removes a whole bunch of in world loops. Reworks SSmachinery to hold two lists: all_machines and processing_machines. all_machines contains all machines 5ever. All of them. Literally. Forever. And ever. processing_machines only contains machines that process with the SSmachinery controller. I checked most types at runtime on the live server to see whether they're in processing_machines or in all_machines, and did debug to ensure that most machinery ends up and stays in all_machines. Includes a basic UT to make sure all mapped in machinery types remain within the all_machines list post-init.
This commit is contained in:
@@ -9,7 +9,7 @@ var/list/ship_engines = list()
|
||||
/datum/ship_engine/New(var/obj/machinery/holder)
|
||||
engine = holder
|
||||
zlevel = holder.z
|
||||
for(var/obj/machinery/computer/engines/E in machines)
|
||||
for(var/obj/machinery/computer/engines/E in SSmachinery.processing_machines)
|
||||
if (E.z == zlevel && !(src in E.engines))
|
||||
E.engines += src
|
||||
break
|
||||
@@ -53,8 +53,8 @@ var/list/ship_engines = list()
|
||||
return 1
|
||||
|
||||
/datum/ship_engine/proc/die()
|
||||
for(var/obj/machinery/computer/engines/E in machines)
|
||||
for(var/obj/machinery/computer/engines/E in SSmachinery.processing_machines)
|
||||
if (E.z == zlevel)
|
||||
E.engines -= src
|
||||
break
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
/obj/effect/map/ship/Initialize()
|
||||
. = ..()
|
||||
for(var/obj/machinery/computer/engines/E in machines)
|
||||
for(var/obj/machinery/computer/engines/E in SSmachinery.processing_machines)
|
||||
if (E.z == map_z)
|
||||
eng_control = E
|
||||
break
|
||||
for(var/obj/machinery/computer/helm/H in machines)
|
||||
for(var/obj/machinery/computer/helm/H in SSmachinery.processing_machines)
|
||||
if (H.z == map_z)
|
||||
nav_control = H
|
||||
break
|
||||
@@ -112,5 +112,5 @@
|
||||
var/turf/newloc = locate(x + deltas[1], y + deltas[2], z)
|
||||
if(newloc)
|
||||
Move(newloc)
|
||||
if(rotate)
|
||||
if(rotate)
|
||||
rotate(get_heading())
|
||||
|
||||
Reference in New Issue
Block a user