/* * Author: Garth 'L-H' de Wet * Whether a unit can perform the defuse action * * Arguments: * 0: Unit * 0: Target (ACE_DefuseObject) * * Return Value: * Able to defuse * * Example: * if ([player] call ACE_Explosives_fnc_canDefuse) then {hint "Can Defuse";}; * * Public: Yes */ #include "script_component.hpp" params ["_unit", "_target"]; TRACE_2("params",_unit,_target); private _explosive = _target getVariable [QGVAR(Explosive), objNull]; if (isNull _explosive) exitWith { deleteVehicle _target; false }; if (vehicle _unit != _unit || {!("ACE_DefusalKit" in (items _unit))}) exitWith {false}; if (GVAR(RequireSpecialist) && {!([_unit] call EFUNC(Common,isEOD))}) exitWith {false}; //Handle the naval mines (which doens't get turned into items when defused): if ((_explosive isKindOf "UnderwaterMine_Range_Ammo") && {!mineActive _explosive}) exitWith {false}; true