diff --git a/addons/airway/functions/fnc_startHeadTurning.sqf b/addons/airway/functions/fnc_startHeadTurning.sqf index 887edd4ee..2bd5198b1 100644 --- a/addons/airway/functions/fnc_startHeadTurning.sqf +++ b/addons/airway/functions/fnc_startHeadTurning.sqf @@ -53,11 +53,18 @@ GVAR(headTurn_timeOut) = true; params ["_medic", "_patient", "_notInVehicle"]; [LLSTRING(headTurning_stop), "", ""] call ACEFUNC(interaction,showMouseHint); + [LLSTRING(headTurning_start), 1.5, _medic] call ACEFUNC(common,displayTextStructured); + [{ params ["_args", "_idPFH"]; _args params ["_medic", "_patient", "_notInVehicle"]; - if (!(alive _medic) || IS_UNCONSCIOUS(_medic) || !(IS_UNCONSCIOUS(_patient)) || !(_patient getVariable [QGVAR(headTurningActive), false]) || dialog || {!(objectParent _medic isEqualTo objectParent _patient) || {_patient distance2D _medic > ACEGVAR(medical_gui,maxDistance)}}) exitWith { + private _patientCondition = (!(IS_UNCONSCIOUS(_patient)) && alive _patient || _patient isEqualTo objNull); + private _medicCondition = (!(alive _medic) || IS_UNCONSCIOUS(_medic) || _medic isEqualTo objNull); + private _vehicleCondition = !(objectParent _medic isEqualTo objectParent _patient); + private _distanceCondition = (_patient distance2D _medic > ACEGVAR(medical_gui,maxDistance)); + + if (_patientCondition || _medicCondition || !(_patient getVariable [QGVAR(headTurningActive), false]) || dialog || {(!_notInVehicle && _vehicleCondition) || {(_notInVehicle && _distanceCondition)}}) exitWith { [_idPFH] call CBA_fnc_removePerFrameHandler; [] call ACEFUNC(interaction,hideMouseHint); diff --git a/addons/airway/stringtable.xml b/addons/airway/stringtable.xml index 44e725750..8bed12796 100644 --- a/addons/airway/stringtable.xml +++ b/addons/airway/stringtable.xml @@ -502,6 +502,9 @@ Rotação de cabeça cancelada Giro de cabeza cancelado + + Head Turning Started + Stop head turning 頭を回すのを止める diff --git a/addons/breathing/functions/fnc_useBVM.sqf b/addons/breathing/functions/fnc_useBVM.sqf index a4a993c70..7bab429c2 100644 --- a/addons/breathing/functions/fnc_useBVM.sqf +++ b/addons/breathing/functions/fnc_useBVM.sqf @@ -44,24 +44,31 @@ if (dialog) then { // If another dialog is open (medical menu) close it private _notInVehicle = isNull objectParent _medic; totalProvided = 1; -loopBVM = false; +GVAR(BVM_loop) = false; if (_notInVehicle) then { [_medic, "AinvPknlMstpSnonWnonDnon_AinvPknlMstpSnonWnonDnon_medic", 1] call ACEFUNC(common,doAnimation); - loopBVM = true; + GVAR(BVM_loop) = true; }; -timeOut = true; +GVAR(BVM_timeOut) = true; [{ params ["_medic", "_patient", "_pocket", "_useOxygen", "_oxygenOrigin", "_notInVehicle"]; [LLSTRING(UseBVM_PutAway), "", ""] call ACEFUNC(interaction,showMouseHint); + [LLSTRING(UseBVM_Start), 1.5, _medic] call ACEFUNC(common,displayTextStructured); + [{ params ["_args", "_idPFH"]; _args params ["_medic", "_patient", "_pocket", "_useOxygen", "_oxygenOrigin", "_notInVehicle"]; - if (!(alive _medic) || IS_UNCONSCIOUS(_medic) || !(IS_UNCONSCIOUS(_patient)) || !(_patient getVariable [QGVAR(BVMInUse), false]) || dialog || {!(objectParent _medic isEqualTo objectParent _patient) || {_patient distance2D _medic > ACEGVAR(medical_gui,maxDistance)}}) exitWith { + private _patientCondition = (!(IS_UNCONSCIOUS(_patient)) && alive _patient || _patient isEqualTo objNull); + private _medicCondition = (!(alive _medic) || IS_UNCONSCIOUS(_medic) || _medic isEqualTo objNull); + private _vehicleCondition = !(objectParent _medic isEqualTo objectParent _patient); + private _distanceCondition = (_patient distance2D _medic > ACEGVAR(medical_gui,maxDistance)); + + if (_patientCondition || _medicCondition || !(_patient getVariable [QGVAR(BVMInUse), false]) || dialog || {(!_notInVehicle && _vehicleCondition) || {(_notInVehicle && _distanceCondition)}}) exitWith { [_idPFH] call CBA_fnc_removePerFrameHandler; _patient setVariable [QGVAR(BVMInUse), false, true]; @@ -94,8 +101,8 @@ timeOut = true; [LLSTRING(UseBVM_Cancelled), 1.5, _medic] call ACEFUNC(common,displayTextStructured); }; - if !(timeOut) then { - timeOut = true; + if !(GVAR(BVM_timeOut)) then { + GVAR(BVM_timeOut) = true; if (_useOxygen && !_pocket) then { switch (_oxygenOrigin) do { @@ -183,23 +190,23 @@ timeOut = true; !(_patient getVariable [QGVAR(BVMInUse), false]); }, {}, [_patient], 5, { - timeOut = false; + GVAR(BVM_timeOut) = false; totalProvided = totalProvided + 1; }] call CBA_fnc_waitUntilAndExecute; }; - if (loopBVM) then { + if (GVAR(BVM_loop)) then { [QACEGVAR(common,switchMove), [_medic, "kat_BVM"]] call CBA_fnc_globalEvent; - loopBVM = false; + GVAR(BVM_loop) = false; [{ params ["_patient"]; !(_patient getVariable [QGVAR(BVMInUse), false]); }, {}, [_patient], 9, { - loopBVM = true; + GVAR(BVM_loop) = true; }] call CBA_fnc_waitUntilAndExecute; }; }, 0, [_medic, _patient, _pocket, _useOxygen, _oxygenOrigin, _notInVehicle]] call CBA_fnc_addPerFrameHandler; - [{timeOut = false;}, [], 1] call CBA_fnc_waitAndExecute; + [{GVAR(BVM_timeOut) = false;}, [], 1] call CBA_fnc_waitAndExecute; }, [_medic, _patient, _pocket, _useOxygen, _oxygenOrigin, _notInVehicle], 2] call CBA_fnc_waitAndExecute; diff --git a/addons/breathing/stringtable.xml b/addons/breathing/stringtable.xml index 72b19762e..6d7b1dfef 100644 --- a/addons/breathing/stringtable.xml +++ b/addons/breathing/stringtable.xml @@ -604,20 +604,7 @@ Probabilidade de pneumotórax avançado - The percentage chance that a patient will suffer from a hemopneumotorax or tension pneumothorax after they are treated for a pneumothorax. Treatment requires the draining of fluids with the use of an AAT Kit. - Procentowa szansa, że pacjent będzie cierpieć na krwiaka opłucnej lub odmę prężną w tym samym czasie, gdy cierpi na odmę opłucnową. Zabieg wymaga drenażu opłucnej za pomocą zestawu AAT. - La probabilidad de que un paciente sufra un hemotórax/neumotórax a tensión al mismo tiempo que padece un neumotórax. El tratamiento requiere el uso de un kit AAT. - 患者患氣胸的同時患上血胸的機會百分比。 處理需要使用AAT套件排出流體。 - 患者在接受气胸治疗后是否有能患血气胸或张力性气胸,需要使用AAT Kit排出胸腔液体 - Procentní šance, že pacient bude trpět hemotoraxem současně s pneumotoraxem. Léčba vyžaduje odsátí tekutin pomocí sady AAT. - 환자가 혈기흉을 앓을 확률입니다. 치료에는 AAT 키트를 사용하여 체액을 배출해야합니다. - Le pourcentage de chance qu'un patient souffre d'un hémopneumothorax ou un pneumothorax sous tension en même temps qu'un pneumothorax. Le traitement necessitera d'évacuer les fluides en utilisant un kit AAT - Bir hastanın pnömotoraks tedavisi gördükten sonra hemotoraks veya tansiyon pnömotorakstan muzdarip olma şansı yüzdesi. Tedavi, sıvıların bir AAT Kiti kullanılarak boşaltılmasını gerektirir. - La probabilità percentuale che un paziente soffra di un emopneumotorace o pneumotorace iperteso in seguito al trattamento di uno pneumotorace. Il trattamento richiede un drenaggio con l'AAT Kit. - Процентная вероятность того, что пациент будет страдать гемопневмотораксом или напряженным пневмотораксом после лечения пневмоторакса. Лечение требует дренирования жидкости с использованием набора ААТ. - 気胸の治療を受けた後、患者が血気胸または緊張性気胸に苦しむ可能性の割合。治療には、AATキットを使用して体液を排出する必要があります。 - A porcentagem de chance de um paciente sofrer de um pneumotórax avançado após a falta de tratamento de um pneumotórax simples. O tratamento requer a drenagem de fluidos com o uso do kit AAT. - Die prozentuale Wahrscheinlichkeit, dass ein Patient an einem Hämopneumotorax oder Spannungspneumothorax leidet, nachdem er wegen eines Pneumothorax behandelt wurde. Die Behandlung erfordert das Ablassen von Flüssigkeiten unter Verwendung eines AAT-Kits. + The percentage chance that determines whether a fully deteriorated pneumothorax will deteriorate into an advanced pneumothorax, this is rolled continuously as set in pneumothorax deterioration interval. Hemothorax / Tension Pnuemothorax Treament Minimum Level @@ -1130,34 +1117,6 @@ Valor SpO2 de Cianosis severa - Predeterminado en 66 SpO2 \nEste valor deberia de ser un poco mas alto que el valor letal de SpO2 Valor de SpO2 para cianose grave (padrão 66)\nDeve estar um pouco acima do valor letal de SpO2 - - Check Cyanosis Minimum Level - Zyanose prüfen Trainingslevel - Minimalny poziom wyszkolenia do sprawdzenia sinicy - チアノーゼの確認の許可 - 允许检查面色所需的医疗培训水平 - 치아노제 증상 확인 최소 수준 - Niveau médical minimum pour contrôler la cyanose - Siyanoz minimum düzeyini kontrol edin - Minimální úroveň ke zkontrolování cyanózy - Controlla livello minimo di cianosi - Nivel médico minimo requerido para analizar la cianosis - Nível médico mínimo requerido para verificação de cianose - - - The minimum medical level required for someone to be able to check cyanosis. - Benötigter medizinischer Grad, um eine Zyanose feststellen - Minimalny poziom wyszkolenia medycznego wymagany, aby ktoś był w stanie sprawdzić sinicę. - チアノーゼの確認の使用に訓練レベルを必要とさせます。 - 允许检查面色所需的医疗培训水平 - 치아노제 증상을 확인할 수 있는 사람의 최소 의료레벨 수준입니다. - Le niveau médical minimum nécessaire pour pouvoir contrôler la cyanose - Bir kişinin Siyanozu kontrol edebilmesi için gereken minimum tıbbi seviye. - Il livello minimo richiesto per poter diagnosticare la cianosi - Minimální úroveň zdravotnického výcviku potřebná k tomu, aby někdo mohl zkontrolovat cyanózu - Nivel médico minimo requerido para que alguien pueda analizar la cianosis - O nível médico mínimo requerido para que alguém verifique a cianose - Pneumothorax deterioration chance Possibilità di deterioramento del pneumotorace @@ -1366,6 +1325,9 @@ Usa maschera ambu Usar BVM + + Rescue Breaths Started + Put away BVM BVMを取り外す diff --git a/addons/chemical/functions/fnc_gasAI.sqf b/addons/chemical/functions/fnc_gasAI.sqf index dd2b70e7e..9e6a9e8a5 100644 --- a/addons/chemical/functions/fnc_gasAI.sqf +++ b/addons/chemical/functions/fnc_gasAI.sqf @@ -39,7 +39,6 @@ if (!isDamageAllowed _unit) exitWith { [_logic,_unit] ] call CBA_fnc_addPerFrameHandler; -private _skill = _unit skill "aimingAccuracy"; [ { params["_args","_handler"]; @@ -51,11 +50,12 @@ private _skill = _unit skill "aimingAccuracy"; if ((_unit distance _pos) <= _radius_max && !(_unit getVariable [QGVAR(enteredPoison), false])) then { _unit setVariable [QGVAR(enteredPoison), true, true]; + private _skill = _unit skill "aimingAccuracy"; private _fnc_afterwait = { params ["_unit", "_gastype", "_pos", "_skill"]; if !((goggles _unit) in (missionNamespace getVariable [QGVAR(availGasmaskList), []])) exitwith { if (_gastype isEqualTo "CS") then { - while {_unit distance _pos < 10 && _unit getVariable [QGVAR(enteredPoison), false]} do { + if {_unit distance _pos < 10 && _unit getVariable [QGVAR(enteredPoison), false]} do { _unit say3D QGVAR(cough_1); _unit setskill ["aimingAccuracy", 0.001]; [ @@ -64,7 +64,7 @@ private _skill = _unit skill "aimingAccuracy"; _unit setskill ["aimingAccuracy", _skill]; }, [_unit, _skill], - 2 + 30 ] call CBA_fnc_waitAndExecute; }; } else { diff --git a/addons/circulation/XEH_postInit.sqf b/addons/circulation/XEH_postInit.sqf index da58516f9..9e9aca0f1 100644 --- a/addons/circulation/XEH_postInit.sqf +++ b/addons/circulation/XEH_postInit.sqf @@ -15,7 +15,13 @@ GVAR(AEDX_MonitorTarget) = objNull; params ["_unit", "_patient"]; if (ACEGVAR(medical_gui,target) isEqualTo _patient) then { - [_unit, 0.4] call ACEFUNC(medical_status,adjustPainLevel); + [_unit, 0.3] call ACEFUNC(medical_status,adjustPainLevel); }; - //TODO add sound effect }] call CBA_fnc_addEventHandler; + +[QGVAR(incorrectAEDUsage), { + params ["_unit"]; + + [QACEGVAR(medical,FatalVitals), _unit] call CBA_fnc_localEvent; + _unit setVariable [QGVAR(cardiacArrestType), 1, true]; +}] call CBA_fnc_addEventHandler; \ No newline at end of file diff --git a/addons/circulation/functions/fnc_AED_Shock.sqf b/addons/circulation/functions/fnc_AED_Shock.sqf index d53d9c719..dece395d3 100644 --- a/addons/circulation/functions/fnc_AED_Shock.sqf +++ b/addons/circulation/functions/fnc_AED_Shock.sqf @@ -26,6 +26,10 @@ _bystanders = _bystanders - [_medic]; [QGVAR(handleNearToAED), [_x, _patient], _x] call CBA_fnc_targetEvent; } forEach _bystanders; +if (_patient getVariable [QACEGVAR(medical,CPR_provider), objNull] != objNull) then { + [(_patient getVariable QACEGVAR(medical,CPR_provider)), 0.4] call ACEFUNC(medical_status,adjustPainLevel); +}; + _patient setVariable [QGVAR(heartRestart), true, true]; _patient setVariable [QGVAR(RhythmAnalyzed), false, true]; @@ -43,6 +47,12 @@ _patient setVariable [QGVAR(RhythmAnalyzed), false, true]; _patient setVariable [QGVAR(Defibrillator_ShockAmount), (_patient getVariable [QGVAR(Defibrillator_ShockAmount), 0]) + 1, true]; -if (alive _patient && {_patient getVariable [QACEGVAR(medical,inCardiacArrest), false]}) then { - [QACEGVAR(medical_treatment,cprLocal), [_medic, _patient, _defibType], _patient] call CBA_fnc_targetEvent; +if (alive _patient) then { + if (_patient getVariable [VAR_CRDC_ARRST, false]) then { + [QACEGVAR(medical_treatment,cprLocal), [_medic, _patient, _defibType], _patient] call CBA_fnc_targetEvent; + } else { + if (GVAR(AdvRhythm) && GVAR(AdvRhythm_Hardcore_Enable)) then { + [QGVAR(incorrectAEDUsage), _patient, _patient] call CBA_fnc_targetEvent; + }; + }; }; diff --git a/addons/circulation/functions/fnc_CPRStart.sqf b/addons/circulation/functions/fnc_CPRStart.sqf index 414235c62..00d68bfc8 100644 --- a/addons/circulation/functions/fnc_CPRStart.sqf +++ b/addons/circulation/functions/fnc_CPRStart.sqf @@ -49,13 +49,20 @@ if (_notInVehicle) then { [{ params ["_medic", "_patient", "_notInVehicle", "_CPRStartTime"]; + [LLSTRING(StopCPR), "", ""] call ACEFUNC(interaction,showMouseHint); + [LLSTRING(StartCPR), 1.5, _medic] call ACEFUNC(common,displayTextStructured); [{ params ["_args", "_idPFH"]; _args params ["_medic", "_patient", "_notInVehicle", "_CPRStartTime"]; - if (_patient isEqualTo objNull || _medic isEqualTo objNull || !(alive _medic) || IS_UNCONSCIOUS(_medic) || !(IS_UNCONSCIOUS(_patient)) || (_patient getVariable [QACEGVAR(medical,CPR_provider), objNull]) isEqualTo objNull || !(_medic getVariable [QGVAR(isPerformingCPR), false]) || dialog || {!(objectParent _medic isEqualTo objectParent _patient) || {_patient distance _medic > ACEGVAR(medical_gui,maxDistance)}}) exitWith { // Stop CPR + private _patientCondition = (!(IS_UNCONSCIOUS(_patient)) && alive _patient || _patient isEqualTo objNull); + private _medicCondition = (!(alive _medic) || IS_UNCONSCIOUS(_medic) || _medic isEqualTo objNull); + private _vehicleCondition = !(objectParent _medic isEqualTo objectParent _patient); + private _distanceCondition = (_patient distance2D _medic > ACEGVAR(medical_gui,maxDistance)); + + if (_patientCondition || _medicCondition || (_patient getVariable [QACEGVAR(medical,CPR_provider), objNull]) isEqualTo objNull || !(_medic getVariable [QGVAR(isPerformingCPR), false]) || dialog || {(!_notInVehicle && _vehicleCondition) || {(_notInVehicle && _distanceCondition)}}) exitWith { // Stop CPR [_idPFH] call CBA_fnc_removePerFrameHandler; _medic setVariable [QGVAR(isPerformingCPR), false, true]; diff --git a/addons/circulation/functions/fnc_cprLocal.sqf b/addons/circulation/functions/fnc_cprLocal.sqf index 88ee94f33..8b27df280 100644 --- a/addons/circulation/functions/fnc_cprLocal.sqf +++ b/addons/circulation/functions/fnc_cprLocal.sqf @@ -124,13 +124,8 @@ if (_reviveObject in ["AED", "AEDX"]) exitWith { }; _patient setVariable [QGVAR(cprCount), 2, true]; } else { - if (GVAR(AdvRhythm_Hardcore_Enable) && _patientState < 3) then { - if (floor (random 100) < GVAR(AdvRhythm_PEAChance)) then { - _patient setVariable [QGVAR(cardiacArrestType), 2, true]; - [_patient, nil, false] call FUNC(handleCardiacArrest); - } else { - _patient setVariable [QGVAR(cardiacArrestType), 1, true]; - }; + if (GVAR(AdvRhythm_Hardcore_Enable) && _patientState == 2) then { + _patient setVariable [QGVAR(cardiacArrestType), 1, true]; }; }; } else { diff --git a/addons/circulation/functions/fnc_handleCardiacArrest.sqf b/addons/circulation/functions/fnc_handleCardiacArrest.sqf index b8ec5b672..56e80bc9a 100644 --- a/addons/circulation/functions/fnc_handleCardiacArrest.sqf +++ b/addons/circulation/functions/fnc_handleCardiacArrest.sqf @@ -17,7 +17,7 @@ * Public: No */ -params ["_unit", "_active", ["_initial",true]]; +params ["_unit", "_active", ["_initial", true]]; /* type 0 normal diff --git a/addons/circulation/functions/fnc_placeAED.sqf b/addons/circulation/functions/fnc_placeAED.sqf index 5ac3b0199..e6dab5071 100644 --- a/addons/circulation/functions/fnc_placeAED.sqf +++ b/addons/circulation/functions/fnc_placeAED.sqf @@ -20,13 +20,14 @@ params ["_unit", "_AEDClassName"]; _unit removeItem _AEDClassName; -private _AED = ([_AEDClassName,"Item"] joinString "") createVehicle (getPosASL _unit); +private _AED = ([_AEDClassName,"Item"] joinString "") createVehicle (position _unit); // startCarry if (stance _unit != "STAND") then { _AED attachTo [_unit, [0,1.1,1]]; [_unit, _AED] call ACEFUNC(dragging,dropObject_carry); } else { + _AED attachTo [_unit, [0,0.4,0]]; _unit setVariable [QACEGVAR(dragging,isCarrying), true, true]; [ACEFUNC(dragging,startCarryPFH), 0.2, [_unit, _AED, (CBA_missionTime + 1)]] call CBA_fnc_addPerFrameHandler; }; diff --git a/addons/circulation/stringtable.xml b/addons/circulation/stringtable.xml index e49606a44..937630a5f 100644 --- a/addons/circulation/stringtable.xml +++ b/addons/circulation/stringtable.xml @@ -2032,6 +2032,9 @@ Interromper RCP RCP parado + + CPR Started + CPR Cancelled CPRを中止しました diff --git a/addons/misc/functions/fnc_FAK_unpack.sqf b/addons/misc/functions/fnc_FAK_unpack.sqf index 9cf8502c9..3b07d9160 100644 --- a/addons/misc/functions/fnc_FAK_unpack.sqf +++ b/addons/misc/functions/fnc_FAK_unpack.sqf @@ -81,17 +81,18 @@ if (_itemType == "Item") exitWith { _unit removeItem _item; if (_slot > 0) then { _slotArray set [(_slot - 1), false]; - [_unit, (_itemList select (_slot - 1)), _container] call _fnc_arrayToInvItem; [_unit, _FAKToAdd, "", ([_slotArray] call FUNC(FAK_arrayToAmmo))] call ACEFUNC(common,addToInventory); - } else { - { - [_unit, _x, _container] call _fnc_arrayToInvItem; - } forEach _itemList; + [_unit, (_itemList select (_slot - 1)), _container] call _fnc_arrayToInvItem; + } else { if !(_removeOnEmptyCondition) then { [_unit, _FAKToAdd, "", 0] call ACEFUNC(common,addToInventory); }; + + { + [_unit, _x, _container] call _fnc_arrayToInvItem; + } forEach _itemList; }; }; @@ -113,21 +114,22 @@ if !(_lowestAmmoCount < 257) exitWith {}; if (_slot > 0) then { _slotArray set [(_slot - 1), false]; - [_unit, (_itemList select (_slot - 1)), _container] call _fnc_arrayToInvItem; private _remaining = [_slotArray] call FUNC(FAK_arrayToAmmo); if (_remaining > 0 || !_removeOnEmptyCondition) then { [_unit, _FAKToAdd, "", _remaining] call ACEFUNC(common,addToInventory); }; + + [_unit, (_itemList select (_slot - 1)), _container] call _fnc_arrayToInvItem; } else { + if !(_removeOnEmptyCondition) then { + [_unit, _FAKToAdd, "", 0] call ACEFUNC(common,addToInventory); + }; + { if (_x) then { [_unit, (_itemList select _forEachIndex), _container] call _fnc_arrayToInvItem; }; } forEach _slotArray; - - if !(_removeOnEmptyCondition) then { - [_unit, _FAKToAdd, "", 0] call ACEFUNC(common,addToInventory); - }; }; \ No newline at end of file diff --git a/addons/surgery/XEH_preInit.sqf b/addons/surgery/XEH_preInit.sqf index f0c203085..c2ed8ee9e 100644 --- a/addons/surgery/XEH_preInit.sqf +++ b/addons/surgery/XEH_preInit.sqf @@ -155,7 +155,7 @@ PREP_RECOMPILE_END; // 0 Surgery Causes Unconsciousness: If you do an incision (without anesthesia & sedative) patient will go into CA // 1 Unconsciousness Required for Surgery: Surgery fails unless patient is unconscious, needs anesthesia // 2 No Unconsciousness from Surgery: Patient can stay awake without anesthesia, causes pain -// 3 Surgery Anesthesia: The patient is able to stay awake through the entirety of the surgery. If Etomidate has not been applied, then the patient will lose consciousness. +// 3 Surgery Anesthesia: The patient is able to stay awake through the entirety of the surgery. If Etomidate has not been applied, then the patient will go into CA. [ QGVAR(Surgery_ConsciousnessRequirement), "LIST", diff --git a/addons/surgery/functions/fnc_incisionLocal.sqf b/addons/surgery/functions/fnc_incisionLocal.sqf index 7157a1c37..7b2745655 100644 --- a/addons/surgery/functions/fnc_incisionLocal.sqf +++ b/addons/surgery/functions/fnc_incisionLocal.sqf @@ -51,7 +51,7 @@ _patient setVariable [QGVAR(fractures), _fractureArray, true]; [_idPFH] call CBA_fnc_removePerFrameHandler; }; - if ((GVAR(Surgery_ConsciousnessRequirement) == 0 && !(IS_UNCONSCIOUS(_patient)) && _count == 0) || (GVAR(Surgery_ConsciousnessRequirement) == 3 && _count == 0)) exitWith { + if ((GVAR(Surgery_ConsciousnessRequirement) == 0 && (!(IS_UNCONSCIOUS(_patient)) || _count == 0)) || (GVAR(Surgery_ConsciousnessRequirement) == 3 && _count == 0)) exitWith { [_patient, "Pain", 10, 40, 200, 0, 40] call ACEFUNC(medical_status,addMedicationAdjustment); [_patient, true] call ACEFUNC(medical,setUnconscious); }; diff --git a/addons/surgery/stringtable.xml b/addons/surgery/stringtable.xml index 7114eb8f5..94bf54c82 100644 --- a/addons/surgery/stringtable.xml +++ b/addons/surgery/stringtable.xml @@ -1006,7 +1006,7 @@ Controles de consciência durante a cirurgia - Surgery Causes Unconsciousness: Surgery without anesthesia and sedation results in unconsciousness from CA. \nUnconsciousness Required for Surgery: Surgery requires patient to be unconscious. \nNo Unconsciousness from Surgery: Surgery doesn't induce unconsciousness, causes pain. \nSurgery Anesthesia: Patient stays awake during surgery if given Etomidate. + Surgery Causes Unconsciousness: Surgery without anesthesia and sedation results in unconsciousness from CA. \nUnconsciousness Required for Surgery: Surgery requires patient to be unconscious. \nNo Unconsciousness from Surgery: Surgery doesn't induce unconsciousness, causes pain. \nSurgery Anesthesia: Patient stays awake during surgery if given Etomidate, if not they will go into CA. 意識喪失あり: 手術時に麻酔と鎮静剤を使用しないと、心停止による意識喪失が発生します。 \n無意識状態が必要: 手術するには患者が意識を失っていることが必要になります。 \n意識喪失なし: 手術時に意識喪失や痛みが発生しなくなります。 \n手術麻酔: エトミデートを投与すると、手術中も患者が起きたままになります。 La cirugía provoca inconsciencia: La cirugía sin anestesia ni sedación provoca inconsciencia por IC. \nInconsciencia necesaria para la cirugía: La cirugía requiere que el paciente esté inconsciente. \nLa cirugía no provoca inconsciencia: La cirugía no induce inconsciencia, causa dolor. \nAnestesia quirúrgica: El paciente permanece despierto durante la cirugía si se le administra etomidato. La chirurgie provoque une perte de conscience: La chirurgie sans anesthésie ni sédation entraîne une perte de conscience due à l'arrêt cardiaque. \nInconscience requise pour la chirurgie: la chirurgie nécessite que le patient soit inconscient. \nPas d'inconscience due à la chirurgie: la chirurgie n'induit pas d'inconscience, elle provoque de la douleur. \nAnesthésie chirurgicale: le patient reste éveillé pendant la chirurgie s'il reçoit de l'étomidate.