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

Introduction of lungrot as a complication of salbutamol usage in areas with miasma #15908

Merged
merged 5 commits into from Oct 28, 2023

Conversation

M-Earthfire
Copy link
Contributor

@M-Earthfire M-Earthfire commented Sep 20, 2023

[CHEMISTRY][FEATURE]

About the PR

This PR adds a new chemical: lungrot
lungrot bloom is a toxic fungus created by the following recipe:

(1) miasma + (0.1) salbutamol -> (1) lungrot bloom

This recipe has a 0.5 reaction time, no reaction sound or message and can only take place in carbon-based mobs, e.g. humans or monkeys. This reaction cannot take place if robustissin is in the person. Also, it will only create lungrot bloom until 15u have accumulated in a person.

lungrot bloom, when hitting the treshold of 7.5u (should be around 15u miasma) will make the person contract lungrot. Also, 1u of lungrot bloom decays into 1u miasma.

Lungrot is a disease with 5 stages. It has the following effect:

  • make the person suffer 0.2/0.4/0.5/0.5/0.5 tox damage each cycle
  • make the person generate 0.8/1/1.2/1.5 miasma in their bloodstream each cycle
  • adds a 0/5/8/12/17% chance each cycle to cough out some chems in your bloodstream and additional miasma. This effect has a 15 second cooldown. This generates a cloud of 0/3-8/8-12/12-18/18-28u of miasma. Also, it transfers chemicals out of your bloodstream into the cloud equal to 35% of the amount of miasma generated.

The cure for this disease is robustissin. The cure chance is a measily 1% if any salbutamol is in the person left (any amount of robustissin turns the disease immediatly remissive). Once all salbutamol is out of the person, the chance jumps out to 20%, making it an effective cure. Also, while remissive, the disease is treated as 2 stages lower than it actually is.

Why's this needed?

This recipe adds a complication to the medical system. If medbay does not take care of decomposing corpses in medbay, treating people with salbutamol can accidently create lungrot bloom in people.

The inspiration for this is the risk factor of salbutamol inhalers to promote mouth trush. Since this is a silly spess game, this risk factor for a mundane issue is jacked up to 11.

In general, though, the only effect this has is making the problem with miasma in people worse. This gives doctors plenty of time to treat the disease. Also, mixing salbutamol with robustissin supresses the reaction in general, which gives witty doctors an additional angle to show their skill.

Since in general salbutamol is rarely used in medbay, this is not something that is encountered too often in medbay. I assume this is much more encountered when people try to uses buffmixes with salbutamol.

For antags, this creates an interesting mechanic, especially for doctors. Since salbutamol is on the medbay whitelist, antag doctors can inject people in miasma-loaded areas with salbutamol and, due to the stealthy reaction, can effectively poison them and further spread miasma.

On the other hand, antags can mix pure lungrot bloom with toxins to cause people to cough out the chemicals and spread parts of them to other victims. Pure lungrot is hard to isolate, though (e.g. it smokes the area while you try to isolate it out of monkeys)

To summarize, this chem adds a further incentive to take care of corpses in medbay while increasing the skill ceiling of treatment. Also, this features a problem for buffmix abusers and enables antags to create interesting effects by smoking chemicals in people.

Changelog

(u)Lord_Earthfire
(*)Miasma-exposure to people with salbutamol in them causes the creation of lungrot bloom. This toxic fungus causes lungrot, causing people to cough out more miasma!

@keywordlabeler keywordlabeler bot added A-Chemistry Deals with the chemistry system in some way C-Feature A new feature or enhancements to existing features labels Sep 20, 2023
@github-actions github-actions bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Sep 20, 2023
@TheTyrant25
Copy link
Contributor

pathology returns...
Just kidding
I like the coughing miasma/lungrot idea.

@M-Earthfire
Copy link
Contributor Author

pathology returns... Just kidding I like the coughing miasma/lungrot idea.

Completely honest, i was thinking about turning this into a disease chemical. But personally i found that to be far too punishing for how hard diseases are to treat/mitigate.

Copy link
Contributor

@Kyle2143 Kyle2143 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Completely honest, i was thinking about turning this into a disease chemical. But personally i found that to be far too punishing for how hard diseases are to treat/mitigate.

This really should be a disease/malady instead of a chemical. It doesn't need to be a pathology disease, you can make them easy to treat. The system is a bit more obtuse than reagent, but it really doesn't make sense to make a "disease" into a reagent just because it should be simple to cure. There are simple to cure diseases like the Cold or Shock, you can look to them for ideas if that helps.

@M-Earthfire
Copy link
Contributor Author

M-Earthfire commented Sep 20, 2023

This really should be a disease/malady instead of a chemical. It doesn't need to be a pathology disease, you can make them easy to treat. The system is a bit more obtuse than reagent, but it really doesn't make sense to make a "disease" into a reagent just because it should be simple to cure. There are simple to cure diseases like the Cold or Shock, you can look to them for ideas if that helps.

It's less that its only "not easy to cure". It's more "i will need to hardcode a lot to make it feel as responsible as something utilizing the chemical system". The disease/malady system doesn't offer much what feels good to play, like all-or-nothing curing methods or stage progression based on random chance each cycle. It's more or less stuff i will need to utilize list/strain_data to control properly. I am able to drop overhead by utilizing chems and the reaction/purging/decay mechanics instead.

Of course i can rework it into a disease chem, though.

@TobleroneSwordfish
Copy link
Contributor

I agree with Kyle, it seems like a waste for the cure to just be pumping purgatives in.

@github-actions github-actions bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Sep 20, 2023
@M-Earthfire
Copy link
Contributor Author

M-Earthfire commented Sep 20, 2023

I reworked it into a disease chem. Instead of hacking a cycle counter in and manually adjust the stage, i just went and used to mechanics of the disease. I think it feels alright like this ingame .

I went with robustissin as the cure, but only when all of the salbutamol is purged out of the system. I think that is a good stepping stone away from being "one injection and it's gone" and gives some interesting mechanic to cure it.

code/modules/medical/diseases/lungrot.dm Outdated Show resolved Hide resolved
id = "lungrot_bloom"
description = "highly toxic fungal colonies created in the enviroment of a weakened lung."
reagent_state = SOLID
minimum_to_infect = 2.5
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Considering the likelyhood of walking into a random miasma cloud while using salbutamol, either this number should be much higher or the amount produced should be much lower.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reaction rate + depletion rate is iffy to balance. I tested it with the standard treshhold before and 10u miasma was not enough to trigger the disease.

What exposure of miasma would be a good treshold for infection? I think around 10 - 15u miasma, or maybe 20.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed a few things. Minimum to infect is 7.5 now and lungrot decays into miasma. From my tests, 15u miasma is just barely enough to hit this treshold for non-slow-metabolism humans (it peaks at 8u once all miasma is gone). Also, the reaction stops completely when it hits 15u of lungrot bloom, to stop the reaction from consuming all the miasma the disease creates itself.

code/modules/medical/diseases/lungrot.dm Show resolved Hide resolved
Copy link
Contributor

@TobleroneSwordfish TobleroneSwordfish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cautious yes, may need further balancing.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 7, 2023

This PR has been inactive for two weeks, and has been automatically marked as stale. This means it is at risk of being auto closed in another week. Please address any outstanding review items and ensure your PR is finished. If you are auto-staled anyway, ask developers if your PR will be merged. Once you have done any of the previous actions then you should request a developer remove the stale label on your PR, to reset the stale timer. If you feel no developer will respond in that time, you may wish to close this PR youself, while you seek developer comment, as you will then be able to reopen the PR yourself.

@github-actions github-actions bot added the S-Stale An inactive PR that has had no updates in the past two weeks label Oct 7, 2023
@github-actions github-actions bot removed the S-Stale An inactive PR that has had no updates in the past two weeks label Oct 8, 2023
@TobleroneSwordfish TobleroneSwordfish merged commit ccf1762 into goonstation:master Oct 28, 2023
21 checks passed
github-actions bot pushed a commit that referenced this pull request Oct 28, 2023
@M-Earthfire M-Earthfire deleted the lungrot_poison branch March 3, 2024 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Chemistry Deals with the chemistry system in some way C-Feature A new feature or enhancements to existing features size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants