Thread Rating:
  • 4 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Improve the bodyheat indicator
#1
Maybe I don't understand the system, but it seems like the bodyheat thing fluctuates and makes no sense to me.

For one thing, thing, you seem to lose/gain all your normal body heat if you don't have 100% heat or cold protection within a few seconds of touching a rather hot or cold environment.

Another thing is the heat indicator itself has no apparent scale. Eating spicy pasta makes the heat indicator cap out, so does standing in a furnace surrounded by hellfire.

I think it might be more useful to have something show the apparent heat of the environment around you, and one of how hot you actually feel. I can stand in a snowstorm in a thick coat and pants and feel perfectly fine, but know that it's 32° f outside.
Reply
#2
(09-15-2018, 03:56 PM)kyle2143 Wrote: Maybe I don't understand the system, but it seems like the bodyheat thing fluctuates and makes no sense to me.

For one thing, thing, you seem to lose/gain all your normal body heat if you don't have 100% heat or cold protection within a few seconds of touching a rather hot or cold environment.

Another thing is the heat indicator itself has no apparent scale. Eating spicy pasta makes the heat indicator cap out, so does standing in a furnace surrounded by hellfire.

I think it might be more useful to have something show the apparent heat of the environment around you, and one of how hot you actually feel. I can stand in a snowstorm in a thick coat and pants and feel perfectly fine, but know that it's 32° f outside.

Yeah, I feel like the system could use more complexity. Right now it seems most things that protect you from temp block a certain amount of it at a fixed amount.

I could imagine things like coats and uniforms instead affecting the rate at which temperature rates progress to meet the ambient air temp. I.E. being trapped in the freezer still taking you to frozen, but at a much faster rate without clothing.

There could even be a targeted damage aspect to it as well, where your extremities like your limbs and head absorbed some thermal damage away from your core body, and temp damage to individual limbs have their own effect, like getting frostbite on your arms and legs in cold temps, or dizzying heat exhaustion when your head heats up too much
Reply
#3
(09-15-2018, 08:53 PM)Frank_Stein Wrote:
(09-15-2018, 03:56 PM)kyle2143 Wrote: Maybe I don't understand the system, but it seems like the bodyheat thing fluctuates and makes no sense to me.

For one thing, thing, you seem to lose/gain all your normal body heat if you don't have 100% heat or cold protection within a few seconds of touching a rather hot or cold environment.

Another thing is the heat indicator itself has no apparent scale. Eating spicy pasta makes the heat indicator cap out, so does standing in a furnace surrounded by hellfire.

I think it might be more useful to have something show the apparent heat of the environment around you, and one of how hot you actually feel. I can stand in a snowstorm in a thick coat and pants and feel perfectly fine, but know that it's 32° f outside.

Yeah, I feel like the system could use more complexity. Right now it seems most things that protect you from temp block a certain amount of it at a fixed amount.

I could imagine things like coats and uniforms instead affecting the rate at which temperature rates progress to meet the ambient air temp. I.E. being trapped in the freezer still taking you to frozen, but at a much faster rate without clothing.

There could even be a targeted damage aspect to it as well, where your extremities like your limbs and head absorbed some thermal damage away from your core body, and temp damage to individual limbs have their own effect, like getting frostbite on your arms and legs in cold temps, or dizzying heat exhaustion when your head heats up too much

I wasn't really advocating for increased complexity or anything. Really just something to make it so that the heat indicator is actually indicative of the current system. Or change the current system so that cold/heat protection changes the rate at which the bodyheat changes, not the threshold before damage/status effects start.

Just a mockup, but my idea was something where the heat indicator could work like this:


[Image: L7hCNOP.png]
Where the left side is actual bodyheat, and the right side shows the environmental heat (appox)
Reply
#4
I agree that bodytemp is silly. For reference:

Code:
    proc/update_temp_indicator()
        if (!bodytemp)
            return
        if(master.burning && !master.is_heat_resistant())
            bodytemp.icon_state = "tempF" // on fire
            bodytemp.tooltipTheme = "tempInd tempIndF"
            bodytemp.desc = "OH FUCK FIRE FIRE FIRE OH GOD FIRE AAAAAAA"
            return

        var/dev = master.get_temp_deviation()
        var/state
        switch(dev)
            if(4)
                state = 4 // burning up
                bodytemp.desc = "It's scorching hot!"
            if(3)
                state = 3 // far too hot
                bodytemp.desc = "It's too hot."
            if(2)
                state = 2 // too hot
                bodytemp.desc = "It's a bit warm, but nothing to worry about."
            if(1)
                state = 1 // warm but safe
                bodytemp.desc = "It feels a little warm."
            if(-1)
                state = -1 // cool but safe
                bodytemp.desc = "It feels a little cool."
            if(-2)
                state = -2 // too cold
                bodytemp.desc = "It's a little cold, but nothing to worry about."
            if(-3)
                state = -3 // far too cold
                bodytemp.desc = "It's too cold."
            if(-4)
                state = -4 // freezing
                bodytemp.desc = "It's absolutley freezing!"
            else
                state = 0 // 310 is optimal body temp
                bodytemp.desc = "The temperature feels fine."

        bodytemp.icon_state = "temp[state]"
bodytemp.tooltipTheme = "tempInd tempInd[state]"

Code:
/mob/proc/get_temp_deviation()
    var/tempdiff = src.bodytemperature - src.base_body_temp
    var/tol = src.temp_tolerance
    var/ntl = 0 - src.temp_tolerance // these are just to make the switch a bit easier to look at

    if (tempdiff > tol*4)
        return 4 // some like to be on fire
    else if (tempdiff < ntl*4)
        return -4 // i think my ears just froze off oh god
    else if (tempdiff > tol*3)
        return 3 // some like it too hot
    else if (tempdiff < ntl*3)
        return -3 // too chill
    else if (tempdiff > tol*2)
        return 2 // some like it hot
    else if (tempdiff < ntl*2)
        return -2 // pretty chill
    else if (tempdiff > tol*1)
        return 1 // some like it warm
    else if (tempdiff < ntl*1)
        return -1 // a little bit chill
    else
        return 0 // I'M APOLLO JUSTICE AND I'M FINE

Code:
    var/base_body_temp = 310.055
    var/temp_tolerance = 15 // iterations between each temperature state

So basically, +/- 60(K/C) from your base body temp (310.55) maxes out your meters. In a game where body temp can be absolute zero or hotter than the center of a star, and survive, that just doesn't translate to much.

Cue me fucking up simple math but I just glanced over it, so sue meh.
Reply
#5
Yeah that's a nice icon, and knowing the difference between being in a hot room or being feverish is useful
Reply
#6
Id just like to add that I don't think an actual temperature indicator should be up there. Its think its meant to be a "how do you feel" style deal, much like the heart icon (which doesnt tell you how damaged you are actually, just a vague idea). 

For actual temperatures, you should have to use your PDA. They all come with atmospheric scanners pre-installed, so anyone can do this at any time already.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)