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

Pool of acid burns legs in addition to feet #38416

Closed
l29ah opened this issue Feb 27, 2020 · 10 comments · Fixed by #41737
Closed

Pool of acid burns legs in addition to feet #38416

l29ah opened this issue Feb 27, 2020 · 10 comments · Fixed by #41737
Labels
Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Mechanics: Character / Player Character / Player mechanics (S2 - Confirmed) Bug that's been confirmed to exist

Comments

@l29ah
Copy link
Contributor

l29ah commented Feb 27, 2020

Describe the bug

Rubber boots won't protect you from pool of acid produced by an ant for no good reason. It's not like the pool is 30cm deep (and at the same only a few tiles wide, and fits the belly of an ant that is ready to produce another one after a minute).

Steps To Reproduce

Jump into ants/spitter zombie's spit in rubber boots.

Expected behavior

Acid only attacking feet.

Screenshots

Versions and configuration

  • OS: Linux
    • OS Version:
  • Game Version: 0.D-12624-gcc27d10dc8-dirty [64-bit]
  • Graphics Version: Curses
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food],
    Alternative Map Key [alt_map_key],
    No Rail Stations [No_Rail_Stations]
    ]

Additional context

@Oharo
Copy link

Oharo commented Feb 27, 2020

I think there could be a few reasons that would cause acid to harm a character's legs.

It could be indicative of acid bubbling up like bacon grease and splashing onto a survivor's legs. Or maybe they're splashing it like a rain puddle. Or, it could be the acid dissolving into caustic vapor as it dissipates.

I think instead of directly denying it from harming legs, perhaps it could not harm a survivor's legs when they're crouching, and do extra when they're running?

Apologies if the suggestions are unwelcome, I'm just spit balling here!

@l29ah
Copy link
Contributor Author

l29ah commented Feb 27, 2020

In fact this pisses me off because there's no acid-proof pants the survivor can craft now.

@Funguss
Copy link
Contributor

Funguss commented Feb 27, 2020

I'm guessing it's an oversight somewhere and not intentional. The thing about acid is that it's not clear enough what is and isn't intended behaviour. How much acid resistance does acid resistance give you? How much do you need to be safe from puddles of it? Is 100% coverage needed, and is it more or less valuable than resistance?

Thinking about it, acid needs an overhaul. Right now it's very generic. We could assume it's formic acid when produced by ants, but the same acid comes from spitter zombies which would likely be hydrochloric. That isn't great. Also, you can get concentrated acid from vehicle batteries (which would be sulfuric) and make a puddle of that. There's probably more I haven;t thought of. And they all react differently.

In fact this pisses me off because there's no acid-proof pants the survivor can craft now.

Biosilicified chitin armour greaves or chaps or whatever they are? But last time I tried that I got plenty of leg burns, so not really, no.

@ZhilkinSerg
Copy link
Contributor

In fact this pisses me off because there's no acid-proof pants the survivor can craft now.

Only hazmat probably.

@ZhilkinSerg ZhilkinSerg added (S2 - Confirmed) Bug that's been confirmed to exist Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Mechanics: Character / Player Character / Player mechanics labels Feb 28, 2020
@SirPendrak
Copy link
Contributor

There are no craftable pants, but there are craftable suits.

@Heaper327
Copy link

In terms of calculating the acid protection of clothes, my proposal is that clothes block acid damage at the cost of their own durability - much like how they block other types of damages.
Coverage will determine what percent of the acid damage the cloth takes: 100% coverage means that the cloth takes all the acid damage for the player.
Acid protection will determine how much durability the cloth loses when blocking acid damage: cloth whose acid protection is above certain threshold is immune to durability loss, and cloth whose acid protection is below that threshold will take less damage depends on their acid protection value. If we use rubber boots as a standard, we can make cloth with x points of acid protection take (1 - x/8) * 100% of the raw acid damage.
If the player is wearing multiple clothes, we can make the outer ones block acid before the inner ones, just like how outer pieces of cloth block hits before the inner pieces.
When the clothes are blocking acid damage, there should probably be messages like "Your pair of rubber boots blocked the corrosive acid for your feet!" Clothes being damaged by acid could have their unique damage message as well, such as "The corrosive acid burned holes in your cargo pants!"

@Funguss
Copy link
Contributor

Funguss commented Feb 29, 2020

The problem there is that a material will either react with an acid or it won't. If it does, then unless you remove the acid it's going to keep on reacting until it's inert. This is why acid types matter and why the protection values are just weird. Really, getting splattered in any concentrated acid should be bad unless you're wearing the right PPE, but we don't have enough info to work with.

Regarding coverage, we're going to get odd things if we treat it like that. Getting hit on the torso from the front would also cause damage to the backpack, belt, everything. It would be as if you submerged your torso, and just your torso, in acid.

@Heaper327
Copy link

Heaper327 commented Mar 2, 2020

The problem there is that a material will either react with an acid or it won't
Really, getting splattered in any concentrated acid should be bad unless you're wearing the right PPE

I agree that nothing short of some hazmat suit is not gonna stop concentrated acid from eating through. However, even normal day-to-day cloth should be able to win you a few turns of time before the acid start hurting you.

If it does, then unless you remove the acid it's going to keep on reacting until it's inert.

We could add a status effect "Covered in acid[X]" that damages a body part for X more turns after the player is no longer in acid to simulate the lasting effect of acid. The player could remove the acid covered cloth or wash themselves with water to remove the effect.

Getting hit on the torso from the front would also cause damage to the backpack, belt, everything.

An alternative way to involve coverage is to make coverage determine the chance of a piece of cloth blocking acid damage. This way a 25% coverage backpack has a 25% chance of blocking acid damage.

@Funguss
Copy link
Contributor

Funguss commented Mar 2, 2020

I agree that nothing short of some hazmat suit is not gonna stop concentrated acid from eating through. However, even normal day-to-day cloth should be able to win you a few turns of time before the acid start hurting you.

I think you're underestimating just how quickly liquids saturate and assuming too much about the acid, materials and the spray. The effects will vary massively depending on concentration, quantity and the materials coated, but depending on the acid and the material there may be a stronger or weaker reaction, or none at all (what I meant by PPE is it could mean the difference between being protected by a hazmat suit or by bag shoes and a plastic poncho, not that you'd always require the heavy stuff). Hydrochloric acid, for example, can be stored safely in most plastics at high concentrations. Nitric acid, at high concentrations, will react violently with almost all. This is why knowing what acid we're dealing with is important.

As an aside, it's hard to find data on formic acid, but it seems that even at 100% there may be a lot of materials that are resistant to it. Given that, I reckon rubber boots and a PVC poncho and trousers would give immunity to ant attacks.

Another consideration I forgot about was vapours and mist. Both of these could cause harm to a survivor. Depending on what acid you're up against a full body suit and gas mask may be the only way to escape certain death.

An alternative way to involve coverage is to make coverage determine the chance of a piece of cloth blocking acid damage. This way a 25% coverage backpack has a 25% chance of blocking acid damage.

Yee that's the way it's handled already in all cases unless I'm very much mistaken, with layers mattering. DoT makes sense, too, yeah.

Short term we could probably get away with buffing all plastic and rubber items, giving clothing with plastic some extra resistance, and get rid of all leg damage if the footwear is good enough. Also, I seem to remember dark green pools require higher resistance? That should stop being a thing.

Long term we need to see material diversity for plastics (currently happening IIRC) and acids (also being worked on) and see acid attacks use actual acid definitions instead of generic fields. Perhaps fields could be extended to draw from item or material defs in general.

Urgh, this came out longer than I intended, sorry. 😬 It seems I either say way too little or way too much.

@l29ah
Copy link
Contributor Author

l29ah commented Mar 3, 2020

https://web.archive.org/web/20190523111816/https://www.youtube.com/watch?v=XeVZQoJ5FdE it's much less dramatic than the current acid behaviour anyway (that leaves you legless after half a minute standing on it)

ZhilkinSerg pushed a commit that referenced this issue Jul 2, 2020
and tone down the immediate effect a little while we're at it
fixes #38416
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 (S2 - Confirmed) Bug that's been confirmed to exist
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants