diff --git a/addons/context_actions/CfgContext.hpp b/addons/context_actions/CfgContext.hpp index 05b4d353c..21259e23c 100644 --- a/addons/context_actions/CfgContext.hpp +++ b/addons/context_actions/CfgContext.hpp @@ -245,12 +245,29 @@ class EGVAR(context_menu,actions) { icon = "\a3\3den\Data\Displays\Display3DEN\ToolBar\undo_ca.paa"; }; }; + class VehicleLoadout { + displayName = "$STR_A3_VR_Stamina_01_Loadout"; + icon = QPATHTOF(ui\ammo_ca.paa); + priority = 39; + class Magazines { + displayName = "$STR_GEAR_MAGAZINES"; + condition = QUOTE(_hoveredEntity call FUNC(canEditMagazines)); + statement = QUOTE(_hoveredEntity call EFUNC(loadout,configure)); + icon = "\a3\ui_f\data\igui\cfg\weaponicons\mg_ca.paa"; + }; + class Pylons { + displayName = ECSTRING(pylons,DisplayName); + condition = QUOTE(_hoveredEntity call FUNC(canEditPylons)); + statement = QUOTE(_hoveredEntity call EFUNC(pylons,configure)); + icon = "\a3\ui_f\data\igui\cfg\weaponicons\aa_ca.paa"; + }; + }; class Inventory { displayName = "$STR_A3_Gear1"; condition = QUOTE(_hoveredEntity call FUNC(canEditInventory)); statement = QUOTE(_hoveredEntity call EFUNC(inventory,configure)); icon = "\a3\Ui_F_Curator\Data\RscCommon\RscAttributeInventory\filter_0_ca.paa"; - priority = 39; + priority = 38; class Edit { displayName = "$STR_3DEN_Display3DEN_MenUBar_Edit_text"; condition = QUOTE(_hoveredEntity call FUNC(canEditInventory)); @@ -274,7 +291,7 @@ class EGVAR(context_menu,actions) { condition = QUOTE(_hoveredEntity call FUNC(canEditVehicleAppearance)); statement = QUOTE(_hoveredEntity call EFUNC(garage,openGarage)); icon = "\a3\3den\data\displays\display3den\entitymenu\garage_ca.paa"; - priority = 38; + priority = 37; class Edit { displayName = "$STR_3DEN_Display3DEN_MenUBar_Edit_text"; condition = QUOTE(_hoveredEntity call FUNC(canEditVehicleAppearance)); @@ -296,7 +313,7 @@ class EGVAR(context_menu,actions) { class VehicleLogistics { displayName = CSTRING(VehicleLogistics); icon = "\a3\ui_f\data\igui\cfg\simpleTasks\types\truck_ca.paa"; - priority = 37; + priority = 36; class Repair { displayName = "$STR_Repair"; condition = QUOTE(_objects call FUNC(canRepairVehicles)); diff --git a/addons/context_actions/XEH_PREP.hpp b/addons/context_actions/XEH_PREP.hpp index ba746a072..b22310a96 100644 --- a/addons/context_actions/XEH_PREP.hpp +++ b/addons/context_actions/XEH_PREP.hpp @@ -1,5 +1,7 @@ PREP(canEditInventory); PREP(canEditLoadout); +PREP(canEditMagazines); +PREP(canEditPylons); PREP(canEditVehicleAppearance); PREP(canHealUnits); PREP(canPasteVehicleAppearance); diff --git a/addons/context_actions/config.cpp b/addons/context_actions/config.cpp index c239499b5..2683db192 100644 --- a/addons/context_actions/config.cpp +++ b/addons/context_actions/config.cpp @@ -10,6 +10,8 @@ class CfgPatches { "zen_context_menu", "zen_garage", "zen_inventory", + "zen_loadout", + "zen_pylons", "zen_remote_control" }; author = ECSTRING(main,Author); diff --git a/addons/context_actions/functions/fnc_canEditMagazines.sqf b/addons/context_actions/functions/fnc_canEditMagazines.sqf new file mode 100644 index 000000000..967e8843e --- /dev/null +++ b/addons/context_actions/functions/fnc_canEditMagazines.sqf @@ -0,0 +1,20 @@ +#include "script_component.hpp" +/* + * Author: NeilZar + * Checks if the magazines loadout of the given entity can be edited. + * + * Arguments: + * 0: Entity <ANY> + * + * Return Value: + * Can Edit Magazines <BOOL> + * + * Example: + * [_entity] call zen_context_actions_fnc_canEditMagazines + * + * Public: No + */ + +params ["_entity"]; + +_entity isEqualType objNull && {alive _entity} && {_entity call EFUNC(loadout,getWeaponList) isNotEqualTo []} diff --git a/addons/context_actions/functions/fnc_canEditPylons.sqf b/addons/context_actions/functions/fnc_canEditPylons.sqf new file mode 100644 index 000000000..a4b33a5ed --- /dev/null +++ b/addons/context_actions/functions/fnc_canEditPylons.sqf @@ -0,0 +1,20 @@ +#include "script_component.hpp" +/* + * Author: NeilZar + * Checks if the pylons of the given entity can be edited. + * + * Arguments: + * 0: Entity <ANY> + * + * Return Value: + * Can Edit Pylons <BOOL> + * + * Example: + * [_entity] call zen_context_actions_fnc_canEditPylons + * + * Public: No + */ + +params ["_entity"]; + +_entity isEqualType objNull && {alive _entity} && {_entity call EFUNC(common,hasPylons)}