ACE3/optionals/compat_rhs_usf3/CfgVehicles.hpp

336 lines
11 KiB
C++

#define EQUIP_FRIES_ATTRIBUTE class Attributes { \
class EGVAR(fastroping,equipFRIES) { \
property = QEGVAR(fastroping,equipFRIES); \
control = "Checkbox"; \
displayName = ECSTRING(fastroping,Eden_equipFRIES); \
tooltip = ECSTRING(fastroping,Eden_equipFRIES_Tooltip); \
expression = QUOTE([_this] call EFUNC(fastroping,equipFRIES)); \
typeName = "BOOL"; \
condition = "objectVehicle"; \
defaultValue = false; \
}; \
}
class CfgVehicles {
class LandVehicle;
class Car: LandVehicle {
class ACE_Actions {
class ACE_MainActions {};
};
};
class Car_F: Car {};
class Truck_F: Car_F {};
class rhs_truck: Truck_F {};
class Tank: LandVehicle {
class NewTurret;
class ACE_Actions {
class ACE_MainActions {};
};
};
class Tank_F: Tank {
class Turrets {
class MainTurret: NewTurret {
class Turrets {
class CommanderOptics;
};
};
};
};
class Air;
class Helicopter: Air {
class Turrets {
class MainTurret;
};
};
#define ERA(num) QUOTE(era_##num##_hitpoint)
#define ERA_2_34 ERA(2), ERA(3), ERA(4), ERA(5), ERA(6), ERA(7), ERA(8), ERA(9), ERA(10), ERA(11), ERA(12), ERA(13), ERA(14), ERA(15), ERA(16), ERA(17), ERA(18), ERA(19), ERA(20), ERA(21), ERA(22), ERA(23), ERA(24), ERA(25), ERA(26), ERA(27), ERA(28), ERA(29), ERA(30), ERA(31), ERA(32), ERA(33), ERA(34)
#define ERA_2_45 ERA_2_34, ERA(35), ERA(36), ERA(37), ERA(38), ERA(39), ERA(40), ERA(41), ERA(42), ERA(43), ERA(44), ERA(45)
#define ERA_2_46 ERA_2_45, ERA(46)
#define ERA_2_59 ERA_2_46, ERA(47), ERA(48), ERA(49), ERA(50), ERA(51), ERA(52), ERA(53), ERA(54), ERA(55), ERA(56), ERA(57), ERA(58), ERA(59)
class MBT_01_base_F: Tank_F {};
class rhsusf_m1a1tank_base: MBT_01_base_F {
EGVAR(refuel,fuelCapacity) = 1909;
};
class rhsusf_m1a1aim_tuski_wd: rhsusf_m1a1tank_base {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_34}}};
};
class rhsusf_m1a2tank_base;
class rhsusf_m1a2sep1tuskid_usarmy: rhsusf_m1a2tank_base {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_34}}};
};
class rhsusf_m1a2sep1tuskiiwd_usarmy: rhsusf_m1a2sep1tuskid_usarmy {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_46}}};
};
class Helicopter_Base_F: Helicopter {
class Eventhandlers;
};
class Heli_Light_03_base_F: Helicopter_Base_F {};
class RHS_UH1_Base: Heli_light_03_base_F {
EGVAR(refuel,fuelCapacity) = 1447;
};
class RHS_UH1Y_base: RHS_UH1_Base {};
class RHS_UH1Y_US_base: RHS_UH1Y_base {};
class RHS_UH1Y: RHS_UH1Y_US_base {
EGVAR(fastroping,enabled) = 2;
EGVAR(fastroping,friesType) = "ACE_friesAnchorBar";
EGVAR(fastroping,friesAttachmentPoint)[] = {0, 2.38, -0.135};
EGVAR(fastroping,onCut) = QFUNC(onCut);
EGVAR(fastroping,onPrepare) = QFUNC(onPrepare);
EGVAR(fastroping,ropeOrigins)[] = {"ropeOriginLeft", "ropeOriginRight"};
class UserActions;
class EventHandlers: EventHandlers {
class RHSUSF_EventHandlers;
};
EQUIP_FRIES_ATTRIBUTE;
};
class RHS_UH1Y_FFAR: RHS_UH1Y {
class UserActions: UserActions {
class OpenCargoDoor;
class CloseCargoDoor: OpenCargoDoor {
condition = QUOTE([ARR_2(this,'doorRB')] call FUNC(canCloseDoor));
};
class CloseCargoLDoor: OpenCargoDoor {
condition = QUOTE([ARR_2(this,'doorLB')] call FUNC(canCloseDoor));
};
};
};
class Helicopter_Base_H: Helicopter_Base_F {
class Eventhandlers;
};
class Heli_Transport_01_base_F: Helicopter_Base_H {};
class RHS_MELB_base: Helicopter_Base_H {};
class RHS_MELB_MH6M: RHS_MELB_base {
EGVAR(fastroping,enabled) = 1;
EGVAR(fastroping,ropeOrigins)[] = {{1.166, 0.79, -0.01}, {-1.166, 0.79, -0.01}};
};
class RHS_UH60_Base: Heli_Transport_01_base_F {
EGVAR(refuel,fuelCapacity) = 1360;
};
class RHS_UH60M_base: RHS_UH60_Base {};
class RHS_UH60M_US_base: RHS_UH60M_base {};
class RHS_UH60M: RHS_UH60M_US_base {
EGVAR(fastroping,enabled) = 2;
EGVAR(fastroping,friesType) = "ACE_friesAnchorBar";
EGVAR(fastroping,friesAttachmentPoint)[] = {0, 1.25, -0.65};
EGVAR(fastroping,onCut) = QFUNC(onCut);
EGVAR(fastroping,onPrepare) = QFUNC(onPrepare);
EGVAR(fastroping,ropeOrigins)[] = {"ropeOriginLeft", "ropeOriginRight"};
class UserActions {
class OpenCargoDoor;
class CloseCargoDoor: OpenCargoDoor {
condition = QUOTE([ARR_2(this,'doorRB')] call FUNC(canCloseDoor));
};
class CloseCargoLDoor: OpenCargoDoor {
condition = QUOTE([ARR_2(this,'doorLB')] call FUNC(canCloseDoor));
};
};
EQUIP_FRIES_ATTRIBUTE;
};
class RHS_UH60M_MEV: RHS_UH60M {
EGVAR(fastroping,enabled) = 0;
class Attributes {
delete EGVAR(fastroping,equipFRIES);
};
};
class RHS_UH60M_MEV2: RHS_UH60M_MEV {
EGVAR(fastroping,enabled) = 2;
EQUIP_FRIES_ATTRIBUTE;
};
class Heli_Transport_02_base_F;
class RHS_CH_47F_base: Heli_Transport_02_base_F {
EGVAR(refuel,fuelCapacity) = 3914;
};
class RHS_CH_47F: RHS_CH_47F_base {
EGVAR(fastroping,enabled) = 1;
EGVAR(fastroping,ropeOrigins)[] = {{0.5, -7.15, -0.95}, {-0.5, -7.15, -0.95}};
EGVAR(fastroping,onCut) = QFUNC(onCut);
EGVAR(fastroping,onPrepare) = QFUNC(onPrepare);
class UserActions {
class OpenCargoDoor;
class CloseCargoDoor: OpenCargoDoor {
condition = QUOTE([ARR_2(this,'ramp_anim')] call FUNC(canCloseDoor));
};
};
};
class rhsusf_CH53E_USMC: Helicopter_Base_H {
EGVAR(interaction,bodyWidth) = 3.5;
EGVAR(map,vehicleLightColor)[] = {1,0,0,0.1};
EGVAR(fastroping,enabled) = 1;
EGVAR(fastroping,ropeOrigins)[] = {{0,-9.5,2.6}};
EGVAR(fastroping,onCut) = QFUNC(onCut);
EGVAR(fastroping,onPrepare) = QFUNC(onPrepare);
class UserActions {
class RampOpen;
class RampClose: RampOpen {
condition = QUOTE([ARR_2(this,'ramp_bottom')] call FUNC(canCloseDoor));
};
};
};
class Heli_Attack_01_base_F: Helicopter_Base_F {};
class RHS_AH1Z_base: Heli_Attack_01_base_F {
EGVAR(refuel,fuelCapacity) = 1600;
EGVAR(hellfire,addLaserDesignator) = 1;
};
class RHS_AH1Z: RHS_AH1Z_base {
class Turrets: Turrets {
class MainTurret: MainTurret {
ace_fcs_Enabled = 0; // Note: This is still required because of inheritance from Heli_Attack_01_base_F
};
};
};
class RHS_AH64_base: Heli_Attack_01_base_F {
EGVAR(refuel,fuelCapacity) = 1420;
EGVAR(hellfire,addLaserDesignator) = 1;
};
class RHS_AH64D: RHS_AH64_base {
class Turrets: Turrets {
class MainTurret: MainTurret {
ace_fcs_Enabled = 0; // Note: This is still required because of inheritance from Heli_Attack_01_base_F
};
};
};
class MBT_01_arty_base_F;
class rhsusf_m109tank_base: MBT_01_arty_base_F {
EGVAR(refuel,fuelCapacity) = 511;
};
class MRAP_01_base_F;
class rhsusf_hmmwe_base: MRAP_01_base_F {
EGVAR(refuel,fuelCapacity) = 95;
};
class rhsusf_rg33_base: MRAP_01_base_F {
EGVAR(refuel,fuelCapacity) = 302;
};
class Truck_01_base_F: Truck_F {};
class rhsusf_fmtv_base: Truck_01_base_F {
EGVAR(refuel,fuelCapacity) = 219;
};
class rhsusf_M1078A1P2_B_M2_fmtv_usarmy;
class rhsusf_M1078A1R_SOV_M2_D_fmtv_socom: rhsusf_M1078A1P2_B_M2_fmtv_usarmy {
transportAmmo = 0;
EGVAR(rearm,defaultSupply) = 800;
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{1.1,0.9,-1.2}};
EGVAR(refuel,fuelCargo) = 900; // 45 jerrycans
transportRepair = 0;
EGVAR(repair,canRepair) = 1;
};
class rhsusf_HEMTT_A4_base: Truck_01_base_F {};
class rhsusf_M977A4_usarmy_wd: rhsusf_HEMTT_A4_base {};
class rhsusf_M977A4_AMMO_usarmy_wd: rhsusf_M977A4_usarmy_wd {
transportAmmo = 0;
EGVAR(rearm,defaultSupply) = 1200;
};
class rhsusf_M977A4_BKIT_usarmy_wd: rhsusf_M977A4_usarmy_wd {};
class rhsusf_M977A4_AMMO_BKIT_usarmy_wd: rhsusf_M977A4_BKIT_usarmy_wd {
transportAmmo = 0;
EGVAR(rearm,defaultSupply) = 1200;
};
class rhsusf_M977A4_BKIT_M2_usarmy_wd: rhsusf_M977A4_usarmy_wd {};
class rhsusf_M977A4_AMMO_BKIT_M2_usarmy_wd: rhsusf_M977A4_BKIT_M2_usarmy_wd {
transportAmmo = 0;
EGVAR(rearm,defaultSupply) = 1200;
};
class rhsusf_M978A4_usarmy_wd: rhsusf_M977A4_usarmy_wd {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.44,-4.87,0}, {0.5,-4.87,0}};
EGVAR(refuel,fuelCargo) = 10000;
};
class rhsusf_M978A4_BKIT_usarmy_wd: rhsusf_M977A4_usarmy_wd {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.44,-4.87,0}, {0.5,-4.87,0}};
EGVAR(refuel,fuelCargo) = 10000;
};
class rhsusf_M977A4_REPAIR_usarmy_wd: rhsusf_M977A4_usarmy_wd {
transportRepair = 0;
EGVAR(repair,canRepair) = 1;
};
class rhsusf_M977A4_REPAIR_BKIT_usarmy_wd: rhsusf_M977A4_BKIT_usarmy_wd {
transportRepair = 0;
EGVAR(repair,canRepair) = 1;
};
class rhsusf_M977A4_REPAIR_BKIT_M2_usarmy_wd: rhsusf_M977A4_BKIT_M2_usarmy_wd {
transportRepair = 0;
EGVAR(repair,canRepair) = 1;
};
class APC_Tracked_02_base_F: Tank_F {};
class rhsusf_m113tank_base: APC_Tracked_02_base_F {
EGVAR(map,vehicleLightColor)[] = {0,1,0,0.1};
EGVAR(refuel,fuelCapacity) = 360;
};
class rhsusf_m113_usarmy: rhsusf_m113tank_base {};
class rhsusf_m113_usarmy_supply: rhsusf_m113_usarmy {
transportAmmo = 0;
EGVAR(rearm,defaultSupply) = 1200;
};
class APC_Tracked_03_base_F;
class RHS_M2A2_Base: APC_Tracked_03_base_F {
EGVAR(refuel,fuelCapacity) = 746;
};
class RHS_M2A2: RHS_M2A2_Base {};
class RHS_M2A2_BUSKI: RHS_M2A2 {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_45}}};
};
class RHS_M2A3: RHS_M2A2 {};
class RHS_M2A3_BUSKI: RHS_M2A3 {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_45}}};
};
class RHS_M2A3_BUSKIII: RHS_M2A3_BUSKI {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_59}}};
};
class Plane_CAS_01_base_F;
class RHS_A10: Plane_CAS_01_base_F {
EGVAR(refuel,fuelCapacity) = 6223;
};
class Plane_Base_F;
class RHS_C130J_Base: Plane_Base_F {
EGVAR(refuel,fuelCapacity) = 25704;
EGVAR(cargo,space) = 4;
EGVAR(cargo,hasCargo) = 1;
};
};