Feature: Added Canon Disease & Bioweapon Support; Added Disease Glossary Entry; Added Herd Immunity Mechanics; Added Ageranium's Disease & Dobrowski Depression-A Syndrome Flaws#8476
Conversation
…ary Entry; Added Herd Immunity Mechanics
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #8476 +/- ##
============================================
+ Coverage 12.48% 12.61% +0.12%
- Complexity 7553 7563 +10
============================================
Files 1294 1295 +1
Lines 166215 167265 +1050
Branches 25055 25165 +110
============================================
+ Hits 20758 21100 +342
- Misses 143455 144165 +710
+ Partials 2002 2000 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR introduces comprehensive support for ~50 canonical diseases and bioweapon attacks in the BattleTech universe, along with herd immunity mechanics and two hereditary disease flaws (Ageranium's Disease and Dobrowski Depression-A Syndrome). The implementation refactors fatigue tracking to distinguish between direct and adjusted values, updates the injury removal system to track recovery dates for immunity purposes, and adds extensive disease-specific inoculation mechanics.
Key changes:
- Fatigue system split into
getFatigueDirect()andgetAdjustedFatigue()to handle disease/flaw modifiers - Injury removal now requires a date parameter to track when characters develop antibodies
- New canonical disease system with time-based outbreaks, cures, and system-specific tracking
- Herd immunity prevents reinfection once recovered from a disease
Reviewed changes
Copilot reviewed 43 out of 43 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| Person.java | Added adjusted fatigue calculation, canonical disease inoculation tracking, and immunity system |
| Inoculations.java | Expanded inoculation system for canonical diseases with cure availability tracking |
| CanonicalDiseaseType.java | New enum defining ~50 diseases with outbreak dates, locations, and cure availability |
| AlternateInjuries.java | Added disease/bioweapon injury type implementations |
| AbstractProcreation.java | Added hereditary disease transmission to offspring |
| InjurySubType.java | Added DISEASE_CANON_GENERIC and DISEASE_CANON_BIOWEAPON subtypes |
| Multiple test files | Updated to use getFatigueDirect() instead of getFatigue() |
| Multiple GUI files | Updated fatigue displays to use getAdjustedFatigue() |
| Resource files | Added disease descriptions, glossary entries, and dialog text |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…rnate/Inoculations.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rnate/Inoculations.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tion.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rnate/Inoculations.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rnate/Inoculations.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
# Conflicts: # MekHQ/src/mekhq/campaign/personnel/Person.java # MekHQ/src/mekhq/gui/campaignOptions/CampaignOptionsPane.java
# Conflicts: # MekHQ/src/mekhq/campaign/personnel/medical/advancedMedical/InjuryTypes.java
# Conflicts: # MekHQ/src/mekhq/campaign/personnel/medical/advancedMedical/InjuryTypes.java # MekHQ/src/mekhq/campaign/personnel/medical/advancedMedicalAlternate/AlternateInjuries.java
|
This is now ready for review |
Requires Task: Added Data Support for Ageranium's Disease & Dobrowski Depression-A Syndrome Flaws
This PR introduces support for around 50 canonical diseases and bioweapon attacks.
It also expands our disease mechanics to include herd immunity. Once a character has been infected with a disease they cannot be reinfected. This means players can risk skipping inoculations and gamble that any infections that occur will be mild. This also ensures that players don't find themselves in a situation where their campaign breaks down because they don't have enough money to pay for medication.
Finally, it adds support for two hereditary diseases. Dobrowski Depression-A Syndrome, and the Kaer Pathogen bioweapon. The latter of which includes its' canonical infliction of birth defects in the offspring of characters infected with the disease.