ACE3/addons/disarming/functions/fnc_canBeDisarmed.sqf
Fabio Schick b4c72d8255
Captives - Allow disarming and blindfolding captives in vehicles (#9463)
* Can disarm captives in vehicles

* Can blindfold captives in vehicles

* Fix dropping goggles/blindfold into large vehicles

* Apply suggestions from code review

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2023-10-09 14:58:49 -03:00

35 lines
1.1 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: PabstMirror
*
* Checks the conditions for being able to disarm a unit
*
* Arguments:
* 0: Target <OBJECT>
*
* Return Value:
* Can Be Disarmed <BOOL>
*
* Example:
* [cursorTarget] call ace_disarming_fnc_canBeDisarmed
*
* Public: No
*/
params ["_target"];
//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
private _animationStateCfgMoves = getText (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState _target) >> "actions");
if (_animationStateCfgMoves == "") exitWith { false };
private _putDownAnim = getText (configFile >> "CfgMovesBasic" >> "Actions" >> _animationStateCfgMoves >> "PutDown");
if (_putDownAnim != "") exitWith { false };
(alive _target) &&
{(abs (speed _target)) < 1} &&
{(_target getVariable ["ACE_isUnconscious", false]) ||
{_target getVariable [QEGVAR(captives,isHandcuffed), false]} ||
{_target getVariable [QEGVAR(captives,isSurrendering), false]}}