56a6eaa8e6
* Overlay queuing * Fix SS flags * Don't copy on assignment * Flags processing * Fix icon_smoothing * MSO's helper proc * Legacy detection * Make it work * Fixes shitcode * Fix the flag * |= -> += * OK, how did I fuck that up? * shitcode * Conditional assoc queue while initializing * Cleanup everything * Orange meme * This isn't perfect, but its the best byond will give us. * forgot about dir * oh ya * This was litterally the last thing i did last night before heading to bed You can tell can't you? * Fixes various shit * Let's not ever pause * Fix the flag * Cleaned up some missing shit. Added image dummys * Remove the one usage of FPRINT * Jesus get rid of this
42 lines
796 B
Plaintext
42 lines
796 B
Plaintext
var/datum/subsystem/acid/SSacid
|
|
|
|
/datum/subsystem/acid
|
|
name = "Acid"
|
|
priority = 40
|
|
flags = SS_NO_INIT|SS_BACKGROUND
|
|
|
|
var/list/currentrun = list()
|
|
var/list/processing = list()
|
|
|
|
/datum/subsystem/acid/New()
|
|
NEW_SS_GLOBAL(SSacid)
|
|
|
|
|
|
/datum/subsystem/acid/stat_entry()
|
|
..("P:[processing.len]")
|
|
|
|
|
|
/datum/subsystem/acid/fire(resumed = 0)
|
|
if (!resumed)
|
|
src.currentrun = processing.Copy()
|
|
|
|
//cache for sanic speed (lists are references anyways)
|
|
var/list/currentrun = src.currentrun
|
|
|
|
while (currentrun.len)
|
|
var/obj/O = currentrun[currentrun.len]
|
|
currentrun.len--
|
|
if (!O || QDELETED(O))
|
|
processing -= O
|
|
if (MC_TICK_CHECK)
|
|
return
|
|
continue
|
|
|
|
if(O.acid_level && O.acid_processing())
|
|
else
|
|
O.cut_overlay(acid_overlay, TRUE)
|
|
processing -= O
|
|
|
|
if (MC_TICK_CHECK)
|
|
return
|