mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
59 lines
1.6 KiB
Plaintext
59 lines
1.6 KiB
Plaintext
|
#include "script_component.hpp"
|
||
|
/*
|
||
|
* Author: mharis001
|
||
|
* Returns children actions for intel items in the player's inventory.
|
||
|
*
|
||
|
* Arguments:
|
||
|
* 0: Player <OBJECT>
|
||
|
*
|
||
|
* Return Value:
|
||
|
* Actions <ARRAY>
|
||
|
*
|
||
|
* 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
|