Fix suit coolers and exosuits for IPCs (#13867)

This commit is contained in:
Wildkins
2022-05-10 20:11:40 -04:00
committed by GitHub
parent ead311c3b3
commit dc3093c047
5 changed files with 34 additions and 7 deletions

View File

@@ -8,6 +8,8 @@
var/list/slept = list()
var/list/currentrun = list()
var/list/processing = list()
var/list/all_rats = list() // Contains all *living* rats.
var/list/mannequins = list() //Contains all mannequins used by character preview
var/list/greatworms = list()
@@ -65,12 +67,24 @@
/datum/controller/subsystem/mobs/fire(resumed = 0)
if (!resumed)
src.currentrun = mob_list.Copy()
src.currentrun += processing.Copy()
var/list/currentrun = src.currentrun
while (currentrun.len)
var/mob/M = currentrun[currentrun.len]
var/datum/thing = currentrun[currentrun.len]
currentrun.len--
if(!ismob(thing))
if(!QDELETED(thing))
if(thing.process(wait, times_fired) == PROCESS_KILL)
stop_processing(thing)
else
processing -= thing
if (MC_TICK_CHECK)
return
continue
var/mob/M = thing
if (QDELETED(M))
log_debug("SSmob: QDELETED mob [DEBUG_REF(M)] left in processing list!")
@@ -108,3 +122,7 @@
var/mannequin = mannequins[ckey]
qdel(mannequin)
mannequins -= ckey
// Helper so PROCESS_KILL works.
/datum/controller/subsystem/mobs/proc/stop_processing(datum/D)
STOP_PROCESSING(src, D)