class CfgVehicles { class ACE_Module; class ACEX_ModuleSitting: ACE_Module { author = ECSTRING(common,ACETeam); category = "ACE"; displayName = CSTRING(ModuleDisplayName); function = QFUNC(moduleInit); scope = 1; isGlobal = 1; isSingular = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_Sitting_ca.paa)); class Arguments { class enable { displayName = CSTRING(Enable); description = CSTRING(Enable); typeName = "BOOL"; defaultValue = 1; }; }; class ModuleDescription { description = CSTRING(ModuleDescription); }; }; class ACE_ModuleSitting: ACEX_ModuleSitting { scope = 1; // hidden, backwards compatibility }; class Man; class CAManBase: Man { class ACE_SelfActions { class XGVAR(Stand) { displayName = CSTRING(Stand); condition = QUOTE(_player call FUNC(canStand)); exceptions[] = {"isNotSitting"}; statement = QUOTE(_player call FUNC(stand)); priority = 0; icon = QUOTE(PATHTOF(UI\stand_ca.paa)); }; }; }; // Folding Chair class ThingX; class Land_CampingChair_V1_F: ThingX { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = {0, -0.1, -0.45}; XGVAR(interactPosition)[] = {0, 0, 0.3}; EGVAR(interaction,replaceTerrainObject) = 1; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Camping Chair class Land_CampingChair_V2_F: ThingX { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = {0, -0.1, -0.45}; XGVAR(interactPosition)[] = {0, 0, 0.3}; EGVAR(interaction,replaceTerrainObject) = 1; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Chair (Plastic) class Furniture_base_F: ThingX {}; class Land_ChairPlastic_F: Furniture_base_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 90; XGVAR(sitPosition)[] = {0, 0, -0.5}; XGVAR(interactPosition)[] = {0, 0, 0.3}; EGVAR(interaction,replaceTerrainObject) = 1; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 270; }; // Chair (Wooden) class Land_ChairWood_F: Furniture_base_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = {0, -0.05, 0}; XGVAR(interactPosition)[] = {0, 0, 0.8}; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Office Chair class Land_OfficeChair_01_F: Furniture_base_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = {0, 0, -0.6}; XGVAR(interactPosition)[] = {0, 0, 0.3}; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Wooden Log class Land_WoodenLog_F: ThingX { XGVAR(canSit) = 1; XGVAR(sitDirection) = 0; XGVAR(sitPosition)[] = {0, 0, -1}; XGVAR(interactPosition)[] = {0, 0, 0.5}; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Rattan Chair class Land_RattanChair_01_F: Furniture_base_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = {0, 0, -1}; // Z must be -1 due to chair's geometry (magic floating seat point) XGVAR(interactPosition)[] = {0, 0, 0.3}; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Arm Chair class Furniture_Residental_base_F; class Land_ArmChair_01_F: Furniture_Residental_base_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 0; XGVAR(sitPosition)[] = {0, 0, -1}; XGVAR(interactPosition)[] = {0, 0, 0.3}; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; class House_F; class Land_BusStop_02_shelter_F: House_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = { {-0.5, 0.9, -1.3}, {0.5, 0.9, -1.3} }; XGVAR(interactPosition)[] = { {-0.5, 0.9, -0.3}, {0.5, 0.9, -0.3} }; EGVAR(interaction,replaceTerrainObject) = 1; }; // Benches class Land_Bench_F: Furniture_base_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 90; XGVAR(sitPosition)[] = { {0.1, -0.5, -0.9}, {0.1, 0.5, -0.9} }; XGVAR(interactPosition)[] = { {0, -0.5, 0.3}, {0, 0.5, 0.3} }; EGVAR(interaction,replaceTerrainObject) = 1; EGVAR(dragging,canCarry) = 1; EGVAR(dragging,carryDirection) = 90; EGVAR(dragging,canDrag) = 1; EGVAR(dragging,dragPosition)[] = {0, 1, 0}; EGVAR(dragging,dragDirection) = 90; }; class House_Small_F; class Land_Bench_01_F: House_Small_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = { {0.5, -0.04, -0.90}, {-0.5, -0.04, -0.90} }; XGVAR(interactPosition)[] = { {0.5, 0, 0.3}, {-0.5, 0, 0.3} }; EGVAR(interaction,replaceTerrainObject) = 1; }; class Land_Bench_02_F: House_Small_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = { {0.5, -0.04, -0.90}, {-0.5, -0.04, -0.90} }; XGVAR(interactPosition)[] = { {0.5, 0, 0.3}, {-0.5, 0, 0.3} }; EGVAR(interaction,replaceTerrainObject) = 1; }; class Land_Bench_03_F: House_Small_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = { {0.5, -0.15, -0.90}, {-0.5, -0.15, -0.90} }; XGVAR(interactPosition)[] = { {0.5, 0, 0.3}, {-0.5, 0, 0.3} }; EGVAR(interaction,replaceTerrainObject) = 1; }; /* Disabled due to a geometry issue with height class Land_Bench_04_F: House_Small_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = { {0.5, -0.04, -2.00}, {-0.5, -0.04, -2.00} }; XGVAR(interactPosition)[] = { {0.5, 0, 0.3}, {-0.5, 0, 0.3} }; };*/ class Land_Bench_05_F: House_Small_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 0; XGVAR(sitPosition)[] = { {0.5, -0.04, -0.90}, {-0.5, -0.04, -0.90} }; XGVAR(interactPosition)[] = { {0.5, 0, 0.3}, {-0.5, 0, 0.3} }; EGVAR(interaction,replaceTerrainObject) = 1; }; class Stall_base_F; class Land_StallWater_F: Stall_base_F { XGVAR(canSit) = 1; XGVAR(sitDirection) = 180; XGVAR(sitPosition)[] = { {-0.4, -0.8, -0.9}, {0.4, -0.8, -0.9} }; XGVAR(interactPosition)[] = { {-0.4, -0.75, 0.3}, {0.4, -0.75, 0.3} }; EGVAR(interaction,replaceTerrainObject) = 1; }; };