From 61837ccbcbf080ac9064d640abb6566cb5ca3fe0 Mon Sep 17 00:00:00 2001
From: mazinskihenry <33608576+mazinskihenry@users.noreply.github.com>
Date: Thu, 20 Feb 2025 16:11:56 +0000
Subject: [PATCH 1/5] Circulation - Fix fnc_checkPulseLocal
---
addons/circulation/functions/fnc_checkPulseLocal.sqf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/circulation/functions/fnc_checkPulseLocal.sqf b/addons/circulation/functions/fnc_checkPulseLocal.sqf
index 6220dddb8..51ae90678 100644
--- a/addons/circulation/functions/fnc_checkPulseLocal.sqf
+++ b/addons/circulation/functions/fnc_checkPulseLocal.sqf
@@ -37,7 +37,7 @@ private _heartRateOutput = ACELSTRING(medical_treatment,Check_Pulse_Output_5);
private _logOutput = ACELSTRING(medical_treatment,Check_Pulse_None);
if (_heartRate > 1) then {
- if ([_medic, QACEGVAR(medical,numericalPulse)] call FUNC(isMedic)) then {
+ if ([_medic, QACEGVAR(medical,numericalPulse)] call ACEFUNC(medical_treatment,isMedic)) then {
if (GVAR(hardcoreDiagnose)) then {
_heartRateOutput = LSTRING(Check_Pulse_Output);
_logOutput = format [LLSTRING(Pulse_Output), (round(_heartRateOutput / 5) * 5)];
From 76cc81f41c0d7be605732127178c1bd41f75f692 Mon Sep 17 00:00:00 2001
From: Apricot <50947830+Apricot-ale@users.noreply.github.com>
Date: Fri, 21 Feb 2025 06:30:17 +0900
Subject: [PATCH 2/5] Translation - Improve Japanese and Fix Chinese (3.0.6)
(#734)
**When merged this pull request will:**
- Update Japanese
- Fix Chinese stringtable
### IMPORTANT
- [Development Guidelines](https://ace3.acemod.org/wiki/development/)
are read, understood and applied.
- Title of this PR uses our standard template `Component -
Add|Fix|Improve|Change|Make|Remove {changes}`.
---
AUTHORS.txt | 3 ++-
addons/breathing/stringtable.xml | 8 +++++---
addons/circulation/stringtable.xml | 18 ++++++++++++++++++
addons/pharma/stringtable.xml | 13 +++++++++----
4 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/AUTHORS.txt b/AUTHORS.txt
index b6a0d2f60..81bb28a7a 100644
--- a/AUTHORS.txt
+++ b/AUTHORS.txt
@@ -40,4 +40,5 @@ Eughenos
Solbak
Tapawingo
apo_tle
-Aaren
\ No newline at end of file
+Aaren
+Apricot_ale
\ No newline at end of file
diff --git a/addons/breathing/stringtable.xml b/addons/breathing/stringtable.xml
index 732c4758e..90e62e51c 100644
--- a/addons/breathing/stringtable.xml
+++ b/addons/breathing/stringtable.xml
@@ -978,7 +978,7 @@
Увеличивает вероятность возникновения пневмоторакса и прогрессирующего пневмоторакса в зависимости от полученного повреждения, если оно превышает порог повреждения от пневмоторакса
Verhoogt de kans op een (geadvanceerde) pneumothorax wanneer de schade hoger is dan de drempelwaarde
Aumentare la probabilità che si verifichi un pneumotorace e un pneumotorace avanzato in base al danno subito, se oltre la soglia di danno del pneumotorace
- 若損傷超過氣胸損傷閾值,則根據所受損傷增加發生氣胸和進階氣胸的機率。
+ 若損傷超過氣胸損傷閾值,則根據所受損傷增加發生氣胸和進階氣胸的機率。
如果超过气胸损伤阈值,则根据所受损伤增加气胸和晚期气胸发生的概率
@@ -2227,7 +2227,7 @@
Tyhjä kannettava happisäiliö (150L)
Пустой переносной кислородный баллон (150 л)
Lege draagbare zuurstoftank (150L)
- 空的可攜式氧氣罐 (150公升)=
+ 空的可攜式氧氣罐 (150公升)
空便携式氧气罐(150L)
@@ -2244,7 +2244,7 @@
Tyhjä kannettava happisäiliö (300L)
Пустой переносной кислородный баллон (300 л)
Lege draagbare zuurstoftank (300L)
- 空的可攜式氧氣罐 (300公升)=
+ 空的可攜式氧氣罐 (300公升)
空便携式氧气罐(300L)
@@ -2636,11 +2636,13 @@
Patient's breathing is very shallow
La respiration du patient est très superficielle
病人呼吸非常淺
+ 患者の呼吸はとても浅い
Very Shallow
Très superficielle
非常淺
+ とても浅い
Patient is not breathing
diff --git a/addons/circulation/stringtable.xml b/addons/circulation/stringtable.xml
index d53f5a183..150ad5235 100644
--- a/addons/circulation/stringtable.xml
+++ b/addons/circulation/stringtable.xml
@@ -3574,91 +3574,109 @@
Blood Pressure Cuff
Brassard de pression artérielle
血壓計
+ 血圧カフ
A medical device to accurately determine a patients blood pressure
Dispositif médical permettant de déterminer avec précision la tension artérielle d'un patient
一種準確測量病人血壓的醫療裝置
+ 患者の血圧を正確に測定する医療機器
Check BP with BP Cuff
Brassard pour vérifier la tension artérielle.
用血壓計量血壓
+ 血圧カフで血圧を確認
Checking BP with BP Cuff
Contrôler la tension artérielle à l'aide d'un brassard
用血壓計量血壓中
+ 血圧カフで血圧を確認中
Allow BP Cuff
Autoriser le brassard de tension artérielle
允許使用血壓計
+ 血圧カフの許可
Training Level for use of the BP Cuff
Niveau de formation médicale pour l'utilisation des brassards
使用血壓計的訓練等級
+ 血圧カフの使用に必要な医療スキルのレベルを設定します。
Time to measure BP with BP Cuff
Heure de l'examen de la tension artérielle à l'aide d'un brassard
用血壓計量血壓所需時間
+ 血圧カフによる血圧測定の所要時間
You find a blood pressure of %3 over Palp
Vous avez mesuré la tension artérielle %3 au-dessus de la palpation
你發現血壓比觸診高 %3
+ 触診で計測した拡張期血圧は %3 でした
%1 over Palp
%1 au-dessus de la valeur de palpation
比觸診高 %1
+ 触診による拡張期血圧は %1
You find a Pulse Rate of %2
Vous trouvez un pouls de %2
你發現脈搏率為 %2
+ 計測した脈拍は %2 でした
%1 PPM
%1 PPM
%1 PPM
+ %1 PPM
Allow Stethoscope HR check
Autorisation de prendre le pouls à l'aide d'un stéthoscope.
允許使用聽診器檢查心率
+ 聴診器による脈拍確認の許可
Training Level for use of the Stethoscope to measure HR
Définit le niveau de compétences médicales requis pour mesurer le pouls à l'aide d'un stéthoscope.
使用聽診器測量心率的訓練等級
+ 聴診器による脈拍の測定に必要な医療スキルのレベルを設定します。
Time to measure HR with a Stethoscope
Temps nécessaire pour mesurer le pouls à l'aide d'un stéthoscope
用聽診器測量心率所需時間
+ 聴診器による脈拍測定の所要時間
Check HR w/ Stethoscope
Vérifier le pouls à l'aide d'un stéthoscope.
用聽診器檢查心率
+ 聴診器で脈拍を確認
Checking HR with Stethoscope
Vérification du pouls à l'aide d'un stéthoscope.
用聽診器檢查心率中
+ 聴診器で脈拍を確認中
Enable Hardcore HR and BP Diagnose
Permettre un diagnostic approfondi de la fréquence cardiaque et de la tension artérielle
啟用硬核心率和血壓診斷
+ ハードコア脈拍および血圧診断を有効化
Makes measuring BP and HR imprecise without tools (Stethoscope or BP cuff)
Rend impossible la mesure précise du pouls et de la tension artérielle sans instrument (stéthoscope ou brassard).
在沒有工具(聽診器或血壓計)的情況下,測量血壓和心率會不準確
+ 器具(聴診器または血圧カフ)なしでは脈拍および血圧を正確に測定出来なくします
diff --git a/addons/pharma/stringtable.xml b/addons/pharma/stringtable.xml
index b806f3be7..885161959 100644
--- a/addons/pharma/stringtable.xml
+++ b/addons/pharma/stringtable.xml
@@ -179,7 +179,7 @@
Combat Wound Medication Pill Pack<br/>Used to suppress minor pain and relieve blood incompatibility symptoms
- 戦闘傷病治療薬パック<br/>軽度の痛みを抑え、血液不適合による症状を緩和するために使用される
+ 戦闘傷病治療薬パック(CWMP)<br/>軽度の痛みを抑え、血液不適合による症状を緩和するために使用される
Paquete de medicación para heridas de combate. Se utiliza para suprimir el dolor leve y aliviar los síntomas de incompatibilidad sanguínea
Gevechts wond medicatie pil pak<br/>Wordt gebruikt om milde pijn en bloed incompatibiliteit op te lossen
Pack de Pilules Médicales pour Blessures de Combat </br> Utilisé pour supprimer les douleurs mineures et soulager les symptômes d'incompatibilité sanguine.
@@ -190,7 +190,7 @@
Combat Pill Pack
- 戦闘治療薬パック
+ 戦闘治療薬パック(CWMP)
Paquete de Comprimidos de Combate
Comprimidos de Combate
Gevechtspillendoosje
@@ -203,7 +203,7 @@
Use CWMP
使用 CWMP*(战斗药物)
- 戦闘傷病治療薬を投与
+ 戦闘傷病治療薬(CWMP)を投与
Usar Comprimidos de Combate
Utilizar Comprimidos de Combate
Gebruik Gevechtspillendoosje
@@ -3341,7 +3341,7 @@
IV tarkista raajan vauriot
Проверьте повреждение IV
IV checkt voor ledemaatschade
- IV 檢查肢體損傷
+ IV 檢查肢體損傷
Whether or not you can apply the IV to the too damaged limb. In default, this is disabled.
@@ -4370,18 +4370,23 @@
Allow using Caffeine
+ カフェインの許可
Treatment time for Caffeine
+ カフェインの所要時間
Allow using CWMP
+ 戦闘傷病治療薬(CWMP)の許可
Treatment time for CWMP
+ 戦闘傷病治療薬(CWMP)の所要時間
CWMP Settings
+ 戦闘傷病治療薬(CWMP)設定
From 76d836c0b24b3b058502af4a3f3df1a73e118bed Mon Sep 17 00:00:00 2001
From: Cplhardcore <135324281+Cplhardcore@users.noreply.github.com>
Date: Thu, 20 Feb 2025 13:31:54 -0800
Subject: [PATCH 3/5] Circulation - Check pulse fixes (#735)
**When merged this pull request will:**
- Fixes Check pulse
### IMPORTANT
- [Development Guidelines](https://ace3.acemod.org/wiki/development/)
are read, understood and applied.
- Title of this PR uses our standard template `Component -
Add|Fix|Improve|Change|Make|Remove {changes}`.
---
addons/circulation/functions/fnc_checkPulseLocal.sqf | 11 +++++------
.../functions/fnc_checkPulseStethLocal.sqf | 4 ++--
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/addons/circulation/functions/fnc_checkPulseLocal.sqf b/addons/circulation/functions/fnc_checkPulseLocal.sqf
index 51ae90678..e0a5fb27e 100644
--- a/addons/circulation/functions/fnc_checkPulseLocal.sqf
+++ b/addons/circulation/functions/fnc_checkPulseLocal.sqf
@@ -12,7 +12,7 @@
* None
*
* Example:
- * [player, cursorObject, "Head"] call ace_medical_treatment_fnc_checkPulseLocal
+ * [player, cursorObject, "Head"] call kat_circulation_fnc_checkPulseLocal
*
* Public: No
*/
@@ -37,10 +37,11 @@ private _heartRateOutput = ACELSTRING(medical_treatment,Check_Pulse_Output_5);
private _logOutput = ACELSTRING(medical_treatment,Check_Pulse_None);
if (_heartRate > 1) then {
- if ([_medic, QACEGVAR(medical,numericalPulse)] call ACEFUNC(medical_treatment,isMedic)) then {
+ if ([_medic, ACEGVAR(medical_treatment,numericalPulse)] call ACEFUNC(common,isMedic)) then {
if (GVAR(hardcoreDiagnose)) then {
_heartRateOutput = LSTRING(Check_Pulse_Output);
- _logOutput = format [LLSTRING(Pulse_Output), (round(_heartRateOutput / 5) * 5)];
+ _heartRate = (round(_heartRate / 5) * 5);
+ _logOutput = format [LLSTRING(Pulse_Output), _heartRate];
} else {
_heartRateOutput = ACELSTRING(medical_treatment,Check_Pulse_Output_1);
_logOutput = str round _heartRate;
@@ -60,7 +61,5 @@ if (_heartRate > 1) then {
};
};
};
-
[_patient, "quick_view", ACELSTRING(medical_treatment,Check_Pulse_Log), [_medic call ACEFUNC(common,getName), _logOutput]] call ACEFUNC(medical_treatment,addToLog);
-
-[QEGVAR(common,displayTextStructured), [[_heartRateOutput, _patient call ACEFUNC(common,getName), round _heartRate], 1.5, _medic], _medic] call CBA_fnc_targetEvent;
\ No newline at end of file
+[QACEGVAR(common,displayTextStructured), [[_heartRateOutput, _patient call ACEFUNC(common,getName), round _heartRate], 1.5, _medic], _medic] call CBA_fnc_targetEvent;
\ No newline at end of file
diff --git a/addons/circulation/functions/fnc_checkPulseStethLocal.sqf b/addons/circulation/functions/fnc_checkPulseStethLocal.sqf
index 1910f5efd..92f22f173 100644
--- a/addons/circulation/functions/fnc_checkPulseStethLocal.sqf
+++ b/addons/circulation/functions/fnc_checkPulseStethLocal.sqf
@@ -12,7 +12,7 @@
* None
*
* Example:
- * [player, cursorObject, "Head"] call ace_medical_treatment_fnc_checkPulseStethLocal
+ * [player, cursorObject, "Head"] call kat_circulation_fnc_checkPulseStethLocal
*
* Public: No
*/
@@ -43,4 +43,4 @@ if (_heartRate > 1) then {
[_patient, "quick_view", ACELSTRING(medical_treatment,Check_Pulse_Log), [_medic call ACEFUNC(common,getName), _logOutput]] call ACEFUNC(medical_treatment,addToLog);
-[QEGVAR(common,displayTextStructured), [[_heartRateOutput, _patient call ACEFUNC(common,getName), round _heartRate], 1.5, _medic], _medic] call CBA_fnc_targetEvent;
\ No newline at end of file
+[QACEGVAR(common,displayTextStructured), [[_heartRateOutput, _patient call ACEFUNC(common,getName), round _heartRate], 1.5, _medic], _medic] call CBA_fnc_targetEvent;
\ No newline at end of file
From 0aff7a8852c4aa58db1943c71823fddb202b0822 Mon Sep 17 00:00:00 2001
From: MiszczuZPolski <71414303+MiszczuZPolski@users.noreply.github.com>
Date: Thu, 20 Feb 2025 22:32:57 +0100
Subject: [PATCH 4/5] Prepare stable release 3.0.7
---
addons/main/script_version.hpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp
index 9f324d0f5..68561e637 100644
--- a/addons/main/script_version.hpp
+++ b/addons/main/script_version.hpp
@@ -1,4 +1,4 @@
#define MAJOR 3
#define MINOR 0
-#define PATCH 6
-#define BUILD 62
+#define PATCH 7
+#define BUILD 63
From 86185729d0dcf510d9668f2790ac9ec6b276df1d Mon Sep 17 00:00:00 2001
From: mazinskihenry <33608576+mazinskihenry@users.noreply.github.com>
Date: Thu, 20 Feb 2025 14:27:08 -0800
Subject: [PATCH 5/5] Watch/Vitals - ACE Advanced Fatigue Integration (#709)
**When merged this pull request will:**
- Adds impacts to HR and Blood Gas Vitals when Advanced Fatigue is
enabled
- Adds optional watch inaccuracies caused by fatigue
### IMPORTANT
- [Development Guidelines](https://ace3.acemod.org/wiki/development/)
are read, understood and applied.
- Title of this PR uses our standard template `Component -
Add|Fix|Improve|Change|Make|Remove {changes}`.
---
.../vitals/functions/fnc_handleCardiacFunction.sqf | 6 +++---
addons/vitals/functions/fnc_handleOxygenFunction.sqf | 7 ++++---
addons/watch/XEH_preInit.sqf | 9 +++++++++
addons/watch/functions/fnc_init.sqf | 2 +-
addons/watch/functions/fnc_showCWatch.sqf | 9 ++++++++-
addons/watch/functions/fnc_showKWatch.sqf | 12 ++++++++++--
addons/watch/functions/fnc_showRWatch.sqf | 12 ++++++++++--
addons/watch/functions/fnc_showSWatch.sqf | 12 ++++++++++--
addons/watch/stringtable.xml | 6 ++++++
9 files changed, 61 insertions(+), 14 deletions(-)
diff --git a/addons/vitals/functions/fnc_handleCardiacFunction.sqf b/addons/vitals/functions/fnc_handleCardiacFunction.sqf
index 868eade04..cfad3f0f8 100644
--- a/addons/vitals/functions/fnc_handleCardiacFunction.sqf
+++ b/addons/vitals/functions/fnc_handleCardiacFunction.sqf
@@ -42,7 +42,7 @@ if IN_CRDC_ARRST(_unit) then {
private _painLevel = GET_PAIN_PERCEIVED(_unit);
// Adjustments and Pain Levels are taken off of last cycle HR to prevent any spiraling vitials
- private _lastCycleHeartRate = GET_HEART_RATE(_unit) - _hrTargetAdjustment - (10 * _painLevel);
+ private _lastCycleHeartRate = GET_HEART_RATE(_unit) - _hrTargetAdjustment - (10 * _painLevel) - (ACEGVAR(advanced_fatigue,anFatigue) * 50);
private _lastCycleCO2 = _lastCycleHeartRate * HEART_RATE_CO2_MULTIPLIER;
private _demandReturn = _lastCycleCO2 / CO2_TO_DEMAND_DIVISOR;
private _strokeVolume = (_bloodVolume / BLOOD_VOLUME_TO_STROKE_DIVISOR);
@@ -63,9 +63,9 @@ if IN_CRDC_ARRST(_unit) then {
};
// All additional adjustments are added back
- _actualHeartRate = _actualHeartRate + _hrTargetAdjustment + (10 * _painLevel);
+ _actualHeartRate = _actualHeartRate + _hrTargetAdjustment + (10 * _painLevel) + (ACEGVAR(advanced_fatigue,anFatigue) * 50);
};
_unit setVariable [VAR_HEART_RATE, _actualHeartRate, _syncValue];
-_actualHeartRate
\ No newline at end of file
+_actualHeartRate
diff --git a/addons/vitals/functions/fnc_handleOxygenFunction.sqf b/addons/vitals/functions/fnc_handleOxygenFunction.sqf
index 439c2f0d1..2924b2534 100644
--- a/addons/vitals/functions/fnc_handleOxygenFunction.sqf
+++ b/addons/vitals/functions/fnc_handleOxygenFunction.sqf
@@ -95,9 +95,10 @@ if (EGVAR(pharma,kidneyAction)) then {
// Adjust dissociation constant based on temperature
private _phConstant = ((-0.00006653 * (_temperature ^ 2)) - (0.03268 * _temperature) + 7.4);
+ private _fatigue = [0, (ACEGVAR(advanced_fatigue,anFatigue) / 2)] select (ACEGVAR(advanced_fatigue,enabled));
// pH is from the Henderson-Hasselbalch equation
- _pH = (_phConstant + log(24 / ((0.03 * _paco2)))) - ((_externalPh max 1) / 2000);
+ _pH = (_phConstant + log(24 / ((0.03 * _paco2)))) - ((_externalPh max 1) / 2000) - (_fatigue / 3);
};
// Fractional Oxygen when breathing normal air is 0.21, 1 when breathing 100% Oxygen, and 0 when no air is being brought into the lungs
@@ -125,8 +126,8 @@ private _arrestPerfusion = [1, (1 * EGVAR(breathing,SpO2_PerfusionMultiplier))]
// PaO2 moves in controlled steps to prevent hard movements when Ventilation Demand spikes
_pao2 = if (_previousCyclePao2 != _pao2) then { ([ (_previousCyclePao2 - ((PAO2_MAX_CHANGE * EGVAR(breathing,SpO2_MultiplyNegative) * _arrestPerfusion) * _deltaT)) , (_previousCyclePao2 + ((PAO2_MAX_CHANGE * EGVAR(breathing,SpO2_MultiplyPositive)) * _deltaT))] select ((_previousCyclePao2 - _pao2) < 0)) } else { _pao2 };
-// Oxy-Hemo Dissociation Curve, driven by PaO2 with shaping done by pH
-private _o2Sat = ((_pao2 max 1)^2.7 / ((25 - (((_pH / DEFAULT_PH) - 1) * 150))^2.7 + _pao2^2.7)) min 0.999;
+// Oxy-Hemo Dissociation Curve, driven by PaO2 with shaping done by pH.
+private _o2Sat = (((_pao2 max 1)^2.7 / ((25 - (((_pH / DEFAULT_PH) - 1) * 150))^2.7 + _pao2^2.7))) min 0.999;
_unit setVariable [VAR_BREATHING_RATE, (_respiratoryRate max 0), _syncValues];
_unit setVariable [VAR_BLOOD_GAS, [_paco2, _pao2, _o2Sat, 24, _pH, _etco2], _syncValues];
diff --git a/addons/watch/XEH_preInit.sqf b/addons/watch/XEH_preInit.sqf
index 4923255d1..929d3c893 100644
--- a/addons/watch/XEH_preInit.sqf
+++ b/addons/watch/XEH_preInit.sqf
@@ -35,4 +35,13 @@ ADDON = true;
[CBA_SETTINGS_CAT, ELSTRING(GUI,SubCategory_Basic)],
[[0, 1], [LLSTRING(SETTING_AltitudeForm_meters), LLSTRING(SETTING_AltitudeForm_feet)], 0],
true
+] call CBA_Settings_fnc_init;
+
+[
+ QGVAR(watchInaccuracy),
+ "CHECKBOX",
+ [LLSTRING(SETTING_WatchInaccuracy), LLSTRING(SETTING__WatchInaccuracy_Desc)],
+ [CBA_SETTINGS_CAT, ELSTRING(GUI,SubCategory_Basic)],
+ [false],
+ true
] call CBA_Settings_fnc_init;
\ No newline at end of file
diff --git a/addons/watch/functions/fnc_init.sqf b/addons/watch/functions/fnc_init.sqf
index 85716b198..1b9fa8505 100644
--- a/addons/watch/functions/fnc_init.sqf
+++ b/addons/watch/functions/fnc_init.sqf
@@ -23,4 +23,4 @@ _unit setVariable [QGVAR(rangerStart), false, true];
_unit setVariable [QGVAR(rangerTimer), 0, true];
_unit setVariable [QGVAR(rangerHands), true, true];
-_unit setVariable [QGVAR(katminSeconds), false, true];
+_unit setVariable [QGVAR(katminSeconds), false, true];
\ No newline at end of file
diff --git a/addons/watch/functions/fnc_showCWatch.sqf b/addons/watch/functions/fnc_showCWatch.sqf
index 9139a0b40..6dc10fb74 100644
--- a/addons/watch/functions/fnc_showCWatch.sqf
+++ b/addons/watch/functions/fnc_showCWatch.sqf
@@ -84,7 +84,14 @@ private _bearing = _display displayCtrl 20807;
_altitude ctrlSetText ([_altitudeValue, 1, 0] call CBA_fnc_formatNumber);
};
- _hr ctrlSetText ([GET_HEART_RATE(_unit), 1, 0] call CBA_fnc_formatNumber);
+ if (GVAR(watchInaccuracy)) then {
+ private _fatigue = [0, (ACEGVAR(advanced_fatigue,anFatigue) * 2)] select (ACEGVAR(advanced_fatigue,enabled));
+ private _temperature = _unit getVariable [QEGVAR(hypothermia,unitTemperature), 37];
+
+ _hr ctrlSetText ([(GET_HEART_RATE(_unit) + ((2 * _fatigue) - (37 - _temperature))), 1, 0] call CBA_fnc_formatNumber);
+ } else {
+ _hr ctrlSetText ([GET_HEART_RATE(_unit), 1, 0] call CBA_fnc_formatNumber);
+ };
}, 1, [
_unit,
diff --git a/addons/watch/functions/fnc_showKWatch.sqf b/addons/watch/functions/fnc_showKWatch.sqf
index 06859b318..6bd16b723 100644
--- a/addons/watch/functions/fnc_showKWatch.sqf
+++ b/addons/watch/functions/fnc_showKWatch.sqf
@@ -119,8 +119,16 @@ private _timeSeconds = _display displayCtrl 22008;
_temp ctrlSetText (format ["%1C", ([(_altitudeValue call ACEFUNC(weather,calculateTemperatureAtHeight)), 1, 0] call CBA_fnc_formatNumber)]);
};
- _hr ctrlSetText ([GET_HEART_RATE(_unit), 1, 0] call CBA_fnc_formatNumber);
- _o2 ctrlSetText ([GET_KAT_SPO2(_unit), 1, 0] call CBA_fnc_formatNumber);
+ if (GVAR(watchInaccuracy)) then {
+ private _fatigue = [0, (ACEGVAR(advanced_fatigue,anFatigue) * 2)] select (ACEGVAR(advanced_fatigue,enabled));
+ private _temperature = _unit getVariable [QEGVAR(hypothermia,unitTemperature), 37];
+
+ _hr ctrlSetText ([(GET_HEART_RATE(_unit) + ((2 * _fatigue) - (37 - _temperature))), 1, 0] call CBA_fnc_formatNumber);
+ _o2 ctrlSetText ([(GET_KAT_SPO2(_unit) - (_fatigue - (37 - _temperature))), 1, 0] call CBA_fnc_formatNumber);
+ } else {
+ _hr ctrlSetText ([GET_HEART_RATE(_unit), 1, 0] call CBA_fnc_formatNumber);
+ _o2 ctrlSetText ([GET_KAT_SPO2(_unit), 1, 0] call CBA_fnc_formatNumber);
+ };
switch (true) do {
case(rain != 0): { _rain ctrlShow true; _overcast ctrlShow false; _sun ctrlShow false; };
diff --git a/addons/watch/functions/fnc_showRWatch.sqf b/addons/watch/functions/fnc_showRWatch.sqf
index e2e16aac5..afa380058 100644
--- a/addons/watch/functions/fnc_showRWatch.sqf
+++ b/addons/watch/functions/fnc_showRWatch.sqf
@@ -63,8 +63,16 @@ private _o2 = _display displayCtrl 22810;
_altitude ctrlSetText ([_altitudeValue, 1, 0] call CBA_fnc_formatNumber);
};
- _hr ctrlSetText ([GET_HEART_RATE(_unit), 1, 0] call CBA_fnc_formatNumber);
- _o2 ctrlSetText ([GET_KAT_SPO2(_unit), 1, 0] call CBA_fnc_formatNumber);
+ if (GVAR(watchInaccuracy)) then {
+ private _fatigue = [0, (ACEGVAR(advanced_fatigue,anFatigue) * 2)] select (ACEGVAR(advanced_fatigue,enabled));
+ private _temperature = _unit getVariable [QEGVAR(hypothermia,unitTemperature), 37];
+
+ _hr ctrlSetText ([(GET_HEART_RATE(_unit) + ((2 * _fatigue) - (37 - _temperature))), 1, 0] call CBA_fnc_formatNumber);
+ _o2 ctrlSetText ([(GET_KAT_SPO2(_unit) - (_fatigue - (37 - _temperature))), 1, 0] call CBA_fnc_formatNumber);
+ } else {
+ _hr ctrlSetText ([GET_HEART_RATE(_unit), 1, 0] call CBA_fnc_formatNumber);
+ _o2 ctrlSetText ([GET_KAT_SPO2(_unit), 1, 0] call CBA_fnc_formatNumber);
+ };
private _hours = floor dayTime;
private _minutes = floor ((dayTime - _hours) * 60);
diff --git a/addons/watch/functions/fnc_showSWatch.sqf b/addons/watch/functions/fnc_showSWatch.sqf
index 356eff061..72797fc46 100644
--- a/addons/watch/functions/fnc_showSWatch.sqf
+++ b/addons/watch/functions/fnc_showSWatch.sqf
@@ -91,8 +91,16 @@ private _altitudeUnit = GVAR(altitudeUnit);
_time ctrlSetText (format ["%1:%2", [_hour, 2] call CBA_fnc_formatNumber, [_minute, 2] call CBA_fnc_formatNumber]);
- _hr ctrlSetText ([GET_HEART_RATE(_unit), 1, 0] call CBA_fnc_formatNumber);
- _o2 ctrlSetText ([GET_KAT_SPO2(_unit), 1, 0] call CBA_fnc_formatNumber);
+ if (GVAR(watchInaccuracy)) then {
+ private _fatigue = [0, (ACEGVAR(advanced_fatigue,anFatigue) * 2)] select (ACEGVAR(advanced_fatigue,enabled));
+ private _temperature = _unit getVariable [QEGVAR(hypothermia,unitTemperature), 37];
+
+ _hr ctrlSetText ([(GET_HEART_RATE(_unit) + ((2 * _fatigue) - (37 - _temperature))), 1, 0] call CBA_fnc_formatNumber);
+ _o2 ctrlSetText ([(GET_KAT_SPO2(_unit) - (_fatigue - (37 - _temperature))), 1, 0] call CBA_fnc_formatNumber);
+ } else {
+ _hr ctrlSetText ([GET_HEART_RATE(_unit), 1, 0] call CBA_fnc_formatNumber);
+ _o2 ctrlSetText ([GET_KAT_SPO2(_unit), 1, 0] call CBA_fnc_formatNumber);
+ };
private _curTime = CBA_missionTime;
private _timeDiff = _curTime - _prevTime;
diff --git a/addons/watch/stringtable.xml b/addons/watch/stringtable.xml
index 84c3229f4..aa5f91bf1 100644
--- a/addons/watch/stringtable.xml
+++ b/addons/watch/stringtable.xml
@@ -133,6 +133,12 @@
英尺
英尺
+
+ Watch Vitals Inaccuracy
+
+
+ Enables watch inaccuracy when reading patient vitals
+
Watch with Vital Monitoring Capabilities
Horloge met ingebouwde vitale waarden monitor