Skip to content

Commit

Permalink
Re-include sounds for Breathing/Chemical conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
mazinskihenry committed Dec 15, 2024
1 parent dc9dce5 commit e569539
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 1 deletion.
45 changes: 44 additions & 1 deletion addons/breathing/functions/fnc_init.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,47 @@ _unit setVariable [QGVAR(PulseOximeter_Volume), true, true];
_unit setVariable [QGVAR(PulseOximeter_VolumePatient), false, true];

_unit setVariable [QGVAR(oxygenMaskActive), false, true];
_unit setVariable [QGVAR(oxygenMaskStatus), [0,0], true];
_unit setVariable [QGVAR(oxygenMaskStatus), [0,0], true];

[{
params ["_args", "_idPFH"];
_args params ["_unit"];

private _alive = alive _unit;

if (!_alive) exitWith {
[_idPFH] call CBA_fnc_removePerFrameHandler;
};

private _spo2 = GET_KAT_SPO2(_unit);

if(GVAR(staminaLossAtLowSPO2)) then {
if (!(_unit getVariable ["ACE_isUnconscious",false]) && {_spo2 <= GVAR(lowSPO2Level)}) then {
if (ACEGVAR(advanced_fatigue,enabled)) then {
["kat_LSDF", 1.5] call ACEFUNC(advanced_fatigue,addDutyFactor);
} else {
_unit setStamina(getStamina _unit - 3);
};
} else {
["kat_LSDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor);
};
};

if ((_unit getVariable [QGVAR(pneumothorax), 0] > 0) || _unit getVariable [QGVAR(hemopneumothorax), false] || _unit getVariable [QGVAR(tensionpneumothorax), false] || _unit getVariable [QEGVAR(chemical,airPoisoning), false]) then {
if (!(_unit getVariable [QACEGVAR(medical,inCardiacArrest), false]) && !(_unit getVariable [QGVAR(PneumoBreathCooldownOn), false])) then {
_unit setVariable [QGVAR(PneumoBreathCooldownOn), true, true];

private _soundTargets = allPlayers inAreaArray [ASLToAGL getPosASL _unit, 15, 15, 0, false, 15];

if !(_soundTargets isEqualTo []) then {
[QGVAR(playCough), [_unit], _soundTargets] call CBA_fnc_targetEvent;
};

[{
params["_unit"];
_unit setVariable [QGVAR(PneumoBreathCooldownOn), false, true];
},
[_unit], 20] call CBA_fnc_waitAndExecute;
};
};
}, 10, [_unit]] call CBA_fnc_addPerFrameHandler;
4 changes: 4 additions & 0 deletions addons/chemical/functions/fnc_poison.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,9 @@ if (_currentInfection != _newTime) then {

// Exit if infection reaches 0
if (_newTime <= 0) then {
if !(_unit getVariable [QGVAR(airPoisoning), false]) then {
[QEGVAR(breathing,playCough), [_unit], _unit] call CBA_fnc_targetEvent;
};

_unit setVariable [QGVAR(airPoisoning), true, true];
};

0 comments on commit e569539

Please sign in to comment.