ACE3/addons/disarming/functions/fnc_canBeDisarmed.sqf

37 lines
1.1 KiB
Plaintext
Raw Normal View History

2015-02-11 01:55:53 +00:00
/*
* Author: PabstMirror
2015-02-27 21:23:46 +00:00
* Checks the conditions for being able to disarm a unit
2015-02-11 01:55:53 +00:00
*
* Arguments:
* 0: Target <OBJECT>
2015-02-11 01:55:53 +00:00
*
* Return Value:
2015-03-21 01:17:49 +00:00
* Can Be Disarmed <BOOL>
2015-02-11 01:55:53 +00:00
*
* Example:
2015-03-21 01:17:49 +00:00
* [cursorTarget] call ace_disarming_fnc_canBeDisarmed
2015-02-11 01:55:53 +00:00
*
* Public: No
*/
#include "script_component.hpp"
PARAMS_1(_target);
2015-04-16 17:36:12 +00:00
private ["_animationStateCfgMoves", "_putDownAnim"];
2015-03-21 01:17:49 +00:00
//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};
2015-02-11 01:55:53 +00:00
2015-02-27 21:23:46 +00:00
(alive _target) &&
{(abs (speed _target)) < 1} &&
{(vehicle _target) == _target} &&
2015-02-27 21:23:46 +00:00
{(_target getVariable ["ACE_isUnconscious", false]) ||
{_target getVariable [QEGVAR(captives,isHandcuffed), false]} ||
{_target getVariable [QEGVAR(captives,isSurrendering), false]}}