Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Major Bodies still decay in morgue trays
#1
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.
#2
morgue trays are not a very good feature in general. when faced with a heap of bodies, i find it more productive to shove them into the scanner as quickly as possible, pull them out and shove in the next one to scan, etc. pulling one the next room over to put in a tray wastes time that could have been used to scan a couple more.

they may still be useful in cases where say the power is out and thus rapid scanning is not possible.

i wonder if the power was out, and thus the mrogue trays did not refridgerate? is that how they work?
#3
(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
#4
(03-19-2017, 11:58 AM)Noah Buttes Wrote:
(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

Solution: Don't open trays. Ever.
#5
Honestly, the morgue tubes should have some other use than to be a hole to stick dead folk. Honestly, you get more reliable results by sticking the body in a locker in space.

Maybe the tubes auto-scan people, act as cryo units, remove all the limbs and organs of dead guys, and have a button to inject corpses with formaldehyde or strange reagent if it's loaded.

Cus right now, they're mainly used if the cloner is down, the robots can't be trusted, and you're waiting for the MD to whip up some SR.
#6
Really, All I use those things for is going AFK in or hiding other people's things.
#7
idea: make morgue trays/fridges cold stimuli for artifacts for when the artlab gets blown up by toxins
#8
Hm. This might be a naïve fix, but looking at the code a quick and dirty temporary fix would probably just be extending the next decomposition time some number of ticks into the future if the threshold is passed while the corpse is in a container that should prevent decomposition.

I'll give this a more detailed look when I get home from work later.

Edit: Had some quiet time at work, wrote the fix, need to wait til later to test it.
#9
If you really wanna preserve a body for, say, a funeral, just use formaldehyde. Also, the morgue trays could inject formaldehyde automatically to fix this.
#10
I've fixed this since the 2016 release.  Please double-check that this is actually happening and wasn't just a weird fluke, because I couldn't reproduce it when I tried just now.
#11
After talking with Haine she apparently fixed this a while ago. Still, formaldehyde is a surefire bet. As long as a body has formaldehyde it won't rot, and dead bodies don't metabolise so it should just stay there.

e:f,b


Forum Jump:


Users browsing this thread: 1 Guest(s)