Organ Runtime Fix (#2005)

changes:

Added a QDELETED check to organ processing so they won't continue to process if they were erroneously left in the processing objects list after being deleted.
Fixed a bad robotic organ check on spiders.
This commit is contained in:
Lohikar
2017-03-28 14:07:52 -05:00
committed by skull132
parent 5188955339
commit 591fe86468
3 changed files with 12 additions and 1 deletions
+9
View File
@@ -103,6 +103,11 @@ var/list/organ_cache = list()
if(loc != owner)
owner = null
if (QDELETED(src))
log_debug("QDELETED organ [DEBUG_REF(src)] had process() called!")
processing_objects -= src
return
//dead already, no need for more processing
if(status & ORGAN_DEAD)
return
@@ -117,6 +122,10 @@ var/list/organ_cache = list()
return
if(!owner)
if (QDELETED(reagents))
log_debug("Organ [DEBUG_REF(src)] had QDELETED reagents! Regenerating.")
create_reagents(5)
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in reagents.reagent_list
if(B && prob(40))
reagents.remove_reagent("blood",0.1)