2023-09-12 18:58:10 +00:00
#include "..\script_component.hpp"
2015-08-13 17:33:55 +00:00
/*
* Author: GitHawk
* Check if a unit can take a fuel nozzle
*
* Arguments:
2015-08-20 20:10:26 +00:00
* 0: Unit <OBJECT>
2017-09-10 19:43:03 +00:00
* 1: Fuel Source or Nozzle <OBJECT>
2015-08-13 17:33:55 +00:00
*
* Return Value:
2015-08-14 01:18:54 +00:00
* Can connect <BOOL>
2015-08-13 17:33:55 +00:00
*
* Example:
2015-08-20 20:10:26 +00:00
* [player, nozzle] call ace_refuel_fnc_canTakeNozzle
2015-08-13 17:33:55 +00:00
*
2015-08-14 01:18:54 +00:00
* Public: No
2015-08-13 17:33:55 +00:00
*/
2017-09-10 19:43:03 +00:00
params [["_unit", objNull, [objNull]], ["_object", objNull, [objNull]]];
2015-08-13 17:33:55 +00:00
2015-08-18 21:18:32 +00:00
if (isNull _unit ||
{!(_unit isKindOf "CAManBase")} ||
{!local _unit} ||
2017-09-10 19:43:03 +00:00
{!alive _object} ||
2023-02-17 02:06:11 +00:00
{!isNull (_unit getVariable [QGVAR(nozzle), objNull])} || // Not already carrying a nozzle
{(_object getVariable [QGVAR(jerryCan), false]) && {!isNull (_object getVariable [QGVAR(nozzle), objNull])}} || // Prevent jerry cans from being picked up if they have a nozzle connected
2024-03-05 19:55:59 +00:00
{!([_unit, _object, [INTERACT_EXCEPTIONS]] call EFUNC(common,canInteractWith))} || // Not carried by someone else
2017-09-10 19:43:03 +00:00
{([_unit, _object] call EFUNC(interaction,getInteractionDistance)) > REFUEL_ACTION_DISTANCE}) exitWith {false};
2015-08-13 17:33:55 +00:00
2017-09-10 19:43:03 +00:00
!(_object getVariable [QGVAR(isConnected), false]) && {!(_unit getVariable [QGVAR(isRefueling), false])}