From a5c1c1fdcfadd357053222bfb5fb480159160c49 Mon Sep 17 00:00:00 2001 From: Dystopian Date: Sun, 29 Jul 2018 14:06:11 +0300 Subject: [PATCH] Fix facility is like vehicle --- .../functions/fnc_isInRepairFacility.sqf | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/addons/repair/functions/fnc_isInRepairFacility.sqf b/addons/repair/functions/fnc_isInRepairFacility.sqf index ffc7c26c26c..794f8995223 100644 --- a/addons/repair/functions/fnc_isInRepairFacility.sqf +++ b/addons/repair/functions/fnc_isInRepairFacility.sqf @@ -21,19 +21,22 @@ TRACE_1("params",_object); private _position = getPosASL _object; private _isInBuilding = false; -private _objects = (lineIntersectsWith [_object modelToWorldVisual [0, 0, (_position select 2)], _object modelToWorldVisual [0, 0, (_position select 2) +10], _object]); -{ - if (_x getVariable ["ACE_isRepairFacility", getNumber (configFile >> "CfgVehicles" >> typeOf _x >> QGVAR(canRepair))] > 0) exitWith { +private _checkObject = { + if ( + _x getVariable ["ACE_isRepairFacility", getNumber (configFile >> "CfgVehicles" >> typeOf _x >> QGVAR(canRepair))] > 0 + && {!(_x isKindOf "AllVehicles")} // check if it's not repair vehicle + && {alive _x} + ) exitWith { _isInBuilding = true; }; -} forEach _objects; - -if (!_isInBuilding) then { - _objects = position _object nearObjects 7.5; - { - if (_x getVariable ["ACE_isRepairFacility", getNumber (configFile >> "CfgVehicles" >> typeOf _x >> QGVAR(canRepair))] > 0) exitWith { - _isInBuilding = true; - }; - } forEach _objects; }; -_isInBuilding; + +private _objects = (lineIntersectsWith [_object modelToWorldVisual [0, 0, (_position select 2)], _object modelToWorldVisual [0, 0, (_position select 2) +10], _object]); +_checkObject forEach _objects; + +if (_isInBuilding) exitWith {true}; + +_objects = position _object nearObjects 7.5; +_checkObject forEach _objects; + +_isInBuilding