ACE3/optionals/compat_rhs_afrf3/CfgVehicles.hpp
2017-10-14 11:56:12 -05:00

282 lines
8.9 KiB
C++

class CfgVehicles {
class LandVehicle;
class Tank: LandVehicle {
class NewTurret;
};
class Tank_F: Tank {
class Turrets {
class MainTurret: NewTurret {
class Turrets {
class CommanderOptics;
};
};
};
};
class Car: LandVehicle {
class ACE_Actions {
class ACE_MainActions {};
};
};
class Car_F: Car {
class ViewPilot;
class NewTurret;
};
class Wheeled_APC_F: Car_F {
class NewTurret;
class Turrets {
class MainTurret: NewTurret
{
class ViewOptics;
};
};
class CommanderOptics;
};
class Air;
class Helicopter: Air {
class Turrets;
};
class Helicopter_Base_F: Helicopter {
class Turrets: Turrets {
class MainTurret;
};
};
class rhs_bmd_base: Tank_F {
EGVAR(refuel,fuelCapacity) = 300;
};
class rhs_bmp1tank_base: Tank_F {
EGVAR(map,vehicleLightColor)[] = {0,1,0,0.1};
EGVAR(refuel,fuelCapacity) = 460;
};
class rhs_bmp3tank_base: Tank_F {
EGVAR(refuel,fuelCapacity) = 460;
};
class rhs_btr_base: Wheeled_APC_F {
EGVAR(map,vehicleLightColor)[] = {0,0,1,0.1};
EGVAR(refuel,fuelCapacity) = 300;
};
class rhs_a3spruttank_base: Tank_F {
EGVAR(refuel,fuelCapacity) = 400;
};
#define ERA(num) QUOTE(era_##num##_hitpoint)
#define ERA_2_28 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)
#define ERA_2_31 ERA_2_28, ERA(29), ERA(30), ERA(31)
#define ERA_2_32 ERA_2_31, ERA(32)
#define ERA_2_35 ERA_2_32, ERA(33), ERA(34), ERA(35)
#define ERA_2_36 ERA_2_35, ERA(36)
class rhs_a3t72tank_base: Tank_F {
EGVAR(refuel,fuelCapacity) = 1200;
};
class rhs_t72bb_tv: rhs_a3t72tank_base {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_31}}};
};
class rhs_t72bc_tv: rhs_a3t72tank_base {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_32}}};
};
class rhs_t72bd_tv: rhs_a3t72tank_base {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_32}}};
};
class rhs_tank_base: Tank_F {
EGVAR(refuel,fuelCapacity) = 1200;
};
class rhs_infantry_msv_base;
class rhs_pilot_base: rhs_infantry_msv_base {
ace_gforcecoef = 0.55;
};
class O_Plane_CAS_02_F;
class RHS_su25_base: O_Plane_CAS_02_F {
EGVAR(refuel,fuelCapacity) = 3600;
};
class Helicopter_Base_H: Helicopter_Base_F {
class EventHandlers;
};
class Heli_Light_02_base_F: Helicopter_Base_H {};
class RHS_Mi8_base: Heli_Light_02_base_F {
EGVAR(map,vehicleLightColor)[] = {1,0,0,0.1};
EGVAR(refuel,fuelCapacity) = 3700;
EGVAR(fastroping,enabled) = 0;
class EventHandlers: EventHandlers {
class RHS_EventHandlers;
};
};
class RHS_Mi8amt_base: RHS_Mi8_base {
EGVAR(fastroping,enabled) = 1;
EGVAR(fastroping,ropeOrigins)[] = {{-1.13, 4.67, -0.89}};
EGVAR(fastroping,onCut) = QFUNC(onCut);
EGVAR(fastroping,onPrepare) = QFUNC(onPrepare);
class UserActions {
class openDoor;
class closeDoor_L: openDoor {
condition = QUOTE((this doorPhase 'LeftDoor' > 0.5) && {alive this} && {!(this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)])});
};
};
class EventHandlers: EventHandlers {
class RHS_EventHandlers: RHS_EventHandlers {
getOut = QUOTE(if !((_this select 0) getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_mi8_doors});
};
};
};
class RHS_Mi8_VVS_Base: RHS_Mi8_base {};
class RHS_Mi8mt_vvs: RHS_Mi8_VVS_Base {};
class RHS_Mi8mt_Cargo_vvs: RHS_Mi8mt_vvs {
EGVAR(fastroping,enabled) = 1;
EGVAR(fastroping,ropeOrigins)[] = {{-1.13, 4.67, -0.89}};
EGVAR(fastroping,onCut) = QFUNC(onCut);
EGVAR(fastroping,onPrepare) = QFUNC(onPrepare);
class UserActions {
class openDoor_L;
class closeDoor_L: openDoor_L {
condition = QUOTE((this doorPhase 'LeftDoor' > 0.5) && {alive this} && {!(this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)])});
};
};
class EventHandlers: EventHandlers {
class RHS_EventHandlers: RHS_EventHandlers {
getOut = QUOTE(if !((_this select 0) getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_mi8_doors});
};
};
};
class Heli_Attack_02_base_F: Helicopter_Base_F {};
class rhs_mi28_base: Heli_Attack_02_base_F {
class Turrets: Turrets {
class MainTurret: MainTurret {
EGVAR(fcs,enabled) = 0; // Note: This is still required because of inheritance from Heli_Attack_02_base_F
};
};
};
class RHS_Ka52_base: Heli_Attack_02_base_F {
EGVAR(refuel,fuelCapacity) = 1870;
EGVAR(fastroping,enabled) = 0;
class Turrets: Turrets {
class MainTurret: MainTurret {
EGVAR(fcs,enabled) = 0; // Note: This is still required because of inheritance from Heli_Attack_02_base_F
};
};
};
class RHS_Mi24_base: Heli_Attack_02_base_F {
EGVAR(map,vehicleLightColor)[] = {1,0,0,0.1};
EGVAR(refuel,fuelCapacity) = 1851;
EGVAR(fastroping,enabled) = 0;
class Turrets: Turrets {
class MainTurret: MainTurret {
EGVAR(fcs,enabled) = 0; // Note: This is still required because of inheritance from Heli_Attack_02_base_F
};
};
};
class rhs_t80b: rhs_tank_base {
EGVAR(refuel,fuelCapacity) = 1100;
};
class rhs_t80bv: rhs_t80b {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_28}}};
};
class rhs_t80a: rhs_t80bv {};
class rhs_t80u: rhs_t80a {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_35}}};
};
class rhs_t80uk: rhs_t80u {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_36}}};
};
class rhs_t80ue1: rhs_t80a {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_36}}};
};
class rhs_t80um: rhs_t80u {
ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}};
ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_36}}};
};
class Truck_F: Car_F {};
class RHS_Ural_BaseTurret: Truck_F {
EGVAR(refuel,fuelCapacity) = 360;
};
class RHS_Ural_Base: RHS_Ural_BaseTurret {};
class RHS_Ural_MSV_Base: RHS_Ural_Base {};
class RHS_Ural_Support_MSV_Base_01: RHS_Ural_MSV_Base {};
class RHS_Ural_Fuel_MSV_01: RHS_Ural_Support_MSV_Base_01 {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.05,-3.6,-0.45}};
EGVAR(refuel,fuelCargo) = 10000;
};
class RHS_Ural_Repair_MSV_01: RHS_Ural_Support_MSV_Base_01 {
transportRepair = 0;
EGVAR(repair,canRepair) = 1;
};
class rhs_truck: Truck_F {
EGVAR(refuel,fuelCapacity) = 210;
};
class rhs_gaz66_vmf: rhs_truck {};
class rhs_gaz66_repair_base: rhs_gaz66_vmf {
transportRepair = 0;
EGVAR(repair,canRepair) = 1;
};
class rhs_gaz66_ammo_base: rhs_gaz66_vmf {
transportAmmo = 0;
ace_rearm_defaultSupply = 1200;
};
class MRAP_02_base_F;
class rhs_tigr_base: MRAP_02_base_F {
EGVAR(refuel,fuelCapacity) = 138;
};
class Offroad_01_base_f;
class RHS_UAZ_Base: Offroad_01_base_f {
EGVAR(refuel,fuelCapacity) = 78;
};
class APC_Tracked_02_base_F: Tank_F {
class Turrets: Turrets {
class MainTurret: MainTurret {};
};
};
class rhs_zsutank_base: APC_Tracked_02_base_F {
EGVAR(refuel,fuelCapacity) = 515;
};
class rhs_btr60_base: rhs_btr_base {
EGVAR(refuel,fuelCapacity) = 290;
};
class rhs_btr70_vmf: rhs_btr_base {
EGVAR(refuel,fuelCapacity) = 350;
};
class rhs_btr70_msv: rhs_btr70_vmf {};
class rhs_btr80_msv: rhs_btr70_msv {
EGVAR(refuel,fuelCapacity) = 300;
};
class rhs_2s3tank_base: Tank_F {
EGVAR(refuel,fuelCapacity) = 830;
};
class OTR21_Base: Truck_F {
EGVAR(refuel,fuelCapacity) = 500;
};
};