Cataclysm-dda: Player vomit until he die when temperature is too high

Created on 14 Oct 2018  路  13Comments  路  Source: CleverRaven/Cataclysm-DDA

before describe the bug, i guess should say sorry for my awful english.

Describe the bug
Player vomit until he die when temperature is too high although he have plenty time to escape.

To Reproduce

  1. start a game with character have matchbook
  2. set on a fire on to somewhere of building.
  3. go two tiles away outside building and wait until die.
  4. check log.

Expected behavior
Player should not do vomitting when temperature is too high.
behavior like this make high temperature more dangerous than it should be.

Screenshots
vomit till die

Versions and configuration(please complete the following information):

  • OS: Windows
  • Game Version 0.C-33303-g9b3eff3
  • Graphics version Tiles
  • Mods loaded DDA, novitamin,disable npc need, filthy clothing.

Additional context
things like i reported can be a bug? i`m afraid of if here is not a place like this.

(S2 - Confirmed) <Crash / Freeze> Balance Character / Player Effects / Skills / Stats

Most helpful comment

https://www.webmd.com/fitness-exercise/heat-exhaustion

Exposure to high heat causing vomiting is working as intended as far as I can tell.

Continuously chained vomiting is not intended, vomiting could have a cooldown effect that prevents it from being continuous.

All 13 comments

they really should fix this stuff. this usually happens when a fire occurs in the basement or similar enclosed space which has bad ventilation

once you start vomitting, you're locked in infinite-vomit chain until die, since vomitting automatically takes your action points away.

This happens even with internal climate control and thermal dissipation CBM's turned on while wearing active rm13 combat armor. I know they're not supposed to render immunity to fire, but it seemed counter intuitive to me because I wasn't on fire and I was outside.
This doesn't seem to happen next to lava anymore though

go two tiles away outside building and wait until die.

You're standing like ten feet away from a structure fire. Roasting alive sounds about right.

The complaint isn't about dying, it's about vomiting and being unable to do anything.

Why would fire trigger vomiting?

https://www.webmd.com/fitness-exercise/heat-exhaustion

Exposure to high heat causing vomiting is working as intended as far as I can tell.

Continuously chained vomiting is not intended, vomiting could have a cooldown effect that prevents it from being continuous.

The complaint isn't about dying, it's about vomiting and being unable to do anything.
Why would fire trigger vomiting?

You should perhaps pass out unconscious at this state.
Vomiting however is a symptom of a heat-stroke if you care to take a look at a quick google search results:

Heat stroke generally presents with a hyperthermia of greater than 40.6 掳C (105.1 掳F) in combination with disorientation and a lack of sweating. Before a heat stroke occurs, people show signs of heat exhaustion such as dizziness, mental confusion, headaches, and weakness; if a heat stroke occurs when the person is asleep, symptoms may be harder to notice. However, in exertional heat stroke, the affected person may sweat excessively. Young children, in particular, may have seizures. Eventually, unconsciousness, organ failure, and death will result.

An early stage of hyperthermia can be "heat exhaustion" (or "heat prostration" or "heat stress"), whose symptoms include heavy sweating, rapid breathing and a fast, weak pulse. If the condition progresses to heat stroke, then hot, dry skin is typical as blood vessels dilate in an attempt to increase heat loss. An inability to cool the body through perspiration may cause the skin to feel dry.`

Other signs and symptoms vary. Accompanying dehydration can produce nausea, vomiting, headaches, and low blood pressure and the latter can lead to fainting or dizziness, especially if the standing position is assumed quickly.

In severe heat stroke, there may be confused, hostile, or seemingly intoxicated behavior. Heart rate and respiration rate will increase (tachycardia and tachypnea) as blood pressure drops and the heart attempts to maintain adequate circulation. The decrease in blood pressure can then cause blood vessels to contract reflexively, resulting in a pale or bluish skin color in advanced cases. Young children, in particular, may have seizures. Eventually, organ failure, unconsciousness and death will result.

Heat stroke symptoms can include:
- Nausea and vomiting.
- Headache.
- Dizziness or vertigo.
- Fatigue.
- Hot, flushed, dry skin.
- Rapid heart rate.
- Dry skin.
- Profound sweating.

btw, If such heat-stroke mechanism is proper, I think we need air-conditioner or hand-wield fan or iced-water or something like that.
as you know, there is no other way to cool your body temperature down, or room temp down, but just wait, right now.
if we have hot-air stuff, why can't we have cold-air stuff too? like dry ice.

and, theres 1 more thing i want to say : fire extinguisher sucks right now.
its heavy, large, takes a lot of AP, but you can use it on the fire just adjacent to you
(and you'll get burned by hot-air while doing that)
AEP_Extinguish = even worse.

Speaking from unpleasant first-hand experience here -- I have suffered heat exhaustion, but fortunately received medical attention before it progressed to serious heat stroke.

@nexusmrsep cited:

Before a heat stroke occurs, people show signs of heat exhaustion such as dizziness, mental confusion, headaches, and weakness [...]

This is accurate. Symptoms at initial onset were dizziness, fatigue, loss of strength. This gradually progressed to the point of starting to stumble around.

I did experience the beginnings of mental confusion stage: slurring of speech, impaired ability to think -- and I was aware of it happening. (This was also when it became clear something was very wrong and medical intervention sought.)

Other signs and symptoms vary. Accompanying dehydration can produce nausea, vomiting, headaches, and low blood pressure and the latter can lead to fainting or dizziness, especially if the standing position is assumed quickly.

I fortunately did not get to the point of nausea and vomiting, these are later-stage symptoms brought on by more severe dehydration, which I imagine would take a bit more time to set in.


Currently if you follow OP's steps to reproduce, you will get blisters from the heat, and then scorching, and then vomiting to the point of limbs breaking, and eventually death -- even if you don't actually catch fire.

As Kevin has already conceded, vomiting should be given a cooldown to prevent move starvation locking the player out from further inputs.

In addition to that I also don't see how you'd end up with broken limbs from heat and/or vomiting.

But furthermore: if we're justifying vomiting as a symptom of heat stroke, then there needs to be a progression from heat stress to heat exhaustion to heat stroke.

The current sequence of worsening status effects is blisters -> scorching -> vomiting but strictly speaking, effects due to high core temperature ought to be a separate chain from effects due to exposure to high external temperature. You can get blisters from even brief contact with hot objects; on the other hand heat exhaustion can occur without onset of blisters, scorching, or even physical pain (other than a headache) -- as long as body core temperature rises e.g. due to physical exertion and hot weather (as was in my case -- and I certainly was adequately hydrated before the beginning of the physical activity.)

Throwing out some ideas for improving status effects progression due to heat exhaustion (before the point of heat stroke) and providing feedback to the player about it:

  • messages about profuse sweating, increase thirst due to sweating (eventually leads to thirst warnings)

    • at high thirst: warning message "feeling hot but not sweating"

  • fatigue: str debuff w/ message e.g. "You feel weak and unable to exert much strength."
  • dizziness: make player stumble
  • headache (has existing pain messages)

And at the onset of heat stroke:

  • rapid heartbeat
  • nausea / vomiting (but not perpetually)
  • fainting

Huh, TIL. Thanks guys for clarifying my confusions (and from game perspective, more messages and cooldown on vomiting effect would solve the problem)

Took a look at this and vomiting is only a small part of this problem.
The main problem is, once you're too hot movement speed drops dramatically. (-10 for every scolding bodypart)

At that speed there is no escaping the fire anymore, even without vomiting eating up movement point.

So I just tested this with a Mycus character who is immune to fire. The slowdown and damage are fine, but you eventually get hot enough you puke. As soon as that happens, eternal pukecycle until either you die or the game locks up and crashes. (With several attempts, I had two deaths and eight lockups)

Edit: So apparently it costs 100 move points to puke, and there is no cooldown on it. Combine that with the fire making you attempt to puke, and you end up with multiple pending pukes that build up rapidly as it takes you four turns each time. It appears to take roughly six minutes in game time before lockup occurs. Suggested quick fix: after puking apply invisible effect that lasts 1-5 minutes, check before puking if effect exists and abort attempt.

Other signs and symptoms vary. Accompanying dehydration can produce nausea, vomiting, headaches, and low blood pressure and the latter can lead to fainting or dizziness, especially if the standing position is assumed quickly.

With this, shouldn't high heat cause dehydration, which then in turn causes nausea and vomiting? Also, when we get dehydrated in the game, we do not puke. So if the puking mechanic was attached to hydration levels instead, and the high heat causes dehydration, then we would get a more realistic version of a heat stroke.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Coolthulhu picture Coolthulhu  路  3Comments

jeremyshannon picture jeremyshannon  路  3Comments

BorkBorkGoesTheCode picture BorkBorkGoesTheCode  路  3Comments

Cyrano7 picture Cyrano7  路  3Comments

ituluwituluwzev picture ituluwituluwzev  路  3Comments