From 2c75f250c14da5694970ec73cdc9fd7fbfe3cb69 Mon Sep 17 00:00:00 2001 From: BrettMayson Date: Mon, 12 Feb 2024 04:55:16 -0600 Subject: [PATCH 1/3] flashbang events --- addons/grenades/functions/fnc_flashbangExplosionEH.sqf | 3 +++ docs/wiki/framework/grenades-framework.md | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index bba3cffd4dd..b1d4a0fcc2f 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -63,6 +63,7 @@ _affected = _affected - [ACE_player]; if (_flashReactionDebounce < CBA_missionTime) then { // Not used interally but could be useful for other mods _unit setVariable [QGVAR(flashStrength), _strength, true]; + [QGVAR(flashbangedAI)[_unit, _strength, _grenadePosASL]] call CBA_fnc_localEvent; { _unit setSkill [_x, (_unit skill _x) / 50]; } forEach SUBSKILLS; @@ -162,5 +163,7 @@ if (hasInterface && {!isNull ACE_player} && {alive ACE_player}) then { private _maxFlinch = linearConversion [0.2, 1, _strength, 0, 95, true]; private _flinch = (_minFlinch + random (_maxFlinch - _minFlinch)) * selectRandom [-1, 1]; ACE_player setDir (getDir ACE_player + _flinch); + + [QVAR(flashbangedPlayer), _strength] call CBA_fnc_localEvent; }; true diff --git a/docs/wiki/framework/grenades-framework.md b/docs/wiki/framework/grenades-framework.md index a0b0ceeea7d..b8f61872ffa 100644 --- a/docs/wiki/framework/grenades-framework.md +++ b/docs/wiki/framework/grenades-framework.md @@ -68,3 +68,13 @@ The average amount of time in seconds, after `explosionTime` has passed, between ### 2.4 ace_grenades_flashbangIntervalMaxDeviation The amount of randomness in the fuse time. + +## 3. Events + +### 3.1 Listenable + +Event Name | Description | Passed Parameter(s) | Locality +---------- | ----------- | ------------------- | -------- +`ace_flashbangExploded` | A flashbang exploded | `[_grenadePosASL]` | Global +`ace_grenades_flashbangedAI` | A local AI was affected by a flashbang | `[_unit, _strength, _grenadePosASL]` | Local +`ace_grenades_flashbangedPlayer` | The local player was affected by a flashbang | `[_strength, _grenadePosASL]` | Local From 96778dc962df8cec0c35280ca72c591386e75c25 Mon Sep 17 00:00:00 2001 From: BrettMayson Date: Mon, 12 Feb 2024 04:56:10 -0600 Subject: [PATCH 2/3] fix event --- addons/grenades/functions/fnc_flashbangExplosionEH.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index b1d4a0fcc2f..b558d4e0d83 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -63,7 +63,7 @@ _affected = _affected - [ACE_player]; if (_flashReactionDebounce < CBA_missionTime) then { // Not used interally but could be useful for other mods _unit setVariable [QGVAR(flashStrength), _strength, true]; - [QGVAR(flashbangedAI)[_unit, _strength, _grenadePosASL]] call CBA_fnc_localEvent; + [QGVAR(flashbangedAI), [_unit, _strength, _grenadePosASL]] call CBA_fnc_localEvent; { _unit setSkill [_x, (_unit skill _x) / 50]; } forEach SUBSKILLS; @@ -164,6 +164,6 @@ if (hasInterface && {!isNull ACE_player} && {alive ACE_player}) then { private _flinch = (_minFlinch + random (_maxFlinch - _minFlinch)) * selectRandom [-1, 1]; ACE_player setDir (getDir ACE_player + _flinch); - [QVAR(flashbangedPlayer), _strength] call CBA_fnc_localEvent; + [QVAR(flashbangedPlayer), [_strength, _grenadePosASL]] call CBA_fnc_localEvent; }; true From 7b8fddde584f3c1596e25fa020f47fd675a25c5a Mon Sep 17 00:00:00 2001 From: BrettMayson Date: Mon, 12 Feb 2024 05:03:21 -0600 Subject: [PATCH 3/3] fix event again --- addons/grenades/functions/fnc_flashbangExplosionEH.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index b558d4e0d83..36b84f942f2 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -164,6 +164,6 @@ if (hasInterface && {!isNull ACE_player} && {alive ACE_player}) then { private _flinch = (_minFlinch + random (_maxFlinch - _minFlinch)) * selectRandom [-1, 1]; ACE_player setDir (getDir ACE_player + _flinch); - [QVAR(flashbangedPlayer), [_strength, _grenadePosASL]] call CBA_fnc_localEvent; + [QGVAR(flashbangedPlayer), [_strength, _grenadePosASL]] call CBA_fnc_localEvent; }; true