2018-09-17 19:19:29 +00:00
|
|
|
#include "script_component.hpp"
|
2015-02-11 01:55:53 +00:00
|
|
|
/*
|
|
|
|
* Author: PabstMirror
|
2015-08-09 03:18:26 +00:00
|
|
|
*
|
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:
|
2015-03-17 19:43:50 +00:00
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
|
2015-08-09 03:18:26 +00:00
|
|
|
params ["_target"];
|
|
|
|
|
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
|
2017-10-10 14:39:59 +00:00
|
|
|
private _animationStateCfgMoves = getText (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState _target) >> "actions");
|
2015-08-09 03:18:26 +00:00
|
|
|
if (_animationStateCfgMoves == "") exitWith { false };
|
2017-10-10 14:39:59 +00:00
|
|
|
private _putDownAnim = getText (configFile >> "CfgMovesBasic" >> "Actions" >> _animationStateCfgMoves >> "PutDown");
|
2015-08-09 03:18:26 +00:00
|
|
|
if (_putDownAnim != "") exitWith { false };
|
2015-03-17 19:43:50 +00:00
|
|
|
|
2015-02-11 01:55:53 +00:00
|
|
|
|
2015-02-27 21:23:46 +00:00
|
|
|
(alive _target) &&
|
2015-03-17 19:43:50 +00:00
|
|
|
{(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]}}
|