ACE3/addons/arsenal/functions/fnc_getVirtualItems.sqf
2023-10-18 14:51:00 -04:00

40 lines
1.1 KiB
Plaintext

#include "..\script_component.hpp"
#include "..\defines.hpp"
/*
* Author: johnb43, Grim
* Gets list of virtual items available to the object.
*
* Arguments:
* 0: Target <OBJECT>
*
* Return Value:
* Virtual Items <HASHMAP>
*
* Example:
* cursorObject call ace_arsenal_fnc_getVirtualItems
*
* Public: Yes
*/
params [["_object", objNull, [objNull]]];
private _virtualItems = _object getVariable QGVAR(virtualItems);
if (isNil "_virtualItems") exitWith {createHashMap};
private _virtualItemsFlat = +_virtualItems;
private _weapons = _virtualItemsFlat deleteAt IDX_VIRT_WEAPONS;
private _attachments = _virtualItemsFlat deleteAt IDX_VIRT_ATTACHMENTS;
for "_index" from IDX_VIRT_ITEMS_ALL to IDX_VIRT_MISC_ITEMS do {
_virtualItemsFlat merge [_virtualItemsFlat deleteAt _index, true];
};
for "_index" from IDX_VIRT_PRIMARY_WEAPONS to IDX_VIRT_HANDGUN_WEAPONS do {
_virtualItemsFlat merge [_weapons deleteAt _index, true];
};
for "_index" from IDX_VIRT_OPTICS_ATTACHMENTS to IDX_VIRT_BIPOD_ATTACHMENTS do {
_virtualItemsFlat merge [_attachments deleteAt _index, true];
};
_virtualItemsFlat // return