mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
|
/*
|
||
|
Name: AGM_Drag_fnc_releaseObject
|
||
|
|
||
|
Author(s):
|
||
|
L-H
|
||
|
|
||
|
Description:
|
||
|
Releases dragged weapon from passed unit.
|
||
|
|
||
|
Parameters:
|
||
|
OBJECT - Unit
|
||
|
|
||
|
Returns:
|
||
|
Nothing
|
||
|
|
||
|
Example:
|
||
|
player call AGM_Drag_fnc_releaseObject;
|
||
|
*/
|
||
|
private ["_draggedObject", "_position"];
|
||
|
_this removeWeapon "AGM_FakePrimaryWeapon";
|
||
|
_draggedObject = _this getVariable ["AGM_carriedItem", objNull];
|
||
|
if (_this == (vehicle _this)) then { // if the unit is the vehicle of the passed unit (avoids bugs with players entering vehicles while dragging
|
||
|
_this playAction "released";
|
||
|
};
|
||
|
if (isNull _draggedObject) exitWith {}; // If there is no dragged object exit now.
|
||
|
|
||
|
[objNull, _draggedObject, true] call AGM_Core_fnc_claim;
|
||
|
|
||
|
_this setVariable ["AGM_isDragging", false];
|
||
|
_this setVariable ["AGM_carriedItem", objNull, true];
|
||
|
|
||
|
detach _draggedObject;
|
||
|
[_this, "AGM_Logistics", false] call AGM_Core_fnc_setForceWalkStatus;
|
||
|
_this removeAction (_this getVariable ["AGM_Drag_ReleaseActionID", -1]);
|
||
|
_draggedObject setDamage (damage _draggedObject);
|
||
|
|
||
|
_position = getPosATL _draggedObject;
|
||
|
if (_position select 2 < 0) then {
|
||
|
_position set [2, 0];
|
||
|
_draggedObject setPosATL _position;
|
||
|
};
|
||
|
[_draggedObject, "{_this setVectorUp (surfaceNormal getPosASL _this)}", _draggedObject] call AGM_Core_fnc_execRemoteFnc;
|