Fix PROCESS_KILL for SSobj and generally (#39322)

* Make SSobj a processing subsystem

* Fix PROCESS_KILL preventing starting processing again

* Sometimes, I dream about cheese
This commit is contained in:
Tad Hardesty
2018-07-25 07:42:26 -07:00
committed by Emmett Gaines
parent 3278244613
commit c7ba22d2bf
2 changed files with 7 additions and 29 deletions

View File

@@ -22,12 +22,14 @@ SUBSYSTEM_DEF(processing)
while(current_run.len)
var/datum/thing = current_run[current_run.len]
current_run.len--
if(QDELETED(thing) || thing.process(wait) == PROCESS_KILL)
if(QDELETED(thing))
processing -= thing
else if(thing.process(wait) == PROCESS_KILL)
// fully stop so that a future START_PROCESSING will work
STOP_PROCESSING(src, thing)
if (MC_TICK_CHECK)
return
/datum/proc/process()
set waitfor = 0
STOP_PROCESSING(SSobj, src)
return 0
return PROCESS_KILL