From fdaa5891f684a8add68a760bb0996c14305aa08f Mon Sep 17 00:00:00 2001 From: Dystopian Date: Mon, 10 Jul 2017 22:44:02 +0300 Subject: [PATCH] Fix adv. throw key handling when reloading (#5336) * Fix throw key handling when reloading * Consider UGL reload to ace_common_isReloading var * Fix if space, change private var assign * Shorten UGL check --- addons/advanced_throwing/XEH_postInit.sqf | 1 + addons/advanced_throwing/functions/fnc_canPrepare.sqf | 1 - addons/common/XEH_postInit.sqf | 4 +++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/advanced_throwing/XEH_postInit.sqf b/addons/advanced_throwing/XEH_postInit.sqf index 0f5cb6983e..96cb92801e 100644 --- a/addons/advanced_throwing/XEH_postInit.sqf +++ b/addons/advanced_throwing/XEH_postInit.sqf @@ -21,6 +21,7 @@ GVAR(ammoMagLookup) = call CBA_fnc_createNamespace; ["ACE3 Weapons", QGVAR(prepare), localize LSTRING(Prepare), { // Condition if (!([ACE_player] call FUNC(canPrepare))) exitWith {false}; + if (EGVAR(common,isReloading)) exitWith {true}; // Statement [ACE_player] call FUNC(prepare); diff --git a/addons/advanced_throwing/functions/fnc_canPrepare.sqf b/addons/advanced_throwing/functions/fnc_canPrepare.sqf index 2e9547fd35..9256993788 100644 --- a/addons/advanced_throwing/functions/fnc_canPrepare.sqf +++ b/addons/advanced_throwing/functions/fnc_canPrepare.sqf @@ -32,6 +32,5 @@ GVAR(enabled) && #endif {!(call EFUNC(common,isFeatureCameraActive))} && -{!EGVAR(common,isReloading)} && {[_unit, objNull, ["isNotInside", "isNotSitting"/*, "isNotOnLadder"*/]] call EFUNC(common,canInteractWith)} && // Ladder needs positioning fixes on throw {_unit call CBA_fnc_canUseWeapon} // Disable in non-FFV seats due to surface detection issues diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index ebfbd31ef4..51baec47f9 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -373,7 +373,9 @@ GVAR(isReloading) = false; private _weapon = currentWeapon ACE_player; if (_weapon != "") then { - private _gesture = getText (configfile >> "CfgWeapons" >> _weapon >> "reloadAction"); + private _muzzle = currentMuzzle ACE_player; + private _wpnConfig = configFile >> "CfgWeapons" >> _weapon; + private _gesture = getText ([_wpnConfig >> _muzzle, _wpnConfig] select (_weapon isEqualTo _muzzle) >> "reloadAction"); if (_gesture == "") exitWith {}; //Ignore weapons with no reload gesture (binoculars) private _isLauncher = _weapon isKindOf ["Launcher", configFile >> "CfgWeapons"]; private _config = ["CfgGesturesMale", "CfgMovesMaleSdr"] select _isLauncher;