ACE3/addons/hearing/XEH_postInit.sqf
PabstMirror f69142dd45 Hearing - New XEH, Fix dead effects, Medical var (#3802)
* Hearing - New XEH, Fix dead effects, Medical var

* Use setHearingCapability

* Cleanup dead player vol update

* Don't change global hearing in medical

* Fix exitWith
2016-05-20 11:23:14 -05:00

46 lines
1.6 KiB
Plaintext

#include "script_component.hpp"
if (!hasInterface) exitWith {};
GVAR(cacheAmmoLoudness) = call CBA_fnc_createNamespace;
GVAR(deafnessDV) = 0;
GVAR(deafnessPrior) = 0;
GVAR(volume) = 1;
GVAR(playerVehAttenuation) = 1;
GVAR(time3) = 0;
GVAR(damageCoefficent) = 1;
GVAR(volumeAttenuation) = 1;
["SettingsInitialized", {
TRACE_1("settingInit",GVAR(EnableCombatDeafness));
// Only run PFEH and install event handlers if combat deafness is enabled
if (!GVAR(EnableCombatDeafness)) exitWith {};
//Add XEH:
["CAManBase", "FiredNear", FUNC(firedNear)] call CBA_fnc_addClassEventHandler;
["CAManBase", "Explosion", FUNC(explosionNear)] call CBA_fnc_addClassEventHandler;
// Update hearing protection now:
[] call FUNC(updateHearingProtection);
// Spawn volume updating process
[FUNC(updateVolume), 1, [false]] call CBA_fnc_addPerFrameHandler;
// Update veh attunation when player veh changes
["playerVehicleChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call EFUNC(common,addEventHandler);
["playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call EFUNC(common,addEventHandler);
// Reset deafness on respawn (or remote control player switch)
["playerChanged", {
GVAR(deafnessDV) = 0;
GVAR(deafnessPrior) = 0;
ACE_player setVariable [QGVAR(deaf), false];
GVAR(time3) = 0;
[] call FUNC(updateHearingProtection);
}] call EFUNC(common,addEventhandler);
// Update protection on possible helmet change
["playerInventoryChanged", {[] call FUNC(updateHearingProtection);}] call EFUNC(common,addEventhandler);
}] call EFUNC(common,addEventHandler);