ACE3/optionals/compat_sog/CfgVehicles/turrets.hpp

376 lines
10 KiB
C++
Raw Normal View History

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 11:28:43 +00:00
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;
};