diff --git a/addons/hearing/CfgAmmo.hpp b/addons/hearing/CfgAmmo.hpp index dea7901434..ddc2bf3297 100644 --- a/addons/hearing/CfgAmmo.hpp +++ b/addons/hearing/CfgAmmo.hpp @@ -4,4 +4,4 @@ class CfgAmmo { class B_127x108_Ball: BulletBase { audibleFire = 15; }; -}; \ No newline at end of file +}; diff --git a/addons/hearing/CfgSounds.hpp b/addons/hearing/CfgSounds.hpp index 17436088c3..ac64f42c4e 100644 --- a/addons/hearing/CfgSounds.hpp +++ b/addons/hearing/CfgSounds.hpp @@ -11,4 +11,4 @@ class CfgSounds { sound[] = {QUOTE(PATHTOF(sounds\ACE_earringing_heavy.wav)),8,1.7}; titles[] = {}; }; -}; \ No newline at end of file +}; diff --git a/addons/hearing/CfgVehicles.hpp b/addons/hearing/CfgVehicles.hpp index 41562e9044..c4ea1f2349 100644 --- a/addons/hearing/CfgVehicles.hpp +++ b/addons/hearing/CfgVehicles.hpp @@ -4,8 +4,8 @@ class CfgVehicles { class ACE_SelfActions { class ACE_Equipment { class ACE_PutInEarplugs { - displayName = "$STR_ACE_Hearing_Earbuds_On"; - condition = QUOTE( !([_player] call FUNC(hasEarPlugsIn)) && {'ACE_EarBuds' in items _player} ); + displayName = "$STR_ACE_Hearing_EarPlugs_On"; + condition = QUOTE( !([_player] call FUNC(hasEarPlugsIn)) && {'ACE_EarPlugs' in items _player} ); statement = QUOTE( [_player] call FUNC(putInEarPlugs) ); showDisabled = 0; priority = 2.5; @@ -14,7 +14,7 @@ class CfgVehicles { enableInside = 1; }; class ACE_RemoveEarplugs { - displayName = "$STR_ACE_Hearing_Earbuds_Off"; + displayName = "$STR_ACE_Hearing_EarPlugs_Off"; condition = QUOTE( [_player] call FUNC(hasEarPlugsIn) ); statement = QUOTE( [_player] call FUNC(removeEarPlugs) ); showDisabled = 0; @@ -35,61 +35,61 @@ class CfgVehicles { class Box_NATO_Support_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class B_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class Box_East_Support_F: EAST_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class O_supplyCrate_F: B_supplyCrate_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class Box_IND_Support_F: IND_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class Box_FIA_Support_F: FIA_Box_Base_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class I_supplyCrate_F: B_supplyCrate_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class IG_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class C_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12); + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; diff --git a/addons/hearing/CfgWeapons.hpp b/addons/hearing/CfgWeapons.hpp index 15fa2097a3..e70cc62c25 100644 --- a/addons/hearing/CfgWeapons.hpp +++ b/addons/hearing/CfgWeapons.hpp @@ -2,9 +2,9 @@ class CfgWeapons { class ACE_ItemCore; class InventoryItem_Base_F; - class ACE_EarBuds: ACE_ItemCore { - displayName = "$STR_ACE_Hearing_Earbuds_Name"; - descriptionShort = "$STR_ACE_Hearing_Earbuds_Description"; + class ACE_EarPlugs: ACE_ItemCore { + displayName = "$STR_ACE_Hearing_EarPlugs_Name"; + descriptionShort = "$STR_ACE_Hearing_EarPlugs_Description"; model = PATHTOF(ACE_earplugs.p3d); picture = PATHTOF(UI\ACE_earplugs_x_ca.paa); scope = 2; @@ -12,4 +12,4 @@ class CfgWeapons { mass = 1; }; }; -}; \ No newline at end of file +}; diff --git a/addons/hearing/config.cpp b/addons/hearing/config.cpp index 0825573d9f..0616ffa0e1 100644 --- a/addons/hearing/config.cpp +++ b/addons/hearing/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"ACE_EarBuds"}; + weapons[] = {"ACE_EarPlugs"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common", "ace_interaction"}; author[] = {"KoffeinFlummi", "CAA-Picard", "HopeJ", "commy2"}; diff --git a/addons/hearing/functions/fnc_addEarPlugs.sqf b/addons/hearing/functions/fnc_addEarPlugs.sqf index 9253717c11..455de07fd9 100644 --- a/addons/hearing/functions/fnc_addEarPlugs.sqf +++ b/addons/hearing/functions/fnc_addEarPlugs.sqf @@ -1,13 +1,17 @@ /* * Author: commy2 - * * Called on unit initialization. Adds earplugs if the unit is equipped with either a really loud primary weapon or a rocket launcher. * - * Argument: - * 0: A Soldier (Object) + * Arguments: + * 0: A Soldier * - * Return value: - * Nothing + * Return Value: + * None + * + * Example: + * [guy] call ace_hearing_fnc_addEarPlugs + * + * Public: No */ #include "script_component.hpp" @@ -19,7 +23,7 @@ _unit = _this select 0; _launcher = secondaryWeapon _unit; if (_launcher != "") exitWith { - _unit addItem "ACE_EarBuds"; + _unit addItem "ACE_EarPlugs"; }; // otherwise add earplugs if the soldier has a big rifle @@ -32,5 +36,5 @@ if (isNil "_magazine") exitWith {}; _ammo = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"); if (getNumber (configFile >> "CfgAmmo" >> _ammo >> "audiblefire") > 8) then { - _unit addItem "ACE_EarBuds"; + _unit addItem "ACE_EarPlugs"; }; diff --git a/addons/hearing/functions/fnc_earRinging.sqf b/addons/hearing/functions/fnc_earRinging.sqf index 4581a6fdd9..2460e0fd5c 100644 --- a/addons/hearing/functions/fnc_earRinging.sqf +++ b/addons/hearing/functions/fnc_earRinging.sqf @@ -1,13 +1,18 @@ /* * Author: KoffeinFlummi, commy2 - * * Creates ear ringing effect with set strength. * * Arguments: - * 0: strength of ear ringing (Number between 0 and 1) + * 0: Unit (player) + * 1: strength of ear ringing (Number between 0 and 1) * * Return Value: - * none + * None + * + * Example: + * [clientExplosionEvent] call ace_hearing_fnc_earRinging + * + * Public: No */ #include "script_component.hpp" @@ -17,7 +22,7 @@ _unit = _this select 0; _strength = _this select 1; if (_unit getVariable ["ACE_hasEarPlugsin", false]) then { - _strength = _strength / 4; + _strength = _strength / 4; }; GVAR(newStrength) = GVAR(newStrength) max _strength; @@ -28,24 +33,24 @@ if (missionNamespace getVariable [QGVAR(isEarRingingPlaying), false]) exitWith { if (GVAR(DisableEarRinging)) exitWith {}; if (_strength > 0.75) exitWith { - playSound "ACE_EarRinging_Heavy"; - GVAR(isEarRingingPlaying) = true; - [ + playSound "ACE_EarRinging_Heavy"; + GVAR(isEarRingingPlaying) = true; + [ {GVAR(isEarRingingPlaying) = false;}, [], 7.0, 0.25 - ] call EFUNC(common,waitAndExecute); + ] call EFUNC(common,waitAndExecute); }; if (_strength > 0.5) exitWith { - playSound "ACE_EarRinging_Medium"; - GVAR(isEarRingingPlaying) = true; - [ + playSound "ACE_EarRinging_Medium"; + GVAR(isEarRingingPlaying) = true; + [ {GVAR(isEarRingingPlaying) = false;}, [], 5.0, 0.25 - ] call EFUNC(common,waitAndExecute); + ] call EFUNC(common,waitAndExecute); }; if (_strength > 0.2) exitWith { - playSound "ACE_EarRinging_Weak"; - GVAR(isEarRingingPlaying) = true; + playSound "ACE_EarRinging_Weak"; GVAR(isEarRingingPlaying) = true; - [ + GVAR(isEarRingingPlaying) = true; + [ {GVAR(isEarRingingPlaying) = false;}, [], 3.0, 0.25 - ] call EFUNC(common,waitAndExecute); + ] call EFUNC(common,waitAndExecute); }; diff --git a/addons/hearing/functions/fnc_explosionNear.sqf b/addons/hearing/functions/fnc_explosionNear.sqf index 8c7b477da0..b213a1304a 100644 --- a/addons/hearing/functions/fnc_explosionNear.sqf +++ b/addons/hearing/functions/fnc_explosionNear.sqf @@ -1,13 +1,18 @@ /* * Author: KoffeinFlummi, commy2 - * * Handles deafness due to explosions going off near the player. * * Arguments: - * -> Explosion Event Handler + * 0: vehicle - Object the event handler is assigned to (player) + * 1: damage - Damage inflicted to the object * * Return Value: - * none + * None + * + * Example: + * [clientExplosionEvent] call ace_hearing_fnc_explosionNear + * + * Public: No */ #include "script_component.hpp" @@ -19,7 +24,4 @@ _damage = _this select 1; _strength = (_damage * 2) min 1; if (_strength < 0.01) exitWith {}; -[_unit, _strength] spawn { - sleep 0.2; - _this call FUNC(earRinging); -}; +[{_this call FUNC(earRinging)}, [_unit, _strength], 0.2, 0] call EFUNC(common,waitAndExecute); diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf index 10e8508617..c66361801e 100644 --- a/addons/hearing/functions/fnc_firedNear.sqf +++ b/addons/hearing/functions/fnc_firedNear.sqf @@ -1,13 +1,23 @@ /* * Author: KoffeinFlummi, commy2 - * * Handles deafness due to large-caliber weapons going off near the player. * * Arguments: - * -> FiredNear Event Handler + * 0: Unit - Object the event handler is assigned to + * 1: Firer: Object - Object which fires a weapon near the unit + * 2: Distance - Distance in meters between the unit and firer + * 3: weapon - Fired weapon + * 4: muzzle - Muzzle that was used + * 5: mod - Current mode of the fired weapon + * 6: ammo - Ammo used * * Return Value: - * none + * None + * + * Example: + * [clientFiredNearEvent] call ace_hearing_fnc_firedNear + * + * Public: No */ #include "script_component.hpp" @@ -25,17 +35,17 @@ if (_weapon in ["Throw", "Put"]) exitWith {}; if (_unit != vehicle _unit && {!([_unit] call EFUNC(common,isTurnedOut))}) exitWith {}; _silencer = switch (_weapon) do { - case (primaryWeapon _unit) : {primaryWeaponItems _unit select 0}; - case (secondaryWeapon _unit) : {secondaryWeaponItems _unit select 0}; - case (handgunWeapon _unit) : {handgunItems _unit select 0}; - default {""}; + case (primaryWeapon _firer) : {(primaryWeaponItems _firer) select 0}; + case (secondaryWeapon _firer) : {(secondaryWeaponItems _firer) select 0}; + case (handgunWeapon _firer) : {(handgunItems _firer) select 0}; + default {""}; }; _audibleFireCoef = 1; //_audibleFireTimeCoef = 1; if (_silencer != "") then { - _audibleFireCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFire"); - //_audibleFireTimeCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFireTime"); + _audibleFireCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFire"); + //_audibleFireTimeCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFireTime"); }; _audibleFire = getNumber (configFile >> "CfgAmmo" >> _ammo >> "audibleFire"); @@ -46,7 +56,4 @@ _strength = _loudness - (_loudness/50 * _distance); // linear drop off if (_strength < 0.01) exitWith {}; -[_unit, _strength] spawn { - sleep 0.2; - _this call FUNC(earRinging); -}; +[{_this call FUNC(earRinging)}, [_unit, _strength], 0.2, 0] call EFUNC(common,waitAndExecute); diff --git a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf index 8fcfe1eeb1..58dc302888 100644 --- a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf +++ b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf @@ -1,18 +1,20 @@ /* * Author: commy2 - * * Check if the unit has earplugs put in. * - * Argument: - * A soldier (Object) + * Arguments: + * 0:Unit (player) * - * Return value: - * Boolean (Bool) + * Return Value: + * Have Earplugs in + * + * Example: + * [ace_player] call ace_hearing_fnc_hasEarPlugsIn + * + * Public: No */ #include "script_component.hpp" -private "_unit"; - -_unit = _this select 0; +PARAMS_1(_unit); _unit getVariable ["ACE_hasEarPlugsin", false] diff --git a/addons/hearing/functions/fnc_putInEarplugs.sqf b/addons/hearing/functions/fnc_putInEarplugs.sqf index 767ec9c698..b02a19d5bc 100644 --- a/addons/hearing/functions/fnc_putInEarplugs.sqf +++ b/addons/hearing/functions/fnc_putInEarplugs.sqf @@ -1,27 +1,28 @@ /* - * Author: Hope Johnson - * Edited by commy2 - * - * Puts in / takes out earplugs. + * Author: Hope Johnson and commy2 + * Puts in earplugs. * * Arguments: - * none + * 0:Unit (player) * * Return Value: - * none + * None + * + * Example: + * [ace_player] call ace_hearing_fnc_putInEarplugs + * + * Public: No */ #include "script_component.hpp" -private "_player"; +PARAMS_1(_player); -_player = _this select 0; - -// Buds in inventory, putting them in -_player removeItem "ACE_EarBuds"; +// Plugs in inventory, putting them in +_player removeItem "ACE_EarPlugs"; _player setVariable ["ACE_hasEarPlugsIn", true, true]; -[localize "STR_ACE_Hearing_Earbuds_Are_On"] call EFUNC(common,displayTextStructured); +[localize "STR_ACE_Hearing_EarPlugs_Are_On"] call EFUNC(common,displayTextStructured); -/*// No Ear Buds in inventory, telling user -[localize "STR_ACE_Hearing_NoBuds"] call EFUNC(common,displayTextStructured);*/ +/*// No Ear Plugs in inventory, telling user +[localize "STR_ACE_Hearing_NoPlugs"] call EFUNC(common,displayTextStructured);*/ diff --git a/addons/hearing/functions/fnc_removeEarplugs.sqf b/addons/hearing/functions/fnc_removeEarplugs.sqf index 9436807a46..e2d0b68d51 100644 --- a/addons/hearing/functions/fnc_removeEarplugs.sqf +++ b/addons/hearing/functions/fnc_removeEarplugs.sqf @@ -1,28 +1,29 @@ /* - * Author: Hope Johnson - * Edited by commy2 - * - * Puts in / takes out earplugs. + * Author: Hope Johnson and commy2 + * Takes out earplugs. * * Arguments: - * none + * 0:Unit (player) * * Return Value: - * none + * None + * + * Example: + * [ace_player] call ace_hearing_fnc_removeEarplugs + * + * Public: No */ #include "script_component.hpp" -private "_player"; +PARAMS_1(_player); -_player = _this select 0; - -if !(_player canAdd "ACE_EarBuds") exitWith { // inventory full - [localize "STR_ACE_Hearing_Inventory_Full"] call EFUNC(common,displayTextStructured); +if !(_player canAdd "ACE_EarPlugs") exitWith { // inventory full + [localize "STR_ACE_Hearing_Inventory_Full"] call EFUNC(common,displayTextStructured); }; -// Buds already in and removing them. -_player addItem "ACE_EarBuds"; +// Plugs already in and removing them. +_player addItem "ACE_EarPlugs"; _player setVariable ["ACE_hasEarPlugsIn", false, true]; -[localize "STR_ACE_Hearing_Earbuds_Are_Off"] call EFUNC(common,displayTextStructured); +[localize "STR_ACE_Hearing_EarPlugs_Are_Off"] call EFUNC(common,displayTextStructured); diff --git a/addons/hearing/functions/fnc_updateVolume.sqf b/addons/hearing/functions/fnc_updateVolume.sqf index 48b1befc18..634537922c 100644 --- a/addons/hearing/functions/fnc_updateVolume.sqf +++ b/addons/hearing/functions/fnc_updateVolume.sqf @@ -1,4 +1,18 @@ -// by commy2 and CAA-Picard +/* + * Author: commy2 and CAA-Picard + * Updates and applys the current deafness. Called every 0.1 sec from a PFEH. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ace_hearing_fnc_updateVolume + * + * Public: No + */ #include "script_component.hpp" #define STRENGHTODEAFNESS 3 @@ -9,17 +23,17 @@ if !(GVAR(enableCombatDeafness)) exitWith {}; // Check if new noises increase deafness if (GVAR(newStrength) * STRENGHTODEAFNESS > GVAR(currentDeafness)) then { - GVAR(currentDeafness) = GVAR(newStrength) * STRENGHTODEAFNESS min MAXDEAFNESS; + GVAR(currentDeafness) = GVAR(newStrength) * STRENGHTODEAFNESS min MAXDEAFNESS; }; GVAR(newStrength) = 0; // Recover rate is slower if deafness is severe _recoverRate = 0.01; if (GVAR(currentDeafness) > 0.7) then { - _recoverRate = 0.005; - if (GVAR(currentDeafness) > 0.9) then { - _recoverRate = 0.002; - }; + _recoverRate = 0.005; + if (GVAR(currentDeafness) > 0.9) then { + _recoverRate = 0.002; + }; }; // Deafness recovers with time @@ -30,19 +44,19 @@ _volume = (1 - GVAR(currentDeafness) max 0)^2 max 0.04; // Earplugs reduce hearing 50% if ([ACE_player] call FUNC(hasEarPlugsIn)) then { - _volume = _volume min GVAR(EarplugsVolume); + _volume = _volume min GVAR(EarplugsVolume); }; // Reduce volume if player is unconscious if (ACE_player getVariable ["ACE_isUnconscious", false]) then { - _volume = _volume min GVAR(UnconsciousnessVolume); + _volume = _volume min GVAR(UnconsciousnessVolume); }; if (!(missionNameSpace getVariable [QGVAR(disableVolumeUpdate), false])) then { - 0.1 fadeSound _volume; - 0.1 fadeSpeech _volume; - ACE_player setVariable ["tf_globalVolume", _volume]; - ACE_player setVariable ["acre_sys_core_globalVolume", _volume]; + 0.1 fadeSound _volume; + 0.1 fadeSpeech _volume; + ACE_player setVariable ["tf_globalVolume", _volume]; + if (!isNil "acre_api_fnc_setGlobalVolume") then {[_volume] call acre_api_fnc_setGlobalVolume;}; }; //hintSilent format ["GVAR(currentDeafness), _Volume = %1, %2", GVAR(currentDeafness), _volume]; diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 385bf35936..7f6110915a 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -2,7 +2,7 @@ - + Ear Plugs Ohrenstöpsel Tapones para los oídos @@ -14,8 +14,8 @@ Protetor auricular Tappi auricolari - - Protective Ear Buds allow the wearer to be near loud weaponry without damage to his hearing. + + Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing. Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten. Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición. Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu. @@ -26,7 +26,7 @@ Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição. Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno. - + Earplugs in Ohrenstöpsel drinnen Poner tapones @@ -38,7 +38,7 @@ Protetores colocados Indossa i tappi auricolari - + Earplugs out Ohrenstöpsel raus Quitar tapones @@ -50,7 +50,7 @@ Protetores retirados Levati i tappi auricolari - + Earplugs in Ohrenstöpsel drinnen Tapones puestos @@ -62,7 +62,7 @@ Protetores colocados Indossa i tappi auricolari - + Earplugs out Ohrenstöpsel raus Tapones quitados @@ -74,7 +74,7 @@ Protetores retirados Levati i tappi auricolari - + You have no ear plugs Keine Ohrenstöpsel im Inventar No tienes tapones para los oídos