diff --git a/addons/medical_gui/functions/fnc_updateBodyImage.sqf b/addons/medical_gui/functions/fnc_updateBodyImage.sqf
index 51a15945d3..7d3b6f03c5 100644
--- a/addons/medical_gui/functions/fnc_updateBodyImage.sqf
+++ b/addons/medical_gui/functions/fnc_updateBodyImage.sqf
@@ -22,6 +22,7 @@ params ["_ctrlGroup", "_target"];
private _tourniquets = GET_TOURNIQUETS(_target);
private _fractures = GET_FRACTURES(_target);
private _bodyPartDamage = _target getVariable [QEGVAR(medical,bodyPartDamage), [0, 0, 0, 0, 0, 0]];
+private _damageThreshold = GET_DAMAGE_THRESHOLD(_target);
private _bodyPartBloodLoss = [0, 0, 0, 0, 0, 0];
{
@@ -70,6 +71,21 @@ private _bodyPartBloodLoss = [0, 0, 0, 0, 0, 0];
[_bloodLoss] call FUNC(bloodLossToRGBA);
} else {
private _damage = _bodyPartDamage select _forEachIndex;
+ switch (true) do { // torso damage threshold doesn't need scaling
+ case (_forEachIndex > 3): { // legs: index 4 & 5
+ _damageThreshold = LIMPING_DAMAGE_THRESHOLD * 4;
+ };
+ case (_forEachIndex > 1): { // arms: index 2 & 3
+ _damageThreshold = FRACTURE_DAMAGE_THRESHOLD * 4;
+ };
+ case (_forEachIndex == 0): { // head: index 0
+ _damageThreshold = _damageThreshold * 1.25;
+ };
+ default { // torso: index 1
+ _damageThreshold = _damageThreshold * 1.5
+ };
+ };
+ _damage = (_damage / _damageThreshold) min 1;
[_damage] call FUNC(damageToRGBA);
};
diff --git a/addons/medical_gui/functions/fnc_updateInjuryList.sqf b/addons/medical_gui/functions/fnc_updateInjuryList.sqf
index b0bf76fe45..d6f650f8a8 100644
--- a/addons/medical_gui/functions/fnc_updateInjuryList.sqf
+++ b/addons/medical_gui/functions/fnc_updateInjuryList.sqf
@@ -33,6 +33,43 @@ private _bodyPartName = [
_entries pushBack [localize _bodyPartName, [1, 1, 1, 1]];
+// Damage taken tooltip
+if (GVAR(showDamageEntry)) then {
+ private _bodyPartDamage = (_target getVariable [QEGVAR(medical,bodyPartDamage), [0, 0, 0, 0, 0, 0]]) select _selectionN;
+ if (_bodyPartDamage > 0) then {
+ private _damageThreshold = GET_DAMAGE_THRESHOLD(_target);
+ switch (true) do {
+ case (_selectionN > 3): { // legs: index 4 & 5
+ _damageThreshold = LIMPING_DAMAGE_THRESHOLD * 4;
+ };
+ case (_selectionN > 1): { // arms: index 2 & 3
+ _damageThreshold = FRACTURE_DAMAGE_THRESHOLD * 4;
+ };
+ case (_selectionN == 0): { // head: index 0
+ _damageThreshold = _damageThreshold * 1.25;
+ };
+ default { // torso: index 1
+ _damageThreshold = _damageThreshold * 1.5;
+ };
+ };
+ _bodyPartDamage = (_bodyPartDamage / _damageThreshold) min 1;
+ switch (true) do {
+ case (_bodyPartDamage isEqualTo 1): {
+ _entries pushBack [localize LSTRING(traumaSustained4), [_bodyPartDamage] call FUNC(damageToRGBA)];
+ };
+ case (_bodyPartDamage >= 0.75): {
+ _entries pushBack [localize LSTRING(traumaSustained3), [_bodyPartDamage] call FUNC(damageToRGBA)];
+ };
+ case (_bodyPartDamage >= 0.5): {
+ _entries pushBack [localize LSTRING(traumaSustained2), [_bodyPartDamage] call FUNC(damageToRGBA)];
+ };
+ case (_bodyPartDamage >= 0.25): {
+ _entries pushBack [localize LSTRING(traumaSustained1), [_bodyPartDamage] call FUNC(damageToRGBA)];
+ };
+ };
+ };
+};
+
// Indicate if unit is bleeding at all
if (IS_BLEEDING(_target)) then {
_entries pushBack [localize LSTRING(Status_Bleeding), [1, 0, 0, 1]];
@@ -78,10 +115,10 @@ if (_target call EFUNC(common,isAwake)) then {
private _pain = GET_PAIN_PERCEIVED(_target);
if (_pain > 0) then {
private _painText = switch (true) do {
- case (_pain > 0.5): {
+ case (_pain > PAIN_UNCONSCIOUS): {
ELSTRING(medical_treatment,Status_SeverePain);
};
- case (_pain > 0.1): {
+ case (_pain > (PAIN_UNCONSCIOUS / 5)): {
ELSTRING(medical_treatment,Status_Pain);
};
default {
diff --git a/addons/medical_gui/initSettings.sqf b/addons/medical_gui/initSettings.sqf
index eb6a36bac6..c1d02d7131 100644
--- a/addons/medical_gui/initSettings.sqf
+++ b/addons/medical_gui/initSettings.sqf
@@ -109,6 +109,15 @@ private _categoryColors = [ELSTRING(medical,Category), format ["| %1 |", LELSTRI
] call CBA_fnc_addSetting;
} forEach _damageColors;
+[
+ QGVAR(showDamageEntry),
+ "CHECKBOX",
+ [LSTRING(showDamageEntry_DisplayName), LSTRING(showDamageEntry_Description)],
+ [ELSTRING(medical,Category), LSTRING(SubCategory)],
+ false,
+ true
+] call CBA_fnc_addSetting;
+
[
QGVAR(showBloodlossEntry),
"CHECKBOX",
diff --git a/addons/medical_gui/stringtable.xml b/addons/medical_gui/stringtable.xml
index e7cda25af9..afcd58b6e4 100644
--- a/addons/medical_gui/stringtable.xml
+++ b/addons/medical_gui/stringtable.xml
@@ -1250,5 +1250,29 @@
Показывать тяжесть кровопотери в списке ранений.
Mostrar la pérdida de sangre cualitativa en la lista de heridas.
+
+ Show Trauma Sustained
+ Mostrar Traumatismo Sofrido
+
+
+ Show trauma sustained in the injury list.
+ Mostrar traumatismo sofrido na lista de feridas.
+
+
+ Minor Trauma
+ Traumatismo Leve
+
+
+ Major Trauma
+ Traumatismo Significante
+
+
+ Severe Trauma
+ Traumatismo Severo
+
+
+ Chronic Trauma
+ Traumatismo Crônico
+