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

Metabolizing bloodstream and hypervolemia #34521

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

nkokic
Copy link

@nkokic nkokic commented Jan 19, 2025

About the PR

Bloodstream now acts as metabolizing solution.
Changed blood loss damage scaling to be linear. Having blood loss now does double asphyxiation instead.
Added hypervolemia damage which causes minor slash with bleeding effect and asphyxiation.
Hypervolemia damage scales similarly with blood loss after HyperVolemiaThreshold in opposite direction.

Why / Balance

To increase medical immersion, punish reckless chemical dumping and make gluttony an actual concern.
Having disrupted blood level is now a big enough concern that it is not something to be shruged off.

Technical details

Mainly edited BloodstreamSystem and BloodstreamComponent to implement hypervolemia similarly to how blood loss is implemented.
Changed wherever DefaultChemicalsSolutionName was used in context of transferring chemicals or metabolizing, DefaultBloodSolutionName was put instead.
Due to how BloodstreamSystem treats BloodMaxVolume differently, I have changed its name to BloodReferenceVolume because it does not mean maximum volume anymore. (in C# and YAML files)
Maximum bloodstream solution is double of BloodReferenceVolume.
Blood level is calculated by bloodsolution volume / bloodReferenceVolume.
Made sure that charcoal's cleansing of chemicals does not flush blood reagents.
Made sure rejuvenating removes everything from bloodstream and then refills it with right amount of blood.
Saline also has been also turned down to be equal with blood.

Media

How hypervolemia looks on scanner and what's under the car hood:
image

Visual representation of damage scaling:
image

Requirements

Breaking changes

For forked repositories:
May cause issues if forks have custom mobs.
Change bloodMaxVolume into bloodReferenceVolume.

Changelog

🆑

  • add: Added guide entry about blood pressure and it's management
  • add: Added hypervolemia damage. Consists of asphyxiation and minor slash.
  • tweak: Bloodloss damage is applied linearly. Potentially more dangerous than usually.
  • tweak: Changed bloodloss damage to stronger asphyxiation damage only
  • tweak: Maximum blood level is now double of healthy blood level
  • tweak: Rerouted all chemicals that mob can take into bloodstream instead of chemical solution

@github-actions github-actions bot added S: Needs Review Status: Requires additional reviews before being fully accepted S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Denotes a PR that changes 100-999 lines. labels Jan 19, 2025
@nkokic nkokic changed the title Bloodstream Metabolizing bloodstream and hypervolemia Jan 19, 2025
@ScarKy0 ScarKy0 added P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. T: New Feature Type: New feature or content, or extending existing content T: Cleanup Type: Code clean-up, without being a full refactor or feature D2: Medium Difficulty: A good amount of codebase knowledge required. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it A: Core Tech Area: Underlying core tech for the game and the Github repository. A: Medical Area: Medical department, including Chemistry S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Jan 19, 2025
@Hrosts
Copy link
Contributor

Hrosts commented Jan 20, 2025

Time to bring back the true and tried practice of bloodletting! 🔪

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Core Tech Area: Underlying core tech for the game and the Github repository. A: Medical Area: Medical department, including Chemistry D2: Medium Difficulty: A good amount of codebase knowledge required. P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. S: Needs Review Status: Requires additional reviews before being fully accepted S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. size/M Denotes a PR that changes 100-999 lines. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it T: Cleanup Type: Code clean-up, without being a full refactor or feature T: New Feature Type: New feature or content, or extending existing content
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants