/* * Author: PabstMirror * Checks the conditions for being able to disarm a unit * * Arguments: * 0: Target * * Return Value: * Can Be Disarmed * * Example: * [cursorTarget] call ace_disarming_fnc_canBeDisarmed * * Public: No */ #include "script_component.hpp" PARAMS_1(_target); private ["_animationStateCfgMoves", "_putDownAnim"]; //Check animationState for putDown anim //This ensures the unit doesn't have to actualy do any animation to drop something //This should always be true for the 3 possible status effects that allow disarming _animationStateCfgMoves = getText (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState _target) >> "actions"); if (_animationStateCfgMoves == "") exitWith {false}; _putDownAnim = getText (configFile >> "CfgMovesBasic" >> "Actions" >> _animationStateCfgMoves >> "PutDown"); if (_putDownAnim != "") exitWith {false}; (alive _target) && {(abs (speed _target)) < 1} && {(vehicle _target) == _target} && {(_target getVariable ["ACE_isUnconscious", false]) || {_target getVariable [QEGVAR(captives,isHandcuffed), false]} || {_target getVariable [QEGVAR(captives,isSurrendering), false]}}