Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consuming from Water Dispenser doesn't check for fullness #40225

Closed
cirops opened this issue May 6, 2020 · 0 comments · Fixed by #40344
Closed

Consuming from Water Dispenser doesn't check for fullness #40225

cirops opened this issue May 6, 2020 · 0 comments · Fixed by #40344
Labels
Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Mechanics: Character / Player Character / Player mechanics Quality of Life QoL: degree to which players are comfortable, and able to enjoy CDDA <Suggestion / Discussion> Talk it out before implementing

Comments

@cirops
Copy link
Contributor

cirops commented May 6, 2020

Describe the bug

If I'm full and I try to drink clean water from any old container, it tells me "You're full already and will be forcing yourself to drink.". With the "new" Water Dispenser, it let's you drink until you puke, which is undesirable.

Steps To Reproduce

  1. Find a water dispenser (e.g one type of military bunker, hazardous waste sarcophagus).
  2. Drink until you puke.
  3. Try the same with other sources, like a vehicle sink, and watch how it asks for confirmation.

Expected behavior

(If I understood the design decision) Drinking and eating anything from any source (including water dispensers) should give you the "your're too full" warning/confirmation, because making the character puke by overconsumption is kinda frustrating (also, in real life you generally know you're about to burst from too much food/drink.)

Versions and configuration

  • OS: Windows
    • OS Version: 10.0 1903
  • Game Version: 0.E-1477-g8cea0fc [64-bit]
  • Graphics Version: Tiles
  • Game Language: English [en]
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food]
    ]

Additional context

I suspect, by shallow code-diving, in consumption.cpp:784, this:

if( food.charges > 0 && stomach.stomach_remaining( *this ) < food.volume() / food.charges &&
        !food.has_infinite_charges() ) {
        if( edible ) {
            add_consequence( _( "You're full already and will be forcing yourself to eat." ), TOO_FULL );
        } else {
            add_consequence( _( "You're full already and will be forcing yourself to drink." ), TOO_FULL );
        }
    }
}

specifically !food.has_infinite_charges() makes the water dispenser bypass generating the warning, but I haven't tried to compile this game from source yet so I can't test it.

An additional related question: Should water dispensers really have infinite charges, aka be an infinite clean water source?

@Night-Pryanik Night-Pryanik added <Suggestion / Discussion> Talk it out before implementing Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Mechanics: Character / Player Character / Player mechanics Quality of Life QoL: degree to which players are comfortable, and able to enjoy CDDA labels May 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Mechanics: Character / Player Character / Player mechanics Quality of Life QoL: degree to which players are comfortable, and able to enjoy CDDA <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants