ACE3/addons/grenades/functions/fnc_addChangeFuseItemContextMenuOptions.sqf

110 lines
2.6 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: Cyruz
* Allows conversion of explosive charges into throwable versions.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* call ace_grenades_fnc_addChangeFuseItemContextMenuOptions
*
* Public: No
*/
LOG("addChangeFuseItemContextMenuOptions");
{
_x params ["_mag", "_throwableMag"];
[
_mag,
"CONTAINER",
LLSTRING(convert_fuse),
nil,
"\a3\ui_f\data\igui\cfg\simpletasks\types\destroy_ca.paa",
[
{true},
{
params ["", "", "_item", "", "_magArr"];
_item == (_magArr select 0)
}
],
{
params ["_unit", "", "", "_slot", "_magArr"];
private _container = switch (_slot) do {
case "UNIFORM_CONTAINER": {
"uniform"
};
case "VEST_CONTAINER": {
"vest"
};
case "BACKPACK_CONTAINER": {
"backpack"
};
default {
""
};
};
if (_container != "") then {
[_unit, _magArr select 1, _container] call EFUNC(common,addToInventory);
};
false
},
true,
[_mag, _throwableMag]
] call CBA_fnc_addItemContextMenuOption;
[
_throwableMag,
"CONTAINER",
LLSTRING(remove_fuse),
nil,
"\a3\ui_f\data\igui\cfg\simpletasks\types\destroy_ca.paa",
[
{true},
{
params ["", "", "_item", "", "_magArr"];
_item == (_magArr select 1)
}
],
{
params ["_unit", "", "", "_slot", "_magArr"];
private _container = switch (_slot) do {
case "UNIFORM_CONTAINER": {
"uniform"
};
case "VEST_CONTAINER": {
"vest"
};
case "BACKPACK_CONTAINER": {
"backpack"
};
default {
""
};
};
if (_container != "") then {
[_unit, _magArr select 0, _container] call EFUNC(common,addToInventory);
};
false
},
true,
[_mag, _throwableMag]
] call CBA_fnc_addItemContextMenuOption;
} forEach [
["SatchelCharge_Remote_Mag", "ACE_SatchelCharge_Remote_Mag_Throwable"],
["DemoCharge_Remote_Mag", "ACE_DemoCharge_Remote_Mag_Throwable"]
];