/* Author: Raimonds Virtoss - EpochMod.com Contributors: Aaron Clark Description: Action Menu Self Config Licence: Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike Github: https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp */ class veh_lock { condition = "dyna_inVehicle && !dyna_lockedInVehicle"; action = "[vehicle player, true, player, Epoch_personalToken] remoteExec ['EPOCH_server_lockVehicle',2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\pad_cannot_lock.paa"; tooltip = "Lock"; }; class veh_unLock { condition = "dyna_inVehicle && dyna_lockedInVehicle"; action = "[vehicle player, false, player, Epoch_personalToken] remoteExec ['EPOCH_server_lockVehicle',2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\pad_can_unlock.paa"; tooltip = "Unlock"; }; class player_inspect { condition = "!dyna_inVehicle"; action = "call EPOCH_lootTrash;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\player_inspect.paa"; tooltip = "Examine"; }; class Groups { condition = "true"; action = ""; icon = "x\addons\a3_epoch_code\Data\UI\buttons\group_menu_ca.paa"; tooltip = "Groups Menu"; class Group { condition = "true"; action = "call EPOCH_Inventory_Group;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\perm_group_menu_ca.paa"; tooltip = "Perm Group Menu"; }; class TempGroup { condition = "true"; action = "call EPOCH_Inventory_TempGroup;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\temp_group_menu_ca.paa"; tooltip = "Temp Group Menu"; }; }; class player_group_requests { condition = "!(Epoch_invited_GroupUIDs isEqualTo[])"; action = "call EPOCH_Inventory_iGroup;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\group_requests_ca.paa"; tooltip = "Group Requests"; }; class player_tempGroup_requests { condition = "!(Epoch_invited_tempGroupUIDs isEqualTo[])"; action = "call EPOCH_Inventory_itempGroup;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\group_requests_ca.paa"; tooltip = "Temp Group Requests"; }; class base_mode_enable { condition = "EPOCH_buildMode in [0,2] && !dyna_inVehicle"; action = "if (EPOCH_playerEnergy > 0) then {EPOCH_stabilityTarget = objNull;EPOCH_buildMode = 1;['Build Mode: Enabled Snap alignment', 5] call Epoch_message;EPOCH_buildDirection = 0} else {['Need Energy!', 5] call Epoch_message};"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_maintain.paa"; tooltip = "Build Mode: Snap alignment"; }; class base_mode_enable_free { condition = "EPOCH_buildMode == 1 && EPOCH_playerEnergy > 0"; action = "EPOCH_stabilityTarget = objNull;EPOCH_buildMode = 2;['Build Mode: Enabled Free alignment', 5] call Epoch_message;EPOCH_buildDirection = 0;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_maintain.paa"; tooltip = "Build Mode: Free alignment"; }; class base_mode_disable { condition = "EPOCH_buildMode > 0"; action = "EPOCH_buildMode = 0;EPOCH_snapDirection = 0;['Build Mode: Disabled', 5] call Epoch_message;EPOCH_Target = objNull;EPOCH_Z_OFFSET = 0;EPOCH_X_OFFSET = 0;EPOCH_Y_OFFSET = 5;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_remove.paa"; tooltip = "Build Mode: Disable"; }; class base_mode_snap_direction { condition = "EPOCH_buildMode == 1"; action = "EPOCH_snapDirection = EPOCH_snapDirection + 1; if (EPOCH_snapDirection > 3) then {EPOCH_snapDirection = 0};[format['SNAP DIRECTION: %1°', EPOCH_snapDirection*90], 5] call Epoch_message;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa"; tooltip = "Build Mode: Rotate 90°"; tooltipcode = "format ['Build Mode: Switch Snap Direction to %1° (current %2°)',if (EPOCH_snapDirection < 3) then {(EPOCH_snapDirection+1)*90} else {0},EPOCH_snapDirection*90]"; }; class base_mode_detach { condition = "EPOCH_buildMode > 0 && !isnull EPOCH_target && EPOCH_target_attachedTo isequalto player && Epoch_target iskindof 'Const_Ghost_EPOCH'"; action = "EPOCH_target_attachedTo = objnull; ['Object Detached', 5] call Epoch_message;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa"; tooltip = "Build Mode: Detach Object"; }; class base_mode_attach { condition = "EPOCH_buildMode > 0 && !isnull EPOCH_target && !(EPOCH_target_attachedTo isequalto player) && Epoch_target iskindof 'Const_Ghost_EPOCH'"; action = "EPOCH_target_attachedTo = player; ['Object Attached', 5] call Epoch_message;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa"; tooltip = "Build Mode: Attach Object"; }; class Drink { condition = "_nearObjects = nearestObjects [player, [], 2];_check = 'water';_ok = false;{if (alive _x) then {_ok = [_x, _check] call EPOCH_worldObjectType;};if (_ok) exitWith {};} forEach _nearObjects;_ok"; action = "if (currentweapon player == '') then {player playmove 'AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon';}else {if (currentweapon player == handgunweapon player) then {player playmove 'AinvPknlMstpSrasWpstDnon_Putdown_AmovPknlMstpSrasWpstDnon';}else { player playmove 'AinvPknlMstpSrasWrflDnon_Putdown_AmovPknlMstpSrasWrflDnon';};};{_output = _x call EPOCH_giveAttributes;if (_output != '') then {[_output, 5] call Epoch_message;};} foreach [['Toxicity',4,1],['Stamina',10],['Thirst',100]];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Drink.paa"; tooltip = "Drink"; }; class ServicePoint { condition = "call EPOCH_SP_Check"; action = "call EPOCH_SP_Start;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_man.paa"; tooltip = "Service Point"; class Refuel { condition = "true"; action = "(Ignatz_Refuel select 1) spawn EPOCH_SP_Refuel"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\vehicle_refuel.paa"; tooltipcode = "Ignatz_Refuel select 0"; }; class Repair { condition = "true"; action = "(Ignatz_Repair select 1) spawn EPOCH_SP_Repair"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\repair.paa"; tooltipcode = "Ignatz_Repair select 0"; }; class Rearm0 { condition = "!isnil 'Ignatz_Rearm0'"; action = "(Ignatz_Rearm0 select 1) call EPOCH_SP_Rearm"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "Ignatz_Rearm0 select 0"; }; class Rearm1 { condition = "!isnil 'Ignatz_Rearm1'"; action = "(Ignatz_Rearm1 select 1) call EPOCH_SP_Rearm"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "Ignatz_Rearm1 select 0"; }; class Rearm2 { condition = "!isnil 'Ignatz_Rearm2'"; action = "(Ignatz_Rearm2 select 1) call EPOCH_SP_Rearm"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "Ignatz_Rearm2 select 0"; }; }; class veh_gunnerRearm { condition = "if(dyna_isGunning)then{!((dyna_weaponsTurret select 0) in dyna_blockTurrets)}else{false}"; action = "[dyna_weaponsTurret select 0, dyna_weaponsTurretPath] call EPOCH_vehicle_checkTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "if(!isNil {dyna_weaponsTurret})then{format['Add Mag to %1',getText(configFile >> 'CfgWeapons' >> dyna_weaponsTurret select 0 >> 'displayName')]}else{''}"; }; class veh_gunnerRemoveAmmo { condition = "dyna_isGunning && !(dyna_weaponsTurretMags isEqualTo [])"; action = "[dyna_weaponsTurret select 0, dyna_weaponsTurretPath] call EPOCH_vehicle_removeTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\RemoveMag.paa"; tooltipcode = "if(!isNil {dyna_weaponsTurret})then{format['Remove Mag from %1',getText(configFile >> 'CfgWeapons' >> dyna_weaponsTurret select 0 >> 'displayName')]}else{''}"; }; class veh_driverRearm { condition = "if(dyna_isDriving)then{!((dyna_driverTurret select 0) in dyna_blockTurrets)}else{false}"; action = "[dyna_driverTurret select 0, [-1]] call EPOCH_vehicle_checkTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "if(!isNil {dyna_driverTurret})then{format['Add Mag to %1',getText(configFile >> 'CfgWeapons' >> dyna_driverTurret select 0 >> 'displayName')]}else{''}"; }; class veh_driverRemoveAmmo { condition = "dyna_isDriving && !(dyna_driverTurretMags isEqualTo [])"; action = "[dyna_driverTurret select 0, [-1]] call EPOCH_vehicle_removeTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\RemoveMag.paa"; tooltipcode = "if!(dyna_driverTurretMags isEqualTo [])then{format['Remove Mag of %1',dyna_driverTurretMags select 0]}else{''}"; }; class veh_driverRearm1 { condition = "if(dyna_isDriving)then{!((dyna_driverTurret select 1) in dyna_blockTurrets) && (count dyna_driverTurret > 1)}else{false}"; action = "[dyna_driverTurret select 1, [-1]] call EPOCH_vehicle_checkTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "if(!isNil {dyna_driverTurret})then{format['Add Mag to %1',getText(configFile >> 'CfgWeapons' >> dyna_driverTurret select 1 >> 'displayName')]}else{''}"; }; class veh_driverRemoveAmmo1 { condition = "if(dyna_isDriving)then{(count dyna_driverTurret > 1) && !(dyna_driverTurretMags isEqualTo [])}else{false}"; action = "[dyna_driverTurret select 1, [-1]] call EPOCH_vehicle_removeTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\RemoveMag.paa"; tooltipcode = "if!(dyna_driverTurretMags isEqualTo [])then{format['Remove Mag of %1',dyna_driverTurretMags select 1]}else{''}"; }; class veh_driverRearm2 { condition = "if(dyna_isDriving)then{!((dyna_driverTurret select 1) in dyna_blockTurrets) && (count dyna_driverTurret > 2)}else{false}"; action = "[dyna_driverTurret select 2, [-1]] call EPOCH_vehicle_checkTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "if(!isNil {dyna_driverTurret})then{format['Add Mag to %1',getText(configFile >> 'CfgWeapons' >> dyna_driverTurret select 2 >> 'displayName')]}else{''}"; }; class veh_driverRemoveAmmo2 { condition = "if(dyna_isDriving)then{(count dyna_driverTurret > 2) && !(dyna_driverTurretMags isEqualTo [])}else{false}"; action = "[dyna_driverTurret select 2, [-1]] call EPOCH_vehicle_removeTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\RemoveMag.paa"; tooltipcode = "if!(dyna_driverTurretMags isEqualTo [])then{format['Remove Mag of %1',dyna_driverTurretMags select 2]}else{''}"; }; class veh_commanderRearm { condition = "if(dyna_isCommanding)then{!((dyna_weaponsTurret select 0) in dyna_blockTurrets)}else{false}"; action = "[dyna_weaponsTurret select 0, dyna_weaponsTurretPath] call EPOCH_vehicle_checkTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "if(!isNil {dyna_weaponsTurret})then{format['Add Mag to %1',getText(configFile >> 'CfgWeapons' >> dyna_weaponsTurret select 0 >> 'displayName')]}else{''}"; }; class veh_commanderRemoveAmmo { condition = "dyna_isCommanding && !(dyna_weaponsTurretMags isEqualTo [])"; action = "[dyna_weaponsTurret select 0, dyna_weaponsTurretPath] call EPOCH_vehicle_removeCommanderAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\RemoveMag.paa"; tooltipcode = "if(!isNil {dyna_weaponsTurret})then{format['Remove Mag from %1',getText(configFile >> 'CfgWeapons' >> dyna_weaponsTurret select 0 >> 'displayName')]}else{''}"; }; class veh_commanderRearm1 { condition = "if(dyna_isCommanding)then{!((dyna_weaponsTurret select 1) in dyna_blockTurrets) && (count dyna_weaponsTurret > 1)}else{false}"; action = "[dyna_weaponsTurret select 1, dyna_weaponsTurretPath] call EPOCH_vehicle_checkTurretAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Rearm.paa"; tooltipcode = "if(!isNil {dyna_weaponsTurret})then{format['Add Mag to %1',getText(configFile >> 'CfgWeapons' >> dyna_weaponsTurret select 1 >> 'displayName')]}else{''}"; }; class veh_commanderRemoveAmmo1 { condition = "if(dyna_isCommanding)then{(count dyna_weaponsTurret > 1) && !(dyna_weaponsTurretMags isEqualTo [])}else{false}"; action = "[dyna_weaponsTurret select 1, dyna_weaponsTurretPath] call EPOCH_vehicle_removeCommanderAmmo"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\RemoveMag.paa"; tooltipcode = "if(!isNil {dyna_weaponsTurret})then{format['Remove Mag from %1',getText(configFile >> 'CfgWeapons' >> dyna_weaponsTurret select 1 >> 'displayName')]}else{''}"; };