mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
Ports TG's Garbage Subsystem
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
var/global/datum/controller/process/garbage_collector/garbageCollector
|
||||
|
||||
/datum/controller/process/garbage_collector/setup()
|
||||
name = "garbage"
|
||||
schedule_interval = 10
|
||||
start_delay = 3
|
||||
|
||||
/datum/controller/process/garbage_collector/doWork()
|
||||
// Garbage collection code can be found in code\modules\garbage collection\garbage_collector.dm
|
||||
processGarbage()
|
||||
|
||||
/datum/controller/process/garbage_collector/statProcess()
|
||||
..()
|
||||
stat(null, "[del_everything ? "Off" : "On"], [queue.len] queued")
|
||||
stat(null, "Dels: [dels_count], [soft_dels] soft, [hard_dels] hard")
|
||||
|
||||
DECLARE_GLOBAL_CONTROLLER(garbage_collector, garbageCollector)
|
||||
@@ -24,7 +24,7 @@
|
||||
/datum/controller/process/machinery/proc/process_machines()
|
||||
for(last_object in machine_processing)
|
||||
var/obj/machinery/M = last_object
|
||||
if(istype(M) && isnull(M.gcDestroyed))
|
||||
if(istype(M) && !QDELETED(M))
|
||||
try
|
||||
if(M.process() == PROCESS_KILL)
|
||||
machine_processing.Remove(M)
|
||||
@@ -43,7 +43,7 @@
|
||||
/datum/controller/process/machinery/proc/process_power()
|
||||
for(last_object in deferred_powernet_rebuilds)
|
||||
var/obj/O = last_object
|
||||
if(istype(O) && isnull(O.gcDestroyed))
|
||||
if(istype(O) && !QDELETED(O))
|
||||
try
|
||||
var/datum/powernet/newPN = new()// creates a new powernet...
|
||||
propagate_network(O, newPN)//... and propagates it to the other side of the cable
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
for(last_object in powernets)
|
||||
var/datum/powernet/powerNetwork = last_object
|
||||
if(istype(powerNetwork) && isnull(powerNetwork.gcDestroyed))
|
||||
if(istype(powerNetwork) && !QDELETED(powerNetwork))
|
||||
try
|
||||
powerNetwork.reset()
|
||||
catch(var/exception/e)
|
||||
|
||||
@@ -21,7 +21,7 @@ var/global/datum/controller/process/mob/mob_master
|
||||
/datum/controller/process/mob/doWork()
|
||||
for(last_object in mob_list)
|
||||
var/mob/M = last_object
|
||||
if(istype(M) && isnull(M.gcDestroyed))
|
||||
if(istype(M) && !QDELETED(M))
|
||||
try
|
||||
M.Life()
|
||||
catch(var/exception/e)
|
||||
|
||||
@@ -25,7 +25,7 @@ var/global/datum/controller/process/npcai/npcai_master
|
||||
/datum/controller/process/npcai/doWork()
|
||||
for(last_object in simple_animal_list)
|
||||
var/mob/living/simple_animal/M = last_object
|
||||
if(istype(M) && isnull(M.gcDestroyed))
|
||||
if(istype(M) && !QDELETED(M))
|
||||
if(!M.client && M.stat == CONSCIOUS)
|
||||
try
|
||||
M.process_ai()
|
||||
@@ -44,7 +44,7 @@ var/global/datum/controller/process/npcai/npcai_master
|
||||
|
||||
for(last_object in snpc_list)
|
||||
var/mob/living/carbon/human/interactive/M = last_object
|
||||
if(istype(M) && isnull(M.gcDestroyed))
|
||||
if(istype(M) && !QDELETED(M))
|
||||
try
|
||||
if(!M.alternateProcessing || M.forceProcess)
|
||||
M.doProcess()
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
/datum/controller/process/obj/doWork()
|
||||
for(last_object in processing_objects)
|
||||
var/datum/O = last_object
|
||||
if(istype(O) && isnull(O.gcDestroyed))
|
||||
if(istype(O) && !QDELETED(O))
|
||||
try
|
||||
// Reagent datums get shoved in here, but the process proc isn't on the
|
||||
// base datum type, so we just call it blindly.
|
||||
|
||||
@@ -19,7 +19,7 @@ var/global/datum/controller/process/timer/timer_master
|
||||
return
|
||||
for(last_object in processing_timers)
|
||||
var/datum/timedevent/event = last_object
|
||||
if(!event.thingToCall || qdeleted(event.thingToCall))
|
||||
if(!event.thingToCall || check_datum_qdeleted(event.thingToCall))
|
||||
qdel(event)
|
||||
if(event.timeToRun <= world.time)
|
||||
runevent(event)
|
||||
|
||||
Reference in New Issue
Block a user