diff --git a/code/controllers/subsystem/SSshuttles.dm b/code/controllers/subsystem/SSshuttles.dm index 83d273f0226..9cd939fc4c7 100644 --- a/code/controllers/subsystem/SSshuttles.dm +++ b/code/controllers/subsystem/SSshuttles.dm @@ -83,9 +83,9 @@ SUBSYSTEM_DEF(shuttle) continue var/obj/docking_port/mobile/port = thing port.check() - for(var/obj/docking_port/stationary/transit/T as anything in transit_docking_ports) - if(!T.owner) - qdel(T, force=TRUE) + for(var/obj/docking_port/stationary/transit/transit_port in transit_docking_ports) + if(!transit_port.owner) + qdel(transit_port, force=TRUE) // This next one removes transit docks/zones that aren't // immediately being used. This will mean that the zone creation // code will be running a lot. @@ -94,13 +94,13 @@ SUBSYSTEM_DEF(shuttle) // We're better off holding onto it for now if(transit_utilized < SOFT_TRANSIT_RESERVATION_THRESHOLD) continue - var/obj/docking_port/mobile/owner = T.owner + var/obj/docking_port/mobile/owner = transit_port.owner if(owner) var/idle = owner.mode == SHUTTLE_IDLE // var/not_centcom_evac = owner.launch_status == NOLAUNCH - var/not_in_use = (!T.get_docked()) + var/not_in_use = (!transit_port.get_docked()) if(idle && not_in_use) - qdel(T, force=TRUE) + qdel(transit_port, force=TRUE) if(!SSmapping.clearing_reserved_turfs) while(transit_requesters.len) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 9c4eded4f3c..6436268b5ee 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -207,8 +207,14 @@ name = "In transit" //This looks weird, but- it means that the on-map instances can be named something actually usable to search for, but still appear correctly in terminals. - SSshuttle.transit_docking_ports += src + SSshuttle.transit_docking_ports |= src return 1 + +/obj/docking_port/stationary/transit/Destroy(force) + . = ..() + if(force && SSshuttle) + SSshuttle.transit_docking_ports -= src + // MARK: Mobile port /obj/docking_port/mobile name = "shuttle"