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

Add persistent boomer bile effect that causes a stench and skin irritation #74920

Merged
merged 33 commits into from
Jul 23, 2024

Conversation

zachary-kaelan
Copy link
Contributor

@zachary-kaelan zachary-kaelan commented Jul 5, 2024

Summary

Features "Add persistent boomer bile effect that causes a stench and skin irritation"

Purpose of change

Reimplementation of a piece of #71964 by @fairyarmadillo, and a follow-up to #74681.

Getting covered in corpse bile should have a few lasting effects.

Describe the solution

  • After getting boomered, you get bile_stink for 10 minutes, or an extra 5 minutes if you already had it.
    • It gives you a strong stench that will make it easier for zombies to track you.
    • The vomit chance modifier was moved from boomered to bile_stink
  • You also get bile_irritant for 4-7 minutes, or an extra 2-3.5 minutes if you already have it.
    • There are a few protective suits and a number of mutations with the IRRITANT_IMMUNE flag that prevent it.
    • It causes pain and reduced health, up to a cap, and it's resisted by POISRESIST or being wet.
    • You can go swimming or use a towel to remove it.
  • You get a morale penalty of 6 if the bile touches your skin, 3 if it doesn't.
    • If you are SQUEAMISH then the penalty is 24 if it touches your skin, 6 if it doesn't.
    • The morale penalty lasts the same duration as bile_stink.
    • If you're mutated to eat rotten food or zombie corpses, or if you're made of slime, then you don't mind nearly as much.

Describe alternatives you've considered

Making boomer bile a healthy part of a balanced breakfast.

Testing

Added boomered effect, gave me the stank and the hurt and the ick. Added SQUEAMISH and ick got big. Put on a hazmat suit and less ick and no hurt.

Additional context

The morale penalty from getting biled with the drastic increase from being SQUEAMISH is a compromise that allows bile to ruin someone's day without making clothes filthy.

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Code: Tests Measurement, self-control, statistics, balancing. [C++] Changes (can be) made in C++. Previously named `Code` EOC: Effects On Condition Anything concerning Effects On Condition <Enhancement / Feature> New features, or enhancements on existing labels Jul 5, 2024
data/json/effects.json Outdated Show resolved Hide resolved
data/json/effects.json Outdated Show resolved Hide resolved
data/json/effects.json Outdated Show resolved Hide resolved
data/json/effects.json Outdated Show resolved Hide resolved
data/json/effects.json Outdated Show resolved Hide resolved
@github-actions github-actions bot added json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions labels Jul 6, 2024
@ADekema
Copy link

ADekema commented Jul 6, 2024

I do like bile doing more than it currently does but I do scratch my head at some of the effect you are trying to implement:

  1. Why would bile cause you pain. I could understand skin irritation it giving a chance to make you itchy but pain seems a bit exessive.
  2. Directly lowering health with bile seems probematic. Things that directly lower health are things like drugs or direct exposure to radiation or smoke. Things that are directly detrimental to your health. Bile itself is not detrimental to your health directly. It is very unhygenic and can make you sick and getting sick is bad for your health. This however should idealy be part of a larger systeem of hygiene and cleanliness that allows you to get sick form other discusting things like zombie guts and blood covering you.
  3. Why do you get boomed but your clothing remain clean? Getting your shirt vomited on with rotting corpse bile would probably make it nearly as nasty if just as nasty as the filthy clothes zombies where. So why not make clothing that gets vomited on filthy?

@zachary-kaelan
Copy link
Contributor Author

  1. Why would bile cause you pain.

It's assumed to be blob-evolved bile that's more acidic but not on the same level as acidic zombies.

  1. Directly lowering health with bile seems probematic. Things that directly lower health are things like drugs or direct exposure to radiation or smoke.

Unhealthy components of the evolved bile are assumed to be absorbable through the skin.

This however should idealy be part of a larger systeem of hygiene and cleanliness that allows you to get sick form other discusting things like zombie guts and blood covering you.

That might be a thing later on, but it's outside of the scope of this PR.

  1. Why do you get boomed but your clothing remain clean

Why are you able to butcher corpses and your clothing remains clean? It would be too tedious to deal with.

@worm-girl
Copy link
Contributor

worm-girl commented Jul 6, 2024

It is very unhygenic and can make you sick and getting sick is bad for your health.

Getting unhealthy from getting sick is a feedback loop and should be avoided. Either a thing should get you sick, or it should be unhealthy. Given that the obvious health risks from dealing with corpses are not presently coded, lifestyle seems like a fine way to simplify it until it is. Ditto for wading around in sewer water.

I don't think it should cause pain - leave that to actual acid. It should just be gross and make you stinky.

I can think of few things I would want on me less than the putrified contents of a cadaver's abdomen. I would go to extremes to avoid even being near the stuff, let alone getting it on me. It doesn't need fantasy superpowers to be that bad in terms of game mechanics. Ruining a character's morale, making them smell strongly, and harming their health are good enough.

This probably isn't possible now without hardcoding, but bile could also present a filth risk to existing open wounds. It might be worth seeing if that's EOC-able. That could be done instead of the -health thing.

@ADekema
Copy link

ADekema commented Jul 6, 2024

Getting unhealthy from getting sick is a feedback loop and should be avoided. Either a thing should get you sick, or it should be unhealthy. Given that the obvious health risks from dealing with corpses are not presently coded, lifestyle seems like a fine way to simplify it until it is. Ditto for wading around in sewer water.

The problem I have with this from a player perspective is that negative effects related to filth and biological hazards aren´t implemented and aren´t a hazard or hinderence to the player. Players therefore have the expectation that this is something they don´t have to worry about. Making boomers the only thing in the game that have such a negative effect on your health becease it is a biological hazard breaks this expectation without the player having any way to reasonably know about it. Leading to a situation where players find their health being tanked without knowing why. This doesn´t make for good gameplay nor is it good design. It would just be a very frustarating feature that doesn´t add much. You would be much better to make it so that that boomers make your clothing filthy. Atleast that way it is very apparent to the player how the mechanic works and adds a reason to avoid getting boomed that isn´t as insidious and ruines to the player.

@worm-girl
Copy link
Contributor

worm-girl commented Jul 6, 2024

They only have that explanation because it hasn't thus far been implemented. Implementing it would quickly solve the problem you've described.

To remain healthy, people should avoid ingesting poisons, getting irradiated, or bathing in filth. What's not to get?

I previously tried to make boomers filthify clothing and Kevin said it was a hard no.

It's also a little silly to describe a minor health malus as "ruinous" to the player. Wear protective clothing or dodge the bile. It's also incredibly easy to keep lifestyle maxed with almost no effort because so few things negatively affect it.

@zachary-kaelan
Copy link
Contributor Author

zachary-kaelan commented Jul 7, 2024

You'll lose an average of maybe 1 health for every bile booming, and that's assuming you don't use a towel or go swimming to remove it immediately. The pain chance is also minimal. I've been very generous.

Avoiding getting covered in bile should be intuitive. If someone decides to bathe in it whenever possible then there should be consequences. Players will learn that throwing rocks or other random items at boomers to finish them off is good for their health.

Despite being the one implementing this, I will probably continue taking every boomer to the face, of course, until I make it annoying enough that I thumbs down my own PRs.

@zachary-kaelan
Copy link
Contributor Author

Directly lowering health with bile seems problematic.

I did some more thinking and reading of the docs, and changed it so it's a modifier of "daily health" rather than a direct modifier to health.

bile could also present a filth risk to existing open wounds

For now I added it so that incoming bites last 50% longer (providing more time for an infection to develop).

A future PR can add some kind of new filth "vitamin" that increments from getting hit by bile and wearing filthy clothing, among other things.

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jul 14, 2024
@zachary-kaelan zachary-kaelan marked this pull request as ready for review July 14, 2024 19:36
@kevingranade kevingranade merged commit aa5d1b1 into CleverRaven:master Jul 23, 2024
20 of 26 checks passed
@kevingranade
Copy link
Member

This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/soiled-clothing/29534/14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` Code: Tests Measurement, self-control, statistics, balancing. <Enhancement / Feature> New features, or enhancements on existing EOC: Effects On Condition Anything concerning Effects On Condition [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants