Files
Bubberstation/code/modules/surgery
Tim a90724dc32 Change liver to not purge toxins rapidly (#70764)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

Fixes #70762

The liver was purging toxins rapidly and it didn't matter how much
poison you would inject a food / drink / cigarette with, since it would
get purged before it could buildup to toxic levels.

My changes fix this by doing the following:

- Skips toxin `on_mob_life` effects and toxin damage if it is lower than
the 3u threshold
- Metabolizes the toxin at normal rate instead of purging when under the
3u threshold (this allows toxins to buildup while
eating/drinking/smoking)
- New formula to calculate liver damage `liver_damage +=
((toxin_units/15) * toxin.toxpwr) / liver_resistance`
- Liver is damaged based on the units of toxin present and their
lethality. Liver damage **IS NOT** skipped if toxin is lower than the 3u
threshold
- Change alien liver toxin resistance value to be -33% (from -40%) and
cybernetic liver toxin resistance value to be +50% (from +20%)

---

<details>
<summary>Liver damage per second from toxins</summary> 

There is a hard cap of 2 dmg per second that all the combined damage
can't go over. This should give someone suffering max liver damage about
a minute before it gets destroyed.

| Toxin | Power | 1u | 3u | 5u | 15u |
| ------------- | ------------- | ------------- | ------------- |
------------- | ------------- |
| Coffepowder | 0.5 |  0.03 dmg | 0.1 dmg | 0.16 dmg | 0.5 dmg |
| Plantbgone  | 1 |  0.06 dmg | 0.2 dmg | 0.33 dmg | 1 dmg |
| Amatoxin | 2.5 |  0.15 dmg | 0.5 dmg | 0.825 dmg | 2 dmg |

</details>

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

Fixes broken toxin system for liver.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
balance: Change liver to not purge toxins instantly for low amounts.
Instead the toxin effect gets skipped while it is metabolized normally,
however it still does liver damage. This fixes bite increments for food,
cigarettes, and drinks where the toxins would purge without building up
to harmful levels.
balance: Change the formula for how toxins effect livers. Livers will be
damaged based on the units of toxin present and their lethality.
balance: Change alien liver toxin resistance value to be -33% and
cybernetic liver toxin resistance value to be +50%
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2022-12-05 09:42:11 -08:00
..
2022-11-20 23:22:46 -08:00
2022-11-29 20:13:28 +00:00
2022-11-20 23:22:46 -08:00
2022-11-20 23:22:46 -08:00