ACE3/addons/hearing/functions/fnc_earRinging.sqf
2015-01-14 00:29:01 -03:00

52 lines
1.4 KiB
Plaintext

/*
* Author: KoffeinFlummi, commy2
*
* Creates ear ringing effect with set strength.
*
* Arguments:
* 0: strength of ear ringing (Number between 0 and 1)
*
* Return Value:
* none
*/
#include "script_component.hpp"
private ["_unit", "_strength"];
_unit = _this select 0;
_strength = _this select 1;
if (_unit getVariable ["ACE_hasEarPlugsin", false]) then {
_strength = _strength / 4;
};
GVAR(newStrength) = GVAR(newStrength) max _strength;
if (missionNamespace getVariable [QGVAR(isEarRingingPlaying), false]) exitWith {};
_fnc_removeEarRinging = {
// Skip first execution
if (diag_tickTime < 1 + ((_this select 0) select 0)) exitWith {};
GVAR(isEarRingingPlaying) = false;
[(_this select 1)] call cba_fnc_removePerFrameHandler;
};
if (profileNamespace getVariable [QGVAR(DisableEarRinging), false]) exitWith {};
if (_strength > 0.75) exitWith {
playSound "ACE_EarRinging_Heavy";
GVAR(isEarRingingPlaying) = true;
[_fnc_removeEarRinging, 7.0, [diag_tickTime] ] call CBA_fnc_addPerFrameHandler;
};
if (_strength > 0.5) exitWith {
playSound "ACE_EarRinging_Medium";
GVAR(isEarRingingPlaying) = true;
[_fnc_removeEarRinging, 5.0, [diag_tickTime] ] call CBA_fnc_addPerFrameHandler;
};
if (_strength > 0.2) exitWith {
playSound "ACE_EarRinging_Weak";
GVAR(isEarRingingPlaying) = true;
[_fnc_removeEarRinging, 3.0, [diag_tickTime] ] call CBA_fnc_addPerFrameHandler;
};