Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coagulation adjustments #30

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions addons/airway/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<Turkish>Tıkanmış bir hava yolu olasılığı</Turkish>
<Italian>Probabilità di ostruzione delle vie aeree</Italian>
<Russian>Вероятность закупорки дыхательных путей</Russian>
<Japanese>気道閉塞の確率</Japanese>
<Japanese>気道狭窄の確率</Japanese>
<Portuguese>Probabilidade de obstrução das vias aéreas</Portuguese>
<Norwegian>Sannsynligheten for blokkert luftvei</Norwegian>
<Finnish>Tukkeutuneiden hengitysteiden todennäköisyys</Finnish>
Expand All @@ -42,7 +42,7 @@
<German>Atemwegsverlegungswahrscheinlichkeit in prozent die berechnet wird sofern: \n- Bewustlos werden \n- Das Entfernen von Larynxtubus / Guedeltubus \n- Abbrechen der Stabile Seitenlage</German>
<Czech>Pravděpodobnost obstrukce dýchacích cest v procentech, která se vylosuje při každém: \n- Upadnutí do bezvědomí \n- Odstranění KingLT / GuedelTuby</Czech>
<Spanish>Probabilidad en porcentaje de que una vía aérea sea obstruida cada vez que: \n- Cae inconsciente \n- Se retira el tubo laríngeo / Cánula de Guedel</Spanish>
<Japanese>気道閉塞の確率(%) 次の時に計算されます: \n- 意識不明になった時 \n- King LT/ゲデルチューブが外れた時</Japanese>
<Japanese>気道狭窄の確率(%) 次の時に計算されます: \n- 意識不明になった時 \n- King LT/ゲデルチューブが外れた時</Japanese>
<French>La probabilité d'obstruction des voies aériennes en pourcentage qui est tirée aléatoirement lorsque : \n- la personne tombe inconsciente \n- Une canule de Guedel/tube laryngé est retiré</French>
<Korean>다음 조건에 의해 매번 발생되는 혀막힘 확률(%): \n- 의식불명이 될 시 \n- 기관삽입기 / 게델튜브 제거 시</Korean>
<Italian>Probabilità in percentuale di una via aerea ostruita che viene sorteggiata ogni : \n- Caduta priva di sensi \n- Rimozione KingLT / Guedel Tube</Italian>
Expand All @@ -63,7 +63,7 @@
<Turkish>Hava yolunu tıkama olasılığı</Turkish>
<Italian>Probabilità di occlusione delle vie aeree</Italian>
<Russian>Вероятность закупорки дыхательных путей</Russian>
<Japanese>気道異物の確率</Japanese>
<Japanese>気道異物閉塞の確率</Japanese>
<Portuguese>Probabilidade de oclusão das vias aéreas</Portuguese>
<Norwegian>Sannsynlighet for at luftveien blir blokkert</Norwegian>
<Finnish>Todennäköisyys hengitysteiden tukkeutumiseen</Finnish>
Expand All @@ -73,7 +73,7 @@
<German>Atemwegsverlegungswahrscheinlichkeit durch Erbrochenes in prozent die durch Einstellung:[Zeit für die Wiederholung des Erbrechens] (standard alle 60s) berechnet wird.</German>
<Czech>Pravděpodobnost zablokování dýchacích cest v procentech, která se vylosuje při Nastavení:[Časovač opakovaného ucpání dýchacích cest](defaultně každých 60s)</Czech>
<Spanish>Porcentaje de probabilidad de que suceda una oclusión Opciones:[tiempo de repeticion de oclusión] (por defecto cada 60s)</Spanish>
<Japanese>気道異物の確率(%) [異物再発までの時間]の設定時間毎に計算されます (デフォルトでは60秒毎)</Japanese>
<Japanese>気道異物閉塞の確率(%) [異物閉塞再発までの時間]の設定時間毎に計算されます (デフォルトでは60秒毎)</Japanese>
<French>La probabilité d'occlusion des voies aériennes en pourcentage qui est tirée aléatoirement selon le paramètre : [Temps de répétition des occlusions] (Par défaut toutes les 60s)</French>
<Korean>매번 발생되는 구토막힘 확률(%): [구토 반복 타이머] (기본값: 매 60초 마다)</Korean>
<Italian>Probabilità di un'occlusione in percentuale che viene sorteggiata. Impostazione: [Timer ripetizione occlusione] (default ogni 60 secondi)</Italian>
Expand All @@ -86,7 +86,7 @@
<German>Zeit für die Wiederholung des Erbrechens</German>
<Korean>구토 반복 타이머</Korean>
<Polish>Czas powtarzania zablokowania</Polish>
<Japanese>異物再発までの時間</Japanese>
<Japanese>異物閉塞再発までの時間</Japanese>
<French>Temps de répétition des occlusions</French>
<Italian>Tempo di ripetizione per l'occlusione</Italian>
<Czech>Časovač opakovaného ucpání dýchacích cest</Czech>
Expand All @@ -98,7 +98,7 @@
</Key>
<Key ID="STR_KAT_Airway_SETTING_occlusion_cooldownPeriod">
<English>Occlusion Cooldown Period</English>
<Japanese>異物再発のクールダウン期間</Japanese>
<Japanese>異物閉塞再発のクールダウン期間</Japanese>
<French>Temps de récupération après une occlusion</French>
<Korean>구토 쿨다운 시간</Korean>
<Norwegian>Avkjølingsperiode for okklusjon</Norwegian>
Expand Down Expand Up @@ -208,7 +208,7 @@
<Turkish>Tıkalı</Turkish>
<Italian>Occlusa</Italian>
<Russian>Окклюзия</Russian>
<Japanese>異物あり</Japanese>
<Japanese>異物閉塞あり</Japanese>
<Portuguese>Ocluída</Portuguese>
<Norwegian>Okkludert</Norwegian>
<Finnish>Tukkeutunut</Finnish>
Expand All @@ -226,15 +226,15 @@
<Turkish>Kapanma</Turkish>
<Italian>Ostruita</Italian>
<Russian>Обструкция</Russian>
<Japanese>閉塞あり</Japanese>
<Japanese>狭窄あり</Japanese>
<Portuguese>Obstruída</Portuguese>
<Norwegian>Obstruksjon</Norwegian>
<Finnish>Tukkeuma</Finnish>
</Key>
<Key ID="STR_KAT_Airway_AirwayStatus_mitigatedObstruction_short">
<English>Mitigated obstruction</English>
<Polish>Ręcznie udrożnione</Polish>
<Japanese>軽減された閉塞あり</Japanese>
<Japanese>軽減された狭窄あり</Japanese>
<Italian>Ostruzione attenuata</Italian>
<Czech>Zmírněná obstrukce</Czech>
<Korean>막힘 완화됨</Korean>
Expand All @@ -257,7 +257,7 @@
<French>Non obstruées</French>
<Turkish>Değil Kapanma</Turkish>
<Italian>No ostruita</Italian>
<Japanese>閉塞なし</Japanese>
<Japanese>狭窄なし</Japanese>
<Chinesesimp>无阻塞</Chinesesimp>
<Portuguese>Não obstruída</Portuguese>
<Norwegian>Ikke blokkert</Norwegian>
Expand All @@ -274,7 +274,7 @@
<French>Non occludées</French>
<Turkish>Değil Tıkalı</Turkish>
<Italian>No occlusa</Italian>
<Japanese>異物なし</Japanese>
<Japanese>異物閉塞なし</Japanese>
<Chinesesimp>无闭塞</Chinesesimp>
<Portuguese>Não ocluída</Portuguese>
<Norwegian>Ikke okkludert</Norwegian>
Expand All @@ -284,7 +284,7 @@
<English>Obstruction is temporarily mitigated</English>
<Polish>Drogi oddechowe są ręcznie udrożnione</Polish>
<French>L'obstruction a été temporairement atténuée</French>
<Japanese>閉塞は一時的に軽減されています</Japanese>
<Japanese>狭窄は一時的に軽減されています</Japanese>
<Spanish>Obstrucción temporalmente mitigada</Spanish>
<German>Die Obstruktion ist temporär gemildert</German>
<Italian>Ostruzione è momentaneamente attenuata</Italian>
Expand All @@ -297,31 +297,31 @@
<Key ID="STR_KAT_Airway_AirwayStatus_noObstruction">
<English>Airway is not obstructed</English>
<Spanish>Las vías aéreas no están obstruidas</Spanish>
<Japanese>気道は閉塞していない</Japanese>
<Japanese>気道は狭窄していない</Japanese>
<Norwegian>Luftvei er ikke blokkert</Norwegian>
<French>Les voies aériennes ne sont pas obstruées</French>
<Finnish>Ilmatiet eivät ole tukossa</Finnish>
</Key>
<Key ID="STR_KAT_Airway_AirwayStatus_noOcclusion">
<English>Airway is not occluded</English>
<Spanish>Las vías aéreas no están ocluidas</Spanish>
<Japanese>気道に異物はありません</Japanese>
<Japanese>気道に異物閉塞はありません</Japanese>
<Norwegian>Luftvei er ikke okkludert</Norwegian>
<French>Les voies aériennes ne sont pas occludées</French>
<Finnish>Ilmatiet eivät ole likaisia</Finnish>
</Key>
<Key ID="STR_KAT_Airway_AirwayStatus_Obstruction">
<English>Airway is obstructed, airway management needed</English>
<Spanish>Las vías respiratorias están obstruidas, es necesario gestionarlas</Spanish>
<Japanese>気道は閉塞しています、 気道管理が必要です</Japanese>
<Japanese>気道は狭窄しています、 気道管理が必要です</Japanese>
<Norwegian>Luftvei er blokkert, behov for luftveishåndtering</Norwegian>
<French>Voies aériennes obstruées, geste médical nécessaire</French>
<Finnish>Hengitystiet ovat tukossa, hengityshoitoa tarvitaan</Finnish>
</Key>
<Key ID="STR_KAT_Airway_AirwayStatus_Occlusion">
<English>Airway is occluded, medical suction needed</English>
<Spanish>Las vías respiratorias están ocluidas, es necesario gestionarlas</Spanish>
<Japanese>気道に異物があります、 医療吸引が必要です</Japanese>
<Japanese>気道に異物閉塞があります、 医療吸引が必要です</Japanese>
<Norwegian>Luftveien er okkludert, behov for medisinsk suging</Norwegian>
<French>Voies aériennes occludées, aspiration médicale nécessaire</French>
<Finnish>Hengitystiet ovat likaiset, tarvitaan lääkärin imu</Finnish>
Expand Down Expand Up @@ -485,7 +485,7 @@
<Turkish>Tıkanıklık kaldırıldı</Turkish>
<Italian>Occlusione rimossa</Italian>
<Russian>Окклюзия удалена</Russian>
<Japanese>異物が除去された</Japanese>
<Japanese>異物閉塞が解消された</Japanese>
<Portuguese>Oclusão removida</Portuguese>
<Norwegian>Okklusjonen er fjernet</Norwegian>
<Finnish>Likaantuminen poistettu</Finnish>
Expand Down Expand Up @@ -551,7 +551,7 @@
</Key>
<Key ID="STR_KAT_Airway_Accuvac_Success">
<English>Medical suction completed, Occlusion removed</English>
<Japanese>医療吸引が完了し、 異物が除去されました</Japanese>
<Japanese>医療吸引が完了し、 異物閉塞が解消されました</Japanese>
<Finnish>Lääketieteellinen imu suoritettu, okkluusio poistettu</Finnish>
</Key>
<Key ID="STR_KAT_Airway_action_checking">
Expand Down Expand Up @@ -1315,7 +1315,7 @@
<Key ID="STR_KAT_Airway_SETTING_RecoveryPosition_TimeToDrain_DESC">
<English>Maximum time required for patient in recovery position to be drained of occlusion.</English>
<Spanish>Tiempo máximo para que desaparezca una oclusión en un paciente en posición lateral de seguridad</Spanish>
<Japanese>回復体位にある患者の気道異物が排出され解消するまでに必要な最大時間。</Japanese>
<Japanese>回復体位にある患者の気道異物が排出され閉塞が解消するまでに必要な最大時間。</Japanese>
<Norwegian>Maks nødvendig tid en pasient må være i stabilt sideleie for å bli kvitt okklusjonen.</Norwegian>
<French>Temps maximal pour qu'une occlusion disparaisse sur un patient en position latérale de sécurité</French>
<Finnish>Enimmäisaika, joka tarvitaan potilaan puhdistamiseen toipumisasennossa</Finnish>
Expand Down
2 changes: 1 addition & 1 deletion addons/breathing/functions/fnc_handlePulmoHit.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ if (floor (random 100) <= (GVAR(pneumothoraxChance) + _chanceIncrease)) then {
};
};
} else { // Damage threshold was passed but no pneumothorax given, try to just give injury instead
if (floor (random 100) <= GVAR(deepPenetratingInjuryChance)) then {
if (floor (random 100) < GVAR(deepPenetratingInjuryChance)) then {
_unit setVariable [QGVAR(deepPenetratingInjury), true, true];
_unit setVariable [QGVAR(activeChestSeal), false, true];
};
Expand Down
2 changes: 1 addition & 1 deletion addons/breathing/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<Key ID="STR_KAT_Breathing_SETTING_ENABLE_DESC">
<English>Sets if SPO2 simulation and according functionality like Pneumothorax and \nAirway: occlusion &amp; obstruction (SPO2 reduction will be deactivated) should be activated</English>
<German>Setzt ob SPO2 Simuliert werden soll mit funktionen wie Pneumothorax und Atemwege: Verstopfung &amp; Obstruktion (SPO2 reduktion wird deaktiviert)</German>
<Japanese>SpO2のシミュレーションを気胸や気道:閉塞と異物などの機能で動作するように設定します。\n(SpO2減少機能は無効化されます)</Japanese>
<Japanese>SpO2のシミュレーションを気胸や気道:狭窄と異物閉塞などの機能で動作するように設定します。\n(SpO2減少機能は無効化されます)</Japanese>
</Key>
<Key ID="STR_KAT_Breathing_SETTING_SpO2_dieValue">
<English>Lethal SpO2 value</English>
Expand Down
8 changes: 4 additions & 4 deletions addons/circulation/ACE_Medical_Treatment_Actions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ class ACE_Medical_Treatment_Actions {
displayName = CSTRING(DrawBlood500_Action_Use);
displayNameProgress = CSTRING(DrawBlood_Action_Progress);
treatmentTime = QGVAR(blood_drawTime_500ml);
allowedSelections[] = {"LeftArm", "RightArm"};
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
allowSelfTreatment = QGVAR(enable_selfBloodDraw);
category = "advanced";
medicRequired = 0;
consumeItem = 1;
callbackSuccess = QUOTE([ARR_3(_medic,_patient,500)] call FUNC(drawBlood));
condition = QUOTE([ARR_3(_medic,_patient,500)] call FUNC(canDraw));
condition = QUOTE([ARR_3(_medic,_patient,500)] call FUNC(canDraw) && (!(EGVAR(pharma,RequireInsIVBloodDraw)) || EFUNC(pharma,removeIV)));
items[] = {"KAT_Empty_bloodIV_500"};
animationPatient = "";
animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback";
Expand All @@ -51,13 +51,13 @@ class ACE_Medical_Treatment_Actions {
displayName = CSTRING(DrawBlood250_Action_Use);
displayNameProgress = CSTRING(DrawBlood_Action_Progress);
treatmentTime = QGVAR(blood_drawTime_250ml);
allowedSelections[] = {"LeftArm", "RightArm"};
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
allowSelfTreatment = QGVAR(enable_selfBloodDraw);
category = "advanced";
medicRequired = 0;
consumeItem = 1;
callbackSuccess = QUOTE([ARR_3(_medic,_patient,250)] call FUNC(drawBlood));
condition = QUOTE([ARR_3(_medic,_patient,250)] call FUNC(canDraw));
condition = QUOTE([ARR_3(_medic,_patient,250)] call FUNC(canDraw) && (!(EGVAR(pharma,RequireInsIVBloodDraw)) || EFUNC(pharma,removeIV)));
items[] = {"KAT_Empty_bloodIV_250"};
animationPatient = "";
animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback";
Expand Down
3 changes: 1 addition & 2 deletions addons/circulation/functions/fnc_canDraw.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,5 @@ params ["_medic", "_patient", "_volume"];
private _bagItem = format ["ACE_bloodIV_%1", _volume];
private _bloodVolume = (_patient getVariable [QACEGVAR(medical,bloodVolume), 6.0]);
private _volumeChange = _volume/1000;
private _canAddItem = ((_medic canAddItemToUniform _bagItem) || (_medic canAddItemToVest _bagItem) || (_medic canAddItemToBackpack _bagItem)); // make sure the blood can actually be added to the medic, so you don't just lose blood
if (((_bloodVolume - _volumeChange) > GVAR(blood_draw_limit)) && _canAddItem) exitWith {true};
if (((_bloodVolume - _volumeChange) > GVAR(blood_draw_limit))) exitWith {true};
false
4 changes: 2 additions & 2 deletions addons/circulation/functions/fnc_drawBlood.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* None
*
* Example:
* [medic, medic, 500] call kat_circulation_fnc_drawBlood;
* [medic, patient, 500] call kat_circulation_fnc_drawBlood;
*
* Public: No
*/
Expand All @@ -31,5 +31,5 @@ if (GVAR(bloodGroups)) then {
_bloodtypeStr = format ["_%1",_bloodtype];
};
private _itemStr = format ["%1bloodIV%2%3",_modStr,_bloodtypeStr,_bagVolumeStr];
_medic addItem _itemStr;
[_medic, _itemStr] call ACEFUNC(common,addToInventory);
_patient setVariable [QACEGVAR(medical,bloodVolume), _bloodVolume - _volumeChange,true];
6 changes: 3 additions & 3 deletions addons/main/script_version.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#define MAJOR 2
#define MINOR 13
#define PATCH 4
#define BUILD 41
#define MINOR 14
#define PATCH 0
#define BUILD 42
9 changes: 9 additions & 0 deletions addons/pharma/XEH_preInit.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@ PREP_RECOMPILE_END;
true
] call CBA_Settings_fnc_init;

[
QGVAR(RequireInsIVBloodDraw),
"CHECKBOX",
[LLSTRING(SETTING_REQUIRE_INS_IV_BLOOD_DRAW),LLSTRING(SETTING_REQUIRE_INS_IV_BLOOD_DRAW_DESC)],
[CBA_SETTINGS_CAT, ELSTRING(GUI,SubCategory_Basic)],
[false],
true
] call CBA_Settings_fnc_init;

[
QGVAR(IVdropEnable),
"CHECKBOX",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ if (_IVactual > 1) then {
[{
params["_patient", "_IVarray", "_partIndex"];

if (_IVactual > 1 && _IVactual != 4) exitWith {};
_IVarray set [_partIndex, 3];
_patient setVariable [QGVAR(IV), _IVarray, true];
},
Expand Down
1 change: 1 addition & 0 deletions addons/pharma/functions/fnc_treatmentAdvanced_TXALocal.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ if (_IVactual > 1) then {
[{
params["_patient", "_IVarray", "_partIndex"];

if (_IVactual > 1 && _IVactual != 4) exitWith {};
_IVarray set [_partIndex, 3];
_patient setVariable [QGVAR(IV), _IVarray, true];
},
Expand Down
Loading
Loading