Skip to content

Conversation

@screret
Copy link
Contributor

@screret screret commented Oct 12, 2025

What

  • Fixed medical conditions caused by holding hazardous materials (e.g. cancer from uranium) not updating correctly.
  • Added some much needed documentation to the system and made the /medical_condition query command's output nicer to read.
  • Rebalanced the medical conditions so their symptoms take longer to apply and aren't as drastic

I also chose to remove berylliosis and silicosis entirely, as they didn't actually do much and were just annoying to have around.

Implementation Details

  • MADE MEDICAL CONDITIONS USE AN ACTUAL REGISTRY INSTEAD OF A MAP
    • this shouldn't affect anyone too much, as I don't know anyone who actually used the system
  • Fixed invulnerability/hitstun/etc. breaking the death symptom
  • Fixed high levels of resistance being able to block medical condition damage (like death.)
  • Fixed the player's max health not updating until they take damage
  • Fixed the player's max breath (the air bubbles) not updating at all
  • Made the hazardous item tracker respect the held items' stack sizes and material amounts where they previvously didn't.
  • Renamed some methods' parameters to make more sense and added clarifying comments to them & others
  • Added separate lang keys for conditions affecting a player so the output of /medical_condition query makes sense. It now display something like this (1) instead of the previous (2)

new display

Player Dev has
Cancer for 10 minutes 5 seconds

old display

Player Dev has these medical conditions:
Condition Carcinogenic: 10 minutes 5 seconds

Outcome

  • The player's health and air is actually displayed as going down
  • The player gets the intermediate symptoms instead of, say, randomly dying from cancer
  • People won't get blinded by methanol the instant they touch it
  • Cancer now takes much longer to do anything drastic, and after that, the effects take longer to reach their full potential

Additional Information

Balance people should look over the tweaks at least a bit

Potential Compatibility Issues

The change to a "real" registry could make some people have issues but, as already mentioned, I don't know anyone who used the system.

screret added 25 commits October 2, 2025 16:05
most uses required the concrete class anyway
@screret screret requested a review from a team as a code owner October 12, 2025 15:38
repositories {
mavenLocal()
mavenCentral()
// force gradle to download FastUtil from the central maven so we can get source artifacts
Copy link
Contributor

Choose a reason for hiding this comment

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

This should be made into its own PR

# Conflicts:
#	src/generated/resources/assets/gtceu/lang/en_ud.json
#	src/generated/resources/assets/gtceu/lang/en_us.json
#	src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java
#	src/main/resources/assets/gtceu/lang/uk_ua.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants