2015-03-17 19:43:50 +00:00
|
|
|
/*
|
|
|
|
* 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
|
|
|
|
*/
|
2015-02-23 00:44:33 +00:00
|
|
|
#include "script_component.hpp"
|
|
|
|
|
|
|
|
PARAMS_1(_target);
|
|
|
|
|
2015-04-16 17:36:12 +00:00
|
|
|
private ["_allItems", "_classnamesCount", "_index", "_uniqueClassnames"];
|
|
|
|
|
2015-05-09 19:41:46 +00:00
|
|
|
_allItems = (((items _target) + (assignedItems _target)) - (weapons _target)) + (weapons _target) + (magazines _target);
|
2015-02-23 00:44:33 +00:00
|
|
|
|
|
|
|
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);
|
|
|
|
};
|
2015-02-27 21:23:46 +00:00
|
|
|
//What kind of asshole takes a man's glasses?
|
|
|
|
if ((goggles _target) != "") then {
|
|
|
|
_allItems pushBack (goggles _target);
|
|
|
|
};
|
2015-02-23 00:44:33 +00:00
|
|
|
|
|
|
|
_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]
|