mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
/*
|
|
* Author: PabstMirror
|
|
* Helper function to get all gear of a unit.
|
|
*
|
|
* Arguments:
|
|
* 0: Target <OBJECT>
|
|
*
|
|
* Return Value:
|
|
* Array of 2 arrays, classnames and count<ARRAY>
|
|
*
|
|
* Example:
|
|
* [["ace_bandage"],[2]] = [bob] call ace_disarming_fnc_getAllGearUnit
|
|
*
|
|
* Public: No
|
|
*/
|
|
#include "script_component.hpp"
|
|
|
|
PARAMS_1(_target);
|
|
|
|
private ["_allItems", "_classnamesCount", "_index", "_uniqueClassnames"];
|
|
|
|
_allItems = ((weapons _target) + (magazines _target) + (items _target) + (assignedItems _target));
|
|
|
|
if ((backpack _target) != "") then {
|
|
_allItems pushBack (backpack _target);
|
|
};
|
|
if ((vest _target) != "") then {
|
|
_allItems pushBack (vest _target);
|
|
};
|
|
if ((uniform _target) != "") then {
|
|
_allItems pushBack (uniform _target);
|
|
};
|
|
if ((headgear _target) != "") then {
|
|
_allItems pushBack (headgear _target);
|
|
};
|
|
//What kind of asshole takes a man's glasses?
|
|
if ((goggles _target) != "") then {
|
|
_allItems pushBack (goggles _target);
|
|
};
|
|
|
|
_uniqueClassnames = [];
|
|
_classnamesCount = [];
|
|
//Filter unique and count
|
|
{
|
|
_index = _uniqueClassnames find _x;
|
|
if (_index != -1) then {
|
|
_classnamesCount set [_index, ((_classnamesCount select _index) + 1)];
|
|
} else {
|
|
_uniqueClassnames pushBack _x;
|
|
_classnamesCount pushBack 1;
|
|
};
|
|
} forEach _allItems;
|
|
|
|
[_uniqueClassnames, _classnamesCount]
|