diff --git a/addons/medical_feedback/XEH_postInit.sqf b/addons/medical_feedback/XEH_postInit.sqf index 60dae8f04e..c482be9ad1 100644 --- a/addons/medical_feedback/XEH_postInit.sqf +++ b/addons/medical_feedback/XEH_postInit.sqf @@ -78,6 +78,27 @@ GVAR(bloodTickCounter) = 0; ["unconscious", _status] call EFUNC(common,setDisableUserInputStatus); }] call CBA_fnc_addPlayerEventHandler; +// Update effects for featureCamera (curator, arsenal, etc) +["featureCamera", { + params ["_unit", "_newCamera"]; + + [true] call FUNC(handleEffects); + + private _volume = missionNamespace getVariable [QEGVAR(hearing,unconsciousnessVolume), VOL_UNCONSCIOUS]; + + if (_newCamera == "") then { // switched back to player view + private _status = IS_UNCONSCIOUS(_unit); + [!_status, _unit] call EFUNC(common,setVolume); + + [QUOTE(ADDON), _volume, _status] call EFUNC(common,setHearingCapability); + + ["unconscious", _status] call EFUNC(common,setDisableUserInputStatus); + } else { // camera view + [true, _unit] call EFUNC(common,setVolume); + [QUOTE(ADDON), 1, false] call EFUNC(common,setHearingCapability); + }; +}] call CBA_fnc_addPlayerEventHandler; + // Forced say3D [QGVAR(forceSay3D), { params ["_unit", "_sound", "_distance"]; diff --git a/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf b/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf index 6156adb4f6..c92a377c13 100644 --- a/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf +++ b/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf @@ -15,8 +15,12 @@ * Public: No */ -private _heartRate = GET_HEART_RATE(ACE_player); +if (EGVAR(common,OldIsCamera)) exitWith { + TRACE_2("Ending heart beat effect - scripted camera",_heartRate,EGVAR(common,OldIsCamera)); + GVAR(heartBeatEffectRunning) = false; +}; +private _heartRate = GET_HEART_RATE(ACE_player); if (_heartRate == 0) exitWith { TRACE_1("Ending heart beat effect - zero",_heartRate); GVAR(heartBeatEffectRunning) = false; diff --git a/addons/medical_status/functions/fnc_handleKilled.sqf b/addons/medical_status/functions/fnc_handleKilled.sqf index fb695d6f2b..a78c82bf55 100644 --- a/addons/medical_status/functions/fnc_handleKilled.sqf +++ b/addons/medical_status/functions/fnc_handleKilled.sqf @@ -41,6 +41,8 @@ if (_causeOfDeath != "#scripted") then { _this set [1, _killer]; _this set [2, _instigator]; }; +} else { // in that case, call setDead manually to prevent any issues + [_unit, "#scripted"] call FUNC(setDead); }; TRACE_3("killer info",_killer,_instigator,_causeOfDeath);