#include "script_component.hpp" /* * Author: mharis001 * Returns children actions for intel items in the player's inventory. * * Arguments: * 0: Player * * Return Value: * Actions * * Example: * [player] call ace_intelitems_fnc_addActions * * Public: No */ params ["_player"]; private _actions = []; private _cfgMagazines = configFile >> "CfgMagazines"; private _magazines = magazines _player; private _openIndices = GVAR(controlsGroups) apply {_x getVariable QGVAR(index)}; { private _config = _cfgMagazines >> _x; if (getNumber (_config >> QGVAR(intel)) == 1) then { private _displayName = getText (_config >> "displayName"); private _picture = getText (_config >> "picture"); private _controlType = getText (_config >> QGVAR(control)); private _magazineIds = [_player, _x] call CBA_fnc_getMagazineIndex; { private _index = GVAR(intelMap) getVariable _x; // Only add actions for intel indices that are not open if !(_index in _openIndices) then { private _action = [ format [QGVAR(%1), _index], _displayName, _picture, {(_this select 2) call FUNC(createControl)}, {true}, {}, [_controlType, _index] ] call EFUNC(interact_menu,createAction); _actions pushBack [_action, [], _player]; }; } forEach _magazineIds; }; } forEach (_magazines arrayIntersect _magazines); _actions