ACE3/optionals/compat_rhs_afrf3/CfgVehicles.hpp
Whigital 8882434200
Compat_rhs_afrf3 - Add RHS:AFRF explosives compatibility (#7734)
* initial + tm62m

* more mines and explosives

* more mines

* add defuse positions

* additional dependency

Two of the mines (rhs_mag_mine_pfm1 & rhs_mag_mine_ptm1) are defined in rhs_c_airweapons

* remove redundant attributes
2020-06-13 15:57:28 -05:00

524 lines
17 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;
};
class rhs_a3t72tank_base: Tank_F {
EGVAR(refuel,fuelCapacity) = 1200;
};
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_Ka52_base: Heli_Attack_02_base_F {
EGVAR(refuel,fuelCapacity) = 1870;
EGVAR(fastroping,enabled) = 0;
};
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 rhs_t80b: rhs_tank_base {
EGVAR(refuel,fuelCapacity) = 1100;
};
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;
};
class StaticWeapon: LandVehicle {
class ACE_Actions {
class ACE_MainActions;
};
};
class StaticMGWeapon: StaticWeapon {};
class AT_01_base_F: StaticMGWeapon {};
class rhs_SPG9_base: AT_01_base_F {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "";
};
};
// ENABLE_CSW_ATTRIBUTE;
class ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(rhs_weap_SPG9);
magazineLocation = "_target selectionPosition 'breach'";
disassembleWeapon = QGVAR(spg9_carry);
disassembleTurret = QEGVAR(csw,spg9Tripod);
desiredAmmo = 1;
ammoLoadTime = 5;
ammoUnloadTime = 3;
};
};
class rhs_Kornet_Base: AT_01_base_F {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "";
selection = "tripod";
};
};
// ENABLE_CSW_ATTRIBUTE;
class ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(rhs_weap_9K133_launcher);
magazineLocation = "_target selectionPosition 'gun'";
disassembleWeapon = QGVAR(kornet_carry);
disassembleTurret = "";
desiredAmmo = 1;
ammoLoadTime = 7;
ammoUnloadTime = 5;
};
};
class rhs_assault_umbts;
class rhs_assault_umbts_engineer: rhs_assault_umbts {
EGVAR(logistics_wirecutter,hasWirecutter) = 1;
};
class StaticMortar: StaticWeapon {};
class rhs_2b14_82mm_Base: StaticMortar {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "";
selection = ""; // no good selections for this mortar
};
};
// ENABLE_CSW_ATTRIBUTE;
class ACE_CSW {
enabled = 1;
magazineLocation = "";
proxyWeapon = QGVAR(rhs_weap_2b14);
disassembleWeapon = QGVAR(2b14_carry); // carry weapon [CfgWeapons]
disassembleTurret = QEGVAR(csw,mortarBaseplate); // turret [CfgVehicles]
desiredAmmo = 1;
ammoLoadTime = 3;
ammoUnloadTime = 3;
};
};
class rhs_nsv_tripod_base: StaticMGWeapon {
class ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(rhs_weap_nsvt_effects);
magazineLocation = "_target selectionPosition 'magazine'";
disassembleWeapon = QGVAR(nsv_carry);
disassembleTurret = QEGVAR(csw,kordTripodLow);
desiredAmmo = 50;
ammoLoadTime = 10;
ammoUnloadTime = 8;
};
};
class RHS_KORD_Base: rhs_nsv_tripod_base {
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(rhs_weap_KORD);
disassembleWeapon = QGVAR(kord_carry);
disassembleTurret = QEGVAR(csw,kordTripodLow);
};
};
class RHS_KORD_high_base: RHS_KORD_Base {
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(rhs_weap_KORD);
disassembleWeapon = QGVAR(kord_carry);
disassembleTurret = QEGVAR(csw,kordTripod);
};
};
class StaticGrenadeLauncher: StaticWeapon {};
class RHS_AGS30_TriPod_base: StaticGrenadeLauncher {
// ENABLE_CSW_ATTRIBUTE;
class ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(rhs_weap_AGS30);
magazineLocation = "_target selectionPosition 'magazine'";
disassembleWeapon = QGVAR(ags30_carry);
disassembleTurret = QEGVAR(csw,sag30Tripod);
desiredAmmo = 30;
ammoLoadTime = 10;
ammoUnloadTime = 8;
};
};
class rhs_SPG9M_base: rhs_SPG9_base {
class ACE_CSW: ACE_CSW {
enabled = 1;
disassembleWeapon = QGVAR(spg9m_carry);
};
};
class rhs_Metis_Base: AT_01_base_F {
// ENABLE_CSW_ATTRIBUTE;
class ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(rhs_weap_9K115_2_launcher);
magazineLocation = "_target selectionPosition 'gun'";
disassembleWeapon = QGVAR(metis_carry);
disassembleTurret = "";
desiredAmmo = 1;
ammoLoadTime = 7;
ammoUnloadTime = 5;
};
};
// ACE Explosives
class Items_base_F;
class ACE_Explosives_Place: Items_base_F {
class ACE_Actions {
class ACE_MainActions;
};
};
class ACE_Explosives_Place_rhs_mine_tm62m: ACE_Explosives_Place {
displayName = "$STR_RHS_CFGMAGAZINES_TM62M0";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_tm62m";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0.005, -0.025, 0.06]";
};
};
};
class ACE_Explosives_Place_rhs_mine_pmn2: ACE_Explosives_Place {
displayName = "$STR_RHS_CFGMAGAZINES_PMN20";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_pmn2";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0, 0, 0.012]";
};
};
};
class ACE_Explosives_Place_rhs_mine_ptm1: ACE_Explosives_Place {
displayName = "$STR_RHS_PTM1_NAME";
model = "\rhsafrf\addons\rhs_airweapons\rhs_m_ptm1_d";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0, -0.17, 0.02]";
};
};
};
class ACE_Explosives_Place_rhs_mine_pfm1: ACE_Explosives_Place {
displayName = "$STR_RHS_PFM1_NAME";
model = "\rhsafrf\addons\rhs_airweapons\rhs_m_pfm1_d";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.015, 0.018, 0]";
};
};
};
class ACE_Explosives_Place_rhs_ec75: ACE_Explosives_Place {
displayName = "$STR_RHS_CFGMAGAZINES_EC75";
model = "\rhsafrf\addons\rhs_weapons2\explosives\rhs_ec75_e";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0, -0.04, 0.02]";
};
};
};
class ACE_Explosives_Place_rhs_ec75_sand: ACE_Explosives_Place_rhs_ec75 {
displayName = "$STR_RHS_CFGMAGAZINES_EC75_SAND";
model = "\rhsafrf\addons\rhs_weapons2\explosives\rhs_ec75_sand_e";
};
class ACE_Explosives_Place_rhs_ec200: ACE_Explosives_Place {
displayName = "$STR_RHS_CFGMAGAZINES_EC200";
model = "\rhsafrf\addons\rhs_weapons2\explosives\rhs_ec200_e";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0, -0.05, 0.008]";
};
};
};
class ACE_Explosives_Place_rhs_ec200_sand: ACE_Explosives_Place_rhs_ec200 {
displayName = "$STR_RHS_CFGMAGAZINES_EC200_SAND";
model = "\rhsafrf\addons\rhs_weapons2\explosives\rhs_ec200_sand_e";
};
class ACE_Explosives_Place_rhs_ec400: ACE_Explosives_Place {
displayName = "$STR_RHS_CFGMAGAZINES_EC400";
model = "\rhsafrf\addons\rhs_weapons2\explosives\rhs_ec400_e";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0, -0.03, 0.02]";
};
};
};
class ACE_Explosives_Place_rhs_ec400_sand: ACE_Explosives_Place_rhs_ec400 {
displayName = "$STR_RHS_CFGMAGAZINES_EC400_SAND";
model = "\rhsafrf\addons\rhs_weapons2\explosives\rhs_ec400_sand_e";
};
class ACE_Explosives_Place_rhs_mine_msk40p_white: ACE_Explosives_Place {
displayName = "$STR_RHS_MINE_MSK40P_W_MAG_DISPLAYNAME";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_msk40p_white_e";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.025, 0, 0.4]";
};
};
};
class ACE_Explosives_Place_rhs_mine_msk40p_red: ACE_Explosives_Place_rhs_mine_msk40p_white {
displayName = "$STR_RHS_MINE_MSK40P_R_MAG_DISPLAYNAME";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_msk40p_red_e";
};
class ACE_Explosives_Place_rhs_mine_msk40p_green: ACE_Explosives_Place_rhs_mine_msk40p_white {
displayName = "$STR_RHS_MINE_MSK40P_G_MAG_DISPLAYNAME";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_msk40p_green_e";
};
class ACE_Explosives_Place_rhs_mine_msk40p_blue: ACE_Explosives_Place_rhs_mine_msk40p_white {
displayName = "$STR_RHS_MINE_MSK40P_B_MAG_DISPLAYNAME";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_msk40p_blue_e";
};
class ACE_Explosives_Place_rhs_mine_sm320_white: ACE_Explosives_Place {
displayName = "$STR_RHS_MINE_SM320_W_MAG_DISPLAYNAME";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_sm320_white_e";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.01, 0, 0.25]";
};
};
};
class ACE_Explosives_Place_rhs_mine_sm320_red: ACE_Explosives_Place_rhs_mine_sm320_white {
displayName = "$STR_RHS_MINE_SM320_R_MAG_DISPLAYNAME";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_sm320_red_e";
};
class ACE_Explosives_Place_rhs_mine_sm320_green: ACE_Explosives_Place_rhs_mine_sm320_white {
displayName = "$STR_RHS_MINE_SM320_G_MAG_DISPLAYNAME";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_sm320_green_e";
};
class ACE_Explosives_Place_rhs_mine_ozm72_a: ACE_Explosives_Place {
displayName = "$STR_RHS_CFGMAGAZINES_OZM72A";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_ozm72_a_e";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0, 0.125, 0.11]";
};
};
};
class ACE_Explosives_Place_rhs_mine_ozm72_b: ACE_Explosives_Place_rhs_mine_ozm72_a {
displayName = "$STR_RHS_CFGMAGAZINES_OZM72B";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_ozm72_b_e";
};
class ACE_Explosives_Place_rhs_mine_ozm72_c: ACE_Explosives_Place_rhs_mine_ozm72_a {
displayName = "$STR_RHS_CFGMAGAZINES_OZM72C";
model = "\rhsafrf\addons\rhs_weapons\mines\rhs_ozm72_c_e";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0, 0.015, 0.12]";
};
};
};
};