ACE3/optionals/compat_sog/CfgVehicles/turrets.hpp
BaerMitUmlaut 54c9cf6c61
S.O.G. Prairie Fire Compatibility (#8284)
* Added initial compat

* Added G-Forces compatibility

* Added Reload compatibility

* Add fuel capacities to planes and helicopters

* Add fuel capacities to wheeled and tracked vehicles, added fuel cargo config

* Add fuel capacities to OH-6

* Removed custom fuel capacities from Mi-2 with external tanks

* Fix config errors

* Add CSW compatibility for static guns

* Add ACE arsenal to EMM main menu

* Add CBA versioning check for SOG:PF

* Add vn_emm to requiredAddons

required for main menu patching

* Fix arsenal not being added to main menu

* Fix styling of ACE Arsenal button

* Add CSW compat for mortars

* Disable dragging of large statics

* Disable frag for molotov

* Set damage type of melee ammo

* Add custom damage handling for punji traps

* Add ACE Explosives compat to M18 Claymores

* Improve digDistance of Claymore x3

* Add ACE Explosives compat to M14 and M16 mines

* Add Explosives compat for M16 Trip Wire mines

* Add Explosives compat for F1 Trip Wire mines

* Add Explosives compat for Arty Shell Trip wire mine

* Improve interaction points for explosives

* Add Explosives compat for Satchel charge and AT mine

* Add Explosives compat for Punji traps, improve comments

* Add Explosives compat to M112 Breaching charge

* Rename mines.hpp to explosives.hpp

* Allow digging spiderholes with entrenching tool

* Fix minor config errors

* Add CSW pictures, models and stringtable entries

* Add missing stringtable entries

* Add CSW weapon pictures and stringtable entries

* Handle punji trap damage with disabled medical

* Disable cookoff for bicycles

* Remove custom digging tools (needs deeper changes)

* Improve spiderhole digging translation

* Fill CfgPatches units and weapons arrays for Zeus

* Add witty comment

* Use lowercase for external component names

* Fix indentation

* Fix missing base class

* Remove accidentally added files

* pboProject fixes for S.O.G. Prairie Fire Compatibility (#8311)

* Change macros to work with pboproject

* Add placeholders for VN p3d files

* Add ending newlines

Co-authored-by: jonpas <jonpas33@gmail.com>

* Fix UBC

Co-authored-by: mharis001 <34453221+mharis001@users.noreply.github.com>

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: Björn Dahlgren <bjorn@dahlgren.io>
Co-authored-by: jonpas <jonpas33@gmail.com>
Co-authored-by: mharis001 <34453221+mharis001@users.noreply.github.com>
2021-10-05 13:28:43 +02:00

376 lines
10 KiB
C++

class LandVehicle;
class StaticWeapon: LandVehicle {
class ACE_Actions {
class ACE_MainActions;
};
};
// --- Gun Turrets -------------------------------------------------------------
// M2 Browning - High
class StaticMGWeapon: StaticWeapon {};
class vn_static_m2_high_base: StaticMGWeapon {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
selection = "mg1_otochlaven";
};
};
class ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_m2_v_01);
magazineLocation = "_target selectionPosition 'mg1_magazine'";
disassembleWeapon = QGVAR(m2_carry);
disassembleTurret = QEGVAR(csw,m3Tripod);
ammoLoadTime = 10;
ammoUnloadTime = 8;
desiredAmmo = 100;
};
};
// M2 Browning - Low
class vn_static_m2_low_base: vn_static_m2_high_base {
class ACE_CSW: ACE_CSW {
disassembleTurret = QEGVAR(csw,m3TripodLow);
};
};
// M1919A6 - No tripod
class vn_static_m1919a6_base: vn_static_m2_low_base {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "";
selection = "mg1_otochlaven_recoil";
};
};
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_m1919_v_01);
magazineLocation = "_target selectionPosition 'mg1_magazine'";
disassembleTo = QGVAR(m1919A6_carry);
disassembleWeapon = "";
disassembleTurret = "";
ammoLoadTime = 10;
ammoUnloadTime = 8;
desiredAmmo = 250;
};
};
// M1919A4 - High
class vn_static_m1919a4_high_base: vn_static_m1919a6_base {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "";
selection = "mg1_otochlaven_recoil";
};
};
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_m1919_v_01);
magazineLocation = "_target selectionPosition 'mg1_magazine'";
disassembleTo = "";
disassembleWeapon = QGVAR(m1919A4_carry);
disassembleTurret = QEGVAR(csw,m3Tripod);
ammoLoadTime = 10;
ammoUnloadTime = 8;
desiredAmmo = 250;
};
};
// M1919A4 - Low
class vn_static_m1919a4_low_base: vn_static_m1919a4_high_base {
class ACE_CSW: ACE_CSW {
disassembleTurret = QEGVAR(csw,m3TripodLow);
};
};
// M60 - High
class vn_static_m60_high_base: vn_static_m2_low_base {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.15, 0.532, -1.06]";
};
};
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_m60_v_01);
magazineLocation = "_target selectionPosition 'mg1_trigger'";
disassembleTo = "";
disassembleWeapon = QGVAR(m60_carry);
disassembleTurret = QEGVAR(csw,m3Tripod);
ammoLoadTime = 10;
ammoUnloadTime = 8;
desiredAmmo = 250;
};
};
// M60 - Low
class vn_static_m60_low_base: vn_static_m60_high_base {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.25, 0.15, -1.06]";
};
};
class ACE_CSW: ACE_CSW {
magazineLocation = "_target selectionPosition 'mg1_otochlaven_recoil'";
disassembleTurret = QEGVAR(csw,m3TripodLow);
};
};
// TOW
class vn_static_at3_base: StaticMGWeapon {};
class vn_static_tow_base: vn_static_at3_base {
EGVAR(dragging,canCarry) = 0;
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.22, 0.28, -0.85]";
};
};
class ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_missile_tow_launcher);
magazineLocation = "[-0.22, 0.28, -0.5]";
disassembleWeapon = QGVAR(tow_carry);
disassembleTurret = QEGVAR(csw,m220Tripod);
ammoLoadTime = 8;
ammoUnloadTime = 5;
desiredAmmo = 1;
};
};
// DShKM - High
class vn_static_dp28_high_base: vn_static_m2_high_base {};
class vn_static_dshkm_high_01_base: vn_static_dp28_high_base {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.15, 0.532, -1.06]";
};
};
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_dshkm_v_01);
magazineLocation = "_target selectionPosition 'mg1_boxmag'";
disassembleWeapon = QGVAR(dshkm_carry);
disassembleTurret = QEGVAR(csw,m3Tripod);
ammoLoadTime = 10;
ammoUnloadTime = 8;
desiredAmmo = 50;
};
};
// DShKM - High, with AA sight
class vn_static_dshkm_high_02_base: vn_static_dshkm_high_01_base {
class ACE_CSW: ACE_CSW {
disassembleWeapon = QGVAR(dshkm_AA_carry);
};
};
// DShKM - Low, with shield
class vn_static_dshkm_low_01_base: vn_static_dshkm_high_01_base {
EGVAR(dragging,canCarry) = 0;
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.3, 0.75, -1]";
};
};
class ACE_CSW: ACE_CSW {
disassembleWeapon = QGVAR(dshkm_shield_carry);
disassembleTurret = QEGVAR(csw,m3TripodLow);
};
};
// DShKM - Low
class vn_static_dshkm_low_02_base: vn_static_dshkm_low_01_base {
class ACE_CSW: ACE_CSW {
disassembleWeapon = QGVAR(dshkm_carry);
};
};
// RPD - High
class vn_static_rpd_high_base: vn_static_dp28_high_base {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.158, 0.745, -0.7]";
};
};
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_rpd_v_01);
magazineLocation = "_target selectionPosition 'mg1_otochlaven_recoil'";
disassembleWeapon = QGVAR(rpd_carry);
disassembleTurret = QEGVAR(csw,m3Tripod);
ammoLoadTime = 10;
ammoUnloadTime = 8;
desiredAmmo = 100;
};
};
// PK - High
class vn_static_pk_high_base: vn_static_rpd_high_base {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.156, 0.755, -1.05]";
};
};
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_pk_v_01);
magazineLocation = "_target selectionPosition 'mg1_otochlaven_recoil'";
disassembleWeapon = QGVAR(pk_carry);
disassembleTurret = QEGVAR(csw,m3Tripod);
ammoLoadTime = 10;
ammoUnloadTime = 8;
desiredAmmo = 100;
};
};
// PK - Low
class vn_static_pk_low_base: vn_static_pk_high_base {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.35, 0.43, -0.9]";
};
};
class ACE_CSW: ACE_CSW {
disassembleTurret = QEGVAR(csw,m3TripodLow);
};
};
// --- Mortars -----------------------------------------------------------------
// M29 Mortar
class StaticMortar: StaticWeapon {};
class Mortar_01_base_F: StaticMortar {};
class vn_static_mortar_m29_base: Mortar_01_base_F {
EGVAR(dragging,canCarry) = 0;
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "";
selection = "otochlaven";
};
};
class ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_mortar_m29);
magazineLocation = "_target selectionPosition 'pohon'";
disassembleWeapon = QGVAR(mortar_m29_carry);
disassembleTurret = QEGVAR(csw,mortarBaseplate);
ammoLoadTime = 3;
ammoUnloadTime = 3;
desiredAmmo = 1;
};
};
// M2 / Type 63 Mortar
class vn_static_mortar_m2_base: vn_static_mortar_m29_base {
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_mortar_m2);
magazineLocation = "_target selectionPosition 'pohon'";
disassembleWeapon = QGVAR(mortar_m2_carry);
disassembleTurret = QEGVAR(csw,mortarBaseplate);
ammoLoadTime = 3;
ammoUnloadTime = 3;
desiredAmmo = 1;
};
};
// Type 53 Mortar
class vn_static_mortar_type53_base: vn_static_mortar_m29_base {
class ACE_CSW: ACE_CSW {
enabled = 1;
proxyWeapon = QGVAR(vn_mortar_type53);
magazineLocation = "_target selectionPosition 'pohon'";
disassembleWeapon = QGVAR(mortar_type53_carry);
disassembleTurret = QEGVAR(csw,mortarBaseplate);
ammoLoadTime = 3;
ammoUnloadTime = 3;
desiredAmmo = 1;
};
};
// --- Non-CSW Static Weapons --------------------------------------------------
class vn_static_m45_base: vn_static_m2_high_base {
EGVAR(dragging,canCarry) = 0;
EGVAR(dragging,canDrag) = 0;
class ACE_CSW: ACE_CSW {
enabled = 0;
};
};
class vn_static_zpu4_base: vn_static_m2_high_base {
EGVAR(dragging,canCarry) = 0;
EGVAR(dragging,canDrag) = 0;
class ACE_CSW: ACE_CSW {
enabled = 0;
};
};
class vn_o_static_rsna75: StaticMGWeapon {
EGVAR(dragging,canCarry) = 0;
EGVAR(dragging,canDrag) = 0;
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "";
selection = "mainturret";
};
};
class ACE_CSW {
enabled = 0;
};
};
class vn_sa2: StaticMGWeapon {
EGVAR(dragging,canCarry) = 0;
EGVAR(dragging,canDrag) = 0;
};
// --- Spiderholes -------------------------------------------------------------
class vn_o_vc_spiderhole_01: StaticWeapon {
EGVAR(dragging,canCarry) = 0;
EGVAR(dragging,canDrag) = 0;
EGVAR(trenches,diggingDuration) = QEGVAR(trenches,smallEnvelopeDigDuration);
EGVAR(trenches,removalDuration) = QEGVAR(trenches,smallEnvelopeRemoveDuration);
EGVAR(trenches,noGeoClass) = QGVAR(spiderhole_01_nogeo);
EGVAR(trenches,placementData)[] = {1.5, 1.5, 0.1};
EGVAR(trenches,grassCuttingPoints)[] = {};
};
class vn_o_vc_spiderhole_02: vn_o_vc_spiderhole_01 {
EGVAR(trenches,noGeoClass) = QGVAR(spiderhole_02_nogeo);
};
class vn_o_vc_spiderhole_03: vn_o_vc_spiderhole_01 {
EGVAR(trenches,noGeoClass) = QGVAR(spiderhole_03_nogeo);
EGVAR(trenches,placementData)[] = {1.5, 2.5, 0.1};
};
class GVAR(spiderhole_01_nogeo): vn_o_vc_spiderhole_01 {
scope = 1;
};
class GVAR(spiderhole_02_nogeo): vn_o_vc_spiderhole_02 {
scope = 1;
};
class GVAR(spiderhole_03_nogeo): vn_o_vc_spiderhole_03 {
scope = 1;
};