Skip to content

Commit 7fecc25

Browse files
authored
Merge pull request #8253 from IllianiBird/toughnessAAM
Improvement: Toughness Now Reduces Injury Modifier to Healing in Alt Advanced Medical; Updated Glossary
2 parents df27075 + ec38399 commit 7fecc25

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

MekHQ/resources/mekhq/resources/GlossaryEntry.properties

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,20 @@ ALT_ADVANCED_MEDICAL.definition=In 2009 Advanced Medical was introduced to add e
124124
roll is made. If this final roll is also a 6, then the injury is as severe as possible: if the primary location is a\
125125
\ limb, the limb is completely severed (fatal, if the 'limb' was the head). Otherwise, recovery time is increased \
126126
further (to the maximum of +300%).</p>\
127+
<h2>Hits</h2>In the original Advanced Medical an injury was worth a number of Hits (TW-scale damage) equal to its \
128+
severity (a semi-random value). This made it difficult to know how badly injured your character was. In AAM all \
129+
injuries are worth one Hit each.\
130+
<p>Prosthetics and implants apply an 'injury' to the character. These are not true injuries and are included only \
131+
as a record (and a way for us to apply the modifiers from those surgeries). These injuries are not factored into \
132+
the character's Hits (or injury penalty, see below).\
133+
<p>Similarly, the various injuries added by Flaws (such as addictions) are not factored into the character's Hits. \
134+
This is to prevent characters from being killed by crippling flashbacks.</p>\
127135
<h2>Injury Penalty</h2>\
128136
All healing attempts suffer a penalty equal to the number of non-prosthetic injuries the patient currently has. \
129137
For example, a character with a prosthetic leg, a fractured skull, and heart trauma would apply a -2 penalty to all \
130138
healing checks made to tend to any of their injuries.\
139+
<p>A character's injury penalty is reduced by their Toughness score (if any). A character with negative Toughness \
140+
will increase the injury penalty, so beware!</p>\
131141
<h2>Prosthetic Penalty</h2>\
132142
Interstellar Operations, page 70, states that a -4 penalty is applied to any attempt made to heal a character with \
133143
cybernetics or prosthetics. While this penalty does exist in AAM, it only applies to injuries (technically damage) \

MekHQ/src/mekhq/campaign/personnel/medical/advancedMedicalAlternate/AdvancedMedicalAlternateHealing.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
*/
3333
package mekhq.campaign.personnel.medical.advancedMedicalAlternate;
3434

35+
import static java.lang.Math.max;
3536
import static mekhq.campaign.personnel.PersonnelOptions.ATOW_FIT;
3637
import static mekhq.campaign.personnel.PersonnelOptions.ATOW_TOUGHNESS;
3738
import static mekhq.campaign.personnel.PersonnelOptions.EDGE_MEDICAL;
@@ -188,7 +189,7 @@ public static void performUnassistedHealingCheck(LocalDate today, boolean isUseF
188189
for (Injury injury : new ArrayList<>(patient.getInjuries())) {
189190
if (!injury.isPermanent()) {
190191
// This needs to be refetched each cycle as the number of concurrent injuries might have changed
191-
int injuryPenalty = patient.getTotalInjurySeverity();
192+
int injuryPenalty = max(0, patient.getTotalInjurySeverity() - patient.getAdjustedToughness());
192193

193194
injury.changeTime(-1);
194195
int miscPenalty = getMiscPenalty(injuryPenalty, prostheticPenalties, injury.getLocation());
@@ -299,7 +300,7 @@ public static void performAssistedHealingCheck(LocalDate today, boolean isUseFat
299300
for (Injury injury : new ArrayList<>(patient.getInjuries())) {
300301
if (!injury.isPermanent()) {
301302
// This needs to be refetched each cycle as the number of concurrent injuries might have changed
302-
int injuryPenalty = patient.getTotalInjurySeverity();
303+
int injuryPenalty = max(0, patient.getTotalInjurySeverity() - patient.getAdjustedToughness());
303304

304305
injury.changeTime(-1);
305306

0 commit comments

Comments
 (0)