03-19-2017, 11:58 AM
(03-19-2017, 11:17 AM)Lord Birb Wrote:Despite both the wiki and their description saying they will prevent bodies from decaying, bodies will still eventually be reduced to useless skeletons when left in a morgue tray. Pain in the ass when you have to clone a large number of people and the roboticist is noexistant or useless.
According to this portion of the 2016 code, this has been an issue for a long time.
Code:
proc/handle_decomposition()
var/turf/T = get_turf_loc(src)
if (!T) return
if (src.stat != 2 || src.mutantrace || src.reagents.has_reagent("formaldehyde"))
return
var/env_temp = 0
if (istype(loc, /obj/machinery/atmospherics/unary/cryo_cell))
return
if (istype(loc, /obj/morgue))
return
// cogwerks note: both the cryo cell and morgue things technically work, but the corpse rots instantly when removed
// if it has been in there longer than the next decomp time that was initiated before the corpses went in. fuck!
// will work out a fix for that soon, too tired right now
else
var/datum/gas_mixture/environment = T.return_air()
env_temp = environment.temperature
src.next_decomp_time -= min(30, max(round((env_temp - T20C)/10), -60))
if (world.time > src.next_decomp_time) // advances every 4-10 game minutes
src.decomp_stage = min(src.decomp_stage + 1, 4)
src.update_body()
src.update_face()
src.next_decomp_time = world.time + rand(240,600)*10