diff --git a/addons/airway/stringtable.xml b/addons/airway/stringtable.xml index 311355398..a79ef1fdb 100644 --- a/addons/airway/stringtable.xml +++ b/addons/airway/stringtable.xml @@ -14,7 +14,7 @@ ACE-Havayolu yaralanmaları aktive edildi mi? Attivare ACE-Lesioni Respiratorie? Активированы травмы ACE-Airway? - 気道損傷モジュールを有効化 + 気道障害モジュールを有効化 ACE - Lesões nas vias aéreas ativadas? ACE - Luftveiskade aktivert? Hengitysteiden vammat aktivoituivat? diff --git a/addons/breathing/CfgVehicles.hpp b/addons/breathing/CfgVehicles.hpp index a6c5a6214..5b5410c84 100644 --- a/addons/breathing/CfgVehicles.hpp +++ b/addons/breathing/CfgVehicles.hpp @@ -128,7 +128,7 @@ class CfgVehicles { }; class Attach_PersonalOxygen { displayName = CSTRING(AttachPersonalOxygenTank); - condition = QUOTE(([ARR_2(_player,'kat_personal_oxygen')] call ACEFUNC(common,hasMagazine)) && (_player call EFUNC(airway,checkMask))); + condition = QUOTE(([ARR_2(_player,'kat_personal_oxygen')] call ACEFUNC(common,hasMagazine)) && (_player call FUNC(checkOxygenMask))); statement = QUOTE(_player call FUNC(attachPersonalOxygen)); showDisabled = 0; exceptions[] = {"isNotSwimming", "isNotOnLadder"}; @@ -176,7 +176,7 @@ class CfgVehicles { class ACE_SelfActions { class KAT_AttachOxygenVehicle { displayName = CSTRING(AttachOxygenVehicle); - condition = QUOTE((_player call FUNC(checkAircraftOxygen)) && (_player call EFUNC(airway,checkMask))); + condition = QUOTE((_player call FUNC(checkAircraftOxygen)) && (_player call FUNC(checkOxygenMask))); statement = QUOTE(_player call FUNC(attachVehicleOxygen)); insertChildren = ""; exceptions[] = {}; @@ -189,7 +189,7 @@ class CfgVehicles { class ACE_SelfActions { class KAT_AttachOxygenVehicle { displayName = CSTRING(AttachOxygenVehicle); - condition = QUOTE((_player call FUNC(checkAircraftOxygen)) && (_player call EFUNC(airway,checkMask))); + condition = QUOTE((_player call FUNC(checkAircraftOxygen)) && (_player call FUNC(checkOxygenMask))); statement = QUOTE(_player call FUNC(attachVehicleOxygen)); insertChildren = ""; exceptions[] = {}; diff --git a/addons/breathing/XEH_PREP.hpp b/addons/breathing/XEH_PREP.hpp index 0620ce076..4046819ae 100644 --- a/addons/breathing/XEH_PREP.hpp +++ b/addons/breathing/XEH_PREP.hpp @@ -3,6 +3,7 @@ PREP(attachVehicleOxygen); PREP(canUseBVM); PREP(checkAircraftOxygen); PREP(checkBreathing); +PREP(checkOxygenMask); PREP(checkPersonalOxygen); PREP(checkPulseOximeter); PREP(detachPersonalOxygen); diff --git a/addons/breathing/XEH_postInit.sqf b/addons/breathing/XEH_postInit.sqf index 5e3502139..7c537488f 100644 --- a/addons/breathing/XEH_postInit.sqf +++ b/addons/breathing/XEH_postInit.sqf @@ -23,5 +23,6 @@ [QACEGVAR(medical,woundReceived),LINKFUNC(handlePulmoHit)] call CBA_fnc_addEventHandler; private _items = missionNamespace getVariable [QGVAR(availOxyMask), "'G_AirPurifyingRespirator_01_F'"]; -private _array = [_items, "CfgGlasses"] call FUNC(getList); +private _array = [_items, "CfgGlasses"] call EFUNC(chemical,getList); + missionNamespace setVariable [QGVAR(availOxyMaskList), _array, true]; \ No newline at end of file diff --git a/addons/breathing/XEH_preInit.sqf b/addons/breathing/XEH_preInit.sqf index 1db1b0348..128413d50 100644 --- a/addons/breathing/XEH_preInit.sqf +++ b/addons/breathing/XEH_preInit.sqf @@ -27,7 +27,7 @@ PREP_RECOMPILE_END; "'G_AirPurifyingRespirator_01_F'", 1, { - private _array = [_this, "CfgGlasses"] call FUNC(getList); + private _array = [_this, "CfgGlasses"] call EFUNC(chemical,getList); missionNamespace setVariable [QGVAR(availOxyMaskList), _array, true]; }, true diff --git a/addons/breathing/functions/fnc_checkOxygenMask.sqf b/addons/breathing/functions/fnc_checkOxygenMask.sqf new file mode 100644 index 000000000..5be7d89e3 --- /dev/null +++ b/addons/breathing/functions/fnc_checkOxygenMask.sqf @@ -0,0 +1,24 @@ +#include "..\script_component.hpp" +/* + * Author: Mazinski + * Checks if patient has an oxygen mask on + * + * Arguments: + * 0: Unit + * + * Return Value: + * None + * + * Example: + * [player] call kat_breathing_fnc_checkOxygenMask; + * + * Public: No + */ + +params ["_patient"]; + +if ((goggles _patient in (missionNamespace getVariable [QGVAR(availOxyMaskList), []]))) exitWith { + true +}; + +false \ No newline at end of file diff --git a/addons/breathing/stringtable.xml b/addons/breathing/stringtable.xml index 0cfcb2b54..b95ed8d96 100644 --- a/addons/breathing/stringtable.xml +++ b/addons/breathing/stringtable.xml @@ -36,7 +36,7 @@ Ölümcül SpO2 değeri Valore letale di SpO2 Смертельное значение SpO2 - SpO2の致命値 + 致死に至るSpO2値 Valor letal de SpO2 Tappava SpO2-arvo Dodelijke SpO2 waarde @@ -54,7 +54,7 @@ Ölümcül SpO2 değerini etkinleştir Attivare il valore letale di SpO2 Активировать летальное значение SpO2 - SpO2の致命値を有効化 + SpO2値による致死を有効化 Ativar o valor letal de SpO2 Aktivoi tappava SpO2-arvo Activeer dodelijke SpO2 waarde @@ -63,7 +63,7 @@ Cardiac arrest SpO2 value Значение SpO2 при остановке сердца Valor de SpO2 de parada cardíaca - SpO2の心停止値 + 心停止に至るSpO2値 Valeur d'arrêt cardiaque de la SpO2 Valor de SpO2 para parada cardíaca Hartstilstand SpO2 waarde @@ -73,7 +73,7 @@ Activate cardiac arrest SpO2 value Активируйте значение SpO2 при остановке сердца Activar parada cardíaca por valor de SpO2 - SpO2の心停止値を有効化 + SpO2値による心停止を有効化 Activer la valeur d'arrêt cardique de la SpO2 Ativar parada cardíaca por valor de SpO2 Activeer hartstilstand SpO2 waarde @@ -146,11 +146,13 @@ Enable PaCO2 PaCO2を有効化 Abilitare PaCO2 + Activation de la PaCO2 Enables PaCO2 movement and effects on ph and breathing rate phや呼吸速度へ影響を与えるPaCO2(動脈血二酸化炭素分圧)の変動を有効にします Abilita il movimento di PaCO2 e gli effetti su pH e frequenza respiratoria + Permet le déplacement de la PaCO2 et les effets sur le pH et la fréquence respiratoire Probability for a pneumothorax @@ -2020,9 +2022,11 @@ Personal Oxygen Tank + 個人用酸素ボンベ Personal oxygen tank for high altitude operations + 高高度作戦に用いる個人用酸素ボンベ Empty Portable Oxygen Tank (150L) @@ -2731,47 +2735,63 @@ Enable Check Breathing + Activer le contrôle de la respiration Abilitare il controllo della respirazione + "呼吸を確認"を有効化 Whether or not Check Breathing medical action is enabled Se l'azione medica di controllo della respirazione è abilitata o meno + Si "Contrôle de la respiration" est activée ou non + 呼吸を確認のアクションを可能にするかどうかを設定します Available Oxygen Masks + 使用可能な酸素マスク Sets which goggles can act as oxygen masks + 酸素マスクとして動作させたいゴーグルを指定します Connect Personal Oxygen + 個人用酸素供給機に接続 Disconnect Personal Oxygen + 個人用酸素供給機を切断 Check Personal Oxygen Status + 個人用酸素供給機の状態を確認 Minutes Remaining + 分残っています Oxygen Tank Empty + 酸素ボンベは空です Connect to Aircraft Oxygen + 航空機酸素供給機に接続 Attached to Aircraft Oxygen + 航空機酸素供給機に接続済 Oxygen already connected + 既に酸素供給機に接続済です Oxygen tank disconnected + 酸素供給機から切断しました Remove Oxygen Mask + 酸素マスクを取り外す diff --git a/addons/chemical/XEH_preInit.sqf b/addons/chemical/XEH_preInit.sqf index c786cc786..24ffb6cdb 100644 --- a/addons/chemical/XEH_preInit.sqf +++ b/addons/chemical/XEH_preInit.sqf @@ -35,7 +35,7 @@ PREP_RECOMPILE_END; [ QGVAR(gasMaskSoundVolume), "SLIDER", - [LLSTRING(SETTING_stethoscopeSoundVolume), LLSTRING(SETTING_stethoscopeSoundVolume_DESC)], + [LLSTRING(SETTING_gasMaskSoundVolume), LLSTRING(SETTING_gasMaskSoundVolume_DESC)], CBA_SETTINGS_CHEM, [0, 2, 1, 1], 2, @@ -54,4 +54,14 @@ PREP_RECOMPILE_END; [0, 1, 0, 2, true], true ] call CBA_Settings_fnc_init; + +// Infection time +[ + QGVAR(infectionTime), + "TIME", + [LLSTRING(SETTING_infectionTime), LLSTRING(SETTING_infectionTime_DESC)], + CBA_SETTINGS_CHEM, + [0, 3600, 60], + true +] call CBA_Settings_fnc_init; ADDON = true; diff --git a/addons/chemical/functions/fnc_fullHealLocal.sqf b/addons/chemical/functions/fnc_fullHealLocal.sqf index e749952a0..5874a2e37 100644 --- a/addons/chemical/functions/fnc_fullHealLocal.sqf +++ b/addons/chemical/functions/fnc_fullHealLocal.sqf @@ -21,3 +21,5 @@ TRACE_1("fullHealLocal kat chemical",_patient); _patient setVariable [QGVAR(gasmask_durability), 10, true]; _patient setVariable [QGVAR(CSGas), 0, true]; _patient setVariable [QGVAR(airPoisoning), false, true]; +_patient setVariable [QGVAR(infectionTime), missionNamespace getVariable [QGVAR(infectionTime), 60], true]; +_patient setVariable [QGVAR(infectionArray), [], true]; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_gasManagerPFH.sqf b/addons/chemical/functions/fnc_gasManagerPFH.sqf index f4fb22083..c49c3058b 100644 --- a/addons/chemical/functions/fnc_gasManagerPFH.sqf +++ b/addons/chemical/functions/fnc_gasManagerPFH.sqf @@ -20,6 +20,8 @@ _y params ["_gasLogic", "_radius", "_gasLevel", "_condition", "_conditionArgs", "_isSealable"]; TRACE_2("gasManagerPFH loop",_x,_y); + private _infectedObject = _y; + // Remove when condition is no longer valid if !(_conditionArgs call _condition) then { TRACE_2("condition no longer valid, deleting",_x,_y); @@ -34,7 +36,6 @@ // Poison units (alive or dead) close to the gas source { - // Get the distance of the unit from the center of the sphere (_gasLogic) private _distance = _x distance _gasLogic; @@ -46,7 +47,7 @@ _x setVariable [QGVAR(areaIntensity), _intensity, true]; - [QGVAR(poison), [_x, _gasLevel], _x] call CBA_fnc_targetEvent; + [QGVAR(poison), [_x, _gasLevel, _infectedObject], _x] call CBA_fnc_targetEvent; } forEach nearestObjects [_gasLogic, ["CAManBase"], _radius]; } forEach GVAR(gasSources); diff --git a/addons/chemical/functions/fnc_gasmodule.sqf b/addons/chemical/functions/fnc_gasmodule.sqf index f80c2fe21..15a57154f 100644 --- a/addons/chemical/functions/fnc_gasmodule.sqf +++ b/addons/chemical/functions/fnc_gasmodule.sqf @@ -22,6 +22,8 @@ private _radius = _logic getVariable ["Radius", 20]; private _gasLevel = _logic getVariable ["GAS_type", 0]; private _isSealable = _logic getVariable ["IsSealable", false]; +if (count _units == 0) then {_units pushBack _logic;}; + if (!_activated) exitWith {}; if (isServer) then { diff --git a/addons/chemical/functions/fnc_poison.sqf b/addons/chemical/functions/fnc_poison.sqf index e5719029c..9958334f6 100644 --- a/addons/chemical/functions/fnc_poison.sqf +++ b/addons/chemical/functions/fnc_poison.sqf @@ -15,7 +15,7 @@ * Public: No */ -params ["_unit", "_gasLevel"]; +params ["_unit", "_gasLevel", "_infectedObject"]; // Check if unit is remote (objNull is remote) if (!local _unit) exitWith { @@ -37,15 +37,37 @@ if ((goggles _unit in (missionNamespace getVariable [QGVAR(availGasmaskList), [] [QGVAR(handleGasMaskDur), _unit, _unit] call CBA_fnc_targetEvent; }; -switch (_gasLevel) do { - case 0: { - _unit setVariable [QGVAR(CSGas), 30, true]; - if (random 1 <= GVAR(tearGasDropChance)) then { - [QACEGVAR(hitreactions,dropWeapon), _unit, _unit] call CBA_fnc_targetEvent; - }; +if (_gasLevel == 0) exitWith { + _unit setVariable [QGVAR(CSGas), 30, true]; + if (random 1 <= GVAR(tearGasDropChance)) then { + [QACEGVAR(hitreactions,dropWeapon), _unit, _unit] call CBA_fnc_targetEvent; }; - case 1: { - _unit setVariable [QGVAR(airPoisoning), true, true]; - }; - default {}; }; + +private _currentInfectionArray = _unit getVariable [QGVAR(infectionArray), []]; + +if ((_currentInfectionArray findIf { _x isEqualTo _infectedObject}) == -1) then { + _currentInfectionArray append [_infectedObject]; +}; + +_unit setVariable [QGVAR(infectionArray), _currentInfectionArray, true]; + +//Get max infection time +private _infectionTime = missionNamespace getVariable [QGVAR(infectionTime), 60]; + +//Get current time left for player +private _currentInfection = _unit getVariable [QGVAR(infectionTime), 60]; + +private _timeLeft = _currentInfection - 1; +_timeLeft = _timeLeft max 0; + +private _newTime = _timeLeft; + +if (_currentInfection != _newTime) then { + _unit setVariable [QGVAR(infectionTime), _newTime, true]; +}; + +// Exit if infection reaches 0 +if (_newTime <= 0) then { + _unit setVariable [QGVAR(airPoisoning), true, true]; +}; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_ui_gasModule.sqf b/addons/chemical/functions/fnc_ui_gasModule.sqf index c359f333a..7a229d7ce 100644 --- a/addons/chemical/functions/fnc_ui_gasModule.sqf +++ b/addons/chemical/functions/fnc_ui_gasModule.sqf @@ -47,9 +47,6 @@ if !(isNull attachedTo _logic) then { }; default {}; }; - -} else { - [LLSTRING(OnlyObject)] call _fnc_errorAndClose; }; private _fnc_onUnload = { @@ -78,8 +75,15 @@ private _fnc_onConfirm = { private _gasLevel = _display getVariable [QGVAR(ui_gastype), 0]; private _radius = _display getVariable [QGVAR(ui_radius), 20]; private _isSealable = _display getVariable [QGVAR(ui_sealable), false]; + private _center = objNull; + + if (isNull attachedTo _logic) then { + _center = _logic; + } else { + _center = attachedTo _logic; + }; - [QGVAR(addGasSource), [attachedTo _logic, _radius, _gasLevel, _logic, { + [QGVAR(addGasSource), [_center, _radius, _gasLevel, _logic, { params ["_endTime", "_logic"]; // If logic no longer exists, exit diff --git a/addons/chemical/script_component.hpp b/addons/chemical/script_component.hpp index c36096d72..aee23a6cd 100644 --- a/addons/chemical/script_component.hpp +++ b/addons/chemical/script_component.hpp @@ -25,4 +25,4 @@ #define X_PART(num) (W_PART(num) + (safeZoneX + (safeZoneW - SIZEX) / 2)) #define Y_PART(num) (H_PART(num) + (safeZoneY + (safeZoneH - SIZEY) / 2)) -#define GAS_MANAGER_PFH_DELAY 0.25 +#define GAS_MANAGER_PFH_DELAY 1 diff --git a/addons/chemical/stringtable.xml b/addons/chemical/stringtable.xml index 95b01ef4e..d7e140fea 100644 --- a/addons/chemical/stringtable.xml +++ b/addons/chemical/stringtable.xml @@ -61,7 +61,7 @@ Определяет, как долго вы можете находиться в газе с противогазом без заражения. Bepaald hoelang je in gas kan staan zonder dat je geïnfecteerd raakt. - + Time until infection Tiempo hasta la infeccion Zeit bis zur Infektion @@ -76,7 +76,7 @@ Время до заражения Tijd tot infectie - + Time you can stand in the gas before you get infected or need a gas mask. Tiempo que puedes resistir en el gas hasta que resultes infectado o requieras una mascara de gas Die Zeit, in der man im Gas stehen kann, bevor man infiziert wird bzw. eine Gasmaske benötigt. @@ -184,10 +184,14 @@ JCAD Chemical Detector Rilevatore chimico JCAD + Détecteur de produits chimiques JCAD + JCAD 化学剤検知器 Used to detect KAT toxic chemicals Utilizzato per rilevare sostanze chimiche tossiche KAT + Utilisé pour détecter les produits chimiques toxiques KAT + KAT毒性化学物質の検出に使用 Put on gas mask @@ -255,7 +259,7 @@ Chemischen Detektor stumm schalten. Désactiver le son du détecteur de produits chimiques 화학물 탐지기 음소거 - 化学検知器をミュート + 化学剤検知器をミュート Silenzia il rilevatore chimico Silenciar detector químico Wycisz Detektor chemiczny @@ -269,7 +273,7 @@ Desilenciar Detector Quimico Chemischen Detektor laut schalten. Activer le son du détecteur de produits chimiques - 化学検知器のミュート解除 + 化学剤検知器のミュート解除 화학물 탐지기 음소거 해제 Smuta il rilevatore chimico Ativar som de detector químico @@ -775,18 +779,29 @@ Gas Mask Sound Volume + ガスマスクの音量 + Volume sonore du masque à gaz Determines how loud the breathing sounds are when using the gas mask - - - Must be placed on object + ガスマスク使用時の呼吸音の大きさを設定します + Détermine l'intensité des bruits respiratoires lors de l'utilisation du masque à gaz. Put on gas mask + ガスマスクを装着 + Mettre le masque à gaz Take off gas mask + ガスマスクを外す + Enlever le masque à gaz + + + Drop Weapon Chance + + + Determines chance for dropping weapon while in tear gas diff --git a/addons/circulation/defines.hpp b/addons/circulation/defines.hpp index f06aede78..67d707168 100644 --- a/addons/circulation/defines.hpp +++ b/addons/circulation/defines.hpp @@ -9,7 +9,7 @@ #define KAT_pxToScreen_W(X) (X / 2048 * KAT_GUI_GRID_W) #define KAT_pxToScreen_H(X) (X / 2048 * KAT_GUI_GRID_H) -#define KAT_GRID_H ((((safezoneW / safezoneH) min 1.2) / 1.2) / 22) +#define KAT_GRID_H ((((safeZoneW / safeZoneH) min 1.2) / 1.2) / 22) #define IDC_AEDX_MONITOR 70000 #define IDC_EKG_SLIDER 70010 diff --git a/addons/circulation/functions/fnc_AEDX_ViewMonitor_Charging.sqf b/addons/circulation/functions/fnc_AEDX_ViewMonitor_Charging.sqf index 1f4f00b67..f6e6585c6 100644 --- a/addons/circulation/functions/fnc_AEDX_ViewMonitor_Charging.sqf +++ b/addons/circulation/functions/fnc_AEDX_ViewMonitor_Charging.sqf @@ -261,7 +261,7 @@ if (_skip) then { // Skip visual charging process if (GVAR(AEDX_MonitorShockAdministered)) then { ctrlSetText [IDC_CHARGE_STATUS, LLSTRING(AEDX_Monitor_DeliveredEnergy)]; (_dlg displayCtrl IDC_CHARGE_STATUS) ctrlSetBackgroundColor [0.05, 0.85, 0.36, 1]; - (_dlg displayCtrl IDC_CHARGE_STATUS) ctrlSetFontHeight (GRID_H * 1.1); + (_dlg displayCtrl IDC_CHARGE_STATUS) ctrlSetFontHeight (KAT_GRID_H * 1.1); } else { ctrlSetText [IDC_CHARGE_STATUS, LLSTRING(AEDX_Monitor_DISARMED)]; (_dlg displayCtrl IDC_CHARGE_STATUS) ctrlSetBackgroundColor [0.94, 0.94, 0.03, 1]; @@ -274,7 +274,7 @@ if (_skip) then { // Skip visual charging process (_dlg displayCtrl IDC_CHARGE_STATUS) ctrlSetBackgroundColor [1, 0.35, 0, 0]; ctrlSetText [IDC_CHARGE_STATUS, LLSTRING(AEDX_Monitor_CHARGING)]; - (_dlg displayCtrl IDC_CHARGE_STATUS) ctrlSetFontHeight (GRID_H * 1.5); + (_dlg displayCtrl IDC_CHARGE_STATUS) ctrlSetFontHeight (KAT_GRID_H * 1.5); (_dlg displayCtrl IDC_CHARGE_ENERGY_AMOUNT) ctrlSetTextColor [1, 1, 1, 1]; (_dlg displayCtrl IDC_CHARGE_ENERGY_AMOUNT) ctrlSetBackgroundColor [0, 0, 0, 1]; diff --git a/addons/circulation/stringtable.xml b/addons/circulation/stringtable.xml index 00ee6d98e..4fb55d78d 100644 --- a/addons/circulation/stringtable.xml +++ b/addons/circulation/stringtable.xml @@ -23,8 +23,9 @@ AI Simple Medical activated? AI/KI simpel medische simulatie geactiveerd? ¿Activar Médico Simple para IA? - AI用単純化医療を有効化しますか? + AI用単純化医療を有効化 AI Simple Medical attivato? + Médecine simplifiée pour l'IA ? Advanced Rhythms activated? @@ -38,7 +39,7 @@ Ritmo avanzato attivato? ¿Ritmo avanzado activado? Pokročilý Rytmus aktivován? - 高度な心調律を有効化しますか? + 高度な心調律を有効化 Продвинутый ритм активирован? Ritmo avançado ativado? Edistyneet sykerytmit aktivoitu? @@ -1734,6 +1735,7 @@ %1 Muestra de sangre %1 血液サンプル %1 Campione di sangue + %1 échantillon de sang Run ABG Test @@ -1741,6 +1743,7 @@ Realizar prueba ABG ABGテストを行う Eseguire test ABG + Exécuter le test ABG ABG Test @@ -1748,6 +1751,7 @@ Prueba ABG ABGテスト Test ABG + Test ABG Apply %1 Test @@ -1755,6 +1759,7 @@ Realizar prueba %1 %1 テストを実施 Applicare il %1 Test + Appliquer le test %1 Blood groups cheat sheet @@ -1992,9 +1997,13 @@ Enable ABG Testing + Activer le test ABG + ABGテストを有効化 Enables ABG Testing and ACE Menu Visibility + Permet le test ABG et la visibilité du menu ACE + ABGテストを有効化しACEメニューに表示します %1 checked dogtags blood group: %2 @@ -2583,6 +2592,7 @@ Change Monitoring Device + モニタリングする装置を変更 CPR Started @@ -2706,6 +2716,7 @@ Extraer muestra arterial 動脈サンプルを採る Prelevare campione arterioso + Prélèvement d'un échantillon artériel Blood Sample @@ -2713,6 +2724,7 @@ Muestra de sangre 血液サンプル Campione di sangue + Echantillon de sang ABG Result @@ -2720,6 +2732,7 @@ Resultado ABG ABG結果 Risultato del test ABG + Résultat de l'ABG Drawing Blood diff --git a/addons/feedback/stringtable.xml b/addons/feedback/stringtable.xml index 53d2cdf37..ead5bb707 100644 --- a/addons/feedback/stringtable.xml +++ b/addons/feedback/stringtable.xml @@ -33,11 +33,13 @@ Enable opioid effect オピオイド効果を有効化 Abilita l'effetto degli oppioidi + Activer l'effet opioïde Enables opioid effect on ketamine, fentanyl and pervitin ケタミン、フェンタニル、ペルビチンなどでオピオイドの効果を有効にします Abilita l'effetto degli oppioidi su ketamina, fentanil e pervitina + Permet un effet opioïde sur la kétamine, le fentanyl et la pervitine Enable Overdose effects diff --git a/addons/gui/stringtable.xml b/addons/gui/stringtable.xml index c01d94d1a..9854eeec3 100644 --- a/addons/gui/stringtable.xml +++ b/addons/gui/stringtable.xml @@ -102,6 +102,7 @@ CABEZA - SIN LINEA 頭部 - ライン無し TESTA - SENZA LINEA + TETE - PAS DE LIGNES CHEST - NO LINE @@ -109,6 +110,7 @@ TORSO - SIN LINEA 胸部 - ライン無し TORACE - SENZA LINEA + POITRINE - PAS DE LIGNES RIGHT ARM - NO LINE @@ -116,6 +118,7 @@ BRAZO DERECHO - SIN LINEA 右腕 - ライン無し BRACCIO DESTRO - SENZA LINEA + BRAS DROIT - PAS DE LIGNES LEFT ARM - NO LINE @@ -123,6 +126,7 @@ BRAZO IZQUIERDO - SIN LINEA 左腕 - ライン無し BRACCIO SINISTRO - SENZA LINEA + BRAS GAUCHE - PAS DE LIGNES RIGHT LEG - NO LINE @@ -130,6 +134,7 @@ PIERNA DERECHA - SIN LINEA 右脚 - ライン無し GAMBA DESTRA - SENZA LINEA + JAMBE DROITE - PAS DE LIGNES LEFT LEG - NO LINE @@ -137,6 +142,7 @@ PIERNA IZQUIERDA - SIN LINEA 左脚 - ライン無し GAMBA SINISTRA - SENZA LINEA + JAMBE GAUCHE - PAS DE LIGNES IV Flow Control @@ -144,6 +150,7 @@ Control de Flujo IV IV流量操作 Controllo del flusso IV + Fonctionnement du flux IV ABG Results @@ -151,6 +158,7 @@ Resultados ABG ABG 結果 Risultati ABG + Résultats de l'ABG 0.0 @@ -158,6 +166,7 @@ 0.0 0.0 0.0 + 0.0 Head @@ -165,6 +174,7 @@ Cabeza 頭部 Testa + Tête IV @@ -172,6 +182,7 @@ IV IV IV + IV Chest @@ -179,6 +190,7 @@ Torso 胸部 Torace + Torse IV @@ -186,6 +198,7 @@ IV IV IV + IV LA @@ -193,6 +206,7 @@ BI 左腕 BS + BG IV @@ -200,6 +214,7 @@ IV IV IV + IV RA @@ -207,6 +222,7 @@ BD 右腕 BD + BD IV @@ -214,6 +230,7 @@ IV IV IV + IV LL @@ -221,6 +238,7 @@ PI 左脚 GS + JG IV @@ -228,6 +246,7 @@ IV IV IV + IV RL @@ -235,6 +254,7 @@ PD 右脚 GB + JD IV @@ -242,6 +262,7 @@ IV IV IV + IV --.- @@ -249,6 +270,7 @@ --.- --.- --.- + --.- Reset @@ -256,6 +278,7 @@ Restaurar リセット Ripristina + Réinitialiser Syringe Preparation diff --git a/addons/hypothermia/stringtable.xml b/addons/hypothermia/stringtable.xml index 5b04bcedf..ea6bc1f15 100644 --- a/addons/hypothermia/stringtable.xml +++ b/addons/hypothermia/stringtable.xml @@ -25,6 +25,7 @@ Habilitar hipotermia 低体温症を有効化 Abilita l'ipotermia + Permettre l'hypothermie Hand Warmer Impact @@ -32,6 +33,7 @@ Impacto de Calentador de Manos ハンドウォーマーの影響 Impatto dei riscaldatori per le mani + Impact du chauffe-mains Multipler for impact of hand warmers on heat gain @@ -39,6 +41,7 @@ Multiplicador del impacto del calentador de manos en la ganancia de calor ハンドウォーマーが熱獲得に与える影響の乗数 Moltiplicatore per l'impatto dei riscaldatori per le mani sull'aumento del calore + Multiplicateur pour l'impact des chauffe-mains sur le gain de chaleur Fluid Warmer Impact @@ -46,6 +49,7 @@ Impacto del Calentador de Fluidos 輸液ウォーマーの影響 Impatto del riscaldatore per liquidi + Impact du réchauffeur de fluide Multipler for impact of fluid warmer on heat gain @@ -53,6 +57,7 @@ Multiplicador del impacto del calentador de fluidos en la ganancia de calor 輸液ウォーマーが熱獲得に与える影響の乗数 Moltiplicatore per l'impatto del riscaldatore per liquidi sull'aumento del calore + Multiplicateur pour l'impact du réchauffement des fluides sur le gain de chaleur Warm Uniforms @@ -60,6 +65,7 @@ Uniformes Calientes 暖かいユニフォーム Uniformi riscaldate + Uniformes chauds List of clothing marked that reduces heat loss @@ -67,6 +73,7 @@ Listado de ropa marcada como reductora de la pérdida de calor 熱損失を減らすことが出来るとマークされた衣類のリスト Elenco degli indumenti segnati che riducono la perdita di calore + Liste des vêtements qui réduisent les chutes de température Check Hand Warmers @@ -74,6 +81,7 @@ Comprobar Calentadores de Manos ハンドウォーマーを確認する Controlla i riscaldatori per le mani + Vérifier les chauffe-mains Hand Warmer @@ -81,6 +89,7 @@ Calentador de Manos ハンドウォーマー Riscaldatore per le mani + Chauffe-mains Small hand warmers to provide warmth in colder climates @@ -88,6 +97,7 @@ Pequeños calentadores de manos para dar calor en climas fríos 寒冷地でも体を温めることが出来る小さなハンドウォーマー (懐炉) Piccoli riscaldatori per le mani per fornire calore in climi freddi + Petits chauffe-mains pour réchauffer les mains dans les climats plus froids Use Hand Warmer @@ -95,6 +105,7 @@ Usar Calentador de Manos ハンドウォーマーを使用する Usa il riscaldatore per le mani + Utiliser des chauffe-mains This is where you have handwarmers and how much longer you think they have in minutes: %1, %2, %3, %4, %5 @@ -102,6 +113,7 @@ Aquí es donde tienes calentadores de manos y cuanto piensas que les queda de duración en minutos: %1, %2, %3, %4, %5 あなたが使用中の ハンドウォーマーの 位置と残り持続時間は 次の通りです (分単位): %1, %2, %3, %4, %5 Ecco dove hai i riscaldatori per le mani e quanto tempo pensi che rimangano in minuti: %1, %2, %3, %4, %5 + La position et la durée restante du chauffe-mains que vous utilisez sont les suivantes (en minutes) : %1, %2, %3, %4, %5 This patient has handwarmers and they will probably last this many more minutes at this locations: %1, %2, %3, %4, %5 @@ -109,6 +121,7 @@ Este paciente tiene calentadores de manos y probablemente le duren muchos mas minutos en esos sitios: %1, %2, %3, %4, %5 この患者が使用中の ハンドウォーマーの 位置と残り持続時間は 次の通りです (分単位): %1, %2, %3, %4, %5 Questo paziente ha riscaldatori per le mani e probabilmente dureranno ancora questi minuti in queste posizioni: %1, %2, %3, %4, %5 + La position et la durée restante du chauffe-main utilisé par ce patient sont les suivantes (en minutes) : %1, %2, %3, %4, %5 Fluid Line Warmer @@ -116,6 +129,7 @@ Calentador de Línea de Fluidos 輸液ラインウォーマー Riscaldatore per linea endovenosa + Chauffe-ligne fluide Provides heating to IV fluids. Must be placed on an already existing line @@ -123,6 +137,7 @@ Provee calor a los fluidos IV. Deben ser colocados en una línea ya existentes IVの輸液を温めます。既存のライン上に配置する必要があります Fornisce riscaldamento ai liquidi IV. Deve essere posizionato su una linea già esistente + Permet de chauffer les fluides IV. Doit être placé sur une ligne déjà existante Attach Fluid Warmer @@ -130,6 +145,7 @@ Poner Calentador de Fluidos 輸液ウォーマーを取り付ける Attacca il riscaldatore per liquidi + Attacher le réchauffeur de fluide Remove Fluid Warmer @@ -137,41 +153,47 @@ Quitar Calentador de Fluidos 輸液ウォーマーを取り外す Rimuovi il riscaldatore per liquidi + Enlever le réchauffeur de fluide Patient feels frigid Patiënt voelt ijskoud aan El paciente se siente frígido - 患者は凍ったように冷たく感じます + 患者は凍ったように冷たい Il paziente sente gelato + Le patient se sent frigorifié Patient feels remarkably cold Patiënt voel opmerkelijk koud aan El paciente se siente realmente frío - 患者は著しく冷たく感じます + 患者は著しく冷たい Il paziente sente notevolmente freddo + Le patient a une sensation de froid intense Patient feels moderately cold Patiënt voelt redelijk koud aan El paciente se siente moderadamente frío - 患者は少し冷たく感じます + 患者は少し冷たい Il paziente sente moderatamente freddo + Le patient a modérément froid Patient feels mildly cool Patiënt voelt een klein beetje koud aan El paciente se siente algo frío - 患者は少しひんやりと感じます + 患者は少しひんやりしている Il paziente sente lievemente fresco + Le patient ressent une légère fraîcheur Patient feels warm Patiënt voelt warm aan El paciente se siente cálido - 患者は暖かく感じます + 患者は暖かい Il paziente sente caldo + Le patient ressent de la chaleur Check Temperature @@ -179,6 +201,7 @@ Comprobar Temperatura 体温を確認 Controlla la temperatura + Vérifier la température Checking Temperature @@ -186,6 +209,7 @@ ComprobandoTemperatura 体温をチェックしています Controllo della temperatura in corso + La température est vérifiée Check Hand Warmers @@ -193,6 +217,7 @@ Comprobar Calentadores de Mano ハンドウォーマーをチェックします Controlla i riscaldatori per le mani + Vérifier les chauffe-mains. Performing @@ -200,6 +225,7 @@ Realizando 適用中 Esecuzione in corso + En cours de mise en place Line Warmer Active @@ -207,6 +233,7 @@ Calentador de Línea Activo ラインウォーマーを利用中 Riscaldatore per linea attivo + Chauffe-lignes en service. No Hand Warmers are active at this time @@ -214,6 +241,7 @@ No hay calentadores de mano activos actualmente 現在ハンドウォーマーは使っていません Nessun riscaldatore per le mani è attivo in questo momento + Les chauffe-mains ne sont pas utilisés actuellement. Body: %1 @@ -221,6 +249,7 @@ Cuerpo: %1 胴体: %1 Corpo: %1 + Corps : %1 Body: None @@ -228,6 +257,7 @@ Cuerpo: Ninguno 胴体: なし Corpo: Nessuno + Corps : Aucun Left Arm: %1 @@ -235,6 +265,7 @@ Brazo Izquierdo: %1 左腕: %1 Braccio Sinistro: %1 + Bras gauche : %1 Left Arm: None @@ -242,6 +273,7 @@ Brazo Izquierdo: Ninguno 左腕: なし Braccio Sinistro: Nessuno + Bras gauche : aucun Right Arm: %1 @@ -249,6 +281,7 @@ Brazo Derecho: %1 右腕: %1 Braccio Destro: %1 + Bras droit : %1 Right Arm: None @@ -256,6 +289,7 @@ Brazo Derecho: Ninguno 右腕: なし Braccio Destro: Nessuno + Bras droit : aucun Left Leg: %1 @@ -263,6 +297,7 @@ Pierna Izquierda: %1 左脚: %1 Gamba Sinistra: %1 + Jambe gauche : %1 Left Leg: None @@ -270,6 +305,7 @@ Pierna Izquierda: Ninguno 左脚: なし Gamba Sinistra: Nessuna + Jambe gauche : aucune Right Leg: %1 @@ -277,6 +313,7 @@ Pierna Derecha: %1 右脚: %1 Gamba Destra: %1 + Jambe droite : %1 Right Leg: None @@ -284,6 +321,7 @@ Pierna Derecha: Ninguno 右脚: なし Gamba Destra: Nessuna + Jambe droite : non diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp index db5525b2c..da0e91aa9 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 4 -#define BUILD 58 +#define BUILD 59 diff --git a/addons/misc/functions/fnc_carryObject.sqf b/addons/misc/functions/fnc_carryObject.sqf index b6a2a0b30..e0fefc80f 100644 --- a/addons/misc/functions/fnc_carryObject.sqf +++ b/addons/misc/functions/fnc_carryObject.sqf @@ -75,6 +75,6 @@ if (_UAVCrew isNotEqualTo []) then { }; // Check everything -[ACEFUNC(cdragging,carryObjectPFH), 0.5, [_unit, _target, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; +[ACEFUNC(dragging,carryObjectPFH), 0.5, [_unit, _target, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; [QACEGVAR(dragging,startedCarry), [_unit, _target]] call CBA_fnc_localEvent; diff --git a/addons/misc/script_component.hpp b/addons/misc/script_component.hpp index 56d64c140..1f7a8ff7a 100644 --- a/addons/misc/script_component.hpp +++ b/addons/misc/script_component.hpp @@ -19,4 +19,10 @@ #define MEDICAL_TREATMENT_ITEMS (call (uiNamespace getVariable [QACEGVAR(medical_treatment,treatmentItems), {[]}])) #define DAMAGED_MIN_THRESHOLD 0.45 -#define LIMPING_MIN_DAMAGE 0.5 \ No newline at end of file +#define LIMPING_MIN_DAMAGE 0.5 + +// Animations that would be played slower than this are instead played exactly as slow as this. (= Progress bar will take longer than the slowed down animation). +#define ANIMATION_SPEED_MIN_COEFFICIENT 0.5 + +// Animations that would be played faster than this are instead skipped. (= Progress bar too quick for animation). +#define ANIMATION_SPEED_MAX_COEFFICIENT 2.5 \ No newline at end of file diff --git a/addons/pharma/ACE_Medical_Treatment.hpp b/addons/pharma/ACE_Medical_Treatment.hpp index 80bbfca4d..146c43d1a 100644 --- a/addons/pharma/ACE_Medical_Treatment.hpp +++ b/addons/pharma/ACE_Medical_Treatment.hpp @@ -317,7 +317,7 @@ class ACE_ADDON(Medical_Treatment) { hrIncreaseLow[] = {-5, -10}; hrIncreaseNormal[] = {-15, -20}; hrIncreaseHigh[] = {-20, -30}; - timeInSystem = 45; + timeInSystem = 60; timeTillMaxEffect = 5; dose = 1; maxDose = 10; diff --git a/addons/pharma/stringtable.xml b/addons/pharma/stringtable.xml index 8d3c8751f..07ee941e4 100644 --- a/addons/pharma/stringtable.xml +++ b/addons/pharma/stringtable.xml @@ -695,6 +695,7 @@ Used to raise blood pressure 血圧を上げるために使用される Usato per aumentare la pressione sanguigna + Utilisé pour augmenter la pression artérielle Inject Phenylephrine @@ -1247,11 +1248,13 @@ Enable IV/IO Flow Control IV/IO流量操作を有効化 Abilita il controllo del flusso IV/IO + Activer les opérations de flux IV/IO Enables the IV/IO flow control menu which gives the medic fine control over the volume running through the active line IV/IO流量操作メニューを有効にし、輸液がラインを流れる液量を衛生兵が細かく制御できるようにします。 Abilita il menu di controllo del flusso IV/IO che consente al medico di controllare con precisione il volume che scorre attraverso la linea attiva. + Active le menu de contrôle du débit IV/IO qui permet à l'infirmier de contrôler finement le volume circulant dans la ligne active. Reorientation slap sound @@ -1301,7 +1304,7 @@ Stimulation activé? Yeniden yönlendirme etkin mi? Stimolazione abilitata? - 患者を刺激するアクションを有効化しますか? + "患者を刺激する"アクションを有効化 Переориентация включена? Reorientação habilitada? Uudelleensuuntaus käytössä? @@ -1319,7 +1322,7 @@ Activer stimulation Yeniden yönlendirmeyi etkinleştirir Stimolazione abilitata - 安定化している患者を刺激(平手打ち)することで、目覚めさせる機能を有効化します + 安定化している患者を刺激(平手打ち)することで、目覚めさせる機能とアクションを有効化します Включает переориентация Habilita a reorientação Mahdollistaa suunnanmuutoksen @@ -3851,7 +3854,7 @@ Taking Blood Sample, - 血液サンプルを取っています、 + 血液サンプルを取得、 Tomar muestra de sangre, Coletando amostra sanguínea, Bloedstaal wordt genomen @@ -3950,7 +3953,7 @@ If enabled EACA will be stackable and double its efficiency - 有効にすると、EACAの重複が可能になり、効率が2倍になります。 + 有効にすると、EACAの重複と効率の倍化が可能になります。 Si el EACA esta permitido, se podrá acumular y duplicará su eficiencia Se habilitado, o efeito do EACA será somável e sua eficiência será dobrada Staat het stapelen van EACA toe wanneer ingeschakeld, wat leidt tot een verdubbeling van de effectiviteit diff --git a/addons/stretcher/stringtable.xml b/addons/stretcher/stringtable.xml index d75176dda..1db561773 100644 --- a/addons/stretcher/stringtable.xml +++ b/addons/stretcher/stringtable.xml @@ -98,6 +98,7 @@ Desplegar Camilla 担架を展開する Dispiegare la barella + Déployer le brancard Retract Stretcher @@ -106,6 +107,7 @@ Recoger Camilla 担架を収容する Ritirare la barella + Rétracter le brancard Detach Stretcher @@ -114,6 +116,7 @@ Desanclar Camilla 担架を取り外す Staccare la barella + Détacher le brancard Attachable Helistretcher @@ -194,6 +197,7 @@ Empaquetar en bolsa ランチャーとして畳む Mettere nella borsa + Emballer dans un sac Pack into backpack @@ -202,6 +206,7 @@ Empaquetar en mochila バックパックとして畳む Mettere nello zaino + Emballer dans un sac à dos Deploy Stretcher @@ -210,6 +215,7 @@ Desplegar Camilla 担架を展開する Dispiegare la barella + Déployer le brancard Placing Stretcher... @@ -218,6 +224,7 @@ Colocando Camilla... 担架を設置しています・・・ Posizionamento della barella... + Mise en place du brancard... Packing Stretcher... @@ -226,6 +233,7 @@ Empaquetando Camilla... 担架を折り畳んでいます・・・ Imballaggio della barella... + Le brancard est emballé KAT Helistretcher @@ -233,6 +241,7 @@ KAT Camilla de Helicóptero KAT ヘリコプター用担架 KAT Barella per elicotteri + Brancard d'hélicoptère KAT diff --git a/addons/surgery/XEH_preInit.sqf b/addons/surgery/XEH_preInit.sqf index 88fb5c537..8055419cf 100644 --- a/addons/surgery/XEH_preInit.sqf +++ b/addons/surgery/XEH_preInit.sqf @@ -62,15 +62,6 @@ PREP_RECOMPILE_END; true ] call CBA_Settings_fnc_init; -[ - QGVAR(etomidateTime), - "SLIDER", - [LLSTRING(ETOMIDATE_TIMER), LLSTRING(ETOMIDATE_TIMER_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,45,0], - true -] call CBA_Settings_fnc_init; - [ QGVAR(closedTime), "SLIDER", diff --git a/addons/surgery/functions/fnc_incisionLocal.sqf b/addons/surgery/functions/fnc_incisionLocal.sqf index c294aa15a..e92d44dd2 100644 --- a/addons/surgery/functions/fnc_incisionLocal.sqf +++ b/addons/surgery/functions/fnc_incisionLocal.sqf @@ -43,22 +43,27 @@ _patient setVariable [QGVAR(fractures), _fractureArray, true]; private _fractureArray = _patient getVariable [QGVAR(fractures), [0,0,0,0,0,0]]; private _liveFracture = _fractureArray select _part; - private _count = [_patient, "Etomidate"] call ACEFUNC(medical_status,getMedicationCount); + private _count = [_patient, "Etomidate", true] call ACEFUNC(medical_status,getMedicationCount); private _alive = alive _patient; if ((!_alive) || (_liveFracture == 0)) exitWith { [_idPFH] call CBA_fnc_removePerFrameHandler; + _patient setVariable [QGVAR(etomidate_Pain), false] }; - if (((GVAR(Surgery_ConsciousnessRequirement) in [0,1]) && (!(IS_UNCONSCIOUS(_patient)) || _count == 0)) || (GVAR(Surgery_ConsciousnessRequirement) == 3 && _count == 0)) exitWith { - [_patient, "Pain", 10, 40, 200, 0, 40, "", "", ""] call EFUNC(vitals,addMedicationAdjustment); + if (((GVAR(Surgery_ConsciousnessRequirement) in [0,1]) && (!(IS_UNCONSCIOUS(_patient)) || _count >= 0.2)) || (GVAR(Surgery_ConsciousnessRequirement) == 3 && _count == 0)) exitWith { + if !(_patient getVariable [QGVAR(etomidate_Pain), false]) then { + [_patient, "Pain", 2, 10, 120, 0.6, 40] call ACEFUNC(medical_status,addMedicationAdjustment); + _patient setVariable [QGVAR(etomidate_Pain), true]}; [_patient, true] call ACEFUNC(medical,setUnconscious); }; - if (GVAR(Surgery_ConsciousnessRequirement) == 2 && _count == 0) then { - [_patient, 0.4] call ACEFUNC(medical_status,adjustPainLevel); - [_patient, "Pain", 10, 40, 30, 0, 40, "", "", ""] call EFUNC(vitals,addMedicationAdjustment); + if (GVAR(Surgery_ConsciousnessRequirement) == 2 && _count >= 0.2) then { + if !(_patient getVariable [QGVAR(etomidate_Pain), false]) then { + [_patient, "Pain", 2, 10, 120, 0.6, 40] call ACEFUNC(medical_status,addMedicationAdjustment); + _patient setVariable [QGVAR(etomidate_Pain), true] + }; }; +}, 5, [_patient, _part]] call CBA_fnc_addPerFrameHandler; -}, GVAR(etomidateTime), [_patient, _part]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/surgery/stringtable.xml b/addons/surgery/stringtable.xml index 0306f9c73..8d4db3ad5 100644 --- a/addons/surgery/stringtable.xml +++ b/addons/surgery/stringtable.xml @@ -529,6 +529,7 @@ Cerrar Incisión 切開口を閉じる Chiudere incisione + Fermer l'incision Bone Plate diff --git a/addons/vitals/functions/fnc_handlePoisoning.sqf b/addons/vitals/functions/fnc_handlePoisoning.sqf index 25607fd3f..c150c5eae 100644 --- a/addons/vitals/functions/fnc_handlePoisoning.sqf +++ b/addons/vitals/functions/fnc_handlePoisoning.sqf @@ -23,3 +23,26 @@ params ["_unit", "_poisonAdjustment", "_deltaT", "_syncValue"]; private _currentCS = _unit getVariable [QEGVAR(chemical,CSGas), 0]; _unit setVariable [QEGVAR(chemical,CSGas), (_currentCS - (_poisonAdjustment * _deltaT)) max 0, _syncValue]; + +private _infectionArray = _unit getVariable [QEGVAR(chemical,infectionArray), []]; + +if (count _infectionArray == 0) then { + private _currentInfection = _unit getVariable [QEGVAR(chemical,infectionTime), missionNamespace getVariable [QEGVAR(chemical,infectionTime), 60]]; + private _updateTime = _currentInfection + (1 * _deltaT); + _updateTime = _updateTime min (missionNamespace getVariable [QEGVAR(chemical,infectionTime), 60]); + + _unit setVariable [QEGVAR(chemical,infectionTime), _updateTime, true]; +} else { + { + _x params ["_gasLogic", "_radius", "_gasLevel", "_condition", "_conditionArgs", "_isSealable"]; + + // Get the distance of the unit from the center of the sphere (_gasLogic) + private _distance = _unit distance _gasLogic; + + if (_distance > _radius) then { + _infectionArray deleteAt _forEachIndex; + }; + } forEach _infectionArray; + + _unit setVariable [QEGVAR(chemical,infectionArray), _infectionArray, true]; +}; \ No newline at end of file diff --git a/addons/vitals/functions/fnc_handleSimpleVitals.sqf b/addons/vitals/functions/fnc_handleSimpleVitals.sqf index ca3c9d8c4..4645f4ff4 100644 --- a/addons/vitals/functions/fnc_handleSimpleVitals.sqf +++ b/addons/vitals/functions/fnc_handleSimpleVitals.sqf @@ -71,6 +71,7 @@ if !(_adjustments isEqualTo []) then { private _heartRate = [_unit, _hrTargetAdjustment, _deltaT, _syncValues] call ACEFUNC(medical_vitals,updateHeartRate); //Rename [_unit, _painSupressAdjustment, _deltaT, _syncValues] call ACEFUNC(medical_vitals,updatePainSuppress); //Leave alone +[_unit, POISON_DECREASE, _deltaT, _syncValues] call FUNC(handlePoisoning); private _bloodPressure = [80,120]; _unit setVariable [VAR_BLOOD_PRESS, _bloodPressure, _syncValues]; diff --git a/addons/vitals/stringtable.xml b/addons/vitals/stringtable.xml index f913a13e5..edee7e1ce 100644 --- a/addons/vitals/stringtable.xml +++ b/addons/vitals/stringtable.xml @@ -7,16 +7,19 @@ Activar Médico Simple para IA AI用単純化医療を有効化 Attiva AI Simple Medical + Simplifier la médecine pour l'IA. Apply simplified vital calculations to the AI unit. Which can be useful for saving FPS. 単純化されたバイタル計算をAIユニットに適用します。 これは負荷の軽減に役立つ可能性があります。 Applica calcoli vitali semplificati all'unità AI. Che può essere utile per salvare FPS. + Appliquer des calculs vitaux simplifiés à l'unité AI. Ce qui peut être utile pour économiser des FPS. Enable Patient Fluid Shift 患者の体液移動を有効化 Abilita lo spostamento del fluido del paziente + Permettre le transfert de fluide du patient diff --git a/addons/watch/stringtable.xml b/addons/watch/stringtable.xml index b3b6995cd..cffe80016 100644 --- a/addons/watch/stringtable.xml +++ b/addons/watch/stringtable.xml @@ -7,6 +7,7 @@ Seleccionar temperatura de 温度単位を選択 Seleziona formato temperatura + Sélectionner l'unité de température Selects which temperature unit is used for the KATMIN watch display @@ -14,6 +15,7 @@ Seleccionar qué unidad de temperatura es usada para la pantalla del reloj KATMIN Katmin腕時計で表示される温度の単位を選択します Seleziona quale unità di temperatura viene utilizzata per il display del KATMIN + Sélectionne l'unité de température utilisée pour l'affichage de la montre KATMIN Celcius @@ -21,6 +23,7 @@ Celsius 摂氏 (C) Celcius + Celcius Fahrenheit @@ -28,6 +31,7 @@ Fahrenheit 華氏 (F) Fahrenheit + Fahrenheit Select pressure form @@ -35,6 +39,7 @@ Seleccionar presión de 圧力単位を選択 Seleziona formato pressione + Sélectionner la forme de pression Selects which pressure unit is used for the KATMIN watch display @@ -42,6 +47,7 @@ Selecciona qué unidad de presión es usada para la pantalla del reloj KATMIN Katmin腕時計で表示される圧力の単位を選択します Seleziona quale unità di pressione viene utilizzata per il display del KATMIN + Sélectionne l'unité de pression utilisée pour l'affichage de la montre KATMIN mmHg @@ -49,6 +55,7 @@ mmHg mmHg mmHg + mmHg hPa @@ -56,6 +63,7 @@ hPa hPa hPa + hPa Select altitude form @@ -63,6 +71,7 @@ Seleccionar altitud de 高度単位を選択 Seleziona formato altitudine + Sélectionner l'unité d'altitude Selects which altitude unit is used for the KATMIN watch display @@ -70,6 +79,7 @@ Selecciona qué unidad de altitud es usada para la pantalla del reloj KATMIN Katmin腕時計で表示される高度の単位を選択します Seleziona quale unità di altitudine viene utilizzata per il display del KATMIN + Sélectionne l'unité d'altitude utilisée pour la montre KATMIN Meters @@ -77,6 +87,7 @@ Metros メートル Metri + Mètres Feet @@ -84,6 +95,7 @@ Pies フィート Piedi + Pieds Watch with Vital Monitoring Capabilities @@ -91,6 +103,7 @@ Reloj con Capacidad de Monitorización de Constantes Vitales カーミン K500。 バイタル監視機能を持った腕時計 Orologio con capacità di monitoraggio vitale + Montre avec moniteur de signes vitaux intégré Katmin K500 @@ -98,36 +111,43 @@ Katmin K500 Katmin K500 Katmin K500 + Katmin K500 Watch with Vital Monitoring Capabilities. Garry Owen! カーミン キャバルリー・リミテッド。 バイタル監視機能を持った腕時計。 ギャリー・オーウェン!(Garry Owen!) Orologio con capacità di monitoraggio vitale. Garry Owen! + Montre avec fonctions de surveillance vitale. Garry Owen ! Katmin Cavalry Limited Katmin Cavalry Limited Katmin Cavalry Limited + Katmin Cavalry Limited Watch with Vital Monitoring Capabilities. So Others May Live. カーミン ジャンプ・スタンダード。 バイタル監視機能を持った腕時計。 他人の命の為に。(So Others May Live) Orologio con capacità di monitoraggio vitale. Perché altri possano vivere. + Montre avec fonctions de surveillance vitale. Pour que d'autres puissent vivre. Katmin Jump Standard Katmin Jump Standard Katmin Jump Standard + Katmin Jump Standard %1ft/s %1ft/s %1ft/s + %1ft/s %1m/s %1m/s %1m/s + %1m/s diff --git a/addons/zeus/CfgVehicles.hpp b/addons/zeus/CfgVehicles.hpp index 30fb14e5b..a6806a334 100644 --- a/addons/zeus/CfgVehicles.hpp +++ b/addons/zeus/CfgVehicles.hpp @@ -34,13 +34,6 @@ class CfgVehicles { icon = QACEPATHTOF(medical_gui,data\categories\advanced_treatment.paa); }; - class GVAR(checkmedical_module): GVAR(baseModule) { - curatorCanAttach = 1; - displayName = CSTRING(checkmedical_Module_displayname); - function = QFUNC(openMedicalMenu); - icon = QACEPATHTOF(medical_gui,data\categories\triage_card.paa); - }; - class GVAR(toggleAIDeath_module): GVAR(baseModule) { author = "Blue"; curatorCanAttach = 1; diff --git a/addons/zeus/XEH_PREP.hpp b/addons/zeus/XEH_PREP.hpp index 5ea337ef2..7184676f9 100644 --- a/addons/zeus/XEH_PREP.hpp +++ b/addons/zeus/XEH_PREP.hpp @@ -1,5 +1,4 @@ PREP(emptyFunction); -PREP(openMedicalMenu); PREP(showMessage); PREP(toggleAIDeathModule); PREP(ui_changeBloodType); diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 5d49258db..ee24a8099 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -8,7 +8,6 @@ class CfgPatches { QGVAR(manageAirway_module), QGVAR(bloodType_module), QGVAR(cardiacState_module), - QGVAR(checkmedical_module), QGVAR(toggleAIDeath_module) }; weapons[] = {}; diff --git a/addons/zeus/functions/fnc_openMedicalMenu.sqf b/addons/zeus/functions/fnc_openMedicalMenu.sqf deleted file mode 100644 index 9aa005c37..000000000 --- a/addons/zeus/functions/fnc_openMedicalMenu.sqf +++ /dev/null @@ -1,36 +0,0 @@ -#include "..\script_component.hpp" -/* - * Author: DiGi - * Initalizes the "Open Unit medical menu" Zeus module. - * - * Arguments: - * 0: GVAR(checkmedical_module) zeus module - * - * Return Value: - * None - * - * Example: - * [logic] call kat_zeus_fnc_openMedicalMenu - * - * Public: No - */ - -params ["_logic"]; - -if !(local _logic) exitWith {}; - -private _mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]); - -if ((_mouseOver select 0) != "OBJECT") then { - [ACELSTRING(zeus,NothingSelected)] call FUNC(showMessage); -} else { - private _unit = effectiveCommander (_mouseOver select 1); - - if !(_unit isKindOf "CAManBase") then { - [ACELSTRING(zeus,OnlyInfantry)] call FUNC(showMessage); - } else { - [_unit] call ACEFUNC(medical_gui,openMenu); - }; -}; - -deleteVehicle _logic; diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml index 24f32d8bc..4e066ded3 100644 --- a/addons/zeus/stringtable.xml +++ b/addons/zeus/stringtable.xml @@ -207,24 +207,6 @@ Verander cardiale staat Cambia stato cardiaco - - Open unit medical menu - Medic Menü der Einheit öffnen - Otevřít zdravotnickou nabídku jednotky - Ouvrir menu médical - Otwórz menu medyczne - Abrir el menú médico de la unidad - 打开单位医疗菜单 - 유닛 의료 메뉴 열기 - Ünite tıbbi menüsünü aç - 医療メニューを開く - Медицинское меню открытого блока - Apri il menu medico - 打开单位医疗菜单 - Abra o menu médico da unidade - Avaa laitteen lääketieteellinen valikko - Open eenheids medisch menu - State: Wert: diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..3a0c117c6 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,3 @@ +.obsidian +/\!templates +/\!hidden diff --git a/docs/Cardiac/Cardiac-Arrest.md b/docs/Cardiac/Cardiac-Arrest.md new file mode 100644 index 000000000..cc379a7cf --- /dev/null +++ b/docs/Cardiac/Cardiac-Arrest.md @@ -0,0 +1,34 @@ +# Cardiac Arrest + +Cardiac arrest occurs when someone reaches one of the below critical values in either their HR or their BP. This will cause the player to fall unconscious, stopping their breathing and heart rate. + +**Critical Values:** +- < 20 or > 220 BPM +- > 285 / 190 mmHg +- < 50 / 40 mmHg (If HR is < 40 BPM) +- Between 20 - 30 BPM (random chance) + +## Heart Rhythms + +![four-rhythms](https://private-user-images.githubusercontent.com/15182031/253309068-b8e88392-2b1e-4a9d-a454-45f1a09c9940.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY1OTQ4ODcsIm5iZiI6MTcxNjU5NDU4NywicGF0aCI6Ii8xNTE4MjAzMS8yNTMzMDkwNjgtYjhlODgzOTItMmIxZS00YTlkLWE0NTQtNDVmMWEwOWM5OTQwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTI0VDIzNDk0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIxZGY2YzUwNmU5ZGFhOGYyMjQ1MmMwMjYyZjE5MDYwMWU4MDZiOWNlMzYwYWYyOTVhMmMyMDVkOTc4MTQ5NjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-loI59Zwjzs0SgPPD1QNU-ty9aKQ5cvu3KNZpvYKNNg) +*Graph showing the five different heart rhythms and how the game switches between them* + +There are five types of heart rhythms, four of which cause cardiac arrest. They typically fall into two categories: [Shockable Rhythms](/Cardiac/Shockable-Rhythms.md) & [Non-Shockable Rhythms](/Cardiac/Non-Shockable-Rhythms.md). + +### Diagnosing Heart Rhythm + +The most important step to maximize the probability of patient recovery is properly diagnosing the type of cardiac arrest in order to begin the proper course of treatment. The best way to do that is to use the EKG feature on the [AED-X](/Equipment/AED-X.md). Once you do that, you will see one of the below EKG values: + +| Description | Value | +| ------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Ventricular Tachycardia (VT)](/Cardiac/Shockable-Rhythms.md#ventricular-tachycardia) | ![vTac](https://lh7-us.googleusercontent.com/Q8XcJzafKjUx1Xii46O3gNAiVlYcQcPXiG4L9FIzjUNyTD7KlM87XlDWGEHhRHmcvdxNjwDTpF9smKbt0V--8tv6E_hsgy16UkqUpfnEtTcv7VQfxtz4O-Y5M-WmBmu7UN4x1i2SR8tk_VoAT4jvVfc) | +| [Ventricular Fibrillation (VF)](/Cardiac/Shockable-Rhythms.md#ventricular-fibrillation) | ![vFib](https://lh7-us.googleusercontent.com/X2VSjZjR-3utt8pGzhumf3XJ-lLb0EShSjcMYiUV6asDBM2pMVNN868N_Xd3ryfXsZY54eh83f9sv9BuSVv14LlYRqSS6z-vrSQaFwiaUI-Th4PJgqSQVoClCpx5oTPUrMN1e3WCaA2skfFbJeybL8U) | +| [Pulseless Electrical Activity (PEA)](/Cardiac/Non-Shockable-Rhythms.md#pulseless-electrical-activity) | ![pea](https://lh7-us.googleusercontent.com/aQcmPZ5sLqjiZElM-a9_VbQavun5chOkCAHu0sVTMOT2kH0gbkis-Ivh6NEH1vKUB3BFAHkbju_R4lJyaI9peDP5E5PjAbNxmeaXQ9b02ZzwFWpMvy4TGcKa00g2pJtn9Ur6NJxt8cpE63HzzIRTDzo) | +| [Asystole](/Cardiac/Non-Shockable-Rhythms.md#asystole) | ![asystole](https://lh7-us.googleusercontent.com/LnB3GRgUu3x15snlClUudRRHaNf-gSfED1UFvY8TssQPWaUgTHhImLYItigdm_abnyPdbDQMuJDGl928O_BS48RD23tCtHdya9yQLshdYkjqU3ox9z14-x5FyRSk8h4d6M8rZ1wMHJvT3QqtjRZ_oYM) | +| CPR | ![cpr](https://lh7-us.googleusercontent.com/JQh-n7mVpPP2MogpcwXowrKtA0fdqPofUt4JPoaeLIZMH4AN-amWkGjiA1Wj8wd8AzxMMeX9H8iTxWKwjrWW4Gm5tR5VPvBg53zLT1ASwimN3M12PeILYNeamJ8hvIgzPpbe1UKrzfik5s-CgVcA8K0) | +| AED pads not connected | ![aed-error](https://lh7-us.googleusercontent.com/LxdkmO9nirIp8xo3LxBYdxrNCHG4HjO7LzPI5veoEM7sI_6LIrpSLegUJ074rhgoeIQTrDiebR6QFi86DYaxfQwuBOLz7tYbIODkqNNY1mqr6MAbR0vMv49UCzX4xam72e48C2dvvw815XvOqi8gGTE) | +>[!NOTE] +>PEA has the same EKG readout as a normal sinus rhythm. + +If you don't have an AED-X, you can also use the "Analyze Rhythm" feature on the [AED](/Equipment/AED). That will tell you if it is a shockable or non-shockable rhythm. + diff --git a/docs/Cardiac/Non-Shockable-Rhythms.md b/docs/Cardiac/Non-Shockable-Rhythms.md new file mode 100644 index 000000000..e6b859329 --- /dev/null +++ b/docs/Cardiac/Non-Shockable-Rhythms.md @@ -0,0 +1,23 @@ +>[!WARNING] +>Hey! This page is under construction! Come back later! + +# Non-Shockable Rhythms + +A non-shockable sinus rhythms is when the cause of cardiac arrest isn't related to the electrical activity of the heart, but as a result of another cause (in KAM, it is typically blood loss). This is the most dangerous type of cardiac arrest as the treatment is potentially more time-consuming, meaning there is a greater chance of patient death. The biggest difference between non-shockable rhythms and [shockable rhythms](/Cardiac/Shockable-Rhythms.md) is that the treatment for non-shockable rhythms is the same for both types. + +## Pulseless Electrical Activity + +Pulseless Electrical Activity (PEA) is defined as the absence of a pulse in a patient with an otherwise normal cardiac rhythm. This means that an EKG will show them as having a pulse, but there will be no actual heartrate. + +## Asystole + +Asystole is defined as the total or near total absence of electrical activity within the heart. This is the worst possible form of cardiac arrest. You can diagnose an asystole rhythm by seeing a flat or nearly flat line on an EKG reading. + +## Treating Non-Shockable Rhythms + +>[!NOTE] +> These instructions only cover treating the cardiac arrest, they assume you have stopped any major bleeding, have secured the airways, and have an IV and are administering fluid. They also assume you have attached either the AED or AED-X and have confirmed which type of cardiac arrest you are dealing with. + +1. Administer CPR for 45 seconds +2. Check for pulse & analyze rhythm + - \ No newline at end of file diff --git a/docs/Cardiac/Shockable-Rhythms.md b/docs/Cardiac/Shockable-Rhythms.md new file mode 100644 index 000000000..2eb3196db --- /dev/null +++ b/docs/Cardiac/Shockable-Rhythms.md @@ -0,0 +1,52 @@ +# Shockable Rhythms + +Shockable Rhythms are rhythms that can be treated using the defrbilation features on the [AED](/Equipment/AED-X.md) or [AED-X](/Equipment/AED-X.md). You can diagnose a shockable rhythmn through either the "Analyze Rhythm" feature on the AED, or by using the EKG feature on the AED-X. Within the mod, there are two types of shockable rhythms. + +## Ventricular Tachycardia + +Ventricular Tachycardia (VT or V-Tac) is caused when the heart beats too fast to effectively pump blood. This can deteriorate rapidly into either VF or [PEA](/Cardiac/Non-Shockable-Rhythms.md#pulseless-electrical-activity) if left untreated, depending on settings. You can diagnose it by a rapid and uneven pattern on an EKG. + +![vTac](https://lh7-us.googleusercontent.com/Q8XcJzafKjUx1Xii46O3gNAiVlYcQcPXiG4L9FIzjUNyTD7KlM87XlDWGEHhRHmcvdxNjwDTpF9smKbt0V--8tv6E_hsgy16UkqUpfnEtTcv7VQfxtz4O-Y5M-WmBmu7UN4x1i2SR8tk_VoAT4jvVfc) + +## Ventricular Fibrillation + +Ventricular Fibrillation (VF or V-Fib) is caused when the heart starts to beat erractically due to chaotic electrical activity. It will eventually progress to PEA if left untreated. You can diagnose it by its chaotic pattern on an EKG. + +![vFib](https://lh7-us.googleusercontent.com/X2VSjZjR-3utt8pGzhumf3XJ-lLb0EShSjcMYiUV6asDBM2pMVNN868N_Xd3ryfXsZY54eh83f9sv9BuSVv14LlYRqSS6z-vrSQaFwiaUI-Th4PJgqSQVoClCpx5oTPUrMN1e3WCaA2skfFbJeybL8U) + +## Treating Shockable Rhythms + +The way to treat a shockable rhythm depends on the type of cardiac arrest. It's why equipment like the AED-X is so important, as the EKG feature allows you to rapidly diagnose the type of cardiac arrest and administer the proper treatment. If you only have an AED, treat all shockable rhythms as V-Tac. + +>[!NOTE] +> These instructions only cover treating the cardiac arrest, they assume you have stopped any major bleeding, have secured the airways, and have an IV and are administering fluid. They also assume you have attached either the AED or AED-X and have confirmed which type of cardiac arrest you are dealing with. + +### Treating V-Tac + +1. Administer a shock using either the AED or AED-X +1. Analyze rhythm & check for pulse + - "Shock Advised": Continue to next step + - "No Shock Advised" & No pulse: Begin treatment for [non shockable rhythms](/Cardiac/Non-Shockable-Rhythms.md#treating-non-shockable-rhythms) + - "No Shock Advised" & Pulse: Cease treatment for Cardiac Arrest + - If using an AED-X, instead check the EKG to make sure it is still V-Tac +1. Inject [epinephrine](/Pharmacy/IM-Medication.md#epinephrine) and administer another shock +1. Analyze rhythm & check for pulse +1. Inject [amiodarone](/Pharmacy/IV-Medication.md#amiodarone) and administer another shock +1. Analyze rhythm & check for pulse +1. Inject [lidocaine](/Pharmacy/IV-Medication.md#lidocaine) and administer another shock +1. Analyze rhythm & check for pulse +1. If still in V-Tac, administer epinephrine every 2 minutes and continue shocking until change in status or ROSC + +### Treating V-Fib + +1. Administer a shock using either the AED or AED-X +2. Analyze rhythm & check for pulse + - "Shock Advised": Continue to next step + - "No Shock Advised" & No pulse: Begin treatment for [non shockable rhythms](/Cardiac/Non-Shockable-Rhythms.md#treating-non-shockable-rhythms) + - "No Shock Advised" & Pulse: Cease treatment for Cardiac Arrest + - If using an AED-X, instead check the EKG to make sure it is still V-Fib +3. Inject [epinephrine](/Pharmacy/IM-Medication.md#epinephrine) and administer another shock +4. Analyze rhythm & check for pulse +5. Inject [amiodarone](/Pharmacy/IV-Medication.md#amiodarone) and administer another shock +6. Analyze rhythm & check for pulse +7. If still in V-Fib, administer epinephrine every 2 minutes and continue shocking until change in status or ROSC. \ No newline at end of file diff --git a/docs/Equipment/16g IV.md b/docs/Equipment/16g IV.md new file mode 100644 index 000000000..7352529f5 --- /dev/null +++ b/docs/Equipment/16g IV.md @@ -0,0 +1,22 @@ +# 16g IV + ![16g-iv](https://user-images.githubusercontent.com/55753928/174278114-26827cd1-6502-4e86-8c39-cb89cd78e02a.png) +Item Name: `kat_IV_16` +Mass: 0.5 +Item Description: "Intravenous Needle" + +--- + +## Description + +An IV needle used to push fluids and IV medications into a patient. Can only be used on limbs that don't have tourniquets or severe damage. If there are no usable limbs, then you will have to use a [FAST IO](/Equipment/FAST%20IO.md). + +## How to use + +Any Limb > Advanced Treatment > "Establish 16g IV" + +--- + +## References +- [IV Fluids](/Hemorrhaging/IV-Fluids.md) +- [IV Medication](/Pharmacy/IV-Medication.md) +- [FAST IO](/Equipment/FAST%20IO.md) \ No newline at end of file diff --git a/docs/Equipment/AED-X.md b/docs/Equipment/AED-X.md new file mode 100644 index 000000000..9cb353b00 --- /dev/null +++ b/docs/Equipment/AED-X.md @@ -0,0 +1,29 @@ +>[!WARNING] +>Hey! This page is under construction! Come back later! +# AED-X + +![AED-X](https://user-images.githubusercontent.com/55753928/170477256-dfc9a3ee-751a-4267-91ed-742110abc430.png) +Item Name: `kat_X_AED` +Mass: 40 +Item Description: "Used to monitor vitals and resuscitate patients" + +--- + +## Description + +A better version of the AED. It can be used to monitor HR, SpO2, and BP. It will also play an auditory beeping sound (which is togglable through ace interaction) that tells HR. + +## How to Use + +### Attaching to patient + +Lorem Ipsum + +### Administering Shock + +Lorem Ipsum + +--- + +## References +- \ No newline at end of file diff --git a/docs/Equipment/AED.md b/docs/Equipment/AED.md new file mode 100644 index 000000000..cf4292143 --- /dev/null +++ b/docs/Equipment/AED.md @@ -0,0 +1,29 @@ +>[!WARNING] +>Hey! This page is under construction! Come back later! + +# AED + +![AED](https://user-images.githubusercontent.com/55753928/170477092-a766bd72-b5c2-495c-856c-586cec030cad.png) +Item Name: `kat_AED` +Mass: 30 +Item Description: "Used to resuscitate patients" + +--- + +## Description + +The AED is used to treat shockable cardiac arrests. In certain situations, it is much more effective to treat cardiac arrest that CPR, especially when combined with drugs such as adenosine and lidocaine. +## How to Use + +- Ensure nobody touches the patient (no CPR/ BVM is performed) +- Click on chest +- Attach AED pads in the Advanced Treatment section +- Analyze rhythm in the Examine Patient section: + - “Shock Advised”: The AED will charge automatically and give a sound notification when ready. It is then possible to perform a shock (Using Epinephrine/Amiodarone/Lidocaine beforehand is advised. One medication per shock). The AED will disarm itself after some time automatically if no shock is administered. + - “No Shock Advised”:  perform CPR, administer epinephrine (not essential) and check pulse every 2 minutes +- Analyze rhythm after the shock/2 minutes of CPR + +--- + +## References +- [Cardiac Arrest](/Cardiac/Cardiac-Arrest.md) \ No newline at end of file diff --git a/docs/Equipment/Accuvac.md b/docs/Equipment/Accuvac.md new file mode 100644 index 000000000..29861ac00 --- /dev/null +++ b/docs/Equipment/Accuvac.md @@ -0,0 +1,23 @@ +# Accuvac + +![accuvac](https://user-images.githubusercontent.com/55753928/170451476-a9a10597-f29d-410a-872a-6b2139ec4e52.PNG) +Item Name: `kat_accuvac` +Mass: 7 +Item Description: "ACCUVAC is a medical suction device for airway suction with battery drive for mobile use in emergency medicine." + +--- + +## Description + +Multi-use item that clears patient airway occlusions. When used, it will clear occlusions with a 100% chance. + +## How to Use + +The patient must be unconscious in order to use this. + +Head > Airway Management > "Use Accuvac" + +--- + +## References +- \ No newline at end of file diff --git a/docs/Equipment/Chest Seal.md b/docs/Equipment/Chest Seal.md new file mode 100644 index 000000000..c9dbff2a1 --- /dev/null +++ b/docs/Equipment/Chest Seal.md @@ -0,0 +1,23 @@ +>[!WARNING] +>Hey! This page is under construction! Come back later! + +# Chest Seal + +Item Name: `kat_chestseal` +Mass: 0.2 +Item Description: "Chest Seal is engineered to treat, seal, and reseal open chest wounds under most circumstances." + +--- + +## Description + +One-time use item used to treat pneumothorax, tension pneumothorax, and hemopneumothorax in patients + +## How to Use + +Torso > Airway Management > "Use Chest Seal" + +--- + +## References +- \ No newline at end of file diff --git a/docs/Equipment/FAST IO.md b/docs/Equipment/FAST IO.md new file mode 100644 index 000000000..08801dac2 --- /dev/null +++ b/docs/Equipment/FAST IO.md @@ -0,0 +1,22 @@ +# FAST IO + +![fast-io](https://user-images.githubusercontent.com/55753928/174277769-c716c8a6-4cca-4956-85a2-134a8ca30622.png) +Item Name: `kat_IO_FAST` +Mass: 0.5 +Item Description: "Intraosseous Needle" + +--- + +## Description + +Intraosseous needle. Able to be used on the torso in any condition, but causes severe pain upon use. + +## How to Use + +Torso > Advanced Treatment > "Establish FAST IO" + +--- + +## References +- [IV Fluids](/Hemorrhaging/IV-Fluids.md) +- [IV Medication](/Pharmacy/IV-Medication.md) \ No newline at end of file diff --git a/docs/Equipment/Guedel Tube.md b/docs/Equipment/Guedel Tube.md new file mode 100644 index 000000000..3467080fd --- /dev/null +++ b/docs/Equipment/Guedel Tube.md @@ -0,0 +1,23 @@ +# Guedel Tube + +![guedel-tube](https://user-images.githubusercontent.com/55753928/170451341-d5e5a7b9-4ff1-450f-89d2-e3d2c3dcf668.png) +Item Name: `kat_guedel` +Mass: 0.5 +Item Description: "The Guedel Tube is used to maintain the airway" + +--- + +## Description + +A thin tube used to support a patient's airways. It clears airway obstructions but not occlusions. It is one time use, and will automatically be removed if the patient wakes up. + +## How to Use + +The patient must be unconscious and their airway must not have any occlusion. + +Head > Airway Management > "Use Guedel Tube" + +--- + +## References +- \ No newline at end of file diff --git a/docs/Equipment/King LT.md b/docs/Equipment/King LT.md new file mode 100644 index 000000000..9a8f4a460 --- /dev/null +++ b/docs/Equipment/King LT.md @@ -0,0 +1,23 @@ +# King LT + +![kingLT](https://user-images.githubusercontent.com/55753928/170451433-369bb626-ba0d-40bf-b768-72139f4201e9.PNG) +Item Name: `kat_larynx` +Mass: 0.5 +Item Description: "The King LT is used to maintain the airway" + +--- + +## Description + +A one-time use item that clears airway obstructions and prevents occlusions. + +## How to Use + +In order to be used, the patient must be unconscious and their airway can't be occluded. + +Head > Airway Management > "Use King LT" + +--- + +## References +- \ No newline at end of file diff --git a/docs/Hemorrhaging/Blood-Loss.md b/docs/Hemorrhaging/Blood-Loss.md new file mode 100644 index 000000000..e8c704352 --- /dev/null +++ b/docs/Hemorrhaging/Blood-Loss.md @@ -0,0 +1,19 @@ +# Blood Loss + +All wounds bleed. The rate at which a particular wound bleeds is dependent on the players heartrate and perfusion rate. Characters start with 6 liters of blood in their body. As it decreases, you can see different status effects. + +| Blood Level (L) | Status Effect | +| --------------- | ---------------------------- | +| 5.9 - 5.1 | Lost Some Blood | +| 5.1 - 4.2 | Lost a Lot of Blood | +| 4.2 - 3.6 | Lost a Large Amount of Blood | +| 3.6 - 3.0 | Lost a Fatal Amount of Blood | + +>[!NOTE] +>By default, if the player has less than 3L of blood in their body, they will die. + +If a player loses a fatal amount of blood, they will go into [Cardiac Arrest](/Cardiac/Cardiac-Arrest.md). + +## Coagulation + +In KAM, wounds can close on their own if coagulation is enabled. Every 8 seconds, KAM checks the players HR and # of wounds. If a player has a HR of 20 or more at least one wound, and at least one clotting factor, a random wound will receive the "Unstable Clot" bandage and use up one clotting factor. A player starts with 10 clotting factors, though that number can be increased by administering certain [IV Fluids](/Hemorrhaging/IV-Fluids.md). You can fortify clots from "Unstable Clot" to "Packing Bandage" using [TXA](/Pharmacy/IV-Medication.md#txa). \ No newline at end of file diff --git a/docs/Hemorrhaging/IV-Fluids.md b/docs/Hemorrhaging/IV-Fluids.md new file mode 100644 index 000000000..a29ab66b9 --- /dev/null +++ b/docs/Hemorrhaging/IV-Fluids.md @@ -0,0 +1,227 @@ +# IV Fluids + +## IV/IO + +In order to administer IV fluids, you need to first establish an Intravenous (IV) or Intraosseous (IO) needle (if it is enabled in settings). KAM comes with two needle types: + +- **[16g IV](/Equipment/16g%20IV.md)**: Only works on limbs with minor damage and no tourniquets +- **[FAST IO](/Equipment/FAST%20IO.md)**: Only works on the torso, but causes pain + +### IV Obstruction + +If you push [TXA](/Pharmacy/IV-Medication.md#txa) or [EACA](/Pharmacy/IV-Medication.md#eaca), there is a chance that the IV/IO line can become obstructed. If you notice that drugs aren't kicking in or fluid isn't flowing, perform the "Inspect Catheter" action to check for obstructions. If there is one, you will need to flush the line with saline by using the "Saline Flush". This requires that you have at least 30 ml of Saline attached to the IV/IO. + +## Fluid Types + +There are three types of fluids: Saline, Blood, & Plasma. While all fluids increase the amount of blood you have in your body, each affects [coagulation](/Hemorrhaging/Blood-Loss.md#coagulation) & your [kidney pH](/Nephrology/Kidney-Function.md#kidney-ph) in different ways. + +>[!NOTE] +>All fluids in this mod don't expire (yet...) + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Volume (ml)pH ChangeCoagulation Factor
Saline1000-750
0
500-3500
250-1500
Plasma1000+50015
500+25010
250+1005
Blood1000+80012
500+4008
250+2004
+ +>[!HINT] +>Want to save some fluids? Removing an IV with fluid still attached will put the remaining fluid in your inventory. + + +### Blood Type + +When administering blood, make sure you administer the proper type. If you administer an incompatible blood type, the patient will suffer from a decreased HR. This can only be treated by [painkillers](/Pharmacy/Oral-Medication.md#pain-killers). + +#### Blood Type Chart + +Compatible blood types are marked with an "x" + + ++++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Donor
RecipientO-O+B-B+A-A+AB-AB+
AB+xxxxxxxx
AB-xxxx
A+xxxx
A-xx
B+xxxx
B-xx
O+xx
O-x
+ +### Transfusing Blood + +>[!WARNING] +>This section is still under construction! Come back later! + diff --git a/docs/Nephrology/Kidney-Function.md b/docs/Nephrology/Kidney-Function.md new file mode 100644 index 000000000..b58121630 --- /dev/null +++ b/docs/Nephrology/Kidney-Function.md @@ -0,0 +1,10 @@ +>[!WARNING] +>This page is still under construction! Come back later! + +# Kidney Function + +Lorem Ipsum + +## Kidney pH + +Lorem Ipsum diff --git a/docs/Pharmacy/IM-Medication.md b/docs/Pharmacy/IM-Medication.md new file mode 100644 index 000000000..b0c449dee --- /dev/null +++ b/docs/Pharmacy/IM-Medication.md @@ -0,0 +1,10 @@ +>[!WARNING] +>Hey! This page is under construction! Come back later! + +# Intramuscular (IM) Medication + +Lorem Ipsum + +## Epinephrine + +Lorem Ipsum \ No newline at end of file diff --git a/docs/Pharmacy/IV-Medication.md b/docs/Pharmacy/IV-Medication.md new file mode 100644 index 000000000..ba3427a6b --- /dev/null +++ b/docs/Pharmacy/IV-Medication.md @@ -0,0 +1,17 @@ +>[!WARNING] +>This page is still under construction! Come back later! + +# IV Medication + +## Cardiac + +### Amiodarone + +### Lidocaine + +## Clotting + +### TXA + +### EACA + diff --git a/docs/Pharmacy/Oral-Medication.md b/docs/Pharmacy/Oral-Medication.md new file mode 100644 index 000000000..1a37b26da --- /dev/null +++ b/docs/Pharmacy/Oral-Medication.md @@ -0,0 +1,10 @@ +>[!WARNING] +>This page is still under construction! Come back later! + +# Oral Medication + +Lorem Ipsum + +## Pain Killers + +Lorem Ipsum \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index c70de23b4..dffabeb15 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,101 +1,42 @@ -

- -

- -

- - KAM Version - - - KAM Issues - - - KAM Downloads - - - KAM Build Status - -

- -

- Requires the latest version of CBA A3.
- Visit me on Discord
-

- - -**The ACE Advanced Medical System is nice, but we can do it better, even on a more realistic way and bring it on another level with these addons.**
-*Created by Katalam* - -Big thanks to ---------- -+ [Kellerkompanie](http://kellerkompanie.com/) - -## Core features - -- Airway - - [x] Airwaymanagement for unconscious patients - - [x] Head overstretching - - [x] Intubation - - [x] Aspiration -- Breathing - - [x] Oxygen saturation -- Circulation - - [x] Blood Groups - - [x] Painkillers - - [x] Bigger AED with monitoring -- Disability - - [x] Cut of clothes - - [x] Allergical reactions -- Exposure - - [ ] Heat-preserving -- Misc - - [ ] Big Backpack? - - [x] Workable IV stand - -Known Issues ------------- -+ [Issues](https://github.com/Katalam/kat_aceAdvMedical/issues) - -Required --------- -+ [CBA_A3 1.20 or later](http://www.armaholic.com/page.php?id=18767) -+ [ACE3 1.80 or later](https://ace3mod.com/) - -Youtube --------- -+ [Airway](https://youtu.be/V0csFQ1PLIw) -+ [Breathing](abc) -+ [Circulation](abc) -+ [Disability](abc) -+ [Exposure](abc) -+ [Misc](abc) - -Class Names --------- -+ [click here](https://github.com/Katalam/kat_aceAdvMedical/wiki/Class-Names) - -## Contributing - -You can help out with the ongoing development by looking for potential bugs in my code base, or by contributing new features. I am always welcome to new pull requests containing bug fixes, refactors and new features. - -### Building -The build process is base on the [ACE3 build process](https://ace3mod.com/wiki/development/setting-up-the-development-environment.html), so you can follow the steps there. Basically the following is needed: -+ correctly setup project drive (P: drive) -+ download/clone kat_aceAdvMedical GitHub repo -+ switch to the tools/ folder and execute ```python setup.py``` -+ you can build by executing ```python build.py``` from the tools folder -+ for testing include your mod by adding ```-mod=x\kat``` as start parameter - -For building release builds see [ACE3 reference](https://ace3mod.com/wiki/development/setting-up-the-development-environment.html). - -### Submitting issues and requesting features - -Please, use my [Issue Tracker](https://github.com/Katalam/kat_aceAdvMedical/issues) to report a bug, propose a feature, or suggest changes to the existing ones. - -## License - - - -
- This work is licensed under a Arma Public License Share Alike -
+# KAT Advanced Medical Wiki + +This is the Wiki for the KAT Advanced Medical mod. As this wiki is still a MASSIVE work in progress, this readme will remain a hot mess (much like it's author). + +This Wiki will (for now) only cover information contained within the production version of the KAM mod. This won't cover anything regarding ACE medical, or features in the dev version of KAM. + +### Contributors +yesthatRiVin + +--- + +TODO (Not in any particular order): +- [ ] Glow-up the README +- [ ] Hemorrhaging + - [x] Coagulation + - [x] IV IO + - [x] Blood Loss + - [x] Blood Types/Fluids + - [ ] Blood Transfusion +- [ ] Airways / Respiration + - [ ] Thoracic Injuries + - [ ] Airways Management + - [ ] Recovery Position + - [ ] BVM +- [ ] Cardiac + - [ ] Cardiac Arrest + - [x] Shockable Rhythms (VT, VF) + - [ ] Non-shockable Rhythms (PEA, Asystole) +- [ ] Pharmacy + - [ ] Oral + - [ ] Auto-Injectors + - [ ] IV Medication +- [ ] Surgery +- [ ] Nephrology + - [ ] Kidney Function + - [ ] Dialysis +- [ ] Equipment List +- [ ] List of all addon settings +- [ ] APPENDICIES + - [ ] Aid procedure + - [ ] M.A.R.C.H. Graphic + - [ ] Cardiac Flowcharts \ No newline at end of file