ACE3/addons/hearing/functions/fnc_earRinging.sqf

57 lines
1.4 KiB
Plaintext
Raw Normal View History

/*
* Author: KoffeinFlummi, commy2
* Creates ear ringing effect with set strength.
*
* Arguments:
2015-03-15 21:40:47 +00:00
* 0: Unit (player) <OBJECT>
* 1: strength of ear ringing (Number between 0 and 1) <NUMBER>
*
* Return Value:
2015-03-15 21:40:47 +00:00
* None
*
* Example:
* [clientExplosionEvent] call ace_hearing_fnc_earRinging
*
* Public: No
*/
2015-01-14 01:41:53 +00:00
#include "script_component.hpp"
private ["_unit", "_strength"];
_unit = _this select 0;
_strength = _this select 1;
2015-01-13 04:17:52 +00:00
if (_unit getVariable ["ACE_hasEarPlugsin", false]) then {
2015-03-15 21:40:47 +00:00
_strength = _strength / 4;
};
2015-01-13 04:17:52 +00:00
GVAR(newStrength) = GVAR(newStrength) max _strength;
2015-01-13 04:17:52 +00:00
if (missionNamespace getVariable [QGVAR(isEarRingingPlaying), false]) exitWith {};
2015-01-14 02:34:55 +00:00
2015-02-03 00:13:31 +00:00
if (GVAR(DisableEarRinging)) exitWith {};
2015-01-14 03:29:01 +00:00
if (_strength > 0.75) exitWith {
2015-03-15 21:40:47 +00:00
playSound "ACE_EarRinging_Heavy";
GVAR(isEarRingingPlaying) = true;
[
{GVAR(isEarRingingPlaying) = false;}, [], 7.0, 0.25
2015-03-15 21:40:47 +00:00
] call EFUNC(common,waitAndExecute);
};
if (_strength > 0.5) exitWith {
2015-03-15 21:40:47 +00:00
playSound "ACE_EarRinging_Medium";
GVAR(isEarRingingPlaying) = true;
[
2015-01-17 06:20:41 +00:00
{GVAR(isEarRingingPlaying) = false;}, [], 5.0, 0.25
2015-03-15 21:40:47 +00:00
] call EFUNC(common,waitAndExecute);
};
if (_strength > 0.2) exitWith {
2015-03-15 21:40:47 +00:00
playSound "ACE_EarRinging_Weak";
GVAR(isEarRingingPlaying) = true;
GVAR(isEarRingingPlaying) = true;
2015-03-15 21:40:47 +00:00
[
2015-01-17 06:20:41 +00:00
{GVAR(isEarRingingPlaying) = false;}, [], 3.0, 0.25
2015-03-15 21:40:47 +00:00
] call EFUNC(common,waitAndExecute);
};