Skip to content

Commit

Permalink
Merge unstable 2.2.1 changes into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Spoffy authored Feb 5, 2020
2 parents 7cf3c81 + a92f1e5 commit 5acf87b
Show file tree
Hide file tree
Showing 122 changed files with 46,329 additions and 56,447 deletions.
8 changes: 5 additions & 3 deletions A3-Antistasi/JeroenArsenal/JNA/fn_arsenal_init.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,11 @@ IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT 23
IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC 24
IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL 26
*/
//jna_minItemMember = [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];
jna_minItemMember = [24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,memberOnlyMagLimit,24,24,24,24,memberOnlyMagLimit];

jna_minItemMember = [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];
//jna_minItemMember = [24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,memberOnlyMagLimit,24,24,24,24,memberOnlyMagLimit];
jna_minItemMember = jna_minItemMember apply { minWeaps };
jna_minItemMember set [IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG, memberOnlyMagLimit];
jna_minItemMember set [IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL, memberOnlyMagLimit];
//preload the ammobox so you dont need to wait the first time
["Preload"] call jn_fnc_arsenal;

Expand Down
40 changes: 28 additions & 12 deletions A3-Antistasi/JeroenArsenal/JNA/fn_arsenal_loadInventory.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -154,16 +154,23 @@ removebackpack player;
_isMember = [player] call A3A_fnc_isMember;
_availableItems = [jna_dataList, _arrayPlaced] call _addArrays;
_itemCounts =+ _availableItems;
// reduce available items by guest limits for non-members
{
_index = _foreachindex;
_subArray = _x;
_isMagArray = (_index == IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG) || (_index == IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL);
{
_item = _x select 0;
_amount = (_x select 1);
if (_amount != -1) then {
_amount = [(_x select 1) - (jna_minItemMember select _index),(_x select 1)] select _isMember;
if (_amount != -1 && !_isMember) then {
if !(_isMagArray) then { _amount = _amount - minWeaps }
else {
// Magazines are counted in bullets
_ammoCount = getNumber (configfile >> "CfgMagazines" >> _item >> "count");
_amount = _amount - memberOnlyMagLimit * _ammoCount;
};
_subArray set [_foreachindex, [_item,_amount]];
};
_subArray set [_foreachindex, [_item,_amount]];
} forEach _subArray;
_availableItems set [_index, _subArray];
} forEach _availableItems;
Expand Down Expand Up @@ -238,7 +245,7 @@ _weapons = [_inventory select 6,_inventory select 7,_inventory select 8];
if (_amountMagAvailable > 0) then {
if (_amountMagAvailable < _amountMag) then {
_arrayMissing = [_arrayMissing,[_itemMag,_amountMag]] call jn_fnc_arsenal_addToArray;
_amountMag = _amountMagAvailable;
_amountMag = _amountMagAvailable max 0;
};
[_arrayTaken,_indexMag,_itemMag,_amountMag] call _addToArray;
[_availableItems,_indexMag,_itemMag,_amountMag] call _removeFromArray;
Expand Down Expand Up @@ -283,7 +290,7 @@ _weapons = [_inventory select 6,_inventory select 7,_inventory select 8];
};
};

if ((_indexAcc != -1) AND {[_availableItems select _indexAcc, _itemAcc] call jn_fnc_arsenal_itemCount != 0}) then {
if ((_indexAcc != -1) AND {[_availableItems select _indexAcc, _itemAcc] call jn_fnc_arsenal_itemCount > 0}) then {
switch _index do{
case IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON:{player addPrimaryWeaponItem _itemAcc;};
case IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON:{player addSecondaryWeaponItem _itemAcc;};
Expand Down Expand Up @@ -353,10 +360,21 @@ private _addContainerFuncs = [
};
} forEach _containers;

// because addItemCargo doesn't enable grenades
_addItemToContainer = {
params ["_containerIndex", "_item"];
switch (_containerIndex) do {
case 0: { player addItemToUniform _item };
case 1: { player addItemToVest _item };
default { player addItemToBackpack _item };
};
};

//add items to containers
{
_container = call (_x select 0);
_items = _x select 1;
_containerIndex = _forEachIndex;

{
_item = _x;
Expand All @@ -374,24 +392,22 @@ private _addContainerFuncs = [
};

if(_amountAvailable < _amount) then {
_amount = _amountAvailable;
_arrayMissing = [_arrayMissing,[_item,(_amount - _amountAvailable)]] call jn_fnc_arsenal_addToArray;
_amount = _amountAvailable max 0;
};
[_arrayTaken,_index,_item,_amount] call _addToArray;
[_availableItems,_index,_item,_amount] call _removeFromArray;
if (_amount>0) then {//prevent empty mags
_container addMagazineAmmoCargo [_item,1, _amount];
};
_container addMagazineAmmoCargo [_item,1, _amount];
};
} else {
_amount = 1;
call {
if ([_itemCounts select _index, _item] call jn_fnc_arsenal_itemCount == -1) exitWith {
_container addItemCargo [_item, 1];
[_containerIndex, _item] call _addItemToContainer;
};

if (_amountAvailable > _amount) then {
_container addItemCargo [_item,_amount];
if (_amountAvailable >= _amount) then {
[_containerIndex, _item] call _addItemToContainer;
[_arrayTaken,_index,_item,_amount] call _addToArray;
[_availableItems,_index,_item,_amount] call _removeFromArray;
} else {
Expand Down
2 changes: 1 addition & 1 deletion A3-Antistasi/JeroenArsenal/JNL/fn_logistics_addAction.sqf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
params["_object"];

//add action to all clients
[_object] remoteExec ["jn_fnc_logistics_addActionLoad",[0, -2] select isDedicated,_object];
[_object] remoteExec ["jn_fnc_logistics_addActionLoad",0,_object];
Loading

0 comments on commit 5acf87b

Please sign in to comment.