diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index 3d5a620ed2..3ec6a21de6 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" EXPLODE_2_PVT(_this,_unit,_target); -private["_actionToPlay"]; +private["_actionToPlay", "_defuseTime", "_isEOD"]; _target = attachedTo (_target); @@ -43,23 +43,23 @@ if (ACE_player != _unit) then { if (isPlayer _unit) then { [[_unit, _target], QFUNC(startDefuse), _unit] call EFUNC(common,execRemoteFnc); } else { - [_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn { - (_this select 0) playActionNow _actionToPlay; - (_this select 0) disableAI "MOVE"; - (_this select 0) disableAI "TARGET"; - [{ - [(_this select 0), (_this select 1)] call FUNC(defuseExplosive); - (_this select 0) enableAI "MOVE"; - (_this select 0) enableAI "TARGET"; - }, _this, (_this select 2), 0] call EFUNC(common,waitAndExecute); - }; + //[_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn { + _unit playActionNow _actionToPlay; + _unit disableAI "MOVE"; + _unit disableAI "TARGET"; + _defuseTime = [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime; + [{ + PARAMS_2(_unit,_target); + [_unit, _target] call FUNC(defuseExplosive); + _unit enableAI "MOVE"; + _unit enableAI "TARGET"; + }, [_unit, _target], _defuseTime, 0] call EFUNC(common,waitAndExecute); }; } else { _unit playActionNow _actionToPlay; - private ["_defuseSeconds", "_isEOD"]; _isEOD = [_unit] call EFUNC(Common,isEOD); - _defuseSeconds = [_isEOD, _target] call _fnc_DefuseTime; + _defuseTime = [_isEOD, _target] call _fnc_DefuseTime; if (_isEOD || {!GVAR(RequireSpecialist)}) then { - [_defuseSeconds, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar); + [_defuseTime, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar); }; };