// Runs only on the machine where the hit unit is local _fnc_onHit = { params ["_unit", "_source", "_damage", "_instigator"]; ["rd501_stun_onHit", [_unit, _source], _instigator] call CBA_fnc_targetEvent; }; // Runs on the person who shot _fnc_stun = { params["_unit", "_source"]; private _mag = currentMagazine _source; private _ammo = (configFile >> "CfgMagazines" >> _mag >> "ammo") call BIS_fnc_getCfgData; private _stunDuration = (configFile >> "CfgAmmo" >> _ammo >> "RD501_stunDuration") call BIS_fnc_getCfgData; if (_stunDuration > 0.0) then { ["ace_captives_setSurrendered" ,[_unit, true], _unit] call CBA_fnc_targetEvent; [{ ["ace_captives_setSurrendered", [_this select 0, false], _this select 0] call CBA_fnc_targetEvent; }, [_unit], _stunDuration] call CBA_fnc_waitAndExecute; }; }; ["CAManBase", "Hit", _fnc_onHit] call CBA_fnc_addClassEventHandler; ["rd501_stun_onHit", _fnc_stun] call CBA_fnc_addEventHandler;