diff --git a/source/dzn_EJAM/functions/main/fnc_processMappingData.sqf b/source/dzn_EJAM/functions/main/fnc_processMappingData.sqf index ec5d926..a86223a 100644 --- a/source/dzn_EJAM/functions/main/fnc_processMappingData.sqf +++ b/source/dzn_EJAM/functions/main/fnc_processMappingData.sqf @@ -37,11 +37,11 @@ private _configVars = allVariables GVAR(ConfigData); [_gun] call ace_overheating_fnc_getWeaponData; }; - private _data = ace_overheating_cacheWeaponData getVariable _gun; + private _data = ace_overheating_cacheWeaponData get _gun; // Set ACE Overheating customized data _data set [2, _jamChance/100]; - ace_overheating_cacheWeaponData setVariable [_gun, _data]; + ace_overheating_cacheWeaponData set [_gun, _data]; // Set EJAM customized data for weapon GVAR(ConfigData) setVariable [_gun, _x select [1,6]]; diff --git a/source/dzn_EJAM/functions/main/fnc_setUnjammed.sqf b/source/dzn_EJAM/functions/main/fnc_setUnjammed.sqf index ef43967..787b87a 100644 --- a/source/dzn_EJAM/functions/main/fnc_setUnjammed.sqf +++ b/source/dzn_EJAM/functions/main/fnc_setUnjammed.sqf @@ -47,11 +47,12 @@ if !(missionNamespace getVariable ["ace_overheating_enabled",false]) then { // ACE Overheating enabled private _oldFailChance = ace_overheating_unJamFailChance; - private _family = _gun call FUNC(getClassFamily); - { - ace_overheating_unJamFailChance = 0; - [player, _x, true] call ace_overheating_fnc_clearJam; - } forEach _family; + private _primary = primaryWeapon player; + private _family = (_gun call FUNC(getClassFamily)) - [_primary]; + private _aceJammed = player getVariable ["ace_overheating_jammedWeapons", []]; + player setVariable ["ace_overheating_jammedWeapons", _aceJammed - _family]; + ace_overheating_unJamFailChance = 0; + [player, _primary, true] call ace_overheating_fnc_clearJam; ace_overheating_unJamFailChance = _oldFailChance; };