Medical Feedback - effects overhaul (#7215)

* Intensify pain effects

* Add chromatic abberation effect, add blur with very high pain

* Add option for limited pain effects with only high pain blur

* Fix playInjuredSound

* Add instant feedback effects update when getting hit

* Cleanup

* Overhaul playInjuredSound

* Fix voice detection, simplify nearby unit filter

* Apply suggestions from code review

* Add Chromatic Aberration translations

* Use while loop instead of configClasses

* detach say3d dummies before deleting
This commit is contained in:
BaerMitUmlaut 2019-10-11 22:00:53 +02:00 committed by PabstMirror
parent bb0461be16
commit 8c7f8d7d6a
12 changed files with 2360 additions and 829 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,10 @@
[QEGVAR(medical,injured), {
params ["_unit", "_painLevel"];
[_unit, "hit", PAIN_TO_SCREAM(_painLevel)] call FUNC(playInjuredSound);
if (hasInterface && {_unit == ace_player}) then {
[true] call FUNC(handleEffects);
};
}] call CBA_fnc_addEventHandler;
[QEGVAR(medical,moan), {
@ -10,21 +14,23 @@
[_unit, "moan", PAIN_TO_MOAN(_painLevel)] call FUNC(playInjuredSound);
}] call CBA_fnc_addEventHandler;
if (!hasInterface) exitWith {};
[QEGVAR(medical,fracture), {
params ["_unit"];
if (_unit == ACE_player) then {
playSound SND_FRACTURE;
};
}] call CBA_fnc_addEventHandler;
if (!hasInterface) exitWith {};
GVAR(nextFadeIn) = 0;
GVAR(heartBeatEffectRunning) = false;
GVAR(lastHeartBeatSound) = 0;
GVAR(bloodTickCounter) = 0;
[false] call FUNC(initEffects);
[LINKFUNC(handleEffects), 1, []] call CBA_fnc_addPerFrameHandler;
[true] call FUNC(handleEffects);
[FUNC(handleEffects), 1, false] call CBA_fnc_addPerFrameHandler;
["ace_unconscious", {
params ["_unit", "_unconscious"];
@ -45,10 +51,11 @@ GVAR(heartBeatEffectRunning) = false;
if (["acre_main"] call EFUNC(common,isModLoaded)) then {
_unit setVariable ["acre_sys_core_isDisabled", _unconscious, true];
};
// Greatly reduce player's hearing ability while unconscious (affects radio addons)
[QUOTE(ADDON), VOL_UNCONSCIOUS, _unconscious] call EFUNC(common,setHearingCapability);
[_unconscious, 1] call FUNC(effectUnconscious);
[true] call FUNC(handleEffects);
["unconscious", _unconscious] call EFUNC(common,setDisableUserInputStatus);
}] call CBA_fnc_addEventHandler;
@ -80,10 +87,31 @@ GVAR(heartBeatEffectRunning) = false;
_new setVariable ["acre_sys_core_isDisabled", _status, true];
};
[QUOTE(ADDON), VOL_UNCONSCIOUS, _status] call EFUNC(common,setHearingCapability);
[_status, 0] call FUNC(effectUnconscious);
[true] call FUNC(handleEffects);
["unconscious", _status] call EFUNC(common,setDisableUserInputStatus);
}] call CBA_fnc_addPlayerEventHandler;
// Forced say3D
[QGVAR(forceSay3D), {
params ["_unit", "_sound", "_distance"];
if (ACE_player distance _unit > _distance) exitWith {};
if (vehicle _unit == _unit) then {
// say3D waits for the previous sound to finish, so use a dummy instead
private _dummy = "#dynamicsound" createVehicleLocal [0, 0, 0];
_dummy attachTo [_unit, [0, 0, 0], "camera"];
_dummy say3D [_sound, _distance, 1, false];
[{
detach _this;
deleteVehicle _this;
}, _dummy, 5] call CBA_fnc_waitAndExecute;
} else {
// Fallback: attachTo doesn't work within vehicles
_unit say3D [_sound, _distance, 1, false];
};
}] call CBA_fnc_addEventHandler;
// Kill vanilla bleeding feedback effects.
#ifdef DISABLE_VANILLA_DAMAGE_EFFECTS

View File

@ -8,743 +8,4 @@ PREP_RECOMPILE_END;
#include "initSettings.sqf"
GVAR(lastHeartBeatSound) = 0;
// HitScream
GVAR(HitScreamNamespace) = [] call CBA_fnc_createNamespace;
GVAR(HitScreamNamespace) setVariable ["#default", "Male08ENG"];
GVAR(HitScreamNamespace) setVariable ["Male08ENG", [[
["A3\sounds_f\characters\human-sfx\P01\Low_hit_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Low_hit_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Low_hit_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Low_hit_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Low_hit_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P01\Mid_hit_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Mid_hit_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Mid_hit_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Mid_hit_4",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P01\Max_hit_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Max_hit_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Max_hit_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Max_hit_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P01\Max_hit_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male06ENG", [[
["A3\sounds_f\characters\human-sfx\P02\Low_hit_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Low_hit_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Low_hit_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Low_hit_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Low_hit_5",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Low_hit_6",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P02\Mid_hit_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Mid_hit_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Mid_hit_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Mid_hit_4",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P02\Max_hit_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Max_hit_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Max_hit_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P02\Max_hit_4",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male09ENG", [[
["A3\sounds_f\characters\human-sfx\P03\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P03\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P03\Hit_Low_3",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P03\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P03\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P03\Hit_Mid_3",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P03\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P03\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P03\Hit_Max_3",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male07ENG", [[
["A3\sounds_f\characters\human-sfx\P04\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P04\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P04\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P04\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male03GRE", [[
["A3\sounds_f\characters\human-sfx\P05\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P05\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P05\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P05\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male02ENGB", [[
["A3\sounds_f\characters\human-sfx\P06\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P06\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P06\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P06\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male01ENGB", [[
["A3\sounds_f\characters\human-sfx\P07\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P07\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P07\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P07\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male01GRE", [[
["A3\sounds_f\characters\human-sfx\P08\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P08\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P08\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P08\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male02ENG", [[
["A3\sounds_f\characters\human-sfx\P09\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P09\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P09\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P09\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male02GRE", [[
["A3\sounds_f\characters\human-sfx\P10\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P10\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P10\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P10\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male03ENG", [[
["A3\sounds_f\characters\human-sfx\P11\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P11\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P11\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P11\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male03ENGB", [[
["A3\sounds_f\characters\human-sfx\P12\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P12\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P12\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P12\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male04ENG", [[
["A3\sounds_f\characters\human-sfx\P13\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P13\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P13\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P13\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male05GRE", [[
["A3\sounds_f\characters\human-sfx\P14\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P14\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P14\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P14\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male06GRE", [[
["A3\sounds_f\characters\human-sfx\P15\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P15\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P15\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P15\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male04GRE", [[
["A3\sounds_f\characters\human-sfx\P16\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P16\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P16\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P16\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male05ENGB", [[
["A3\sounds_f\characters\human-sfx\P17\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P17\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P17\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P17\Hit_Max_5",3.1622777,1,80]
]]];
GVAR(HitScreamNamespace) setVariable ["Male05ENG", [[
["A3\sounds_f\characters\human-sfx\P18\Hit_Low_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Low_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Low_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Low_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Low_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P18\Hit_Mid_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Mid_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Mid_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Mid_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Mid_5",3.1622777,1,80]
], [
["A3\sounds_f\characters\human-sfx\P18\Hit_Max_1",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Max_2",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Max_3",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Max_4",3.1622777,1,80],
["A3\sounds_f\characters\human-sfx\P18\Hit_Max_5",3.1622777,1,80]
]]];
// InjuredMoan
GVAR(InjuredMoanNamespace) = [] call CBA_fnc_createNamespace;
GVAR(InjuredMoanNamespace) setVariable ["#default", "Male08ENG"];
GVAR(InjuredMoanNamespace) setVariable ["Male08ENG", [[
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Low_5",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Low_6",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Low_7",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Low_8",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Mid_5",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Mid_6",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Mid_7",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Mid_8",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Max_1",1.5848932,1,20],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Max_2",1.5848932,1,20],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Max_3",1.5848932,1,20],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Max_4",1.5848932,1,20],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Max_5",1.5848932,1,20],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Max_6",1.5848932,1,20],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Max_7",1.5848932,1,20],
["A3\Sounds_F\characters\human-sfx\P01\Soundinjured_Max_8",1.5848932,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male06ENG", [[
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Low_5",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Low_6",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Low_7",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Low_8",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Mid_5",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Mid_6",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Mid_7",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Mid_8",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Max_5",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Max_6",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Max_7",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P02\Soundinjured_Max_8",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male09ENG", [[
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P03\Soundinjured_Max_4",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male07ENG", [[
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P04\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male03GRE", [[
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P05\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male02ENGB", [[
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P06\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male01ENGB", [[
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P07\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male01GRE", [[
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P08\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male02ENG", [[
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P09\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male02GRE", [[
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P10\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male03ENG", [[
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P11\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male03ENGB", [[
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P12\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male04ENG", [[
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P13\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male05GRE", [[
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P14\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male06GRE", [[
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P15\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male04GRE", [[
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P16\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male05ENGB", [[
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P17\Soundinjured_Max_5",1.7782794,1,20]
]]];
GVAR(InjuredMoanNamespace) setVariable ["Male05ENG", [[
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Low_1",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Low_2",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Low_3",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Low_4",1.4125376,1,10],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Low_5",1.4125376,1,10]
], [
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Mid_1",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Mid_2",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Mid_3",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Mid_4",1.5848932,1,15],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Mid_5",1.5848932,1,15]
], [
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Max_1",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Max_2",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Max_3",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Max_4",1.7782794,1,20],
["A3\Sounds_F\characters\human-sfx\P18\Soundinjured_Max_5",1.7782794,1,20]
]]];
ADDON = true;

View File

@ -6,6 +6,7 @@
* Arguments:
* 0: Enable effect <BOOL>
* 1: Current bloodloss (in l/s) <NUMBER>
* 2: Instant change (optional, default false) <BOOL>
*
* Return Value:
* None
@ -16,7 +17,7 @@
* Public: No
*/
params ["_enable", "_bloodloss"];
params ["_enable", "_bloodloss", ["_instant", false]];
if (isNull findDisplay 46) exitWith {};
private _controls = uiNamespace getVariable [QGVAR(bloodControls), [controlNull, controlNull]];
@ -54,10 +55,7 @@ if (isNull _blood1) then {
private _fade = linearConversion [0, 0.002, _bloodloss, 1, 0, true];
private _switchBloodFadeInfo = missionNamespace getVariable [QGVAR(switchBloodFadeInfo), [0, 0]];
_switchBloodFadeInfo params ["_tickCounter", "_lastBloodloss"];
if (_tickCounter == 2) then {
if (GVAR(bloodTickCounter) == 2 || _instant) then {
if (ctrlFade _blood1 > ctrlFade _blood2) then {
_blood1 ctrlSetFade _fade;
_blood2 ctrlSetFade 1;
@ -66,16 +64,15 @@ if (_tickCounter == 2) then {
_blood2 ctrlSetFade _fade;
};
_blood1 ctrlCommit 3;
_blood2 ctrlCommit 3;
if (_instant) then {
_blood1 ctrlCommit 0.3;
_blood2 ctrlCommit 0.3;
} else {
_blood1 ctrlCommit 3;
_blood2 ctrlCommit 3;
};
GVAR(switchBloodFadeInfo) = [0, _bloodloss];
GVAR(bloodTickCounter) = 0;
} else {
GVAR(switchBloodFadeInfo) = [_tickCounter + 1, _bloodloss];
};
// Speed up fade on sudden changes
if (abs (_lastBloodloss - _bloodloss) > 0.001) then {
_blood1 ctrlCommit 1;
_blood2 ctrlCommit 1;
GVAR(bloodTickCounter) = GVAR(bloodTickCounter) + 1;
};

View File

@ -34,7 +34,6 @@ switch (true) do {
case (_heartRate < 60): {
playSound SND_HEARBEAT_SLOW;
[FUNC(effectHeartBeat), [], _waitTime] call CBA_fnc_waitAndExecute;
};
default {
TRACE_1("Ending heart beat effect - normal",_heartRate);

View File

@ -20,25 +20,41 @@ params ["_enable", "_intensity"];
if (!_enable || {_intensity == 0}) exitWith {
GVAR(ppPain) ppEffectEnable false;
GVAR(ppPainBlur) ppEffectEnable false;
};
GVAR(ppPain) ppEffectEnable true;
GVAR(ppPainBlur) ppEffectEnable true;
// Trigger effect every 2s
private _showNextTick = missionNamespace getVariable [QGVAR(showPainNextTick), true];
GVAR(showPainNextTick) = !_showNextTick;
if (_showNextTick) exitWith {};
private _blurIntensity = linearConversion [0.8, 1, _intensity, 0, 1, true];
GVAR(ppPainBlur) ppEffectAdjust [_blurIntensity];
GVAR(ppPainBlur) ppEffectCommit 0.1;
if (GVAR(painEffectType) == FX_PAIN_ONLY_BASE) exitWith {};
private _initialAdjust = [];
private _delayedAdjust = [];
if (GVAR(painEffectType) == 0) then {
_intensity = linearConversion [0, 1, _intensity, 0, 0.6, true];
_initialAdjust = [1, 1, 0, [1, 1, 1, _intensity], [1, 1, 1, 1], [0.33, 0.33, 0.33, 0], [0.59, 0.64, 0, 0, 0, 0, 4]];
_delayedAdjust = [1, 1, 0, [1, 1, 1, 0], [1, 1, 1, 1], [0.33, 0.33, 0.33, 0], [0.59, 0.64, 0, 0, 0, 0, 4]];
} else {
_intensity = linearConversion [0, 1, _intensity, 0, 0.008, true];
_initialAdjust = [_intensity, _intensity, 0.3, 0.39];
_delayedAdjust = [ 0, 0, 0.3, 0.39];
switch (GVAR(painEffectType)) do {
case FX_PAIN_WHITE_FLASH: {
_intensity = linearConversion [0, 1, _intensity, 0, 0.6, true];
_initialAdjust = [1, 1, 0, [1, 1, 1, _intensity ], [1, 1, 1, 1], [0.33, 0.33, 0.33, 0], [0.55, 0.5, 0, 0, 0, 0, 4]];
_delayedAdjust = [1, 1, 0, [1, 1, 1, _intensity * 0.3], [1, 1, 1, 1], [0.33, 0.33, 0.33, 0], [0.55, 0.5, 0, 0, 0, 0, 4]];
};
case FX_PAIN_PULSATING_BLUR: {
_intensity = linearConversion [0, 1, _intensity, 0, 0.008, true];
_initialAdjust = [_intensity , _intensity , 0.15, 0.15];
_delayedAdjust = [_intensity * 0.2, _intensity * 0.2, 0.25, 0.25];
};
case FX_PAIN_CHROMATIC_ABERRATION: {
_intensity = linearConversion [0, 1, _intensity, 0, 0.06, true];
_initialAdjust = [_intensity , _intensity , true];
_delayedAdjust = [_intensity * 0.15, _intensity * 0.15, true];
};
};
GVAR(ppPain) ppEffectAdjust _initialAdjust;

View File

@ -5,7 +5,7 @@
* Note: Heart beat sounds run in a different PFH - see fnc_effectHeartBeat.
*
* Arguments:
* None
* 0: Manual, instant update (optional, default false) <BOOL>
*
* Return Value:
* None
@ -15,6 +15,7 @@
*
* Public: No
*/
params [["_manualUpdate", false]];
if (EGVAR(common,OldIsCamera) || {!alive ACE_player}) exitWith {
[false, 0] call FUNC(effectUnconscious);
@ -44,10 +45,7 @@ if ((!GVAR(heartBeatEffectRunning)) && {_heartRate != 0} && {(_heartRate > 160)
true, linearConversion [BLOOD_VOLUME_CLASS_2_HEMORRHAGE, BLOOD_VOLUME_CLASS_4_HEMORRHAGE, _bloodVolume, 0, 1, true]
] call FUNC(effectBloodVolume);
if (!_unconscious) then {
[true, _pain] call FUNC(effectPain);
};
[true, _bleedingStrength] call FUNC(effectBleeding);
[!_unconscious, _pain] call FUNC(effectPain);
[!_unconscious, _bleedingStrength, _manualUpdate] call FUNC(effectBleeding);
END_COUNTER(handleEffects);

View File

@ -35,27 +35,45 @@ if (!isNil QGVAR(ppPain)) then {
TRACE_1("delete pain",GVAR(ppPain));
ppEffectDestroy GVAR(ppPain)
};
if (GVAR(painEffectType) == 0) then {
GVAR(ppPain) = [
"ColorCorrections",
13502,
[1, 1, 0, [1, 1, 1, 0], [1, 1, 1, 1], [0.33, 0.33, 0.33, 0], [0.59, 0.64, 0, 0, 0, 0, 4]]
] call _fnc_createEffect;
} else {
GVAR(ppPain) = [
"RadialBlur", // "Will not do anything if RADIAL BLUR is disabled in Video Options."
13502,
[0, 0, 0.3, 0.39]
switch (GVAR(painEffectType)) do {
case FX_PAIN_WHITE_FLASH: {
GVAR(ppPain) = [
"ColorCorrections",
13502,
[1, 1, 0, [1, 1, 1, 0], [1, 1, 1, 1], [0.33, 0.33, 0.33, 0], [0.55, 0.5, 0, 0, 0, 0, 4]]
] call _fnc_createEffect;
};
case FX_PAIN_PULSATING_BLUR: {
GVAR(ppPain) = [
"RadialBlur", // "Will not do anything if RADIAL BLUR is disabled in Video Options."
13502,
[0, 0, 0.25, 0.25]
] call _fnc_createEffect;
};
case FX_PAIN_CHROMATIC_ABERRATION: {
GVAR(ppPain) = [
"ChromAberration",
13502,
[0, 0, false]
] call _fnc_createEffect;
};
};
// Base blur on high pain
if (isNil QGVAR(ppPainBlur)) then {
GVAR(ppPainBlur) = [
"DynamicBlur",
813, // 135xx does not work
[0]
] call _fnc_createEffect;
};
TRACE_1("created pain",GVAR(ppPain));
TRACE_1("created pain",GVAR(ppPain));
if (_justPain) exitWith {};
// - Unconscious --------------------------------------------------------------
GVAR(ppUnconsciousBlur) = [
"DynamicBlur",
813, // 135xx does not work
814, // 135xx does not work
[0]
] call _fnc_createEffect;
@ -82,6 +100,6 @@ GVAR(ppIncapacitationGlare) = [
GVAR(ppIncapacitationBlur) = [
"DynamicBlur",
814, // 135xx does not work
815, // 135xx does not work
[0]
] call _fnc_createEffect;

View File

@ -26,60 +26,43 @@ params [["_unit", objNull, [objNull]], ["_type", "hit", [""]], ["_severity", 0,
if (!local _unit) exitWith {
ERROR("Unit not local or null");
};
if !(_unit call EFUNC(common,isAwake)) exitWith {};
private _timeOut = [TIME_OUT_HIT, TIME_OUT_MOAN] select (_type == "moan");
// Handle timeout
private _timeOut = [TIME_OUT_HIT, TIME_OUT_MOAN] select (_type == "moan");
if (_unit getVariable [QGVAR(soundTimeout) + _type, -1] > CBA_missionTime) exitWith {};
_unit setVariable [QGVAR(soundTimeout) + _type, CBA_missionTime + _timeOut];
// Get sounds
private _soundsNamespace = NAMESPACE_NULL;
switch (toLower _type) do {
case ("hit"): {
_soundsNamespace = GVAR(HitScreamNamespace);
};
case ("moan"): {
_soundsNamespace = GVAR(InjuredMoanNamespace);
};
};
// Get units speaker
private _speaker = speaker _unit;
if (_speaker == "ACE_NoVoice") then {
_speaker = _unit getVariable "ace_originalSpeaker";
};
private _sounds = _soundsNamespace getVariable _speaker;
if (isNil "_sounds") then {
_sounds = _soundsNamespace getVariable (_soundsNamespace getVariable "#default");
// Fallback if speaker has no associated scream/moan sound
if (isNull (configFile >> "CfgSounds" >> format ["ACE_moan_%1_low_1", _speaker])) then {
_speaker = "Male08ENG";
};
if (isNil "_sounds") exitWith {
ERROR("No sounds for speaker and no default found");
// Select actual sound
private _variation = ["low", "mid", "high"] select _severity;
private _distance = if (_type == "hit") then {
[50, 60, 70] select _severity;
} else {
[10, 15, 20] select _severity;
};
// Get correct sound of the speaker
_sounds = _sounds param [_severity, []];
(selectRandom _sounds) params ["_sound", ["_volume", 1], ["_frequency", 1], ["_distance", 80]];
if (isNil "_sound") exitWith {
ERROR("No sound for this speaker");
private _cfgSounds = configFile >> "CfgSounds";
private _targetClass = format ["ACE_%1_%2_%3_", _type, _speaker, _variation];
private _index = 1;
private _sounds = [];
while {isClass (_cfgSounds >> (_targetClass + str _index))} do {
_sounds pushBack (_cfgSounds >> (_targetClass + str _index));
_index = _index + 1;
};
private _sound = configName selectRandom _sounds;
if (isNil "_sound") exitWith { WARNING_1("no sounds for target [%1]",_targetClass); };
// Delete leading slash.
if (_sound select [0, 1] == "\") then {
_sound = _sound select [1];
};
// Default file extension.
if (_sound find "." == -1) then {
_sound = _sound + ".wss";
};
playSound3D [_sound, objNull, false, position _unit, _volume, _frequency, _distance];
// Limit network traffic by only sending the event to players who can potentially hear it
private _targets = _unit nearEntities ["CAManBase", _distance];
[QGVAR(forceSay3D), [_unit, _sound, _distance], _targets] call CBA_fnc_targetEvent;

View File

@ -3,7 +3,11 @@
"LIST",
[LSTRING(PainEffectType_DisplayName), LSTRING(PainEffectType_Description)],
[ELSTRING(medical,Category), LSTRING(SubCategory)],
[[0, 1], [LSTRING(PainEffectType_WhiteFlashing), LSTRING(PainEffectType_PulsingBlur)], 0],
[
[FX_PAIN_WHITE_FLASH, FX_PAIN_PULSATING_BLUR, FX_PAIN_CHROMATIC_ABERRATION, FX_PAIN_ONLY_BASE],
[LSTRING(painEffectType_whiteFlashing), LSTRING(painEffectType_pulsingBlur), LSTRING(painEffectType_chromAberration), LSTRING(painEffectType_onlyBase)],
0
],
false,
{
if (isNil QGVAR(ppPain)) exitWith {

View File

@ -37,3 +37,8 @@
#define SND_FRACTURE (selectRandom ["ACE_fracture_1", "ACE_fracture_2", "ACE_fracture_3", "ACE_fracture_4"])
#define VOL_UNCONSCIOUS 0.25
#define FX_PAIN_WHITE_FLASH 0
#define FX_PAIN_PULSATING_BLUR 1
#define FX_PAIN_CHROMATIC_ABERRATION 2
#define FX_PAIN_ONLY_BASE 3

View File

@ -46,6 +46,25 @@
<French>Pulsations floues</French>
<Portuguese>Borrão Pulsante</Portuguese>
</Key>
<Key ID="STR_ACE_Medical_Feedback_PainEffectType_ChromAberration">
<English>Chromatic Aberration</English>
<German>Chromatische Aberration</German>
<Polish>Aberracja chromatyczna</Polish>
<Russian>Хроматическая аберрация</Russian>
<Italian>Aberrazione cromatica</Italian>
<Spanish>Aberración cromática</Spanish>
<French>Aberration chromatique</French>
<Hungarian>Kromatikus aberráció</Hungarian>
<Czech>Chromatická aberace</Czech>
<Portuguese>Aberração cromática</Portuguese>
<Japanese>色の収差</Japanese>
<Korean>색수차</Korean>
<Chinesesimp>色差</Chinesesimp>
<Chinese>色差</Chinese>
</Key>
<Key ID="STR_ACE_Medical_Feedback_PainEffectType_OnlyBase">
<English>Only high pain effect</English>
</Key>
<Container name="Settings">
<Key ID="STR_ACE_Medical_feedback_enableScreams_DisplayName">
<English>Enable Screams</English>