diff --git a/addons/refuel/CfgVehicles.hpp b/addons/refuel/CfgVehicles.hpp index b951d8ef13..f84253f23b 100644 --- a/addons/refuel/CfgVehicles.hpp +++ b/addons/refuel/CfgVehicles.hpp @@ -25,10 +25,10 @@ exceptions[] = {"isNotInside"}; \ icon = PATHTOF(ui\icon_refuel_interact.paa); \ }; \ - class GVAR(Connect) { \ + class GVAR(Return) { \ displayName = CSTRING(Return); \ condition = QUOTE([ARR_1(_player)] call FUNC(canConnectNozzle)); \ - statement = QUOTE([ARR_2(_player,_target)] call DFUNC(connectNozzle)); \ + statement = QUOTE([ARR_2(_player,_target)] call DFUNC(returnNozzle)); \ exceptions[] = {"isNotInside"}; \ icon = PATHTOF(ui\icon_refuel_interact.paa); \ }; \ diff --git a/addons/refuel/XEH_preInit.sqf b/addons/refuel/XEH_preInit.sqf index 7360046646..dea296b6e1 100644 --- a/addons/refuel/XEH_preInit.sqf +++ b/addons/refuel/XEH_preInit.sqf @@ -13,6 +13,7 @@ PREP(connectNozzleAction); PREP(disconnect); PREP(getFuel); PREP(moduleRefuelSettings); +PREP(returnNozzle); PREP(setFuel); PREP(takeNozzle); PREP(turnOff); diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index 8a0f9f94ee..4fa30943a1 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -81,14 +81,6 @@ _weaponSelect = _unit getVariable QGVAR(selectedWeaponOnRefuel); _unit selectWeapon _weaponSelect; _unit setVariable [QGVAR(selectedWeaponOnRefuel), nil]; -_source = _nozzle getVariable QGVAR(source); -if (_source == _target) exitWith { - _source setVariable [QGVAR(isConnected), false, true]; - ropeDestroy (_nozzle getVariable QGVAR(rope)); - deleteVehicle _nozzle; - _unit setVariable [QGVAR(isRefueling), false]; -}; - _nozzle attachTo [_target, _endPosTestOffset]; _nozzle setVariable [QGVAR(sink), _target, true]; _nozzle setVariable [QGVAR(fueling), 1, true]; @@ -96,4 +88,4 @@ _target setVariable [QGVAR(nozzle), _nozzle, true]; [_unit, _target, _nozzle] call FUNC(refuel); -true \ No newline at end of file +true diff --git a/addons/refuel/functions/fnc_returnNozzle.sqf b/addons/refuel/functions/fnc_returnNozzle.sqf new file mode 100644 index 0000000000..0531fe738c --- /dev/null +++ b/addons/refuel/functions/fnc_returnNozzle.sqf @@ -0,0 +1,33 @@ +/* + * Author: GitHawk et.al., Jonpas + * Returns the nozzle back to source vehicle. + * + * Arguments: + * 0: Player + * 1: Target + * + * Return Value: + * Returned Nozzle + * + * Example: + * [player] call ace_refuel_fnc_returnNozzle + * + * Public: No + */ +#include "script_component.hpp" + +private ["_nozzle"]; + +params ["_unit", "_target"]; + +_source = _nozzle getVariable QGVAR(source); +_nozzle = _unit getVariable QGVAR(nozzle); + +if (_source != _target || {isNil "_nozzle"}) exitWith {false}; + +_source setVariable [QGVAR(isConnected), false, true]; +ropeDestroy (_nozzle getVariable QGVAR(rope)); +deleteVehicle _nozzle; +_unit setVariable [QGVAR(isRefueling), false]; + +true