From fd139abb424522ef1feff37c48b38799d5c89d48 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 11 Apr 2017 16:59:32 +0200 Subject: [PATCH] Use setShotParents in Advanced Throwing (#5052) * Use setShotParents in Advanced Throwing - close #5034 * Execute setShotParents on server (server-only command) --- addons/advanced_throwing/functions/fnc_exitThrowMode.sqf | 3 +++ addons/advanced_throwing/functions/fnc_prime.sqf | 3 +++ addons/common/XEH_postInit.sqf | 1 + 3 files changed, 7 insertions(+) diff --git a/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf b/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf index c508d0a803..359bd946a5 100644 --- a/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf +++ b/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf @@ -32,6 +32,9 @@ if !(_unit getVariable [QGVAR(primed), false]) then { _unit setVariable [QGVAR(lastThrownTime), CBA_missionTime]; // Fix floating for throwables without proper physics (eg. IR Grenade) _activeThrowable setVelocity [0, 0, -0.1]; + + // Set thrower + [QEGVAR(common,setShotParents), [_activeThrowable, _unit, (getShotParents _activeThrowable) select 1]] call CBA_fnc_serverEvent; }; // Restore muzzle ammo (setAmmo 1 has no impact if no appliccable throwable in inventory) diff --git a/addons/advanced_throwing/functions/fnc_prime.sqf b/addons/advanced_throwing/functions/fnc_prime.sqf index 727ace4e23..d52bee67f2 100644 --- a/addons/advanced_throwing/functions/fnc_prime.sqf +++ b/addons/advanced_throwing/functions/fnc_prime.sqf @@ -54,6 +54,9 @@ deleteVehicle _activeThrowableOld; _activeThrowable // projectile ]] call CBA_fnc_globalEvent; +// Set prime instigator +[QEGVAR(common,setShotParents), [_activeThrowable, _unit, _unit]] call CBA_fnc_serverEvent; + if (_showHint) then { // Show primed hint private _displayNameShort = getText (configFile >> "CfgMagazines" >> _throwableMag >> "displayNameShort"); diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 8200493810..21c070c618 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -133,6 +133,7 @@ if (isServer) then { if (isServer) then { [QGVAR(hideObjectGlobal), {(_this select 0) hideObjectGlobal (_this select 1)}] call CBA_fnc_addEventHandler; [QGVAR(enableSimulationGlobal), {(_this select 0) enableSimulationGlobal (_this select 1)}] call CBA_fnc_addEventHandler; + [QGVAR(setShotParents), {(_this select 0) setShotParents [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; ["ace_setOwner", {(_this select 0) setOwner (_this select 1)}] call CBA_fnc_addEventHandler; [QGVAR(serverLog), FUNC(serverLog)] call CBA_fnc_addEventHandler; };