/* * Author: commy2 * * Handle the Weapon Changed Event * * Arguments: * 0: Unit * 1: Weapon * * Return Value: * None * * Example: * [_unit, _currentWeapon] call ace_dragging_fnc_handlePlayerWeaponChanged; * * Public: No */ #include "script_component.hpp" params ["_unit", "_weapon"]; if (_unit getVariable [QGVAR(isDragging), false]) then { // drop dragged object when selecting a non-primary weapon if (_weapon != primaryWeapon _unit) then { private "_draggedObject"; _draggedObject = _unit getVariable [QGVAR(draggedObject), objNull]; [_unit, _draggedObject] call FUNC(dropObject); }; }; if (_unit getVariable [QGVAR(isCarrying), false]) then { private "_carriedObject"; _carriedObject = _unit getVariable [QGVAR(carriedObject), objNull]; if (_carriedObject isKindOf "CAManBase") then { if (_weapon != primaryWeapon _unit) then { [_unit, _carriedObject] call FUNC(dropObject_carry); }; } else { // drop carried object when selecting any weapon if (_weapon != "") then { [_unit, _carriedObject] call FUNC(dropObject_carry); }; }; };