Compare commits
1 Commits
7e5e7e26af
...
4.1.2
| Author | SHA1 | Date | |
|---|---|---|---|
| af7600ac16 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,5 +2,3 @@
|
||||
# Notepad++ backups #
|
||||
*.bak
|
||||
|
||||
|
||||
.vscode/
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
|
||||
// EXAMPLE
|
||||
// class uncon_alarm
|
||||
// {
|
||||
// name = "uncon_alarm";
|
||||
// sound[] = {"AJ_CBRN_V2\sounds\AJ_warning_1.ogg", 0.9, 1, 5}; //directory, volume, pitch, range
|
||||
// titles[]={};
|
||||
// };
|
||||
@@ -1,74 +1,22 @@
|
||||
// Lists approved fixed-wing and rotary vehicle types that mission makers can use in their missions.
|
||||
|
||||
class ApprovedAssets {
|
||||
// APC
|
||||
class rhsusf_stryker_m1126_m2_d {callsign = "Katana"; category = "APC";};
|
||||
class rhsusf_stryker_m1126_mk19_d {callsign = "Katana"; category = "APC";};
|
||||
class rhsusf_stryker_m1127_m2_wd {callsign = "Katana"; category = "APC";};
|
||||
class rhsusf_stryker_m1132_m2_wd {callsign = "Katana"; category = "APC";};
|
||||
class rhsusf_stryker_m1134_wd {callsign = "Katana"; category = "APC";};
|
||||
class B_APC_Wheeled_01_cannon_F {callsign = "Rapier"; category = "APC";};
|
||||
class B_APC_Tracked_01_CRV_F {callsign = "DuctTape"; category = "APC";};
|
||||
// Rotary
|
||||
class TF373_SOAR_MH47G_No_Rear_Guns {callsign = "Achilles"; category = "Rotary";};
|
||||
class TF373_SOAR_MH47G_No_Rear_Guns_EasyActions {callsign = "Achilles"; category = "Rotary";};
|
||||
class TF373_SOAR_MH47G {callsign = "Achilles"; category = "Rotary";};
|
||||
class TF373_SOAR_MH47G_EasyActions {callsign = "Achilles"; category = "Rotary";};
|
||||
class RHS_CH_47F_10 {callsign = "Achilles"; category = "Rotary";};
|
||||
class RHS_MELB_AH6M {callsign = "Artemis"; category = "Rotary";};
|
||||
class RHS_MELB_MH6M {callsign = "Apollo"; category = "Rotary";};
|
||||
class RHS_MELB_H6M {callsign = "Icarus"; category = "Rotary";};
|
||||
class RHS_UH60M {callsign = "Griffin"; category = "Rotary";};
|
||||
class RHS_UH60M2 {callsign = "Griffin"; category = "Rotary";};
|
||||
class RHS_UH60M_MEV {callsign = "Dustoff"; category = "Rotary";};
|
||||
class ej_MH60MDAP {callsign = "Hades"; category = "Rotary";};
|
||||
class ej_MH60MDAP16H {callsign = "Hades"; category = "Rotary";};
|
||||
class ej_MH60MDAP8H {callsign = "Hades"; category = "Rotary";};
|
||||
class ej_MH60MDAP4 {callsign = "Hades"; category = "Rotary";};
|
||||
class RHS_AH64DGrey {callsign = "Orion"; category = "Rotary";};
|
||||
// Air
|
||||
// Truck
|
||||
class rhsusf_M1078A1R_SOV_M2_D_fmtv_socom {callsign = "DuctTape"; category = "Truck";};
|
||||
class rhsusf_M1084A1R_SOV_M2_D_fmtv_socom {callsign = "DuctTape"; category = "Truck";};
|
||||
class rhsusf_M1078A1P2_B_WD_CP_fmtv_usarmy {callsign = ""; category = "Truck";};
|
||||
// Boats
|
||||
class rhsusf_mkvsoc {callsign = "Poseidon"; category = "Boats";};
|
||||
class B_Boat_Armed_01_minigun_F {callsign = "Neptune"; category = "Boats";};
|
||||
// MRAP
|
||||
class rhsusf_M1238A1_M2_socom_d {callsign = "Tanto"; category = "MRAP";};
|
||||
class rhsusf_M1238A1_Mk19_socom_d {callsign = "Tanto"; category = "MRAP";};
|
||||
class rhsusf_M1239_M2_socom_d {callsign = "DuctTape"; category = "MRAP";};
|
||||
class rhsusf_M1239_MK19_socom_d {callsign = "DuctTape"; category = "MRAP";};
|
||||
class rhsusf_m1245_m2crows_socom_d {callsign = "Dagger"; category = "MRAP";};
|
||||
class rhsusf_m1245_mk19crows_socom_d {callsign = "Dagger"; category = "MRAP";};
|
||||
class rhsusf_M1239_M2_Deploy_socom_d {callsign = "DuctTape"; category = "MRAP";};
|
||||
// TiltRotor
|
||||
class B_T_VTOL_01_infantry_F {callsign = "Pegasus"; category = "TiltRotor";};
|
||||
class B_T_VTOL_01_armed_F {callsign = "Chimera"; category = "TiltRotor";};
|
||||
// Water
|
||||
// Ground Vehicle
|
||||
// Cars
|
||||
class rhsusf_m1165a1_gmv_m134d_m240_socom_d {callsign = "Dagger"; category = "Cars";};
|
||||
class rhsusf_m1165a1_gmv_m2_m240_socom_d {callsign = "Dagger"; category = "Cars";};
|
||||
class rhsusf_m1165a1_gmv_mk19_m240_socom_d {callsign = "Dagger"; category = "Cars";};
|
||||
class rhsusf_mrzr4_d {callsign = ""; category = "Cars";};
|
||||
class UK3CB_B_M1030_NATO {callsign = ""; category = "Cars";};
|
||||
class B_T_LSV_01_AT_F {callsign = ""; category = "Cars";};
|
||||
class B_T_LSV_01_armed_F {callsign = ""; category = "Cars";};
|
||||
class C_Quadbike_01_F {callsign = ""; category = "Cars";};
|
||||
// Fixed-Wing
|
||||
class B_Plane_CAS_01_dynamicLoadout_F {callsign = "Ares"; category = "Fixed-Wing";};
|
||||
class RHS_A10 {callsign = "Ares"; category = "Fixed-Wing";};
|
||||
class USAF_AC130U {callsign = "Odin"; category = "Fixed-Wing";};
|
||||
class USAF_C130J {callsign = "Hercules"; category = "Fixed-Wing";};
|
||||
class B_Plane_Fighter_01_F {callsign = "Xerxes"; category = "Fixed-Wing";};
|
||||
// Artillery
|
||||
class rhsusf_M142_usarmy_WD {callsign = "Halberd"; category = "Artillery";};
|
||||
class UK3CB_B_M270_MLRS_HE_DES {callsign = "Halberd"; category = "Artillery";};
|
||||
class rhsusf_m109d_usarmy {callsign = "Glaive"; category = "Artillery";};
|
||||
class RHS_M119_D {callsign = "Mailman"; category = "Artillery";};
|
||||
class B_Mortar_01_F {callsign = "Hammer"; category = "Artillery";};
|
||||
// Armor
|
||||
class B_AFV_Wheeled_01_cannon_F {callsign = "Gladius"; category = "Armor";};
|
||||
class B_AFV_Wheeled_01_up_cannon_F {callsign = "Gladius"; category = "Armor";};
|
||||
// Fixed-wing aircraft
|
||||
class USAF_A10 {callsign = "Ares";};
|
||||
class RHSGREF_A29B_HIDF {callsign = "Odyssey";};
|
||||
class USAF_C130J {callsign = "Hercules";};
|
||||
// Rotary aircraft
|
||||
class RHS_MELB_MH6M {callsign = "Apollo";};
|
||||
class RHS_MELB_AH6M {callsign = "Artemis";};
|
||||
class RHS_MELB_H6M {callsign = "Icarus";};
|
||||
class RHS_CH_47F {callsign = "Achilles";};
|
||||
class ej_MH60MDAP4 {callsign = "Hades";};
|
||||
class RHS_UH60M {callsign = "Griffin";};
|
||||
class RHS_UH60M_MEV2 {callsign = "Dustoff";};
|
||||
class B_T_VTOL_01_INFANTRY_F {callsign = "Pegasus";};
|
||||
class B_T_VTOL_01_ARMED_F {callsign = "Spartan";};
|
||||
class RHS_AH64D {callsign = "Orion";};
|
||||
class RHS_AH1Z {callsign = "Athena";};
|
||||
class RHS_UH1Y {callsign = "Homer";};
|
||||
class rhsusf_CH53E_USMC {callsign = "Atlas";};
|
||||
};
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
|
||||
// Define the callsigns for the Battalion
|
||||
#define COMMAND_CALLSIGN STORMSURGE
|
||||
#define COMMAND_CALLSIGN SPARTAN
|
||||
#define RRC_CALLSIGN TIGER
|
||||
#define MEDIC_CALLSIGN LIFELINE
|
||||
#define ALPHA_CALLSIGN SAVAGE
|
||||
#define ECHO_CALLSIGN NIGHTFALL
|
||||
#define ALPHA_CALLSIGN ROGUE
|
||||
#define ECHO_CALLSIGN FIREBRAND
|
||||
#define WPN_CALLSIGN BLACKFOOT
|
||||
|
||||
// Define the frequencies for the Battalion
|
||||
|
||||
@@ -140,8 +140,7 @@ class DisallowedEquipment {
|
||||
"Tier1_ATACR18_Geissele_Docter_Black_Vanilla", //Nightforce Series Optic
|
||||
"Tier1_ATACR18_Geissele_Docter_Black", //Nightforce Series Optic
|
||||
"Tier1_ATACR18_Geissele_Docter_Desert_Vanilla", //Nightforce Series Optic
|
||||
"Tier1_ATACR18_Geissele_Docter_Desert", //Nightforce Series Optic
|
||||
"sps_black_hornet_01_F" // Black Hornet Drone Mod
|
||||
"Tier1_ATACR18_Geissele_Docter_Desert" //Nightforce Series Optic
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -20,8 +20,7 @@ class SupplyCrates {
|
||||
{"ACE_40mm_Flare_ir",12},
|
||||
{"rhsusf_200Rnd_556x45_mixed_soft_pouch_coyote",25},
|
||||
{"rhsusf_20Rnd_762x51_m993_Mag",25},
|
||||
{"SmokeShell",24},
|
||||
{"ACE_M84",24},
|
||||
{"SmokeShell",12},
|
||||
{"rhs_mag_m67",24},
|
||||
{"1Rnd_Smoke_Grenade_shell",24},
|
||||
{"1Rnd_SmokeRed_Grenade_shell",24},
|
||||
@@ -29,13 +28,17 @@ class SupplyCrates {
|
||||
{"1Rnd_SmokeYellow_Grenade_shell",12},
|
||||
{"rhs_mag_30Rnd_556x45_M855A1_Stanag",25},
|
||||
{"ACE_30Rnd_556x45_Stanag_M995_AP_mag",75},
|
||||
{"SMA_30Rnd_762x35_BLK_EPR",25},
|
||||
{"SMA_20Rnd_762x51mm_M80A1_EPR",25},
|
||||
{"SMA_20Rnd_762x51mm_M80A1_EPR_Tracer",25},
|
||||
{"SMA_20Rnd_762x51mm_Mk316_Mod_0_Special_Long_Range",25},
|
||||
{"SMA_20Rnd_762x51mm_Mk316_Mod_0_Special_Long_Range_Tracer",25},
|
||||
{"Tier1_250Rnd_762x51_Belt_M993_AP",15},
|
||||
{"ACE_20Rnd_762x51_Mag_Tracer",25},
|
||||
{"ACE_20Rnd_762x51_M993_AP_Mag",25},
|
||||
{"rhsusf_20Rnd_762x51_SR25_m993_Mag",25},
|
||||
{"Tier1_20Rnd_762x51_M993_SR25_Mag",25},
|
||||
{"KAR_20Rnd_Fury_blk",25},
|
||||
{"rhsusf_m112_mag",25},
|
||||
{"DemoCharge_Remote_Mag",16}
|
||||
};
|
||||
items[] = {};
|
||||
};
|
||||
@@ -79,7 +82,6 @@ class SupplyCrates {
|
||||
{"ACE_splint",48},
|
||||
{"ACE_morphine",50},
|
||||
{"ACE_epinephrine",50},
|
||||
{"ACE_painkillers",20},
|
||||
{"ACE_bloodIV",75},
|
||||
{"ACE_bloodIV_500",50},
|
||||
{"ACE_bloodIV_250",25},
|
||||
@@ -130,42 +132,6 @@ class SupplyCrates {
|
||||
items[] = {};
|
||||
};
|
||||
|
||||
class SquadUtility {
|
||||
boxClass = "Box_Syndicate_Ammo_F";
|
||||
displayName = "Squad Utility Supply Crate";
|
||||
tooltip = "A crate containing Flairs, Smokes, Breaching Charges";
|
||||
icon = "\A3\ui_f\data\map\vehicleicons\iconCrateAmmo_ca.paa";
|
||||
|
||||
backpacks[] = {};
|
||||
weapons[] = {};
|
||||
magazines[] = {};
|
||||
items[] = {
|
||||
{"ACE_Chemlight_HiYellow",20},
|
||||
{"ACE_Chemlight_HiBlue",20},
|
||||
{"ACE_Chemlight_HiGreen",20},
|
||||
{"ACE_Chemlight_HiRed",20},
|
||||
{"ACE_Chemlight_UltraHiOrange",20},
|
||||
{"ACE_HandFlare_Yellow",20},
|
||||
{"ACE_HandFlare_White",20},
|
||||
{"ACE_HandFlare_Red",20},
|
||||
{"ACE_HandFlare_Green",20},
|
||||
{"ACE_Chemlight_IR",20},
|
||||
{"ACE_IR_Strobe_Item",20},
|
||||
{"SmokeShellYellow",20},
|
||||
{"SmokeShellBlue",20},
|
||||
{"SmokeShellPurple",20},
|
||||
{"SmokeShellOrange",20},
|
||||
{"SmokeShellGreen",20},
|
||||
{"SmokeShellRed",20},
|
||||
{"tsp_popperCharge_auto_mag",10},
|
||||
{"tsp_frameCharge_mag",20},
|
||||
{"tsp_stickCharge_auto_mag",10},
|
||||
{"ACE_CableTie",25},
|
||||
{"DemoCharge_Remote_Mag",15},
|
||||
{"TFAR_anprc152",3},
|
||||
};
|
||||
};
|
||||
|
||||
class MortarMk6Resupply {
|
||||
boxClass = "Box_NATO_WpsSpecial_F";
|
||||
displayName = "Mortar MK6 Supply Crate";
|
||||
@@ -210,28 +176,4 @@ class SupplyCrates {
|
||||
};
|
||||
items[] = {};
|
||||
};
|
||||
|
||||
class ResupplyTire {
|
||||
boxClass = "ACE_Wheel";
|
||||
displayName = "Vehicle Tire";
|
||||
tooltip = "A single tire for replacement";
|
||||
icon = "A3\ui_f\data\igui\cfg\simpletasks\types\repair_ca.paa";
|
||||
|
||||
backpacks[] = {};
|
||||
weapons[] = {};
|
||||
magazines[] = {};
|
||||
items[] = {};
|
||||
};
|
||||
|
||||
class ResupplyTrack {
|
||||
boxClass = "ACE_Track";
|
||||
displayName = "Vehicle Track";
|
||||
tooltip = "A single track for replacement";
|
||||
icon = "z\ace\addons\repair\ui\patch_ca.paa";
|
||||
|
||||
backpacks[] = {};
|
||||
weapons[] = {};
|
||||
magazines[] = {};
|
||||
items[] = {};
|
||||
};
|
||||
};
|
||||
@@ -84,159 +84,30 @@ class VehicleFlags {
|
||||
actionID = "flag_simpleshape";
|
||||
actionTitle = "Simple Shapes";
|
||||
|
||||
class Blue {
|
||||
actionID = "flags_simpleshape_blue";
|
||||
actionTitle = "Blue";
|
||||
|
||||
class BlueCircle {
|
||||
actionID = "flag_simpleshape_bluecircle";
|
||||
actionTitle = "Blue Circle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_bluecircle_co.paa";
|
||||
};
|
||||
class BlueOctagon {
|
||||
actionID = "flag_simpleshape_blueoctagon";
|
||||
actionTitle = "Blue Octagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_blueoctagon_co.paa";
|
||||
};
|
||||
class BluePentagon {
|
||||
actionID = "flag_simpleshape_bluepentagon";
|
||||
actionTitle = "Blue Pentagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_bluepentagon_co.paa";
|
||||
};
|
||||
class BlueSquare {
|
||||
actionID = "flag_simpleshape_bluesquare";
|
||||
actionTitle = "Blue Square";
|
||||
texture = "textures\simple_shape\flag_simpleshape_bluesquare_co.paa";
|
||||
};
|
||||
class BlueTriangle {
|
||||
actionID = "flag_simpleshape_bluetriangle";
|
||||
actionTitle = "Blue Triangle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_bluetriangle_co.paa";
|
||||
};
|
||||
class GreenOctagon {
|
||||
actionID = "flag_simpleshape_greenoctagon";
|
||||
actionTitle = "Green Octagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_greenoctagon_co.paa";
|
||||
};
|
||||
|
||||
class Green {
|
||||
actionID = "flags_simpleshape_green";
|
||||
actionTitle = "Green";
|
||||
|
||||
class GreenCircle {
|
||||
actionID = "flag_simpleshape_greencircle";
|
||||
actionTitle = "Green Circle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_greencircle_co.paa";
|
||||
};
|
||||
class GreenOctagon {
|
||||
actionID = "flag_simpleshape_greenoctagon";
|
||||
actionTitle = "Green Octagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_greenoctagon_co.paa";
|
||||
};
|
||||
class GreenPentagon {
|
||||
actionID = "flag_simpleshape_greenpentagon";
|
||||
actionTitle = "Green Pentagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_greenpentagon_co.paa";
|
||||
};
|
||||
class GreenSquare {
|
||||
actionID = "flag_simpleshape_greensquare";
|
||||
actionTitle = "Green Square";
|
||||
texture = "textures\simple_shape\flag_simpleshape_greensquare_co.paa";
|
||||
};
|
||||
class GreenTriangle {
|
||||
actionID = "flag_simpleshape_greentriangle";
|
||||
actionTitle = "Green Triangle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_greentriangle_co.paa";
|
||||
};
|
||||
class BlueCircle {
|
||||
actionID = "flag_simpleshape_bluecircle";
|
||||
actionTitle = "Blue Circle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_bluecircle_co.paa";
|
||||
};
|
||||
|
||||
class Orange {
|
||||
actionID = "flags_simpleshape_orange";
|
||||
actionTitle = "Orange";
|
||||
|
||||
class OrangeCircle {
|
||||
actionID = "flag_simpleshape_orangecircle";
|
||||
actionTitle = "Orange Circle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_orangecircle_co.paa";
|
||||
};
|
||||
class OrangeOctagon {
|
||||
actionID = "flag_simpleshape_orangeoctagon";
|
||||
actionTitle = "Orange Octagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_orangeoctagon_co.paa";
|
||||
};
|
||||
class OrangePentagon {
|
||||
actionID = "flag_simpleshape_orangepentagon";
|
||||
actionTitle = "Orange Pentagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_orangepentagon_co.paa";
|
||||
};
|
||||
class OrangeSquare {
|
||||
actionID = "flag_simpleshape_orangesquare";
|
||||
actionTitle = "Orange Square";
|
||||
texture = "textures\simple_shape\flag_simpleshape_orangesquare_co.paa";
|
||||
};
|
||||
class OrangeTriangle {
|
||||
actionID = "flag_simpleshape_orangetriangle";
|
||||
actionTitle = "Orange Triangle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_orangetriangle_co.paa";
|
||||
};
|
||||
class OrangeSquare {
|
||||
actionID = "flag_simpleshape_orangesquare";
|
||||
actionTitle = "Orange Square";
|
||||
texture = "textures\simple_shape\flag_simpleshape_orangesquare_co.paa";
|
||||
};
|
||||
|
||||
class Pink {
|
||||
actionID = "flags_simpleshape_pink";
|
||||
actionTitle = "Pink";
|
||||
|
||||
class PinkCircle {
|
||||
actionID = "flag_simpleshape_pinkcircle";
|
||||
actionTitle = "Pink Circle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_pinkcircle_co.paa";
|
||||
};
|
||||
class PinkOctagon {
|
||||
actionID = "flag_simpleshape_pinkoctagon";
|
||||
actionTitle = "Pink Octagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_pinkoctagon_co.paa";
|
||||
};
|
||||
class PinkPentagon {
|
||||
actionID = "flag_simpleshape_pinkpentagon";
|
||||
actionTitle = "Pink Pentagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_pinkpentagon_co.paa";
|
||||
};
|
||||
class PinkSquare {
|
||||
actionID = "flag_simpleshape_pinksquare";
|
||||
actionTitle = "Pink Square";
|
||||
texture = "textures\simple_shape\flag_simpleshape_pinksquare_co.paa";
|
||||
};
|
||||
class PinkTriangle {
|
||||
actionID = "flag_simpleshape_pinktriangle";
|
||||
actionTitle = "Pink Triangle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_pinktriangle_co.paa";
|
||||
};
|
||||
class PinkTriangle {
|
||||
actionID = "flag_simpleshape_pinktriangle";
|
||||
actionTitle = "Pink Triangle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_pinktriangle_co.paa";
|
||||
};
|
||||
|
||||
class Red {
|
||||
actionID = "flags_simpleshape_red";
|
||||
actionTitle = "Red";
|
||||
|
||||
class RedCircle {
|
||||
actionID = "flag_simpleshape_redcircle";
|
||||
actionTitle = "Red Circle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_redcircle_co.paa";
|
||||
};
|
||||
class RedOctagon {
|
||||
actionID = "flag_simpleshape_redoctagon";
|
||||
actionTitle = "Red Octagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_redoctagon_co.paa";
|
||||
};
|
||||
class RedPentagon {
|
||||
actionID = "flag_simpleshape_redpentagon";
|
||||
actionTitle = "Red Pentagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_redpentagon_co.paa";
|
||||
};
|
||||
class RedSquare {
|
||||
actionID = "flag_simpleshape_redsquare";
|
||||
actionTitle = "Red Square";
|
||||
texture = "textures\simple_shape\flag_simpleshape_redsquare_co.paa";
|
||||
};
|
||||
class RedTriangle {
|
||||
actionID = "flag_simpleshape_redtriangle";
|
||||
actionTitle = "Red Triangle";
|
||||
texture = "textures\simple_shape\flag_simpleshape_redtriangle_co.paa";
|
||||
};
|
||||
class RedPentagon {
|
||||
actionID = "flag_simpleshape_redpentagon";
|
||||
actionTitle = "Red Pentagon";
|
||||
texture = "textures\simple_shape\flag_simpleshape_redpentagon_co.paa";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -96,10 +96,6 @@ class CfgFunctions {
|
||||
#include "custom_scripts.hpp"
|
||||
};
|
||||
|
||||
class CfgSounds {
|
||||
#include "custom_sounds.hpp"
|
||||
};
|
||||
|
||||
class CfgLeaflets {
|
||||
#include "custom_leaflets.hpp"
|
||||
};
|
||||
|
||||
@@ -120,7 +120,6 @@ class DOUBLES(PREFIX,performance) {
|
||||
class addServerStatsPFH {};
|
||||
class calculateServerStats {};
|
||||
class addEmptyGroupCleanupPFH {};
|
||||
class addDeadUnitCleanupPFH {};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -175,8 +174,6 @@ class DOUBLES(PREFIX,vehicleFlags) {
|
||||
class addFlagActions {};
|
||||
class draw3D {};
|
||||
class getActionsFlagCategories {};
|
||||
class compileFlagAction {};
|
||||
class compileFlagCategoryAction {};
|
||||
class getVehicleFlagsCfg {};
|
||||
class isClassExcluded {};
|
||||
};
|
||||
|
||||
@@ -21,37 +21,6 @@ _curators = allMissionObjects "ModuleCurator_F";
|
||||
_x removeCuratorAddons ["A3_Modules_F_Curator_Lightning"];
|
||||
} foreach _curators;
|
||||
|
||||
// add dead unit time marking for custom garbage cleanup function
|
||||
addMissionEventHandler ["EntityKilled", {
|
||||
params ["_unit", "_killer", "_instigator", "_useEffects"];
|
||||
|
||||
if not (_unit isKindOf "CAManBase") exitWith {};
|
||||
|
||||
_unit setVariable["milsim_death_time", time];
|
||||
|
||||
_unit addEventHandler ["Deleted", {
|
||||
params ["_entity"];
|
||||
_remainsCollector = _entity getVariable["milsim_garbage_collected", false];
|
||||
_decayTime = time - (_entity getVariable ["milsim_death_time", time]);
|
||||
|
||||
_i = allUsers select { (getUserInfo _x)#1 isEqualTo _ownerId;};
|
||||
_owner = if ( _i isEqualTo []) then [ { "server" }, { (getUserInfo (_i#0))#3 }];
|
||||
|
||||
diag_log format["isServer: %5, deleted object owned by: %1 via remainsCollector: %2 after %3 seconds of type: %4", _owner, str (not _remainsCollector), _decayTime, _entity, isServer];
|
||||
}];
|
||||
}];
|
||||
|
||||
|
||||
// add zeus deletion logging to curator objects
|
||||
{
|
||||
_x addEventHandler ["CuratorObjectDeleted", {
|
||||
params ["_curator", "_entity"];
|
||||
|
||||
_decayTime = time - (_entity getVariable ["milsim_death_time", time]);
|
||||
diag_log format["deleted object: %1 via curator: %2 after %3 seconds", _entity, name _curator, _decayTime];
|
||||
}];
|
||||
} foreach _curators;
|
||||
|
||||
// declare init complete to other modules
|
||||
missionNamespace setVariable [QGVARMAIN(complete), true, true];
|
||||
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
#include "..\script_component.hpp"
|
||||
|
||||
//---------------------
|
||||
// Garbage Collection
|
||||
//---------------------
|
||||
|
||||
[
|
||||
QGVAR(emptyGroupCleanup_enable),
|
||||
"CHECKBOX",
|
||||
@@ -26,28 +22,6 @@
|
||||
}
|
||||
] call CBA_fnc_addSetting;
|
||||
|
||||
[
|
||||
QGVAR(deadUnitCleanup_enable),
|
||||
"CHECKBOX",
|
||||
"Dead Unit Cleanup Enabled",
|
||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
||||
true,
|
||||
true,
|
||||
{
|
||||
params ["_value"];
|
||||
[
|
||||
QGVAR(deadUnitCleanup_enable),
|
||||
_value
|
||||
] call EFUNC(common,logSettingChanged);
|
||||
|
||||
if (!isNull (missionNamespace getVariable [QGVAR(deadUnitCleanupPFH), locationNull])) then {
|
||||
deleteLocation GVAR(deadUnitCleanupPFH);
|
||||
};
|
||||
|
||||
call FUNC(addDeadUnitCleanupPFH);
|
||||
}
|
||||
] call CBA_fnc_addSetting;
|
||||
|
||||
//---------------------
|
||||
// Server CPS
|
||||
//---------------------
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
#include "..\script_component.hpp"
|
||||
|
||||
[
|
||||
LEVEL_INFO,
|
||||
QUOTE(COMPONENT),
|
||||
"Initializing dead unit deletion PFH",
|
||||
[]
|
||||
] call EFUNC(common,log);
|
||||
|
||||
GVAR(deadUnitCleanupPFH) = [
|
||||
{
|
||||
_maxTime = getMissionConfigValue ["corpseRemovalMaxTime", 300] * 1.5;
|
||||
_maxDead = getMissionConfigValue ["corpseLimit", 80];
|
||||
|
||||
// _dead = allDead select { (_x isKindOf "CAManBase") and ( ( (time - (_x getVariable ["milsim_death_time", time] ) ) > (_maxTime * 1.5) ) ) };
|
||||
// _dead = _dead apply { [ (time - (_x getVariable ["milsim_death_time", time] ) ), _x ] };
|
||||
|
||||
_dead = [];
|
||||
{
|
||||
if not (_x isKindOf "CAManBase") then { continue };
|
||||
if not (isInRemainsCollector _x) then { continue };
|
||||
_dead pushBack [time - (_x getVariable ["milsim_death_time", time] ), _x];
|
||||
} forEach allDead;
|
||||
|
||||
_dead sort false;
|
||||
_toDelete = 0 max ( (count _dead ) - _maxDead );
|
||||
_dead = _dead select [0, _toDelete];
|
||||
{
|
||||
_unit = _x#1;
|
||||
_unit setVariable ["milsim_garbage_collected", true];
|
||||
deleteVehicle (_unit);
|
||||
} foreach _dead;
|
||||
},
|
||||
450,
|
||||
[],
|
||||
{ // on creation
|
||||
[
|
||||
LEVEL_INFO,
|
||||
QUOTE(COMPONENT),
|
||||
"dead unit deletion PFH loaded",
|
||||
[]
|
||||
] call EFUNC(common,log);
|
||||
},
|
||||
{ // on deletion
|
||||
[
|
||||
LEVEL_INFO,
|
||||
QUOTE(COMPONENT),
|
||||
"dead unit deletion PFH unloaded",
|
||||
[]
|
||||
] call EFUNC(common,log);
|
||||
},
|
||||
{ (missionNamespace getVariable [QGVAR(deadUnitCleanup_enable), false]) },
|
||||
{ false },
|
||||
[]
|
||||
] call CBA_fnc_createPerFrameHandlerObject;
|
||||
@@ -14,7 +14,7 @@ localNamespace setVariable [QGVAR(checkReinsertQueueClassesAdded), []];
|
||||
localNamespace setVariable [QGVAR(lastReinsertQueueCheck), diag_tickTime];
|
||||
|
||||
// add actions to pilot classes, and don't apply to child classes
|
||||
// [["B_Helipilot_F", "B_helicrew_F"], false] call FUNC(addCheckQueueSelfAction);
|
||||
[["B_Helipilot_F", "B_helicrew_F"], false] call FUNC(addCheckQueueSelfAction);
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ if (isNil "_items") exitWith {
|
||||
[_box,1] call ace_cargo_fnc_setSize;
|
||||
|
||||
// ignore weight restrictions for carry/drag
|
||||
_box setVariable ["ace_dragging_ignoreWeightCarry", true, true];
|
||||
_box setVariable ["ace_ignoreWeightCarry", true, true];
|
||||
|
||||
// Return the box
|
||||
_box;
|
||||
@@ -1,40 +0,0 @@
|
||||
#include "..\script_component.hpp"
|
||||
|
||||
params ["_target", "_player", "_params", "_flagOptionCfg"];
|
||||
_params params ["_rootActionID", "_flagCategoryActionID", "_flagSubclassesCfgs"];
|
||||
|
||||
private _flagOptionID = getText(_flagOptionCfg >> "actionID");
|
||||
private _flagOptionTitle = getText(_flagOptionCfg >> "actionTitle");
|
||||
private _flagOptionTexture = getText(_flagOptionCfg >> "texture");
|
||||
|
||||
// if the texture doesn't exist at the config path, skip this flag option
|
||||
if (not (fileExists _flagOptionTexture)) then {
|
||||
diag_log format ["WARN: Flag option texture not found: %1", _flagOptionTexture];
|
||||
continue
|
||||
};
|
||||
|
||||
// diag_log format ["NewFlagOption: %1 %2", _flagOptionID, _flagOptionData];
|
||||
|
||||
private _newFlagOption = [
|
||||
|
||||
_rootActionID + "_" + _flagCategoryActionID + "_" + _flagOptionID, // id
|
||||
_flagOptionTitle, // displayed title
|
||||
_flagOptionTexture, // flag icon
|
||||
{
|
||||
params ["_target", "_player", "_params"];
|
||||
_params params ["_flagOptionTexture"];
|
||||
_target forceFlagTexture _flagOptionTexture;
|
||||
}, // statement
|
||||
{
|
||||
params ["_target", "_player", "_params"];
|
||||
alive _target;
|
||||
// true;
|
||||
}, // condition
|
||||
nil, // child code
|
||||
[_flagOptionTexture], // params
|
||||
nil, // position
|
||||
4, // distance
|
||||
[false, false, false, false, false] // other params
|
||||
] call ace_interact_menu_fnc_createAction;
|
||||
|
||||
_newFlagOption;
|
||||
@@ -1,54 +0,0 @@
|
||||
#include "..\script_component.hpp"
|
||||
|
||||
// diag_log format ["NewFlagCategory: %1 %2", _flagCategory, _flagOptions];
|
||||
|
||||
params ["_rootActionID", "_flagCategoryCfg"];
|
||||
private _flagCategoryActionID = getText(_flagCategoryCfg >> "actionID");
|
||||
private _flagCategoryTitle = getText(_flagCategoryCfg >> "actionTitle");
|
||||
|
||||
private _flagSubclassesCfgs = _flagCategoryCfg call BIS_fnc_returnChildren;
|
||||
|
||||
private _flagCategoryAction = [
|
||||
_rootActionID + "_" + _flagCategoryActionID, // id
|
||||
_flagCategoryTitle, // displayed title
|
||||
getText((_flagSubclassesCfgs#0) >> "texture"), // flag icon for category - use first flag option
|
||||
{true}, // statement
|
||||
{
|
||||
params ["_target", "_player", "_params"];
|
||||
alive _target;
|
||||
// true;
|
||||
}, // condition
|
||||
{
|
||||
// generate child code under category
|
||||
// this is the level where actual flag options will be displayed
|
||||
params ["_target", "_player", "_params"];
|
||||
// these params are passed from the parent action
|
||||
_params params ["_rootActionID", "_flagCategoryActionID", "_flagSubclassesCfgs"];
|
||||
|
||||
private _individualFlagActions = [];
|
||||
{ // forEach _flagSubclassesCfgs; // we'll generate flag options for each category
|
||||
private _flagOptionCfg = _x;
|
||||
|
||||
// generate flag option for this flag option
|
||||
private _newFlagOption = [
|
||||
_target,
|
||||
_player,
|
||||
_params,
|
||||
_flagOptionCfg
|
||||
] call FUNC(compileFlagAction);
|
||||
|
||||
// add flag option to category subactions
|
||||
_individualFlagActions pushBack [_newFlagOption, [], _target];
|
||||
} forEach _flagSubclassesCfgs;
|
||||
|
||||
// return the generated flag options to the category as child actions
|
||||
_individualFlagActions;
|
||||
}, // child code
|
||||
[_rootActionID, _flagCategoryActionID, _flagSubclassesCfgs], // params
|
||||
nil, // position
|
||||
4, // distance
|
||||
[false, false, false, false, false], // other params
|
||||
nil // modifier function code
|
||||
] call ace_interact_menu_fnc_createAction;
|
||||
|
||||
_flagCategoryAction;
|
||||
@@ -5,25 +5,86 @@
|
||||
0: STRING - Parent action ID
|
||||
1: ARRAY - Flag category configs
|
||||
*/
|
||||
#include "..\script_component.hpp"
|
||||
|
||||
params ["_rootActionID", "_flagCategoryCfgs"];
|
||||
|
||||
private _allCategoryActions = [];
|
||||
|
||||
{
|
||||
_flagCategoryActions = [];
|
||||
if (configName _x == "SimpleShapes") then {
|
||||
// diag_log format ["NewFlagCategory: %1 %2", _flagCategory, _flagOptions];
|
||||
|
||||
private _flagCategoryCfg = _x;
|
||||
private _flagCategoryActionID = getText(_flagCategoryCfg >> "actionID");
|
||||
private _flagCategoryTitle = getText(_flagCategoryCfg >> "actionTitle");
|
||||
|
||||
private _flagSubclassesCfgs = _flagCategoryCfg call BIS_fnc_returnChildren;
|
||||
|
||||
private _flagCategoryAction = [
|
||||
_rootActionID + "_" + _flagCategoryActionID, // id
|
||||
_flagCategoryTitle, // displayed title
|
||||
getText((_flagSubclassesCfgs#0) >> "texture"), // flag icon for category - use first flag option
|
||||
{true}, // statement
|
||||
{
|
||||
_flagCategoryActions pushBack ([_rootActionID, _x] call FUNC(compileFlagCategoryAction));
|
||||
} forEach (_x call BIS_fnc_returnChildren);
|
||||
} else {
|
||||
_flagCategoryActions pushBack ([_rootActionID, _x] call FUNC(compileFlagCategoryAction));
|
||||
};
|
||||
params ["_target", "_player", "_params"];
|
||||
alive _target;
|
||||
// true;
|
||||
}, // condition
|
||||
{
|
||||
// generate child code under category
|
||||
// this is the level where actual flag options will be displayed
|
||||
params ["_target", "_player", "_params"];
|
||||
_params params ["_rootActionID", "_flagCategoryActionID", "_flagSubclassesCfgs"];
|
||||
|
||||
private _individualFlagActions = [];
|
||||
{ // forEach _flagSubclassesCfgs;
|
||||
private _flagOptionCfg = _x;
|
||||
private _flagOptionID = getText(_flagOptionCfg >> "actionID");
|
||||
private _flagOptionTitle = getText(_flagOptionCfg >> "actionTitle");
|
||||
private _flagOptionTexture = getText(_flagOptionCfg >> "texture");
|
||||
|
||||
// if the texture doesn't exist at the config path, skip this flag option
|
||||
if (not (fileExists _flagOptionTexture)) then {continue};
|
||||
|
||||
// diag_log format ["NewFlagOption: %1 %2", _flagOptionID, _flagOptionData];
|
||||
|
||||
private _newFlagOption = [
|
||||
|
||||
_rootActionID + "_" + _flagCategoryActionID + "_" + _flagOptionID, // id
|
||||
_flagOptionTitle, // displayed title
|
||||
_flagOptionTexture, // flag icon
|
||||
{
|
||||
params ["_target", "_player", "_params"];
|
||||
_params params ["_flagOptionTexture"];
|
||||
_target forceFlagTexture _flagOptionTexture;
|
||||
}, // statement
|
||||
{
|
||||
params ["_target", "_player", "_params"];
|
||||
alive _target;
|
||||
// true;
|
||||
}, // condition
|
||||
nil, // child code
|
||||
[_flagOptionTexture], // params
|
||||
nil, // position
|
||||
4, // distance
|
||||
[false, false, false, false, false] // other params
|
||||
] call ace_interact_menu_fnc_createAction;
|
||||
|
||||
// add flag option to category subactions
|
||||
_individualFlagActions pushBack [_newFlagOption, [], _target];
|
||||
} forEach _flagSubclassesCfgs;
|
||||
|
||||
// return the generated flag options to the category as child actions
|
||||
_individualFlagActions;
|
||||
}, // child code
|
||||
[_rootActionID, _flagCategoryActionID, _flagSubclassesCfgs], // params
|
||||
nil, // position
|
||||
4, // distance
|
||||
[false, false, false, false, false], // other params
|
||||
nil // modifier function code
|
||||
] call ace_interact_menu_fnc_createAction;
|
||||
|
||||
// add category to all category actions array
|
||||
{
|
||||
_allCategoryActions pushBack [_x, [], _target];
|
||||
} forEach _flagCategoryActions;
|
||||
_allCategoryActions pushBack [_flagCategoryAction, [], _target];
|
||||
} forEach _flagCategoryCfgs;
|
||||
|
||||
_allCategoryActions;
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user