hearing: fix PFH in case the game is paused

This commit is contained in:
Nicolás Badano 2015-01-17 02:24:28 -03:00
parent 800e16edc5
commit c85db9baf9

View File

@ -25,11 +25,14 @@ GVAR(newStrength) = GVAR(newStrength) max _strength;
if (missionNamespace getVariable [QGVAR(isEarRingingPlaying), false]) exitWith {}; if (missionNamespace getVariable [QGVAR(isEarRingingPlaying), false]) exitWith {};
_fnc_removeEarRinging = { _fnc_removeEarRinging = {
// Skip first execution EXPLODE_2_PVT(_this,_params,_pfhId);
if (diag_tickTime < 1 + ((_this select 0) select 0)) exitWith {}; EXPLODE_2_PVT(_params,_startTime,_duration);
// Exit if the delay is not met yet
if (time < _startTime + _duration) exitWith {};
GVAR(isEarRingingPlaying) = false; GVAR(isEarRingingPlaying) = false;
[(_this select 1)] call cba_fnc_removePerFrameHandler; [_pfhId] call cba_fnc_removePerFrameHandler;
}; };
if (profileNamespace getVariable [QGVAR(DisableEarRinging), false]) exitWith {}; if (profileNamespace getVariable [QGVAR(DisableEarRinging), false]) exitWith {};
@ -37,15 +40,15 @@ if (profileNamespace getVariable [QGVAR(DisableEarRinging), false]) exitWith {};
if (_strength > 0.75) exitWith { if (_strength > 0.75) exitWith {
playSound "ACE_EarRinging_Heavy"; playSound "ACE_EarRinging_Heavy";
GVAR(isEarRingingPlaying) = true; GVAR(isEarRingingPlaying) = true;
[_fnc_removeEarRinging, 7.0, [diag_tickTime] ] call CBA_fnc_addPerFrameHandler; [_fnc_removeEarRinging, 0.25, [time, 7.0] ] call CBA_fnc_addPerFrameHandler;
}; };
if (_strength > 0.5) exitWith { if (_strength > 0.5) exitWith {
playSound "ACE_EarRinging_Medium"; playSound "ACE_EarRinging_Medium";
GVAR(isEarRingingPlaying) = true; GVAR(isEarRingingPlaying) = true;
[_fnc_removeEarRinging, 5.0, [diag_tickTime] ] call CBA_fnc_addPerFrameHandler; [_fnc_removeEarRinging, 0.25, [time, 5.0] ] call CBA_fnc_addPerFrameHandler;
}; };
if (_strength > 0.2) exitWith { if (_strength > 0.2) exitWith {
playSound "ACE_EarRinging_Weak"; playSound "ACE_EarRinging_Weak";
GVAR(isEarRingingPlaying) = true; GVAR(isEarRingingPlaying) = true;
[_fnc_removeEarRinging, 3.0, [diag_tickTime] ] call CBA_fnc_addPerFrameHandler; [_fnc_removeEarRinging, 0.25, [time, 3.0] ] call CBA_fnc_addPerFrameHandler;
}; };