From 46015ec4a103a625ff321b7393f9ee6e74161d08 Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Wed, 1 Nov 2017 17:42:04 +0100 Subject: [PATCH] Save base class for weapons when saving loadouts --- .../functions/fnc_buttonLoadoutsSave.sqf | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf index f8850d6174..29b6aa1db3 100644 --- a/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf +++ b/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf @@ -25,6 +25,49 @@ private _sameNameLoadoutsList = _data select {_x select 0 == _editBoxContent}; switch (GVAR(currentLoadoutsTab)) do { case IDC_buttonMyLoadouts:{ + for "_dataIndex" from 0 to 10 do { + switch (_dataIndex) do { + + case 0; + case 1; + case 2; + case 8: { + + private _weapon = (_loadout select _dataIndex) select 0; + if (_weapon != "") then { + + private _baseWeapon = _weapon call BIS_fnc_baseWeapon; + if (_weapon != _baseWeapon) then { + (_loadout select _dataIndex) set [0, _baseWeapon]; + }; + }; + }; + + case 3; + case 4; + case 5: { + private _containerContents = (_loadout select _dataIndex) select 1; + + if (count _containerContents > 0) then { + + { + if (count _x == 2 && {!((_x select 0) isEqualType "")}) then { + + private _weapon = (_x select 0) select 0; + if (_weapon != "") then { + + private _baseWeapon = _weapon call BIS_fnc_baseWeapon; + if (_weapon != _baseWeapon) then { + (_x select 0)set [0, _baseWeapon]; + }; + }; + }; + } foreach _containerContents; + }; + }; + }; + }; + if (count _sameNameLoadoutsList == 0) then { _data pushBack [_editBoxContent, _loadout];