diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/def/mission.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/def/mission.sqf
index cf22e5a2e..a932a03ae 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/def/mission.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/def/mission.sqf
@@ -1,8 +1,8 @@
btc_version = [
1,
- 24,
- 4
+ 25,
+ 0
];
diag_log format (["=BTC= HEARTS AND MINDS VERSION %1.%2.%3"] + btc_version);
@@ -24,7 +24,8 @@ btc_p_change_weather = ("btc_p_change_weather" call BIS_fnc_getParamValue) isEqu
//<< Respawn options >>
btc_p_respawn_location = "btc_p_respawn_location" call BIS_fnc_getParamValue;
-btc_p_respawn_fromFOBToBase = ("btc_p_respawn_fromFOBToBase" call BIS_fnc_getParamValue) isEqualTo 1;
+btc_p_respawn_fromOutsideBase = "btc_p_respawn_fromOutsideBase" call BIS_fnc_getParamValue;
+btc_p_respawn_fromOutsideTimeout = "btc_p_respawn_fromOutsideTimeout" call BIS_fnc_getParamValue;
btc_p_rallypointTimer = "btc_p_rallypointTimer" call BIS_fnc_getParamValue;
btc_p_respawn_arsenal = ("btc_p_respawn_arsenal" call BIS_fnc_getParamValue) isEqualTo 1;
btc_p_respawn_ticketsAtStart = "btc_p_respawn_ticketsAtStart" call BIS_fnc_getParamValue;
@@ -83,7 +84,8 @@ btc_p_civ_max_veh = "btc_p_civ_max_veh" call BIS_fnc_getParamValue;
//<< Gameplay options >>
btc_p_sea = ("btc_p_sea" call BIS_fnc_getParamValue) isEqualTo 1;
-btc_p_chem = ("btc_p_chem" call BIS_fnc_getParamValue) isEqualTo 1;
+btc_p_chem_sides = ("btc_p_chem_sides" call BIS_fnc_getParamValue) isEqualTo 1;
+btc_p_chem_cache_probability = ("btc_p_chem_cache_probability" call BIS_fnc_getParamValue)/100;
btc_p_spect = ("btc_p_spect" call BIS_fnc_getParamValue) isEqualTo 1;
btc_p_side_mission_cycle = "btc_p_side_mission_cycle" call BIS_fnc_getParamValue;
@@ -218,6 +220,7 @@ if (isServer) then {
btc_type_bigbox = ["Box_FIA_Ammo_F", "Box_East_AmmoVeh_F", "CargoNet_01_box_F", "O_CargoNet_01_ammo_F"] + btc_type_Scrapyard;
btc_type_seat = ["Land_WoodenLog_F", "Land_CampingChair_V2_F", "Land_CampingChair_V1_folded_F", "Land_CampingChair_V1_F"];
btc_type_sleepingbag = _allClassSorted select {_x isKindOf "Land_Sleeping_bag_F"};
+ btc_type_sleepingbag_folded = _allClassSorted select {_x isKindOf "Land_Sleeping_bag_folded_F"};
btc_type_tent = ["Land_TentA_F", "Land_TentDome_F"] + (_allClassSorted select {
_x isKindOf "Land_TentSolar_01_base_F" &&
{!(_x isKindOf "Land_TentSolar_01_folded_base_F")}
@@ -227,9 +230,9 @@ if (isServer) then {
//Side
btc_side_ID = 0;
- btc_side_list = ["supply", "mines", "vehicle", "get_city", "tower", "civtreatment", "checkpoint", "convoy", "rescue", "capture_officer", "hostage", "hack", "kill", "EMP", "removeRubbish"]; // On ground (Side "convoy" and "capture_officer" are not design for map with different islands. Start and end city can be on different islands.)
+ btc_side_list = ["supply", "mines", "vehicle", "get_city", "tower", "civtreatment", "checkpoint", "convoy", "rescue", "capture_officer", "hostage", "hack", "kill", "EMP", "removeRubbish", "massacre"]; // On ground (Side "convoy" and "capture_officer" are not design for map with different islands. Start and end city can be on different islands.)
if (btc_p_sea) then {btc_side_list append ["civtreatment_boat", "underwater_generator"]}; // On sea
- if (btc_p_chem) then {btc_side_list append ["chemicalLeak", "pandemic"]};
+ if (btc_p_chem_sides) then {btc_side_list append ["chemicalLeak", "pandemic"]};
btc_side_list_use = [];
btc_type_tower = ["Land_Communication_F", "Land_TTowerBig_1_F", "Land_TTowerBig_2_F"];
btc_type_barrel = ["Land_GarbageBarrel_01_F", "Land_BarrelSand_grey_F", "MetalBarrel_burning_F", "Land_BarrelWater_F", "Land_MetalBarrel_F", "Land_MetalBarrel_empty_F"];
@@ -296,6 +299,8 @@ if (isServer) then {
btc_type_cargoEMP = _allClassSorted select {_x isKindOf "Cargo_EMP_base_F"};
btc_type_antenna = _allClassSorted select {_x isKindOf "OmniDirectionalAntenna_01_base_F"};
btc_type_solarPanel = _allClassSorted select {_x isKindOf "Land_SolarPanel_04_base_F"};
+ btc_type_sports = (_allClassSorted select {_x isKindOf "SportItems_base_F"}) select {"ball" in _x};
+ btc_type_bottles = (_allClassSorted select {_x isKindOf "Items_base_F"}) select {"Bottle" in _x and (not ("stack" in _x))};
// The two arrays below are prefixes of buildings and their multiplier.
// They will multiply the values of btc_rep_malus_building_destroyed and btc_rep_malus_building_damaged,
@@ -387,7 +392,7 @@ if (isServer) then {
//Civ
// Get all faction from mod there are currently running
//copyToClipboard str (["CIV"] call btc_fnc_get_class);
-private _allfaction = ["CIV_F","DEFAULT","CFP_C_AFG","CFP_C_AFRCHRISTIAN","CFP_C_AFRISLAMIC","CFP_C_ASIA","CFP_C_CHERNO_WIN","CFP_C_MALDEN","CFP_C_ME","CSLA_CIV","CUP_C_CHERNARUS","CUP_C_SAHRANI","CUP_C_TK","CUP_C_RU","CWR3_FACTION_CIV","GM_FC_GC_CIV","GM_FC_GE_CIV","LIB_CIV","OPTRE_UEG_CIV","CIV_IDAP_F","RDS_POL_CIV","RDS_RUS_CIV","SPE_CIV","UK3CB_ADC_C","UK3CB_CHC_C","UK3CB_MEC_C","UK3CB_TKC_C","UNSUNG_C","C_VIET"]; //All factions
+private _allfaction = ["AEGIS_CIV_LIV_F","AEGIS_CIV_GEN_F","AEGIS_CIV_MA_F","CIV_F","DEFAULT","CFP_C_AFG","CFP_C_AFRCHRISTIAN","CFP_C_AFRISLAMIC","CFP_C_ASIA","CFP_C_CHERNO_WIN","CFP_C_MALDEN","CFP_C_ME","CSLA_CIV","CUP_C_CHERNARUS","CUP_C_SAHRANI","CUP_C_TK","CUP_C_RU","CWR3_FACTION_CIV","AEGIS_CIV_HI_F","GM_FC_GC_CIV","GM_FC_GE_CIV","LIB_CIV","OPTRE_UEG_CIV","CIV_IDAP_F","RDS_POL_CIV","RDS_RUS_CIV","SPE_CIV","UK3CB_ADC_C","UK3CB_CHC_C","UK3CB_MEC_C","UK3CB_TKC_C","UNSUNG_C","C_VIET","AEGIS_CIV_ARG_F"]; //All factions
_p_civ = _allfaction select _p_civ; //Select faction selected from mission parameter
_p_civ_veh = _allfaction select _p_civ_veh; //Select faction selected from mission parameter
private _allclasse = [[_p_civ]] call btc_civ_fnc_class; //Create classes from factions, you can combine factions from the SAME side : [[_p_civ, "btc_ac","LOP_TAK_CIV"]] call btc_civ_fnc_class.
@@ -413,6 +418,7 @@ btc_fob_structure = "Land_Cargo_HQ_V1_F";
btc_fob_flag = "Flag_NATO_F";
btc_fob_id = 0;
btc_fob_minDistance = 1500;
+btc_fob_timeout = 1 * 60;
//IED
btc_type_ieds_ace = ["IEDLandBig_F", "IEDLandSmall_F"];
@@ -632,7 +638,7 @@ btc_lift_HUD_y = 0.848;
btc_hq = objNull;
// Get all faction from mod there are currently running
//copyToClipboard str (["EN"] call btc_fnc_get_class);
-private _allfaction = ["CSLA","AFMC","FIA","US85","AWAKENED","AFR_ARMY","AOA_CIV_OPERATIONS","ARA_ARMY","ARL_ARMY","BLU_F","BLU_EAF_F","IND_F","BLU_CTRG_F","OPF_G_F","IND_G_F","BLU_G_F","IND_C_F","IND_E_F","IND_L_F","CEC_ARMY","CFP_B_CAF","CFP_O_IQARMY","CFP_B_ILIDF","CFP_B_NAARMY","CFP_O_SDMILITIA","CFP_O_ABUSAYYAF","CFP_B_AFGPOLICE","CFP_O_ALQAEDA","CFP_I_ALNUSRA","CFP_O_ALSHABAAB","CFP_O_BOKOHARAM","CFP_O_CFREBELS","CFP_O_HAMAS","CFP_O_HEZBOLLAH","CFP_B_IQARMY","CFP_B_IQPOLICE","CFP_O_IRARMY","CFP_O_IS","CFP_I_IS","CFP_B_KEARMY","CFP_B_MLARMY","CFP_B_PESH","CFP_O_SOREBEL","CFP_I_SSARMY","CFP_O_SSREBELS","CFP_I_SDREBELS","CFP_I_SDREBELSRF","CFP_O_SDARMY","CFP_O_SYARMY","CFP_O_TBAN","CFP_I_TUAREG","CFP_B_UGARMY","CFP_B_USRANGERS_WDL","CFP_B_USSEALS_DES","CFP_B_USSEALS_WDL","CFP_B_YPG","CFP_O_ANSARALLAH","CFP_B_CZARMY_WDL","CFP_I_WESTULTRA","COL_FAC","COL","COL_RHS_FACTION_EJC","COL_FFAA_FUERZAS_MILITARES_DE_COLOMBIA","CUP_B_AFU","CUP_B_CZ","CUP_B_GB","CUP_B_CDF","CUP_O_CHDKZ","CUP_STATIC_SHIPS","CUP_I_NAPA","CUP_I_RACS","CUP_B_RNZN","CUP_O_RU","CUP_O_SLA","CUP_O_TK","CUP_O_TK_MILITIA","CUP_I_UN","CUP_B_US_ARMY","CUP_B_USMC","CUP_B_GER","CUP_B_HIL","CUP_I_PMC_ION","CUP_O_RUS_M","CFP_B_GBARMY_WDL","CFP_B_DEARMY_WDL","CUP_I_TK_GUE","CFP_B_USMC_DES","CFP_B_CDF_SNW","CFP_O_WAGNER","CFP_I_WAGNER","CFP_O_WAGNER_WIN","CFP_I_WAGNER_WIN","CFP_O_WAGNER_WDL","CFP_I_WAGNER_WDL","CFP_B_USARMY_1991_DES","CFP_B_USARMY_1991_WDL","CFP_B_USARMY_2003_DES","CFP_B_USARMY_2003_WDL","CFP_O_RUMVD","CFP_B_USCIA","CFP_B_USARMY_WDL","CFP_B_AFARMY","CFP_O_CHDKZ_SNW","CFP_O_RUARMY_DES","CWR3_FACTION_FIA","CWR3_FACTION_REBELS_EAST","CWR3_FACTION_REBELS_WEST","CWR3_FACTION_RUS","CWR3_FACTION_USA","CWR3_FACTION_USA_DES","O_FARCS","OPF_R_F","IND_E_ARD_F","BLU_A_TNA_F","BLU_A_F","BLU_A_WDL_F","OPF_R_ARD_F","BLU_GEN_F","OPF_V_F","BLU_CTRG_TNA_F","BLU_T_F","OPF_V_TNA_F","CFP_O_NKARMY","OPF_CD_F","FAP_ARMY","FOW_HEER","FOW_IJA_NAS","FOW_UK_FAA","FOW_USA_NAVY","FOW_WAFFENSS","FOW_AUS","FOW_LUFTWAFFE","FOW_HI","FOW_UK","FOW_USA_P","FOW_IJA","FOW_USA","FOW_USMC","GAL_ARMY","GANGBLUE_ARMY","GANGRED_ARMY","GM_FC_DK","GM_FC_GC_BGS","GM_FC_GC","GM_FC_PL","GM_FC_XX","GM_FC_GE_BGS","GM_FC_GE","O_TALIBAN","IBR_ZETABORN_FACTION","IBR_ROBOTFAC","IND_RAVEN_F","LIB_RKKA_W","LIB_WEHRMACHT_W","LIB_ARR","LIB_MKHL","LIB_RBAF","LIB_ACI","LIB_GUER","LIB_RAAF","LIB_RKKA","LIB_WEHRMACHT","LIB_US_101AB","LIB_US_82AB","LIB_UK_AB_W","LIB_UK_ARMY_W","LIB_US_ARMY_W","LIB_FSJ","LIB_UK_AB","LIB_UK_ARMY","LIB_UK_DR","LIB_US_ARMY","LIB_DAK","LIB_NKVD","LIB_US_RANGERS","LIB_NAC","LIB_FFI","BLU_UN_LXWS","BLU_W_F","MOL_ARMY","OPF_A_F","OPF_F","OPF_T_F","OPF_RAVEN_F","OPTRE_DME","OPTRE_INS","OPTRE_CAA","OPTRE_PD","OPTRE_UNSC","OPTRE_FC_COVENANT","I_COGUEEL_WLD","I_COGUEF_WDL","I_COPARA_WDL","O_COGUEPL_WDL","RHS_FACTION_VMF","RHS_FACTION_MSV","RHS_FACTION_RVA","RHS_FACTION_TV","RHS_FACTION_VDV","RHS_FACTION_VPVO","RHS_FACTION_VV","RHS_FACTION_VVS_C","RHS_FACTION_VVS","RHSSAF_FACTION_ARMY","RHSSAF_FACTION_ARMY_OPFOR","RHSSAF_FACTION_AIRFORCE_OPFOR","RHSSAF_FACTION_AIRFORCE","RHSSAF_FACTION_UN","B_COPOLICE_WDL","B_CONAVY_SNW","RHS_FACTION_USARMY_D","RHS_FACTION_USARMY_WD","RHS_FACTION_USN","RHS_FACTION_SOCOM","RHS_FACTION_USAF","RHS_FACTION_USMC_D","RHS_FACTION_USMC_WD","RHSGREF_FACTION_UN","RHSGREF_FACTION_NATIONALIST","RHSGREF_FACTION_TLA","RHSGREF_FACTION_TLA_G","RHSGREF_FACTION_CDF_GROUND","RHSGREF_FACTION_CDF_GROUND_B","SC_ARCHONSFACTION","SC_FACTION_AR","SC_FACTION_AC","SC_MDF","SC_FACTION_SE","SG_STURM","SG_STURMPANZER","SPE_FFI","SPE_FR_ARMY","SPE_MILICE","SPE_STURM","SPE_US_ARMY","SPE_WEHRMACHT","UK3CB_AAF_O","UK3CB_AAF_I","UK3CB_AAF_B","UK3CB_ANA_B","UK3CB_ANP_B","UK3CB_ADA_O","UK3CB_ADA_I","UK3CB_ADA_B","UK3CB_ADR_O","UK3CB_ADR_I","UK3CB_ADR_B","UK3CB_ADG_O","UK3CB_ADG_I","UK3CB_ADG_B","UK3CB_ADC_O","UK3CB_ADC_I","UK3CB_ADC_B","UK3CB_ADE_O","UK3CB_ADE_I","UK3CB_ADM_O","UK3CB_ADM_I","UK3CB_ADM_B","UK3CB_ADP_O","UK3CB_ADP_I","UK3CB_ADP_B","UK3CB_APD_O","UK3CB_APD_I","UK3CB_APD_B","UK3CB_ARD_O","UK3CB_ARD_I","UK3CB_ARD_B","UK3CB_CHD_O","UK3CB_CHD_W_O","UK3CB_CHD_B","UK3CB_CHD_W_B","UK3CB_CHD_I","UK3CB_CHD_W_I","UK3CB_CHC_O","UK3CB_CHC_I","UK3CB_CHC_B","UK3CB_CCM_O","UK3CB_CCM_B","UK3CB_CCM_I","UK3CB_CPD_O","UK3CB_CPD_I","UK3CB_CPD_B","UK3CB_CW_US_B_EARLY","UK3CB_CW_US_B_LATE","UK3CB_CW_SOV_O_EARLY","UK3CB_CW_SOV_O_LATE","UK3CB_CSAT_A_O","UK3CB_CSAT_W_O","UK3CB_CSAT_M_O","UK3CB_CSAT_B_O","UK3CB_CSAT_N_O","UK3CB_CSAT_F_O","UK3CB_CSAT_G_O","UK3CB_CSAT_U_O","UK3CB_CSAT_S_O","UK3CB_FIA_O","UK3CB_FIA_I","UK3CB_FIA_B","UK3CB_GAF_O","UK3CB_GAF_I","UK3CB_GAF_B","UK3CB_ION_O_DESERT","UK3CB_ION_I_DESERT","UK3CB_ION_B_DESERT","UK3CB_ION_O_URBAN","UK3CB_ION_I_URBAN","UK3CB_ION_B_URBAN","UK3CB_ION_O_WINTER","UK3CB_ION_I_WINTER","UK3CB_ION_B_WINTER","UK3CB_ION_O_WOODLAND","UK3CB_ION_I_WOODLAND","UK3CB_ION_B_WOODLAND","UK3CB_KRG_O","UK3CB_KRG_I","UK3CB_KRG_B","UK3CB_KDF_O","UK3CB_KDF_I","UK3CB_KDF_B","UK3CB_LDF_O","UK3CB_LDF_I","UK3CB_LDF_B","UK3CB_LFR_O","UK3CB_LFR_I","UK3CB_LFR_B","UK3CB_LSM_O","UK3CB_LSM_I","UK3CB_LSM_B","UK3CB_LNM_O","UK3CB_LNM_I","UK3CB_LNM_B","UK3CB_MDF_O","UK3CB_MDF_I","UK3CB_MDF_B","UK3CB_MEC_O","UK3CB_MEC_I","UK3CB_MEC_B","UK3CB_MEE_O","UK3CB_MEE_I","UK3CB_MEI_O","UK3CB_MEI_I","UK3CB_MEI_B","UK3CB_NAP_O","UK3CB_NAP_I","UK3CB_NAP_B","UK3CB_NFA_O","UK3CB_NFA_I","UK3CB_NFA_B","UK3CB_NPD_O","UK3CB_NPD_I","UK3CB_NPD_B","UK3CB_TKC_O","UK3CB_TKC_I","UK3CB_TKC_B","UK3CB_TKM_O","UK3CB_TKA_O","UK3CB_TKA_I","UK3CB_TKA_B","UK3CB_TKP_O","UK3CB_TKP_I","UK3CB_TKP_B","UK3CB_TKM_B","UK3CB_TKM_I","UK3CB_UN_I","UK3CB_UN_B","RHSGREF_FACTION_CDF_AIR","RHSGREF_FACTION_CDF_AIR_B","RHSGREF_FACTION_CDF_NG","RHSGREF_FACTION_CDF_NG_B","RHSGREF_FACTION_CHDKZ","RHSGREF_FACTION_CHDKZ_G","RHSGREF_FACTION_HIDF","UNSUNG_G","UNSUNG_AUS","UNSUNG_NZ","UNSUNG_ROK","UNSUNG_W","UNSUNG_EV","UNSUNG_E","I_ARVN","B_AUS","I_CAM","O_CAM","B_MACV","B_NZ","O_PL","O_PAVN","B_ROK","I_LAO","B_CIA","B_MEDT","O_VC","B_COARMY_WDL","OPF_GEN_F","BLU_ION_LXWS","OPF_SFIA_LXWS","OPF_TURA_LXWS","IND_TURA_LXWS","BLU_TURA_LXWS","BLU_NATO_LXWS"]; //All factions
+private _allfaction = ["AWAKENED","AFR_ARMY","AOA_CIV_OPERATIONS","ARA_ARMY","ARL_ARMY","BLU_F","BLU_EAF_ARD_F","BLU_EAF_F","IND_F","BLU_CTRG_F","OPF_G_F","IND_G_F","BLU_G_F","IND_C_F","IND_E_F","IND_L_F","CEC_ARMY","CFP_B_CAF","CFP_O_IQARMY","CFP_B_ILIDF","CFP_B_NAARMY","CFP_O_SDMILITIA","CFP_O_ABUSAYYAF","CFP_B_AFGPOLICE","CFP_O_ALQAEDA","CFP_I_ALNUSRA","CFP_O_ALSHABAAB","CFP_O_BOKOHARAM","CFP_O_CFREBELS","CFP_O_HAMAS","CFP_O_HEZBOLLAH","CFP_B_IQARMY","CFP_B_IQPOLICE","CFP_O_IRARMY","CFP_O_IS","CFP_I_IS","CFP_B_KEARMY","CFP_B_MLARMY","CFP_B_PESH","CFP_O_SOREBEL","CFP_I_SSARMY","CFP_O_SSREBELS","CFP_I_SDREBELS","CFP_I_SDREBELSRF","CFP_O_SDARMY","CFP_O_SYARMY","CFP_O_TBAN","CFP_I_TUAREG","CFP_B_UGARMY","CFP_B_USRANGERS_WDL","CFP_B_USSEALS_DES","CFP_B_USSEALS_WDL","CFP_B_YPG","CFP_O_ANSARALLAH","CFP_B_CZARMY_WDL","CFP_I_WESTULTRA","COL_FAC","COL","COL_RHS_FACTION_EJC","COL_FFAA_FUERZAS_MILITARES_DE_COLOMBIA","CSLA_DES","AFMC","CSLA","FIA","US85","CUP_B_AFU","CUP_B_CZ","CUP_B_GB","CUP_B_CDF","CUP_O_CHDKZ","CUP_STATIC_SHIPS","CUP_I_NAPA","CUP_I_RACS","CUP_B_RNZN","CUP_O_RU","CUP_O_SLA","CUP_O_TK","CUP_O_TK_MILITIA","CUP_I_UN","CUP_B_US_ARMY","CUP_B_USMC","CUP_B_GER","CUP_B_HIL","CUP_I_PMC_ION","CUP_O_RUS_M","CFP_B_GBARMY_WDL","CFP_B_DEARMY_WDL","CUP_I_TK_GUE","CFP_B_USMC_DES","CFP_B_CDF_SNW","CFP_O_WAGNER","CFP_I_WAGNER","CFP_O_WAGNER_WIN","CFP_I_WAGNER_WIN","CFP_O_WAGNER_WDL","CFP_I_WAGNER_WDL","CFP_B_USARMY_1991_DES","CFP_B_USARMY_1991_WDL","CFP_B_USARMY_2003_DES","CFP_B_USARMY_2003_WDL","CFP_O_RUMVD","CFP_B_USCIA","CFP_B_USARMY_WDL","CFP_B_AFARMY","CFP_O_CHDKZ_SNW","CFP_O_RUARMY_DES","CWR3_FACTION_FIA","CWR3_FACTION_REBELS_EAST","CWR3_FACTION_REBELS_WEST","CWR3_FACTION_RUS","CWR3_FACTION_USA","CWR3_FACTION_USA_DES","O_FARCS","OPF_R_F","BLU_A_TNA_F","BLU_A_WDL_F","OPF_R_ARD_F","BLU_GEN_F","OPF_V_F","BLU_CTRG_TNA_F","OPF_V_TNA_F","CFP_O_NKARMY","OPF_CD_F","FAP_ARMY","FIA_DES","FOW_HEER","FOW_IJA_NAS","FOW_UK_FAA","FOW_USA_NAVY","FOW_WAFFENSS","FOW_AUS","FOW_LUFTWAFFE","FOW_HI","FOW_UK","FOW_USA_P","FOW_IJA","FOW_USA","FOW_USMC","GAL_ARMY","GANGBLUE_ARMY","GANGRED_ARMY","GM_FC_DK","GM_FC_GC_BGS","GM_FC_GC","GM_FC_PL","GM_FC_XX","GM_FC_GE_BGS","GM_FC_GE","O_TALIBAN","IBR_ZETABORN_FACTION","IBR_ROBOTFAC","IND_RAVEN_F","IND_E_ARD_F","LIB_RKKA_W","LIB_WEHRMACHT_W","LIB_ARR","LIB_MKHL","LIB_RBAF","LIB_ACI","LIB_GUER","LIB_RAAF","LIB_RKKA","LIB_WEHRMACHT","LIB_US_101AB","LIB_US_82AB","LIB_UK_AB_W","LIB_UK_ARMY_W","LIB_US_ARMY_W","LIB_FSJ","LIB_UK_AB","LIB_UK_ARMY","LIB_UK_DR","LIB_US_ARMY","LIB_DAK","LIB_NKVD","LIB_US_RANGERS","LIB_NAC","LIB_FFI","BLU_UN_LXWS","BLU_W_F","MOL_ARMY","OPF_A_F","OPF_F","OPF_T_F","OPF_RAVEN_F","OPTRE_DME","OPTRE_INS","OPTRE_CAA","OPTRE_PD","OPTRE_UNSC","OPTRE_FC_COVENANT","I_COGUEEL_WLD","I_COGUEF_WDL","I_COPARA_WDL","O_COGUEPL_WDL","BLU_A_F","BLU_T_F","RHS_FACTION_VMF","RHS_FACTION_MSV","RHS_FACTION_RVA","RHS_FACTION_TV","RHS_FACTION_VDV","RHS_FACTION_VPVO","RHS_FACTION_VV","RHS_FACTION_VVS_C","RHS_FACTION_VVS","RHSSAF_FACTION_ARMY","RHSSAF_FACTION_ARMY_OPFOR","RHSSAF_FACTION_AIRFORCE_OPFOR","RHSSAF_FACTION_AIRFORCE","RHSSAF_FACTION_UN","B_COPOLICE_WDL","B_CONAVY_SNW","RHS_FACTION_USARMY_D","RHS_FACTION_USARMY_WD","RHS_FACTION_USN","RHS_FACTION_SOCOM","RHS_FACTION_USAF","RHS_FACTION_USMC_D","RHS_FACTION_USMC_WD","RHSGREF_FACTION_UN","RHSGREF_FACTION_NATIONALIST","RHSGREF_FACTION_TLA","RHSGREF_FACTION_TLA_G","RHSGREF_FACTION_CDF_GROUND","RHSGREF_FACTION_CDF_GROUND_B","SC_ARCHONSFACTION","SC_FACTION_AR","SC_FACTION_AC","SC_MDF","SC_FACTION_SE","SG_STURM","SG_STURMPANZER","SPE_FFI","SPE_FR_ARMY","SPE_MILICE","SPE_STURM","SPE_US_ARMY","SPE_WEHRMACHT","UK3CB_AAF_O","UK3CB_AAF_I","UK3CB_AAF_B","UK3CB_ANA_B","UK3CB_ANP_B","UK3CB_ADA_O","UK3CB_ADA_I","UK3CB_ADA_B","UK3CB_ADR_O","UK3CB_ADR_I","UK3CB_ADR_B","UK3CB_ADG_O","UK3CB_ADG_I","UK3CB_ADG_B","UK3CB_ADC_O","UK3CB_ADC_I","UK3CB_ADC_B","UK3CB_ADE_O","UK3CB_ADE_I","UK3CB_ADM_O","UK3CB_ADM_I","UK3CB_ADM_B","UK3CB_ADP_O","UK3CB_ADP_I","UK3CB_ADP_B","UK3CB_APD_O","UK3CB_APD_I","UK3CB_APD_B","UK3CB_ARD_O","UK3CB_ARD_I","UK3CB_ARD_B","UK3CB_CHD_O","UK3CB_CHD_W_O","UK3CB_CHD_B","UK3CB_CHD_W_B","UK3CB_CHD_I","UK3CB_CHD_W_I","UK3CB_CHC_O","UK3CB_CHC_I","UK3CB_CHC_B","UK3CB_CCM_O","UK3CB_CCM_B","UK3CB_CCM_I","UK3CB_CPD_O","UK3CB_CPD_I","UK3CB_CPD_B","UK3CB_CW_US_B_EARLY","UK3CB_CW_US_B_LATE","UK3CB_CW_SOV_O_EARLY","UK3CB_CW_SOV_O_LATE","UK3CB_CSAT_A_O","UK3CB_CSAT_W_O","UK3CB_CSAT_M_O","UK3CB_CSAT_B_O","UK3CB_CSAT_N_O","UK3CB_CSAT_F_O","UK3CB_CSAT_G_O","UK3CB_CSAT_U_O","UK3CB_CSAT_S_O","UK3CB_FIA_O","UK3CB_FIA_I","UK3CB_FIA_B","UK3CB_GAF_O","UK3CB_GAF_I","UK3CB_GAF_B","UK3CB_ION_O_DESERT","UK3CB_ION_I_DESERT","UK3CB_ION_B_DESERT","UK3CB_ION_O_URBAN","UK3CB_ION_I_URBAN","UK3CB_ION_B_URBAN","UK3CB_ION_O_WINTER","UK3CB_ION_I_WINTER","UK3CB_ION_B_WINTER","UK3CB_ION_O_WOODLAND","UK3CB_ION_I_WOODLAND","UK3CB_ION_B_WOODLAND","UK3CB_KRG_O","UK3CB_KRG_I","UK3CB_KRG_B","UK3CB_KDF_O","UK3CB_KDF_I","UK3CB_KDF_B","UK3CB_LDF_O","UK3CB_LDF_I","UK3CB_LDF_B","UK3CB_LFR_O","UK3CB_LFR_I","UK3CB_LFR_B","UK3CB_LSM_O","UK3CB_LSM_I","UK3CB_LSM_B","UK3CB_LNM_O","UK3CB_LNM_I","UK3CB_LNM_B","UK3CB_MDF_O","UK3CB_MDF_I","UK3CB_MDF_B","UK3CB_MEC_O","UK3CB_MEC_I","UK3CB_MEC_B","UK3CB_MEE_O","UK3CB_MEE_I","UK3CB_MEI_O","UK3CB_MEI_I","UK3CB_MEI_B","UK3CB_NAP_O","UK3CB_NAP_I","UK3CB_NAP_B","UK3CB_NFA_O","UK3CB_NFA_I","UK3CB_NFA_B","UK3CB_NPD_O","UK3CB_NPD_I","UK3CB_NPD_B","UK3CB_TKC_O","UK3CB_TKC_I","UK3CB_TKC_B","UK3CB_TKM_O","UK3CB_TKA_O","UK3CB_TKA_I","UK3CB_TKA_B","UK3CB_TKP_O","UK3CB_TKP_I","UK3CB_TKP_B","UK3CB_TKM_B","UK3CB_TKM_I","UK3CB_UN_I","UK3CB_UN_B","RHSGREF_FACTION_CDF_AIR","RHSGREF_FACTION_CDF_AIR_B","RHSGREF_FACTION_CDF_NG","RHSGREF_FACTION_CDF_NG_B","RHSGREF_FACTION_CHDKZ","RHSGREF_FACTION_CHDKZ_G","RHSGREF_FACTION_HIDF","UNSUNG_G","UNSUNG_AUS","UNSUNG_NZ","UNSUNG_ROK","UNSUNG_W","UNSUNG_EV","UNSUNG_E","US85_DES","I_ARVN","B_AUS","I_CAM","O_CAM","B_MACV","B_NZ","O_PL","O_PAVN","B_ROK","I_LAO","B_CIA","B_MEDT","O_VC","B_COARMY_WDL","OPF_GEN_F","BLU_ION_LXWS","OPF_SFIA_LXWS","OPF_TURA_LXWS","IND_TURA_LXWS","BLU_TURA_LXWS","BLU_NATO_LXWS"]; //All factions
_p_en = _allfaction select _p_en; //Select faction selected from mission parameter
_allclasse = [[_p_en], _p_en_AA, _p_en_tank] call btc_mil_fnc_class; //Create classes from factions, you can combine factions like that: [[_p_en , "IND_F"], _p_en_AA, _p_en_tank] call btc_mil_fnc_class;
@@ -687,6 +693,7 @@ btc_rep_bonus_IEDCleanUp = 10;
btc_rep_bonus_removeTag = 3;
btc_rep_bonus_removeTagLetter = 0.5;
btc_rep_bonus_foodGive = 0.5;
+btc_rep_bonus_grave = 5;
btc_rep_malus_civ_hd = - 2;
btc_rep_malus_animal_hd = - 1;
@@ -720,7 +727,7 @@ btc_flag_textures = [
"\A3\Data_F\Flags\flag_red_CO.paa",
"\A3\Data_F\Flags\flag_green_CO.paa",
"\A3\Data_F\Flags\flag_blue_CO.paa",
- '#(argb,8,8,3)color(0.9,0.9,0,1)',
+ "z\ace\addons\flags\data\Flag_yellow_co.paa",
"\A3\Data_F\Flags\flag_NATO_CO.paa"
];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/def/param.hpp b/=BTC=co@30_Hearts_and_Minds.Altis/core/def/param.hpp
index 8521a0c17..19c53ced1 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/def/param.hpp
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/def/param.hpp
@@ -77,18 +77,24 @@ class Params {
texts[]={""};
default = 0;
};
+ class btc_p_respawn_fromOutsideBase { // Enable respawn menu access from outside the base:
+ title = __EVAL(format [" %1", localize "STR_BTC_HAM_RESP_OUTSIDEBASE"]);
+ values[]={0,1,2,3,4,5};
+ texts[]={$STR_DISABLED, $STR_BTC_HAM_RESP_FOB, $STR_BTC_HAM_RESP_FOBHELO, $STR_BTC_HAM_RESP_FOBHELI, $STR_BTC_HAM_RESP_FOBHELIVEHI, $STR_BTC_HAM_RESP_FOBHELIVEHIPLAYER};
+ default = 0;
+ };
+ class btc_p_respawn_fromOutsideTimeout { // Add a 1 min timeout for accessing the respawn menu for:
+ title = __EVAL(format [" %1", localize "STR_BTC_HAM_RESP_OUTSIDETIMEOUT"]);
+ values[]={0,1,2,3,4,5};
+ texts[]={$STR_DISABLED, $STR_BTC_HAM_RESP_TIMEOUTPLAYER, $STR_BTC_HAM_RESP_TIMEOUTVEHIPLAYER, $STR_BTC_HAM_RESP_TIMEOUTHELIVEHIPLAYER, $STR_BTC_HAM_RESP_TIMEOUTFOBHELOVEHIPLAYER, $STR_BTC_HAM_RESP_TIMEOUTFOBHELIVEHIPLAYER};
+ default = 0;
+ };
class btc_p_respawn_location { // Respawn locations available:
title = __EVAL(format [" %1", localize "STR_BTC_HAM_RESP_LOCATION"]);
values[]={0,1,2,3,4};
texts[]={$STR_BTC_HAM_RESP_FOBRALLY, $STR_BTC_HAM_RESP_FOBRALLYHELO, $STR_BTC_HAM_RESP_FOBRALLYHELI, $STR_BTC_HAM_RESP_FOBRALLYHELIVEHI, $STR_BTC_HAM_RESP_FOBRALLYHELIVEHILEADER};
default = 4;
};
- class btc_p_respawn_fromFOBToBase { // Allow respawn from FOB to base:
- title = __EVAL(format [" %1", localize "STR_BTC_HAM_RESP_FOBTOBASE"]);
- values[]={0,1};
- texts[]={$STR_DISABLED, $STR_ENABLED};
- default = 0;
- };
class btc_p_rallypointTimer { // Time before rallypoint self-destruction:
title = __EVAL(format [" %1", localize "STR_BTC_HAM_RESP_RALLYTIMER"]);
values[]={0,5,10,30,60};
@@ -145,9 +151,9 @@ class Params {
};
class btc_p_en { // Enemy type:
title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_FAC_ETYPE"]);
- values[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399};
- texts[]={"0 - ČSLA Studio: ČSLA (Side: EAST)","1 - ČSLA Studio: AFMC (Side: WEST)","2 - ČSLA Studio: FIA [ČSLA] (Side: GUER)","3 - ČSLA Studio: US ‘85 (Side: WEST)","4 - : Awakened (Side: EAST)","5 - AFR BIS/IceBreakr: Afrenian Army (Side: WEST)","6 - AOA nzdfcrash: (C) Policia Nacional De Colombia (Side: WEST)","7 - ARA Bohemia Interactive: Abramian Rebel Alliance (Side: WEST)","8 - ARL BIS/IceBreakr: ARL Lingor Rebels (Side: EAST)","9 - BLU Bohemia Interactive: US (Side: WEST)","10 - BLU Ravenholme: LDF (Side: WEST)","11 - Bohemia Interactive: 2035 AAF (Side: GUER)","12 - Bohemia Interactive: 2035 CTRG (Side: WEST)","13 - Bohemia Interactive: 2035 FIA (Side: EAST)","14 - Bohemia Interactive: 2035 FIA (Side: GUER)","15 - Bohemia Interactive: 2035 FIA (Side: WEST)","16 - Bohemia Interactive: 2035 Syndikat (Side: GUER)","17 - Bohemia Interactive: LDF (Side: GUER)","18 - Bohemia Interactive: Looters (Side: GUER)","19 - CEC HcPookie: Cecanian Army (Side: EAST)","20 - CFP CFP: Chadian Armed Forces (Side: WEST)","21 - CFP CFP: Iraqi Army (Hussein Regime) (Side: EAST)","22 - CFP CFP: Israeli Defense Force (Side: WEST)","23 - CFP CFP: Nigerian Army (Side: WEST)","24 - CFP CFP: Sudan Rapid Support Forces / Janjaweed (Side: EAST)","25 - CFP Drew: Abu Sayyaf Group (Side: EAST)","26 - CFP Drew: Afghan Police (Side: WEST)","27 - CFP Drew: Al Qaeda (Side: EAST)","28 - CFP Drew: al-Nusra Front (Side: GUER)","29 - CFP Drew: Al-Shabaab (Side: EAST)","30 - CFP Drew: Boko Haram (Side: EAST)","31 - CFP Drew: Central African Rebels (Side: EAST)","32 - CFP Drew: Hamas Al Qassam Brigades (Side: EAST)","33 - CFP Drew: Hezbollah (Side: EAST)","34 - CFP Drew: Iraqi Army (Side: WEST)","35 - CFP Drew: Iraqi Police (Side: WEST)","36 - CFP Drew: Islamic Republic of Iran Army (Side: EAST)","37 - CFP Drew: Islamic State (Side: EAST)","38 - CFP Drew: Islamic State (Side: GUER)","39 - CFP Drew: Kenyan Defense Force (Side: WEST)","40 - CFP Drew: Malian Government Forces (Side: WEST)","41 - CFP Drew: Peshmerga (Side: WEST)","42 - CFP Drew: Somali Rebels (Side: EAST)","43 - CFP Drew: South Sudan People's Defense Force (Side: GUER)","44 - CFP Drew: Sudan People's Liberation Movement In Opposition (Side: EAST)","45 - CFP Drew: Sudan People's Liberation Movement North (Side: GUER)","46 - CFP Drew: Sudan Revolutionary Front (Side: GUER)","47 - CFP Drew: Sudanese Armed Forces (Side: EAST)","48 - CFP Drew: Syrian Arab Army (Side: EAST)","49 - CFP Drew: Taliban Insurgents (Side: EAST)","50 - CFP Drew: Tuareg Rebels (Side: GUER)","51 - CFP Drew: Uganda People's Defense Force (Side: WEST)","52 - CFP Drew: US 75th Rangers (Jungle/Woodland) (Side: WEST)","53 - CFP Drew: US Navy Seals (Arid / Desert) (Side: WEST)","54 - CFP Drew: US Navy Seals (Jungle / Woodland) (Side: WEST)","55 - CFP Drew: YPG (Side: WEST)","56 - CFP Tupolov: Ansar Allah (Houthis) (Side: EAST)","57 - CFP Tupolov: Army of the Czech Rep. (Jungle / Woodland) (Side: WEST)","58 - CFP Tupolov: Western Ultranationalists (Side: GUER)","59 - COL Bohemia Interactive: (A) Fuerza Aérea Colombiana (Side: WEST)","60 - COL nzdfcrash: (Side: WEST)","61 - COL nzdfcrash: (B) Ejercito Nacional De Colombia (Side: WEST)","62 - COL nzdfcrash: Fuerzas Militares de Colombia (Side: WEST)","63 - CUP Community Upgrade Project: Armed Forces of Ukraine (Side: WEST)","64 - CUP Community Upgrade Project: Army of the Czech Rep. (Arid / Desert) (Side: WEST)","65 - CUP Community Upgrade Project: British Army (Arid / Desert) (Side: WEST)","66 - CUP Community Upgrade Project: Chernarus Defense Forces (Side: WEST)","67 - CUP Community Upgrade Project: Chernarussian Movement of the Red Star (Side: EAST)","68 - CUP Community Upgrade Project: CUP Static Ships (Side: WEST)","69 - CUP Community Upgrade Project: National Party of Chernarus (Side: GUER)","70 - CUP Community Upgrade Project: Royal Army Corps of Sahrani (Side: GUER)","71 - CUP Community Upgrade Project: Royal New Zealand Navy (Side: WEST)","72 - CUP Community Upgrade Project: Russian Ground Forces (Jungle / Woodland) (Side: EAST)","73 - CUP Community Upgrade Project: Sahrani Liberation Army (Side: EAST)","74 - CUP Community Upgrade Project: Takistani Army (Side: EAST)","75 - CUP Community Upgrade Project: Takistani Militia (Side: EAST)","76 - CUP Community Upgrade Project: United Nations (Side: GUER)","77 - CUP Community Upgrade Project: US Army (Arid / Desert) (Side: WEST)","78 - CUP Community Upgrade Project: US Marine Corps (Jungle / Woodland) (Side: WEST)","79 - CUP CUP: Bundeswehr (Arid / Desert) (Side: WEST)","80 - CUP joker006 + CUP: Horizon Islands Legion (Side: WEST)","81 - CUP joker006 + CUP: ION PMC (Side: GUER)","82 - CUP_Units Community Upgrade Project: Armed Forces of the Russian Federation (Modern) (Side: EAST)","83 - CUP_Units Community Upgrade Project: British Army (Jungle / Woodland) (Side: WEST)","84 - CUP_Units Community Upgrade Project: Bundeswehr (Jungle / Woodland) (Side: WEST)","85 - CUP_Units Community Upgrade Project: Takistani Locals (Side: GUER)","86 - CUP_Units Community Upgrade Project: US Marine Corps (Arid / Desert) (Side: WEST)","87 - CUP_Units Drew: Chernarus Defense Forces [Winter] (Side: WEST)","88 - CUP_Units Drew: PMC Wagner (Arid / Desert) (Side: EAST)","89 - CUP_Units Drew: PMC Wagner (Arid / Desert) (Side: GUER)","90 - CUP_Units Drew: PMC Wagner (Winter) (Side: EAST)","91 - CUP_Units Drew: PMC Wagner (Winter) (Side: GUER)","92 - CUP_Units Drew: PMC Wagner (Woodland) (Side: EAST)","93 - CUP_Units Drew: PMC Wagner (Woodland) (Side: GUER)","94 - CUP_Units Drew: US Army 1991 [Arid/Desert] (Side: WEST)","95 - CUP_Units Drew: US Army 1991 [Woodland] (Side: WEST)","96 - CUP_Units Drew: US Army 2003 [Arid/Desert] (Side: WEST)","97 - CUP_Units Drew: US Army 2003 [Woodland] (Side: WEST)","98 - CUP_Units Tupolov: Russian National Guard (Side: EAST)","99 - CUP_Units Tupolov: US CIA (Middle East) (Side: WEST)","100 - CUP_Vehicles Community Upgrade Project: US Army (Jungle / Woodland) (Side: WEST)","101 - CUP_Vehicles Drew: Afghan Army (Side: WEST)","102 - CUP_Vehicles Drew: Chernarussian Movement of the Red Star [Winter] (Side: EAST)","103 - CUP_Vehicles Tupolov: Russian Ground Forces (Arid / Desert) (Side: EAST)","104 - cwr3_dlc CWR III Modification: FIA (CWR III) (Side: GUER)","105 - cwr3_dlc CWR III Modification: Rebels (CWR III) (Side: EAST)","106 - cwr3_dlc CWR III Modification: Rebels (CWR III) (Side: WEST)","107 - cwr3_dlc CWR III Modification: Soviet Army (CWR III) (Side: EAST)","108 - cwr3_dlc CWR III Modification: United States Army (CWR III) (Side: WEST)","109 - cwr3_dlc CWR III Modification: United States Army, Desert (CWR III) (Side: WEST)","110 - Dinei: [ Farcs ] Colombia (Side: EAST)","111 - Enoch Bohemia Interactive: Russia (Side: EAST)","112 - Enoch Ravenholme: LDF (Arid) (Side: GUER)","113 - Expansion AveryTheKitty: BAF (Pacific) (Side: WEST)","114 - Expansion AveryTheKitty: BAF (Side: WEST)","115 - Expansion AveryTheKitty: BAF (Woodland) (Side: WEST)","116 - Expansion AveryTheKitty: Russia (Arid) (Side: EAST)","117 - Expansion Bohemia Interactive: 2035 Gendarmerie (Side: WEST)","118 - Expansion Bohemia Interactive: 2035 Viper (Side: EAST)","119 - Expansion Bohemia Interactive: CTRG (Pacific) (Side: WEST)","120 - Expansion Bohemia Interactive: US (Pacific) (Side: WEST)","121 - Expansion Bohemia Interactive: Viper (Pacific) (Side: EAST)","122 - Expansion Drew: Korean People's Army (Side: EAST)","123 - Expansion Ravenholme: China (Desert) (Side: EAST)","124 - FAP nzdfcrash/icebreakr: Fapovian Army (Side: EAST)","125 - FOW Bohemia Interactive: [DE] Heer (Side: WEST)","126 - FOW Bohemia Interactive: [JP] Navy Air Service (Side: WEST)","127 - FOW Bohemia Interactive: [UK] Fleet Air Arm (Side: GUER)","128 - FOW Bohemia Interactive: [US] Navy (Side: GUER)","129 - FOW FOW Team: [DE] Waffen-SS (Side: WEST)","130 - fow_mod Bohemia Interactive: [AUS] Army (Pacific) (Side: GUER)","131 - fow_mod Bohemia Interactive: [DE] Luftwaffe (Side: WEST)","132 - fow_mod Bohemia Interactive: [HI] Army (Side: GUER)","133 - fow_mod Bohemia Interactive: [UK] Army (Side: GUER)","134 - fow_mod Bohemia Interactive: [US] Army (Pacific) (Side: GUER)","135 - fow_mod FOW team: [JP] Imperial Army (Side: WEST)","136 - fow_mod FOW team: [US] Army (Europe) (Side: GUER)","137 - fow_mod FOW team: [US] Marines Corps (Side: GUER)","138 - GAL HcPookie: GAL (Government Army of Lingor) (Side: WEST)","139 - GANGBLUE BIS/IceBreakr: Blue Gang (Side: WEST)","140 - GANGRED BIS/IceBreakr: Red Gang (Side: EAST)","141 - gm Global Mobilization: Denmark (Side: WEST)","142 - gm Global Mobilization: East Germany (Borderguards) (Side: EAST)","143 - gm Global Mobilization: East Germany (Side: EAST)","144 - gm Global Mobilization: Poland (Side: EAST)","145 - gm Global Mobilization: Revolutionaries (Side: GUER)","146 - gm Global Mobilization: West Germany (Borderguards) (Side: WEST)","147 - gm Global Mobilization: West Germany (Side: WEST)","148 - Howard: Taliban Force 2021 (Side: EAST)","149 - IBR Bohemia Interactive: Alienz (Zetaborn) (Side: GUER)","150 - IBR Lord Frith/IceBreakr: Robots (Side: EAST)","151 - IND Heliotrope: Raven Security (Side: GUER)","152 - LIB AWAR & Lennard: [Winter] Red Army (Side: EAST)","153 - LIB AWAR & Lennard: [Winter] Wehrmacht (Side: WEST)","154 - LIB AWAR & Lennard: ARR (Side: WEST)","155 - LIB AWAR & Lennard: MKHL (Side: WEST)","156 - LIB AWAR & Lennard: RBAF (Side: WEST)","157 - LIB AWAR: ACI (Side: GUER)","158 - LIB AWAR: Home Army (Polish) (Side: GUER)","159 - LIB AWAR: RAAF (Side: GUER)","160 - LIB AWAR: Red Army (Side: EAST)","161 - LIB AWAR: Wehrmacht (Side: WEST)","162 - LIB El Tyranos: 101st Airborne Division (Side: GUER)","163 - LIB El Tyranos: 82nd Airborne Division (Side: GUER)","164 - LIB El Tyranos: [Winter] UK Airborne (Side: GUER)","165 - LIB El Tyranos: [Winter] UK Army (Side: GUER)","166 - LIB El Tyranos: [Winter] US Army (Side: GUER)","167 - LIB IFA3 Team: Fallschirmjäger (Side: WEST)","168 - LIB IFA3 Team: UK Airborne (Side: GUER)","169 - LIB IFA3 Team: UK Army (Side: GUER)","170 - LIB IFA3 Team: UK Desert Rats (Side: GUER)","171 - LIB IFA3 team: US Army (Side: GUER)","172 - LIB Lennard: Deutsches Afrikakorps (Side: WEST)","173 - LIB Lennard: NKVD (Side: EAST)","174 - LIB Lennard: US 2nd Ranger Battalion (Side: GUER)","175 - LIB Lennard: US North African Corps (Side: GUER)","176 - LIB Reyhard & Joarius: FFI (Side: GUER)","177 - lxWS Rotators Collective: UNA (Side: WEST)","178 - Mark Bohemia Interactive: US (Woodland) (Side: WEST)","179 - MOL HcPookie: Molatian Army (Side: EAST)","180 - OPF Bohemia Interactive: Argana (Side: EAST)","181 - OPF Bohemia Interactive: Iran (Side: EAST)","182 - OPF Community Upgrade Project: China (Side: EAST)","183 - OPF Heliotrope: Raven Security (Side: EAST)","184 - OPTRE A2S: Dark Moon Enterprises (Side: GUER)","185 - OPTRE A2S: Insurrectionist (Side: EAST)","186 - OPTRE Article 2 Studios: CAA (Side: GUER)","187 - OPTRE Article 2 Studios: Colonial Police (Side: GUER)","188 - OPTRE Article 2 Studios: UNSCDF (Side: WEST)","189 - OPTREFC Article 2 Studios & SkaboodlyDoodle: Covenant (Side: EAST)","190 - Orange OverKlitz: (B) ELN ALiVE (Side: GUER)","191 - Orange OverKlitz: (B) FARC Disidencias ALiVE (Side: GUER)","192 - Orange OverKlitz: (C) AGC Paramilitares ALiVE (Side: EAST)","193 - Orange OverKlitz: (D) EPL ALiVE (Side: EAST)","194 - RHS Red Hammer Studios: Russia (VMF) (Side: EAST)","195 - RHS_AFRF Red Hammer Studios: Russia (MSV) (Side: EAST)","196 - RHS_AFRF Red Hammer Studios: Russia (RVA) (Side: EAST)","197 - RHS_AFRF Red Hammer Studios: Russia (TV) (Side: EAST)","198 - RHS_AFRF Red Hammer Studios: Russia (VDV) (Side: EAST)","199 - RHS_AFRF Red Hammer Studios: Russia (VPVO) (Side: EAST)","200 - RHS_AFRF Red Hammer Studios: Russia (VV) (Side: EAST)","201 - RHS_AFRF Red Hammer Studios: Russia (VVS - Camo) (Side: EAST)","202 - RHS_AFRF Red Hammer Studios: Russia (VVS - Grey) (Side: EAST)","203 - RHS_SAF Red Hammer Studios: SAF (KOV) (Side: GUER)","204 - RHS_SAF RHS (A2 port): SAF (KOV) (Side: EAST)","205 - RHS_SAF RHS (A2 port): SAF (RVIPVO) (Side: EAST)","206 - RHS_SAF RHS (A2 port): SAF (RVIPVO) (Side: GUER)","207 - RHS_SAF RHS (A2 port): SAF (UN Peacekeepers) (Side: GUER)","208 - RHS_USAF OverKlitz: (C) Policia Nacional | ALiVE (Side: WEST)","209 - RHS_USAF OverKlitz: (D) Infanteria de Marina (Side: WEST)","210 - RHS_USAF Red Hammer Studios: USA (Army - D) (Side: WEST)","211 - RHS_USAF Red Hammer Studios: USA (Army - W) (Side: WEST)","212 - RHS_USAF Red Hammer Studios: USA (Navy) (Side: WEST)","213 - RHS_USAF Red Hammer Studios: USA (SOCOM) (Side: WEST)","214 - RHS_USAF Red Hammer Studios: USA (USAF) (Side: WEST)","215 - RHS_USAF Red Hammer Studios: USA (USMC - D) (Side: WEST)","216 - RHS_USAF Red Hammer Studios: USA (USMC - W) (Side: WEST)","217 - RHSGREF Red Hammer Studios: CDF (UN) (Side: GUER)","218 - RHSGREF Red Hammer Studios: NAPA (Side: GUER)","219 - RHSGREF Red Hammer Studios: Tanoan Liberation Army (Side: EAST)","220 - RHSGREF Red Hammer Studios: Tanoan Liberation Army (Side: GUER)","221 - RHSGREF www.3commandobrigade.com: CDF (Ground Forces) (Side: GUER)","222 - RHSGREF www.3commandobrigade.com: CDF (Ground Forces) (Side: WEST)","223 - SC : Archons (Side: GUER)","224 - SC Scion Conflict Mod Team: Amalgamate Republic (Side: WEST)","225 - SC Scion Conflict Mod Team: Atlas Corporation (Side: GUER)","226 - SC Scion Conflict Mod Team: Martian Defence Force (Side: EAST)","227 - SC Scion Conflict Mod Team: Scion Empire (Side: EAST)","228 - SG Stagler: Sturmtroopers (Side: WEST)","229 - SG Stagler: Tank Sturmtroopers (Side: WEST)","230 - SPE Heavy Ordnance Works: [SPE] French Interior Forces (Side: GUER)","231 - SPE Heavy Ordnance Works: [SPE] French Liberation Army (Side: GUER)","232 - SPE Heavy Ordnance Works: [SPE] La Milice (Side: WEST)","233 - SPE Heavy Ordnance Works: [SPE] Sturmtroopers (Side: WEST)","234 - SPE Heavy Ordnance Works: [SPE] US Army (Side: GUER)","235 - SPE Heavy Ordnance Works: [SPE] Wehrmacht (Side: WEST)","236 - UK3CB_Factions www.3commandobrigade.com: 3CB AAF (Side: EAST)","237 - UK3CB_Factions www.3commandobrigade.com: 3CB AAF (Side: GUER)","238 - UK3CB_Factions www.3commandobrigade.com: 3CB AAF (Side: WEST)","239 - UK3CB_Factions www.3commandobrigade.com: 3CB Afghan National Army (Side: WEST)","240 - UK3CB_Factions www.3commandobrigade.com: 3CB Afghan National Police (Side: WEST)","241 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army (Side: EAST)","242 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army (Side: GUER)","243 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army (Side: WEST)","244 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army Paramilitary (Side: EAST)","245 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army Paramilitary (Side: GUER)","246 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army Paramilitary (Side: WEST)","247 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilian Militia (Side: EAST)","248 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilian Militia (Side: GUER)","249 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilian Militia (Side: WEST)","250 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: EAST)","251 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: GUER)","252 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: WEST)","253 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Extremists (Side: EAST)","254 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Extremists (Side: GUER)","255 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Militia (Side: EAST)","256 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Militia (Side: GUER)","257 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Militia (Side: WEST)","258 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert National Police (Side: EAST)","259 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert National Police (Side: GUER)","260 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert National Police (Side: WEST)","261 - UK3CB_Factions www.3commandobrigade.com: 3CB Altis Police Department (Side: EAST)","262 - UK3CB_Factions www.3commandobrigade.com: 3CB Altis Police Department (Side: GUER)","263 - UK3CB_Factions www.3commandobrigade.com: 3CB Altis Police Department (Side: WEST)","264 - UK3CB_Factions www.3commandobrigade.com: 3CB Ardistan Army (Side: EAST)","265 - UK3CB_Factions www.3commandobrigade.com: 3CB Ardistan Army (Side: GUER)","266 - UK3CB_Factions www.3commandobrigade.com: 3CB Ardistan Army (Side: WEST)","267 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDKZ (Chernarussian Movement of the Red Star) (Side: EAST)","268 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDKZ Winter (Chernarussian Movement of the Red Star) (Side: EAST)","269 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDSZ (Chernarussian Movement of the Blue Star) (Side: WEST)","270 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDSZ Winter (Chernarussian Movement of the Blue Star) (Side: WEST)","271 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDZZ (Chernarussian Movement of the Green Star) (Side: GUER)","272 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDZZ Winter (Chernarussian Movement of the Green Star) (Side: GUER)","273 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: EAST)","274 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: GUER)","275 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: WEST)","276 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Communist Militia (Side: EAST)","277 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Local Defence Volunteers (Side: WEST)","278 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Nationalist Militia (Side: GUER)","279 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Police Department (Side: EAST)","280 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Police Department (Side: GUER)","281 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Police Department (Side: WEST)","282 - UK3CB_Factions www.3commandobrigade.com: 3CB Cold War US - Early (Side: WEST)","283 - UK3CB_Factions www.3commandobrigade.com: 3CB Cold War US - Late (Side: WEST)","284 - UK3CB_Factions www.3commandobrigade.com: 3CB Cold War USSR - Early (Side: EAST)","285 - UK3CB_Factions www.3commandobrigade.com: 3CB Cold War USSR - Late (Side: EAST)","286 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Africa (Side: EAST)","287 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Europe (Side: EAST)","288 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Mediterranean (Side: EAST)","289 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Middle East (Side: EAST)","290 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Navy (Pacific) (Side: EAST)","291 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Navy (Side: EAST)","292 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Pacific (Side: EAST)","293 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Urban (Side: EAST)","294 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Winter (Side: EAST)","295 - UK3CB_Factions www.3commandobrigade.com: 3CB FIA (Side: EAST)","296 - UK3CB_Factions www.3commandobrigade.com: 3CB FIA (Side: GUER)","297 - UK3CB_Factions www.3commandobrigade.com: 3CB FIA (Side: WEST)","298 - UK3CB_Factions www.3commandobrigade.com: 3CB Grozovia Armed Forces (Side: EAST)","299 - UK3CB_Factions www.3commandobrigade.com: 3CB Grozovia Armed Forces (Side: GUER)","300 - UK3CB_Factions www.3commandobrigade.com: 3CB Grozovia Armed Forces (Side: WEST)","301 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Desert (Side: EAST)","302 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Desert (Side: GUER)","303 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Desert (Side: WEST)","304 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Urban (Side: EAST)","305 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Urban (Side: GUER)","306 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Urban (Side: WEST)","307 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Winter (Side: EAST)","308 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Winter (Side: GUER)","309 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Winter (Side: WEST)","310 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Woodland (Side: EAST)","311 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Woodland (Side: GUER)","312 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Woodland (Side: WEST)","313 - UK3CB_Factions www.3commandobrigade.com: 3CB Karzeghistan Royal Guard (Side: EAST)","314 - UK3CB_Factions www.3commandobrigade.com: 3CB Karzeghistan Royal Guard (Side: GUER)","315 - UK3CB_Factions www.3commandobrigade.com: 3CB Karzeghistan Royal Guard (Side: WEST)","316 - UK3CB_Factions www.3commandobrigade.com: 3CB Kolgujev Defence Force (Side: EAST)","317 - UK3CB_Factions www.3commandobrigade.com: 3CB Kolgujev Defence Force (Side: GUER)","318 - UK3CB_Factions www.3commandobrigade.com: 3CB Kolgujev Defence Force (Side: WEST)","319 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Defence Force (Side: EAST)","320 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Defence Force (Side: GUER)","321 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Defence Force (Side: WEST)","322 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Forest Rangers (Side: EAST)","323 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Forest Rangers (Side: GUER)","324 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Forest Rangers (Side: WEST)","325 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Separatist Militia (Side: EAST)","326 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Separatist Militia (Side: GUER)","327 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Separatist Militia (Side: WEST)","328 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonian Nationalist Militia (Side: EAST)","329 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonian Nationalist Militia (Side: GUER)","330 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonian Nationalist Militia (Side: WEST)","331 - UK3CB_Factions www.3commandobrigade.com: 3CB Malden Defence Force (Side: EAST)","332 - UK3CB_Factions www.3commandobrigade.com: 3CB Malden Defence Force (Side: GUER)","333 - UK3CB_Factions www.3commandobrigade.com: 3CB Malden Defence Force (Side: WEST)","334 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: EAST)","335 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: GUER)","336 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: WEST)","337 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Extremists (Side: EAST)","338 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Extremists (Side: GUER)","339 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Insurgents (Side: EAST)","340 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Insurgents (Side: GUER)","341 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Insurgents (Side: WEST)","342 - UK3CB_Factions www.3commandobrigade.com: 3CB NAPA (The National Party) (Side: EAST)","343 - UK3CB_Factions www.3commandobrigade.com: 3CB NAPA (The National Party) (Side: GUER)","344 - UK3CB_Factions www.3commandobrigade.com: 3CB NAPA (The National Party) (Side: WEST)","345 - UK3CB_Factions www.3commandobrigade.com: 3CB NFA (Nogovan Freedom Alliance) (Side: EAST)","346 - UK3CB_Factions www.3commandobrigade.com: 3CB NFA (Nogovan Freedom Alliance) (Side: GUER)","347 - UK3CB_Factions www.3commandobrigade.com: 3CB NFA (Nogovan Freedom Alliance) (Side: WEST)","348 - UK3CB_Factions www.3commandobrigade.com: 3CB Nogova Police Department (Side: EAST)","349 - UK3CB_Factions www.3commandobrigade.com: 3CB Nogova Police Department (Side: GUER)","350 - UK3CB_Factions www.3commandobrigade.com: 3CB Nogova Police Department (Side: WEST)","351 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: EAST)","352 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: GUER)","353 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: WEST)","354 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Insurgents (Side: EAST)","355 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Army (Side: EAST)","356 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Army (Side: GUER)","357 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Army (Side: WEST)","358 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Police (Side: EAST)","359 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Police (Side: GUER)","360 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Police (Side: WEST)","361 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Pro-Government Militia (Side: WEST)","362 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Tribal Fighters (Side: GUER)","363 - UK3CB_Factions www.3commandobrigade.com: 3CB UN Peacekeepers (Side: GUER)","364 - UK3CB_Factions www.3commandobrigade.com: 3CB UN Peacekeepers (Side: WEST)","365 - UK3CB_Factions www.3commandobrigade.com: CDF (Air Forces) (Side: GUER)","366 - UK3CB_Factions www.3commandobrigade.com: CDF (Air Forces) (Side: WEST)","367 - UK3CB_Factions www.3commandobrigade.com: CDF (National Guard) (Side: GUER)","368 - UK3CB_Factions www.3commandobrigade.com: CDF (National Guard) (Side: WEST)","369 - UK3CB_Factions www.3commandobrigade.com: ChDKZ (Side: EAST)","370 - UK3CB_Factions www.3commandobrigade.com: ChDKZ (Side: GUER)","371 - UK3CB_Factions www.3commandobrigade.com: Horizon Islands Defence Force (Side: WEST)","372 - UNSUNG Bohemia Interactive: A.R.V.N. (UNSUNG) (Side: GUER)","373 - UNSUNG Bohemia Interactive: Australia (UNSUNG) (Side: WEST)","374 - UNSUNG Bohemia Interactive: New Zealand (UNSUNG) (Side: WEST)","375 - UNSUNG Bohemia Interactive: R.O.K. (UNSUNG) (Side: WEST)","376 - UNSUNG Bohemia Interactive: U.S. (UNSUNG) (Side: WEST)","377 - UNSUNG Bohemia Interactive: V.C. (UNSUNG) (Side: EAST)","378 - UNSUNG Razorback: N.V.A. (UNSUNG) (Side: EAST)","379 - VN Savage Game Design: ARVN (Side: GUER)","380 - VN Savage Game Design: Australia (Side: WEST)","381 - VN Savage Game Design: FANK (Side: GUER)","382 - VN Savage Game Design: Khmer Rouge (Side: EAST)","383 - VN Savage Game Design: MACV (Side: WEST)","384 - VN Savage Game Design: New Zealand (Side: WEST)","385 - VN Savage Game Design: Pathet Lao (Side: EAST)","386 - VN Savage Game Design: PAVN (Side: EAST)","387 - VN Savage Game Design: Republic Of Korea (Side: WEST)","388 - VN Savage Game Design: Royal Lao Army (Side: GUER)","389 - VN Savage Game Design: US CIA (Side: WEST)","390 - VN Savage Game Design: US MEDT (Side: WEST)","391 - VN Savage Game Design: Viet Cong (Side: EAST)","392 - vurtual: (B) Ejercito Nacional ALiVE (Side: WEST)","393 - ws Rotators Collective: 2035 Gendarmerie (Side: EAST)","394 - ws Rotators Collective: ION Services (Side: WEST)","395 - ws Rotators Collective: SFIA (Side: EAST)","396 - ws Rotators Collective: Tura (Side: EAST)","397 - ws Rotators Collective: Tura (Side: GUER)","398 - ws Rotators Collective: Tura (Side: WEST)","399 - ws Rotators Collective: US (Desert) (Side: WEST)"};
- default = 13;
+ values[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403};
+ texts[]={"0 - : Awakened (Side: EAST)","1 - AFR BIS/IceBreakr: Afrenian Army (Side: WEST)","2 - AOA nzdfcrash: (C) Policia Nacional De Colombia (Side: WEST)","3 - ARA Bohemia Interactive: Abramian Rebel Alliance (Side: WEST)","4 - ARL BIS/IceBreakr: ARL Lingor Rebels (Side: EAST)","5 - BLU Bohemia Interactive: US (Side: WEST)","6 - BLU Ravenholme: LDF (Arid) (Side: WEST)","7 - BLU Ravenholme: LDF (Side: WEST)","8 - Bohemia Interactive: 2035 AAF (Side: GUER)","9 - Bohemia Interactive: 2035 CTRG (Side: WEST)","10 - Bohemia Interactive: 2035 FIA (Side: EAST)","11 - Bohemia Interactive: 2035 FIA (Side: GUER)","12 - Bohemia Interactive: 2035 FIA (Side: WEST)","13 - Bohemia Interactive: 2035 Syndikat (Side: GUER)","14 - Bohemia Interactive: LDF (Side: GUER)","15 - Bohemia Interactive: Looters (Side: GUER)","16 - CEC HcPookie: Cecanian Army (Side: EAST)","17 - CFP CFP: Chadian Armed Forces (Side: WEST)","18 - CFP CFP: Iraqi Army (Hussein Regime) (Side: EAST)","19 - CFP CFP: Israeli Defense Force (Side: WEST)","20 - CFP CFP: Nigerian Army (Side: WEST)","21 - CFP CFP: Sudan Rapid Support Forces / Janjaweed (Side: EAST)","22 - CFP Drew: Abu Sayyaf Group (Side: EAST)","23 - CFP Drew: Afghan Police (Side: WEST)","24 - CFP Drew: Al Qaeda (Side: EAST)","25 - CFP Drew: al-Nusra Front (Side: GUER)","26 - CFP Drew: Al-Shabaab (Side: EAST)","27 - CFP Drew: Boko Haram (Side: EAST)","28 - CFP Drew: Central African Rebels (Side: EAST)","29 - CFP Drew: Hamas Al Qassam Brigades (Side: EAST)","30 - CFP Drew: Hezbollah (Side: EAST)","31 - CFP Drew: Iraqi Army (Side: WEST)","32 - CFP Drew: Iraqi Police (Side: WEST)","33 - CFP Drew: Islamic Republic of Iran Army (Side: EAST)","34 - CFP Drew: Islamic State (Side: EAST)","35 - CFP Drew: Islamic State (Side: GUER)","36 - CFP Drew: Kenyan Defense Force (Side: WEST)","37 - CFP Drew: Malian Government Forces (Side: WEST)","38 - CFP Drew: Peshmerga (Side: WEST)","39 - CFP Drew: Somali Rebels (Side: EAST)","40 - CFP Drew: South Sudan People's Defense Force (Side: GUER)","41 - CFP Drew: Sudan People's Liberation Movement In Opposition (Side: EAST)","42 - CFP Drew: Sudan People's Liberation Movement North (Side: GUER)","43 - CFP Drew: Sudan Revolutionary Front (Side: GUER)","44 - CFP Drew: Sudanese Armed Forces (Side: EAST)","45 - CFP Drew: Syrian Arab Army (Side: EAST)","46 - CFP Drew: Taliban Insurgents (Side: EAST)","47 - CFP Drew: Tuareg Rebels (Side: GUER)","48 - CFP Drew: Uganda People's Defense Force (Side: WEST)","49 - CFP Drew: US 75th Rangers (Jungle/Woodland) (Side: WEST)","50 - CFP Drew: US Navy Seals (Arid / Desert) (Side: WEST)","51 - CFP Drew: US Navy Seals (Jungle / Woodland) (Side: WEST)","52 - CFP Drew: YPG (Side: WEST)","53 - CFP Tupolov: Ansar Allah (Houthis) (Side: EAST)","54 - CFP Tupolov: Army of the Czech Rep. (Jungle / Woodland) (Side: WEST)","55 - CFP Tupolov: Western Ultranationalists (Side: GUER)","56 - COL Bohemia Interactive: (A) Fuerza Aérea Colombiana (Side: WEST)","57 - COL nzdfcrash: (Side: WEST)","58 - COL nzdfcrash: (B) Ejercito Nacional De Colombia (Side: WEST)","59 - COL nzdfcrash: Fuerzas Militares de Colombia (Side: WEST)","60 - CSLA CSLA Studio: CSLA (Desert) (Side: EAST)","61 - CSLA Studio: AFMC (Side: WEST)","62 - CSLA Studio: CSLA (Side: EAST)","63 - CSLA Studio: FIA [CSLA] (Side: GUER)","64 - CSLA Studio: US '85 (Side: WEST)","65 - CUP Community Upgrade Project: Armed Forces of Ukraine (Side: WEST)","66 - CUP Community Upgrade Project: Army of the Czech Rep. (Arid / Desert) (Side: WEST)","67 - CUP Community Upgrade Project: British Army (Arid / Desert) (Side: WEST)","68 - CUP Community Upgrade Project: Chernarus Defense Forces (Side: WEST)","69 - CUP Community Upgrade Project: Chernarussian Movement of the Red Star (Side: EAST)","70 - CUP Community Upgrade Project: CUP Static Ships (Side: WEST)","71 - CUP Community Upgrade Project: National Party of Chernarus (Side: GUER)","72 - CUP Community Upgrade Project: Royal Army Corps of Sahrani (Side: GUER)","73 - CUP Community Upgrade Project: Royal New Zealand Navy (Side: WEST)","74 - CUP Community Upgrade Project: Russian Ground Forces (Jungle / Woodland) (Side: EAST)","75 - CUP Community Upgrade Project: Sahrani Liberation Army (Side: EAST)","76 - CUP Community Upgrade Project: Takistani Army (Side: EAST)","77 - CUP Community Upgrade Project: Takistani Militia (Side: EAST)","78 - CUP Community Upgrade Project: United Nations (Side: GUER)","79 - CUP Community Upgrade Project: US Army (Arid / Desert) (Side: WEST)","80 - CUP Community Upgrade Project: US Marine Corps (Jungle / Woodland) (Side: WEST)","81 - CUP CUP: Bundeswehr (Arid / Desert) (Side: WEST)","82 - CUP joker006 + CUP: Horizon Islands Legion (Side: WEST)","83 - CUP joker006 + CUP: ION PMC (Side: GUER)","84 - CUP_Units Community Upgrade Project: Armed Forces of the Russian Federation (Modern) (Side: EAST)","85 - CUP_Units Community Upgrade Project: British Army (Jungle / Woodland) (Side: WEST)","86 - CUP_Units Community Upgrade Project: Bundeswehr (Jungle / Woodland) (Side: WEST)","87 - CUP_Units Community Upgrade Project: Takistani Locals (Side: GUER)","88 - CUP_Units Community Upgrade Project: US Marine Corps (Arid / Desert) (Side: WEST)","89 - CUP_Units Drew: Chernarus Defense Forces [Winter] (Side: WEST)","90 - CUP_Units Drew: PMC Wagner (Arid / Desert) (Side: EAST)","91 - CUP_Units Drew: PMC Wagner (Arid / Desert) (Side: GUER)","92 - CUP_Units Drew: PMC Wagner (Winter) (Side: EAST)","93 - CUP_Units Drew: PMC Wagner (Winter) (Side: GUER)","94 - CUP_Units Drew: PMC Wagner (Woodland) (Side: EAST)","95 - CUP_Units Drew: PMC Wagner (Woodland) (Side: GUER)","96 - CUP_Units Drew: US Army 1991 [Arid/Desert] (Side: WEST)","97 - CUP_Units Drew: US Army 1991 [Woodland] (Side: WEST)","98 - CUP_Units Drew: US Army 2003 [Arid/Desert] (Side: WEST)","99 - CUP_Units Drew: US Army 2003 [Woodland] (Side: WEST)","100 - CUP_Units Tupolov: Russian National Guard (Side: EAST)","101 - CUP_Units Tupolov: US CIA (Middle East) (Side: WEST)","102 - CUP_Vehicles Community Upgrade Project: US Army (Jungle / Woodland) (Side: WEST)","103 - CUP_Vehicles Drew: Afghan Army (Side: WEST)","104 - CUP_Vehicles Drew: Chernarussian Movement of the Red Star [Winter] (Side: EAST)","105 - CUP_Vehicles Tupolov: Russian Ground Forces (Arid / Desert) (Side: EAST)","106 - cwr3_dlc CWR III Modification: FIA (CWR III) (Side: GUER)","107 - cwr3_dlc CWR III Modification: Rebels (CWR III) (Side: EAST)","108 - cwr3_dlc CWR III Modification: Rebels (CWR III) (Side: WEST)","109 - cwr3_dlc CWR III Modification: Soviet Army (CWR III) (Side: EAST)","110 - cwr3_dlc CWR III Modification: United States Army (CWR III) (Side: WEST)","111 - cwr3_dlc CWR III Modification: United States Army, Desert (CWR III) (Side: WEST)","112 - Dinei: [ Farcs ] Colombia (Side: EAST)","113 - Enoch Bohemia Interactive: Russia (Side: EAST)","114 - Expansion Avery Kaiserin: BAF (Pacific) (Side: WEST)","115 - Expansion Avery Kaiserin: BAF (Woodland) (Side: WEST)","116 - Expansion Avery Kaiserin: Russia (Arid) (Side: EAST)","117 - Expansion Bohemia Interactive: 2035 Gendarmerie (Side: WEST)","118 - Expansion Bohemia Interactive: 2035 Viper (Side: EAST)","119 - Expansion Bohemia Interactive: CTRG (Pacific) (Side: WEST)","120 - Expansion Bohemia Interactive: Viper (Pacific) (Side: EAST)","121 - Expansion Drew: Korean People's Army (Side: EAST)","122 - Expansion Ravenholme: China (Desert) (Side: EAST)","123 - FAP nzdfcrash/icebreakr: Fapovian Army (Side: EAST)","124 - FIA CSLA Studio: FIA [CSLA] (Desert) (Side: GUER)","125 - FOW Bohemia Interactive: [DE] Heer (Side: WEST)","126 - FOW Bohemia Interactive: [JP] Navy Air Service (Side: WEST)","127 - FOW Bohemia Interactive: [UK] Fleet Air Arm (Side: GUER)","128 - FOW Bohemia Interactive: [US] Navy (Side: GUER)","129 - FOW FOW Team: [DE] Waffen-SS (Side: WEST)","130 - fow_mod Bohemia Interactive: [AUS] Army (Pacific) (Side: GUER)","131 - fow_mod Bohemia Interactive: [DE] Luftwaffe (Side: WEST)","132 - fow_mod Bohemia Interactive: [HI] Army (Side: GUER)","133 - fow_mod Bohemia Interactive: [UK] Army (Side: GUER)","134 - fow_mod Bohemia Interactive: [US] Army (Pacific) (Side: GUER)","135 - fow_mod FOW team: [JP] Imperial Army (Side: WEST)","136 - fow_mod FOW team: [US] Army (Europe) (Side: GUER)","137 - fow_mod FOW team: [US] Marines Corps (Side: GUER)","138 - GAL HcPookie: GAL (Government Army of Lingor) (Side: WEST)","139 - GANGBLUE BIS/IceBreakr: Blue Gang (Side: WEST)","140 - GANGRED BIS/IceBreakr: Red Gang (Side: EAST)","141 - gm Global Mobilization: Denmark (Side: WEST)","142 - gm Global Mobilization: East Germany (Borderguards) (Side: EAST)","143 - gm Global Mobilization: East Germany (Side: EAST)","144 - gm Global Mobilization: Poland (Side: EAST)","145 - gm Global Mobilization: Revolutionaries (Side: GUER)","146 - gm Global Mobilization: West Germany (Borderguards) (Side: WEST)","147 - gm Global Mobilization: West Germany (Side: WEST)","148 - Howard: Taliban Force 2021 (Side: EAST)","149 - IBR Bohemia Interactive: Alienz (Zetaborn) (Side: GUER)","150 - IBR Lord Frith/IceBreakr: Robots (Side: EAST)","151 - IND Heliotrope: Raven Security (Side: GUER)","152 - IND Ravenholme: LDF (Arid) (Side: GUER)","153 - LIB AWAR & Lennard: [Winter] Red Army (Side: EAST)","154 - LIB AWAR & Lennard: [Winter] Wehrmacht (Side: WEST)","155 - LIB AWAR & Lennard: ARR (Side: WEST)","156 - LIB AWAR & Lennard: MKHL (Side: WEST)","157 - LIB AWAR & Lennard: RBAF (Side: WEST)","158 - LIB AWAR: ACI (Side: GUER)","159 - LIB AWAR: Home Army (Polish) (Side: GUER)","160 - LIB AWAR: RAAF (Side: GUER)","161 - LIB AWAR: Red Army (Side: EAST)","162 - LIB AWAR: Wehrmacht (Side: WEST)","163 - LIB El Tyranos: 101st Airborne Division (Side: GUER)","164 - LIB El Tyranos: 82nd Airborne Division (Side: GUER)","165 - LIB El Tyranos: [Winter] UK Airborne (Side: GUER)","166 - LIB El Tyranos: [Winter] UK Army (Side: GUER)","167 - LIB El Tyranos: [Winter] US Army (Side: GUER)","168 - LIB IFA3 Team: Fallschirmjäger (Side: WEST)","169 - LIB IFA3 Team: UK Airborne (Side: GUER)","170 - LIB IFA3 Team: UK Army (Side: GUER)","171 - LIB IFA3 Team: UK Desert Rats (Side: GUER)","172 - LIB IFA3 team: US Army (Side: GUER)","173 - LIB Lennard: Deutsches Afrikakorps (Side: WEST)","174 - LIB Lennard: NKVD (Side: EAST)","175 - LIB Lennard: US 2nd Ranger Battalion (Side: GUER)","176 - LIB Lennard: US North African Corps (Side: GUER)","177 - LIB Reyhard & Joarius: FFI (Side: GUER)","178 - lxWS Rotators Collective: UNA (Side: WEST)","179 - Mark Bohemia Interactive: US (Woodland) (Side: WEST)","180 - MOL HcPookie: Molatian Army (Side: EAST)","181 - OPF Bohemia Interactive: Argana (Side: EAST)","182 - OPF Bohemia Interactive: Iran (Side: EAST)","183 - OPF Community Upgrade Project: China (Side: EAST)","184 - OPF Heliotrope: Raven Security (Side: EAST)","185 - OPTRE A2S: Dark Moon Enterprises (Side: GUER)","186 - OPTRE A2S: Insurrectionist (Side: EAST)","187 - OPTRE Article 2 Studios: CAA (Side: GUER)","188 - OPTRE Article 2 Studios: Colonial Police (Side: GUER)","189 - OPTRE Article 2 Studios: UNSCDF (Side: WEST)","190 - OPTREFC Article 2 Studios & SkaboodlyDoodle: Covenant (Side: EAST)","191 - Orange OverKlitz: (B) ELN ALiVE (Side: GUER)","192 - Orange OverKlitz: (B) FARC Disidencias ALiVE (Side: GUER)","193 - Orange OverKlitz: (C) AGC Paramilitares ALiVE (Side: EAST)","194 - Orange OverKlitz: (D) EPL ALiVE (Side: EAST)","195 - rf Rotators Collective: BAF (Side: WEST)","196 - rf Rotators Collective: US (Pacific) (Side: WEST)","197 - RHS Red Hammer Studios: Russia (VMF) (Side: EAST)","198 - RHS_AFRF Red Hammer Studios: Russia (MSV) (Side: EAST)","199 - RHS_AFRF Red Hammer Studios: Russia (RVA) (Side: EAST)","200 - RHS_AFRF Red Hammer Studios: Russia (TV) (Side: EAST)","201 - RHS_AFRF Red Hammer Studios: Russia (VDV) (Side: EAST)","202 - RHS_AFRF Red Hammer Studios: Russia (VPVO) (Side: EAST)","203 - RHS_AFRF Red Hammer Studios: Russia (VV) (Side: EAST)","204 - RHS_AFRF Red Hammer Studios: Russia (VVS - Camo) (Side: EAST)","205 - RHS_AFRF Red Hammer Studios: Russia (VVS - Grey) (Side: EAST)","206 - RHS_SAF Red Hammer Studios: SAF (KOV) (Side: GUER)","207 - RHS_SAF RHS (A2 port): SAF (KOV) (Side: EAST)","208 - RHS_SAF RHS (A2 port): SAF (RVIPVO) (Side: EAST)","209 - RHS_SAF RHS (A2 port): SAF (RVIPVO) (Side: GUER)","210 - RHS_SAF RHS (A2 port): SAF (UN Peacekeepers) (Side: GUER)","211 - RHS_USAF OverKlitz: (C) Policia Nacional | ALiVE (Side: WEST)","212 - RHS_USAF OverKlitz: (D) Infanteria de Marina (Side: WEST)","213 - RHS_USAF Red Hammer Studios: USA (Army - D) (Side: WEST)","214 - RHS_USAF Red Hammer Studios: USA (Army - W) (Side: WEST)","215 - RHS_USAF Red Hammer Studios: USA (Navy) (Side: WEST)","216 - RHS_USAF Red Hammer Studios: USA (SOCOM) (Side: WEST)","217 - RHS_USAF Red Hammer Studios: USA (USAF) (Side: WEST)","218 - RHS_USAF Red Hammer Studios: USA (USMC - D) (Side: WEST)","219 - RHS_USAF Red Hammer Studios: USA (USMC - W) (Side: WEST)","220 - RHSGREF Red Hammer Studios: CDF (UN) (Side: GUER)","221 - RHSGREF Red Hammer Studios: NAPA (Side: GUER)","222 - RHSGREF Red Hammer Studios: Tanoan Liberation Army (Side: EAST)","223 - RHSGREF Red Hammer Studios: Tanoan Liberation Army (Side: GUER)","224 - RHSGREF www.3commandobrigade.com: CDF (Ground Forces) (Side: GUER)","225 - RHSGREF www.3commandobrigade.com: CDF (Ground Forces) (Side: WEST)","226 - SC : Archons (Side: GUER)","227 - SC Scion Conflict Mod Team: Amalgamate Republic (Side: WEST)","228 - SC Scion Conflict Mod Team: Atlas Corporation (Side: GUER)","229 - SC Scion Conflict Mod Team: Martian Defence Force (Side: EAST)","230 - SC Scion Conflict Mod Team: Scion Empire (Side: EAST)","231 - SG Stagler: Sturmtroopers (Side: WEST)","232 - SG Stagler: Tank Sturmtroopers (Side: WEST)","233 - SPE Heavy Ordnance Works: [SPE] French Interior Forces (Side: GUER)","234 - SPE Heavy Ordnance Works: [SPE] French Liberation Army (Side: GUER)","235 - SPE Heavy Ordnance Works: [SPE] La Milice (Side: WEST)","236 - SPE Heavy Ordnance Works: [SPE] Sturmtroopers (Side: WEST)","237 - SPE Heavy Ordnance Works: [SPE] US Army (Side: GUER)","238 - SPE Heavy Ordnance Works: [SPE] Wehrmacht (Side: WEST)","239 - UK3CB_Factions www.3commandobrigade.com: 3CB AAF (Side: EAST)","240 - UK3CB_Factions www.3commandobrigade.com: 3CB AAF (Side: GUER)","241 - UK3CB_Factions www.3commandobrigade.com: 3CB AAF (Side: WEST)","242 - UK3CB_Factions www.3commandobrigade.com: 3CB Afghan National Army (Side: WEST)","243 - UK3CB_Factions www.3commandobrigade.com: 3CB Afghan National Police (Side: WEST)","244 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army (Side: EAST)","245 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army (Side: GUER)","246 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army (Side: WEST)","247 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army Paramilitary (Side: EAST)","248 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army Paramilitary (Side: GUER)","249 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Army Paramilitary (Side: WEST)","250 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilian Militia (Side: EAST)","251 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilian Militia (Side: GUER)","252 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilian Militia (Side: WEST)","253 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: EAST)","254 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: GUER)","255 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: WEST)","256 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Extremists (Side: EAST)","257 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Extremists (Side: GUER)","258 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Militia (Side: EAST)","259 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Militia (Side: GUER)","260 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Militia (Side: WEST)","261 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert National Police (Side: EAST)","262 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert National Police (Side: GUER)","263 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert National Police (Side: WEST)","264 - UK3CB_Factions www.3commandobrigade.com: 3CB Altis Police Department (Side: EAST)","265 - UK3CB_Factions www.3commandobrigade.com: 3CB Altis Police Department (Side: GUER)","266 - UK3CB_Factions www.3commandobrigade.com: 3CB Altis Police Department (Side: WEST)","267 - UK3CB_Factions www.3commandobrigade.com: 3CB Ardistan Army (Side: EAST)","268 - UK3CB_Factions www.3commandobrigade.com: 3CB Ardistan Army (Side: GUER)","269 - UK3CB_Factions www.3commandobrigade.com: 3CB Ardistan Army (Side: WEST)","270 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDKZ (Chernarussian Movement of the Red Star) (Side: EAST)","271 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDKZ Winter (Chernarussian Movement of the Red Star) (Side: EAST)","272 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDSZ (Chernarussian Movement of the Blue Star) (Side: WEST)","273 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDSZ Winter (Chernarussian Movement of the Blue Star) (Side: WEST)","274 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDZZ (Chernarussian Movement of the Green Star) (Side: GUER)","275 - UK3CB_Factions www.3commandobrigade.com: 3CB ChDZZ Winter (Chernarussian Movement of the Green Star) (Side: GUER)","276 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: EAST)","277 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: GUER)","278 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: WEST)","279 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Communist Militia (Side: EAST)","280 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Local Defence Volunteers (Side: WEST)","281 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Nationalist Militia (Side: GUER)","282 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Police Department (Side: EAST)","283 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Police Department (Side: GUER)","284 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Police Department (Side: WEST)","285 - UK3CB_Factions www.3commandobrigade.com: 3CB Cold War US - Early (Side: WEST)","286 - UK3CB_Factions www.3commandobrigade.com: 3CB Cold War US - Late (Side: WEST)","287 - UK3CB_Factions www.3commandobrigade.com: 3CB Cold War USSR - Early (Side: EAST)","288 - UK3CB_Factions www.3commandobrigade.com: 3CB Cold War USSR - Late (Side: EAST)","289 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Africa (Side: EAST)","290 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Europe (Side: EAST)","291 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Mediterranean (Side: EAST)","292 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Middle East (Side: EAST)","293 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Navy (Pacific) (Side: EAST)","294 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Navy (Side: EAST)","295 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Pacific (Side: EAST)","296 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Urban (Side: EAST)","297 - UK3CB_Factions www.3commandobrigade.com: 3CB CSAT Winter (Side: EAST)","298 - UK3CB_Factions www.3commandobrigade.com: 3CB FIA (Side: EAST)","299 - UK3CB_Factions www.3commandobrigade.com: 3CB FIA (Side: GUER)","300 - UK3CB_Factions www.3commandobrigade.com: 3CB FIA (Side: WEST)","301 - UK3CB_Factions www.3commandobrigade.com: 3CB Grozovia Armed Forces (Side: EAST)","302 - UK3CB_Factions www.3commandobrigade.com: 3CB Grozovia Armed Forces (Side: GUER)","303 - UK3CB_Factions www.3commandobrigade.com: 3CB Grozovia Armed Forces (Side: WEST)","304 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Desert (Side: EAST)","305 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Desert (Side: GUER)","306 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Desert (Side: WEST)","307 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Urban (Side: EAST)","308 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Urban (Side: GUER)","309 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Urban (Side: WEST)","310 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Winter (Side: EAST)","311 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Winter (Side: GUER)","312 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Winter (Side: WEST)","313 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Woodland (Side: EAST)","314 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Woodland (Side: GUER)","315 - UK3CB_Factions www.3commandobrigade.com: 3CB ION Services - Woodland (Side: WEST)","316 - UK3CB_Factions www.3commandobrigade.com: 3CB Karzeghistan Royal Guard (Side: EAST)","317 - UK3CB_Factions www.3commandobrigade.com: 3CB Karzeghistan Royal Guard (Side: GUER)","318 - UK3CB_Factions www.3commandobrigade.com: 3CB Karzeghistan Royal Guard (Side: WEST)","319 - UK3CB_Factions www.3commandobrigade.com: 3CB Kolgujev Defence Force (Side: EAST)","320 - UK3CB_Factions www.3commandobrigade.com: 3CB Kolgujev Defence Force (Side: GUER)","321 - UK3CB_Factions www.3commandobrigade.com: 3CB Kolgujev Defence Force (Side: WEST)","322 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Defence Force (Side: EAST)","323 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Defence Force (Side: GUER)","324 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Defence Force (Side: WEST)","325 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Forest Rangers (Side: EAST)","326 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Forest Rangers (Side: GUER)","327 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Forest Rangers (Side: WEST)","328 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Separatist Militia (Side: EAST)","329 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Separatist Militia (Side: GUER)","330 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonia Separatist Militia (Side: WEST)","331 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonian Nationalist Militia (Side: EAST)","332 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonian Nationalist Militia (Side: GUER)","333 - UK3CB_Factions www.3commandobrigade.com: 3CB Livonian Nationalist Militia (Side: WEST)","334 - UK3CB_Factions www.3commandobrigade.com: 3CB Malden Defence Force (Side: EAST)","335 - UK3CB_Factions www.3commandobrigade.com: 3CB Malden Defence Force (Side: GUER)","336 - UK3CB_Factions www.3commandobrigade.com: 3CB Malden Defence Force (Side: WEST)","337 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: EAST)","338 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: GUER)","339 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: WEST)","340 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Extremists (Side: EAST)","341 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Extremists (Side: GUER)","342 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Insurgents (Side: EAST)","343 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Insurgents (Side: GUER)","344 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Insurgents (Side: WEST)","345 - UK3CB_Factions www.3commandobrigade.com: 3CB NAPA (The National Party) (Side: EAST)","346 - UK3CB_Factions www.3commandobrigade.com: 3CB NAPA (The National Party) (Side: GUER)","347 - UK3CB_Factions www.3commandobrigade.com: 3CB NAPA (The National Party) (Side: WEST)","348 - UK3CB_Factions www.3commandobrigade.com: 3CB NFA (Nogovan Freedom Alliance) (Side: EAST)","349 - UK3CB_Factions www.3commandobrigade.com: 3CB NFA (Nogovan Freedom Alliance) (Side: GUER)","350 - UK3CB_Factions www.3commandobrigade.com: 3CB NFA (Nogovan Freedom Alliance) (Side: WEST)","351 - UK3CB_Factions www.3commandobrigade.com: 3CB Nogova Police Department (Side: EAST)","352 - UK3CB_Factions www.3commandobrigade.com: 3CB Nogova Police Department (Side: GUER)","353 - UK3CB_Factions www.3commandobrigade.com: 3CB Nogova Police Department (Side: WEST)","354 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: EAST)","355 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: GUER)","356 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: WEST)","357 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Insurgents (Side: EAST)","358 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Army (Side: EAST)","359 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Army (Side: GUER)","360 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Army (Side: WEST)","361 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Police (Side: EAST)","362 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Police (Side: GUER)","363 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan National Police (Side: WEST)","364 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Pro-Government Militia (Side: WEST)","365 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Tribal Fighters (Side: GUER)","366 - UK3CB_Factions www.3commandobrigade.com: 3CB UN Peacekeepers (Side: GUER)","367 - UK3CB_Factions www.3commandobrigade.com: 3CB UN Peacekeepers (Side: WEST)","368 - UK3CB_Factions www.3commandobrigade.com: CDF (Air Forces) (Side: GUER)","369 - UK3CB_Factions www.3commandobrigade.com: CDF (Air Forces) (Side: WEST)","370 - UK3CB_Factions www.3commandobrigade.com: CDF (National Guard) (Side: GUER)","371 - UK3CB_Factions www.3commandobrigade.com: CDF (National Guard) (Side: WEST)","372 - UK3CB_Factions www.3commandobrigade.com: ChDKZ (Side: EAST)","373 - UK3CB_Factions www.3commandobrigade.com: ChDKZ (Side: GUER)","374 - UK3CB_Factions www.3commandobrigade.com: Horizon Islands Defence Force (Side: WEST)","375 - UNSUNG Bohemia Interactive: A.R.V.N. (UNSUNG) (Side: GUER)","376 - UNSUNG Bohemia Interactive: Australia (UNSUNG) (Side: WEST)","377 - UNSUNG Bohemia Interactive: New Zealand (UNSUNG) (Side: WEST)","378 - UNSUNG Bohemia Interactive: R.O.K. (UNSUNG) (Side: WEST)","379 - UNSUNG Bohemia Interactive: U.S. (UNSUNG) (Side: WEST)","380 - UNSUNG Bohemia Interactive: V.C. (UNSUNG) (Side: EAST)","381 - UNSUNG Razorback: N.V.A. (UNSUNG) (Side: EAST)","382 - US85 CSLA Studio: US '85 (Desert) (Side: WEST)","383 - VN Savage Game Design: ARVN (Side: GUER)","384 - VN Savage Game Design: Australia (Side: WEST)","385 - VN Savage Game Design: FANK (Side: GUER)","386 - VN Savage Game Design: Khmer Rouge (Side: EAST)","387 - VN Savage Game Design: MACV (Side: WEST)","388 - VN Savage Game Design: New Zealand (Side: WEST)","389 - VN Savage Game Design: Pathet Lao (Side: EAST)","390 - VN Savage Game Design: PAVN (Side: EAST)","391 - VN Savage Game Design: Republic Of Korea (Side: WEST)","392 - VN Savage Game Design: Royal Lao Army (Side: GUER)","393 - VN Savage Game Design: US CIA (Side: WEST)","394 - VN Savage Game Design: US MEDT (Side: WEST)","395 - VN Savage Game Design: Viet Cong (Side: EAST)","396 - vurtual: (B) Ejercito Nacional ALiVE (Side: WEST)","397 - ws Rotators Collective: 2035 Gendarmerie (Side: EAST)","398 - ws Rotators Collective: ION Services (Side: WEST)","399 - ws Rotators Collective: SFIA (Side: EAST)","400 - ws Rotators Collective: Tura (Side: EAST)","401 - ws Rotators Collective: Tura (Side: GUER)","402 - ws Rotators Collective: Tura (Side: WEST)","403 - ws Rotators Collective: US (Desert) (Side: WEST)"};
+ default = 10;
};
class btc_p_AA { // Anti-Air infantry:
title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_FAC_EAA"]);
@@ -163,15 +169,15 @@ class Params {
};
class btc_p_civ { // Civil type:
title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_FAC_CTYPE"]);
- values[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28};
- texts[]={"0 - Bohemia Interactive: Civilians (Side: CIV)","1 - Bohemia Interactive: Other (Side: CIV)","2 - CFP Drew: Civilians (Afghanistan) (Side: CIV)","3 - CFP Drew: Civilians (African Christian) (Side: CIV)","4 - CFP Drew: Civilians (African Islamic) (Side: CIV)","5 - CFP Drew: Civilians (Asian) (Side: CIV)","6 - CFP Drew: Civilians (Chernarus Winter) (Side: CIV)","7 - CFP Drew: Civilians (Malden) (Side: CIV)","8 - CFP Drew: Civilians (Middle Eastern) (Side: CIV)","9 - CSLA ÄŒSLA Studio: Civilians [ÄŒSLA] (Side: CIV)","10 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Chernarus) (Side: CIV)","11 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Sahrani) (Side: CIV)","12 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Takistan) (Side: CIV)","13 - CUP_Vehicles Community Upgrade Project: Civilians (Russian) (Side: CIV)","14 - cwr3_dlc CWR III Modification: Civilians (CWR III) (Side: CIV)","15 - gm Global Mobilization: East Germany (Civilians) (Side: CIV)","16 - gm Global Mobilization: West Germany (Civilians) (Side: CIV)","17 - LIB Reyhard & Joarius: 40s Civilians (Side: CIV)","18 - OPTRE A2S: Civilians (UEG) (Side: CIV)","19 - ORANGE Bohemia Interactive: IDAP (Side: CIV)","20 - RDS_CIV_PACK RDS (BIS A2 Port): Polish (Side: CIV)","21 - RDS_CIV_PACK RDS (BIS A2 Port): Russians (Side: CIV)","22 - SPE Heavy Ordnance Works: [SPE] 40s Civilians (Side: CIV)","23 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: CIV)","24 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: CIV)","25 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: CIV)","26 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: CIV)","27 - UNSUNG Bohemia Interactive: Vietnamese (UNSUNG) (Side: CIV)","28 - VN Savage Game Design: Vietnamese (Side: CIV)"};
- default = 0;
+ values[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
+ texts[]={"0 - AEGIS Bohemia Interactive: Civilians (Livonia) (Side: CIV)","1 - AEGIS Bohemia Interactive: Civilians (Side: CIV)","2 - AEGIS Ravenholme: Civilians (Malden) (Side: CIV)","3 - Bohemia Interactive: Civilians (Altis) (Side: CIV)","4 - Bohemia Interactive: Other (Side: CIV)","5 - CFP Drew: Civilians (Afghanistan) (Side: CIV)","6 - CFP Drew: Civilians (African Christian) (Side: CIV)","7 - CFP Drew: Civilians (African Islamic) (Side: CIV)","8 - CFP Drew: Civilians (Asian) (Side: CIV)","9 - CFP Drew: Civilians (Chernarus Winter) (Side: CIV)","10 - CFP Drew: Civilians (Malden) (Side: CIV)","11 - CFP Drew: Civilians (Middle Eastern) (Side: CIV)","12 - CSLA CSLA Studio: Civilians [ÄŒSLA] (Side: CIV)","13 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Chernarus) (Side: CIV)","14 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Sahrani) (Side: CIV)","15 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Takistan) (Side: CIV)","16 - CUP_Vehicles Community Upgrade Project: Civilians (Russian) (Side: CIV)","17 - cwr3_dlc CWR III Modification: Civilians (CWR III) (Side: CIV)","18 - Expansion Ravenholme: Civilians (Horizon Islands) (Side: CIV)","19 - gm Global Mobilization: East Germany (Civilians) (Side: CIV)","20 - gm Global Mobilization: West Germany (Civilians) (Side: CIV)","21 - LIB Reyhard & Joarius: 40s Civilians (Side: CIV)","22 - OPTRE A2S: Civilians (UEG) (Side: CIV)","23 - ORANGE Bohemia Interactive: IDAP (Side: CIV)","24 - RDS_CIV_PACK RDS (BIS A2 Port): Polish (Side: CIV)","25 - RDS_CIV_PACK RDS (BIS A2 Port): Russians (Side: CIV)","26 - SPE Heavy Ordnance Works: [SPE] 40s Civilians (Side: CIV)","27 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: CIV)","28 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: CIV)","29 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: CIV)","30 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: CIV)","31 - UNSUNG Bohemia Interactive: Vietnamese (UNSUNG) (Side: CIV)","32 - VN Savage Game Design: Vietnamese (Side: CIV)","33 - ws Rotators Collective: Civilians (Argana) (Side: CIV)"};
+ default = 3;
};
class btc_p_civ_veh { // Civil vehicle type:
title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_FAC_CTYPEVEH"]);
- values[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28};
- texts[]={"0 - Bohemia Interactive: Civilians (Side: CIV)","1 - Bohemia Interactive: Other (Side: CIV)","2 - CFP Drew: Civilians (Afghanistan) (Side: CIV)","3 - CFP Drew: Civilians (African Christian) (Side: CIV)","4 - CFP Drew: Civilians (African Islamic) (Side: CIV)","5 - CFP Drew: Civilians (Asian) (Side: CIV)","6 - CFP Drew: Civilians (Chernarus Winter) (Side: CIV)","7 - CFP Drew: Civilians (Malden) (Side: CIV)","8 - CFP Drew: Civilians (Middle Eastern) (Side: CIV)","9 - CSLA ÄŒSLA Studio: Civilians [ÄŒSLA] (Side: CIV)","10 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Chernarus) (Side: CIV)","11 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Sahrani) (Side: CIV)","12 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Takistan) (Side: CIV)","13 - CUP_Vehicles Community Upgrade Project: Civilians (Russian) (Side: CIV)","14 - cwr3_dlc CWR III Modification: Civilians (CWR III) (Side: CIV)","15 - gm Global Mobilization: East Germany (Civilians) (Side: CIV)","16 - gm Global Mobilization: West Germany (Civilians) (Side: CIV)","17 - LIB Reyhard & Joarius: 40s Civilians (Side: CIV)","18 - OPTRE A2S: Civilians (UEG) (Side: CIV)","19 - ORANGE Bohemia Interactive: IDAP (Side: CIV)","20 - RDS_CIV_PACK RDS (BIS A2 Port): Polish (Side: CIV)","21 - RDS_CIV_PACK RDS (BIS A2 Port): Russians (Side: CIV)","22 - SPE Heavy Ordnance Works: [SPE] 40s Civilians (Side: CIV)","23 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: CIV)","24 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: CIV)","25 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: CIV)","26 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: CIV)","27 - UNSUNG Bohemia Interactive: Vietnamese (UNSUNG) (Side: CIV)","28 - VN Savage Game Design: Vietnamese (Side: CIV)"};
- default = 0;
+ values[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
+ texts[]={"0 - AEGIS Bohemia Interactive: Civilians (Livonia) (Side: CIV)","1 - AEGIS Bohemia Interactive: Civilians (Side: CIV)","2 - AEGIS Ravenholme: Civilians (Malden) (Side: CIV)","3 - Bohemia Interactive: Civilians (Altis) (Side: CIV)","4 - Bohemia Interactive: Other (Side: CIV)","5 - CFP Drew: Civilians (Afghanistan) (Side: CIV)","6 - CFP Drew: Civilians (African Christian) (Side: CIV)","7 - CFP Drew: Civilians (African Islamic) (Side: CIV)","8 - CFP Drew: Civilians (Asian) (Side: CIV)","9 - CFP Drew: Civilians (Chernarus Winter) (Side: CIV)","10 - CFP Drew: Civilians (Malden) (Side: CIV)","11 - CFP Drew: Civilians (Middle Eastern) (Side: CIV)","12 - CSLA CSLA Studio: Civilians [ÄŒSLA] (Side: CIV)","13 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Chernarus) (Side: CIV)","14 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Sahrani) (Side: CIV)","15 - CUP_Vehicles $CUP_AUTHOR_STRING: Civilians (Takistan) (Side: CIV)","16 - CUP_Vehicles Community Upgrade Project: Civilians (Russian) (Side: CIV)","17 - cwr3_dlc CWR III Modification: Civilians (CWR III) (Side: CIV)","18 - Expansion Ravenholme: Civilians (Horizon Islands) (Side: CIV)","19 - gm Global Mobilization: East Germany (Civilians) (Side: CIV)","20 - gm Global Mobilization: West Germany (Civilians) (Side: CIV)","21 - LIB Reyhard & Joarius: 40s Civilians (Side: CIV)","22 - OPTRE A2S: Civilians (UEG) (Side: CIV)","23 - ORANGE Bohemia Interactive: IDAP (Side: CIV)","24 - RDS_CIV_PACK RDS (BIS A2 Port): Polish (Side: CIV)","25 - RDS_CIV_PACK RDS (BIS A2 Port): Russians (Side: CIV)","26 - SPE Heavy Ordnance Works: [SPE] 40s Civilians (Side: CIV)","27 - UK3CB_Factions www.3commandobrigade.com: 3CB African Desert Civilians (Side: CIV)","28 - UK3CB_Factions www.3commandobrigade.com: 3CB Chernarus Civilians (Side: CIV)","29 - UK3CB_Factions www.3commandobrigade.com: 3CB Middle East Civilians (Side: CIV)","30 - UK3CB_Factions www.3commandobrigade.com: 3CB Takistan Civilians (Side: CIV)","31 - UNSUNG Bohemia Interactive: Vietnamese (UNSUNG) (Side: CIV)","32 - VN Savage Game Design: Vietnamese (Side: CIV)","33 - ws Rotators Collective: Civilians (Argana) (Side: CIV)"};
+ default = 3;
};
class btc_p_spawn_title { // << Spawn options >>
title = $STR_BTC_HAM_PARAM_SPAWN_TITLE;
@@ -395,12 +401,18 @@ class Params {
texts[] = {$STR_DISABLED,$STR_ENABLED};
default = 1;
};
- class btc_p_chem { // Chemical warfare
- title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_GAMEPLAY_CHEM"]);
+ class btc_p_chem_sides { // Toggle chemical side missions:
+ title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_GAMEPLAY_CHEM_SIDES"]);
values[] = {0,1};
texts[] = {$STR_DISABLED,$STR_ENABLED};
default = 1;
};
+ class btc_p_chem_cache_probability { // Chemical weapon cache probability:
+ title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_GAMEPLAY_CHEM_CACHE_PROBABILITY"]);
+ values[]={0,10,20,30,40,50,60,70,80,90,100};
+ texts[]={"0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%"};
+ default = 50;
+ };
class btc_p_spect { // Spectrum devices
title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_GAMEPLAY_SPECT"]);
values[] = {0,1};
@@ -483,7 +495,7 @@ class Params {
title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_OTHER_ALLOWFLAG"]);
values[]={0,1,2,3};
texts[]={$STR_DISABLED,$STR_BTC_HAM_PARAM_OTHER_FLAGVEH,$STR_BTC_HAM_PARAM_OTHER_FLAGVEHLEADER,$STR_BTC_HAM_PARAM_OTHER_FLAGVEHPLAYER};
- default = 3;
+ default = 1;
};
class btc_p_debug { // Debug:
title = __EVAL(format [" %1", localize "STR_BTC_HAM_PARAM_OTHER_DEBUG"]);
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/body/bagRecover.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/body/bagRecover.sqf
index 892ce35c7..7d2ce2a58 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/body/bagRecover.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/body/bagRecover.sqf
@@ -27,11 +27,8 @@ params [
private _array = nearestObjects [_logistic, ["ACE_bodyBagObject", "CAManBase"], 10];
_array = _array select {
- alive _x && (
- (_x isKindOf "CAManBase" &&
- side group _x isEqualTo btc_enemy_side) ||
- _x isKindOf "ACE_bodyBagObject"
- )
+ _x isKindOf "CAManBase" ||
+ _x isKindOf "ACE_bodyBagObject"
};
if (_array isEqualTo []) exitWith {
localize "STR_BTC_HAM_O_BODYBAG_NO" call CBA_fnc_notify;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/body/bagRecover_s.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/body/bagRecover_s.sqf
index e0e9a8064..f386214e2 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/body/bagRecover_s.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/body/bagRecover_s.sqf
@@ -30,7 +30,11 @@ private _ticket = 0;
private _UID = _bodyBag getVariable ["btc_UID", ""];
private _players = [];
if (_UID isEqualTo "") then {
- if (alive _bodyBag && _bodyBag isKindOf "CAManBase") then {
+ if (
+ alive _bodyBag &&
+ _bodyBag isKindOf "CAManBase" &&
+ side group _bodyBag isEqualTo btc_enemy_side
+ ) then {
_ticket = btc_body_prisonerTicket;
switch (btc_p_respawn_ticketsFromPrisoners) do {
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/cache/create.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/cache/create.sqf
index 11e028676..361aeb5cb 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/cache/create.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/cache/create.sqf
@@ -8,7 +8,7 @@ Description:
Parameters:
_cache_pos - Position of the cache. [Array]
_p_chem - Allow chemical cache. [Boolean]
- _probabilityNotChemical - Probability to not create a chemical cache. [Number]
+ _probabilityChemical - Probability to create a chemical cache. [Number]
Returns:
@@ -28,13 +28,13 @@ Author:
params [
["_cache_pos", btc_cache_pos, [[]]],
- ["_p_chem", btc_p_chem, [true]],
- ["_probabilityNotChemical", 0.5, [0]]
+ ["_p_chem", btc_p_chem_cache_probability > 0, [true]],
+ ["_probabilityChemical", btc_p_chem_cache_probability, [0]]
];
private _isChem = false;
if (_p_chem) then {
- _isChem = random 1 > _probabilityNotChemical;
+ _isChem = random 1 < _probabilityChemical;
};
private _cacheType = selectRandom (btc_cache_type select 0);
btc_cache_obj = _cacheType createVehicle _cache_pos;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/chem/checkLoop.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/chem/checkLoop.sqf
index 433edce3b..81d859865 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/chem/checkLoop.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/chem/checkLoop.sqf
@@ -19,7 +19,7 @@ Author:
---------------------------------------------------------------------------- */
-if !(btc_p_chem) exitWith {};
+if !(btc_p_chem_sides || (btc_p_chem_cache_probability > 0)) exitWith {};
private _bodyParts = ["head","body","hand_l","hand_r","leg_l","leg_r"];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/chem/handleShower.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/chem/handleShower.sqf
index ea462006c..e96b82927 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/chem/handleShower.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/chem/handleShower.sqf
@@ -20,7 +20,7 @@ Author:
---------------------------------------------------------------------------- */
-if !(btc_p_chem) exitWith {};
+if !(btc_p_chem_sides || (btc_p_chem_cache_probability > 0)) exitWith {};
params [
["_minDistance", 5, [2]]
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/city/activate.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/city/activate.sqf
index 776498d83..ad2546d19 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/city/activate.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/city/activate.sqf
@@ -304,6 +304,11 @@ if (_civKilled isNotEqualTo []) then {
[[_city, _civKilled], btc_civ_fnc_createFlower] call btc_delay_fnc_exec;
};
+private _grave = _city getVariable ["btc_rep_graves", []];
+if (_grave isNotEqualTo []) then {
+ [[_city, _grave], btc_civ_fnc_createGrave] call btc_delay_fnc_exec;
+};
+
[{
params ["_has_en", "_city", "_cachingRadius"];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/city/de_activate.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/city/de_activate.sqf
index c79a591d6..cf88bf527 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/city/de_activate.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/city/de_activate.sqf
@@ -98,6 +98,8 @@ btc_tags_server = btc_tags_server - [objNull];
(_city getVariable ["btc_civ_flowers", []]) call CBA_fnc_deleteEntity;
+(_city getVariable ["btc_civ_graves", []]) call CBA_fnc_deleteEntity;
+
if (btc_debug_log) then {
[format ["count data_units = %1", count _data_units], __FILE__, [false]] call btc_debug_fnc_message;
[format ["count data_animals = %1", count _data_animals], __FILE__, [false]] call btc_debug_fnc_message;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/civ/createGrave.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/civ/createGrave.sqf
new file mode 100644
index 000000000..98e972cd8
--- /dev/null
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/civ/createGrave.sqf
@@ -0,0 +1,50 @@
+
+/* ----------------------------------------------------------------------------
+Function: btc_civ_fnc_createGrave
+
+Description:
+ Create graves and add flower bouquets next to them.
+
+Parameters:
+ _city - City. [Object]
+ _graves - Array of grave around city. [Array]
+
+Returns:
+
+Examples:
+ (begin example)
+ [btc_city_all get 1, [[getPosASL player, getDir player, "ACE_Grave"]]] call btc_civ_fnc_createGrave;
+ (end)
+
+Author:
+ Vdauphin
+
+---------------------------------------------------------------------------- */
+
+params [
+ ["_city", objNull, [objNull]],
+ ["_graves", [], [[]]]
+];
+
+_city setVariable [
+ "btc_civ_graves",
+ _graves apply {
+ _x params ["_posASL", "_dir", "_graveType"];
+
+ private _grave = createVehicle [_graveType, [0, 0, 0], [], 0, "NONE"];
+ _grave setPosASL _posASL;
+ _grave setDir _dir;
+ _grave setVectorUp surfaceNormal _posASL;
+
+ _flowers = [];
+ for "_i" from 0 to (1 + round random 2) do {
+ _flowers pushBack createSimpleObject [
+ selectRandom btc_type_flowers,
+ [[_posASL vectorAdd [0, 0, 0.2], 0.2, 0.8, _dir, true]] call CBA_fnc_randPosArea
+ ];
+ (_flowers select _i) setDir random 360;
+ };
+
+ [_flowers, _grave]
+ }
+];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/civ/create_patrol.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/civ/create_patrol.sqf
index 4459a20fa..77c9e51bc 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/civ/create_patrol.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/civ/create_patrol.sqf
@@ -26,8 +26,7 @@ Author:
params [
["_group", grpNull, [grpNull]],
["_active_city", objNull, [objNull]],
- ["_area", btc_patrol_area, [0]],
- ["_p_chem", btc_p_chem, [false]]
+ ["_area", btc_patrol_area, [0]]
];
if (isNil "btc_civilian_id") then {btc_civilian_id = -1;};
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/compile.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/compile.sqf
index 0f95e00e4..e787b8be2 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/compile.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/compile.sqf
@@ -60,6 +60,7 @@ if (isServer) then {
btc_civ_fnc_create_patrol = compileScript ["core\fnc\civ\create_patrol.sqf"];
btc_civ_fnc_evacuate = compileScript ["core\fnc\civ\evacuate.sqf"];
btc_civ_fnc_createFlower = compileScript ["core\fnc\civ\createFlower.sqf"];
+ btc_civ_fnc_createGrave = compileScript ["core\fnc\civ\createGrave.sqf"];
//DATA
btc_data_fnc_add_group = compileScript ["core\fnc\data\add_group.sqf"];
@@ -168,6 +169,7 @@ if (isServer) then {
btc_rep_fnc_notify = compileScript ["core\fnc\rep\notify.sqf"];
btc_rep_fnc_killed = compileScript ["core\fnc\rep\killed.sqf"];
btc_rep_fnc_wheelChange = compileScript ["core\fnc\rep\wheelChange.sqf"];
+ btc_rep_fnc_grave = compileScript ["core\fnc\rep\grave.sqf"];
//RESPAWN
btc_respawn_fnc_addTicket = compileScript ["core\fnc\respawn\addTicket.sqf"];
@@ -195,6 +197,7 @@ if (isServer) then {
btc_side_fnc_EMP = compileScript ["core\fnc\side\EMP.sqf"];
btc_side_fnc_removeRubbish = compileScript ["core\fnc\side\removeRubbish.sqf"];
btc_side_fnc_pandemic = compileScript ["core\fnc\side\pandemic.sqf"];
+ btc_side_fnc_massacre = compileScript ["core\fnc\side\massacre.sqf"];
//TAG
btc_tag_fnc_initArea = compileScript ["core\fnc\tag\initArea.sqf"];
@@ -351,6 +354,7 @@ if (!isDedicated) then {
btc_fob_fnc_rallypointAssemble = compileScript ["core\fnc\fob\rallypointAssemble.sqf"];
btc_fob_fnc_redeploy = compileScript ["core\fnc\fob\redeploy.sqf"];
btc_fob_fnc_redeployCheck = compileScript ["core\fnc\fob\redeployCheck.sqf"];
+ btc_fob_fnc_addInteraction = compileScript ["core\fnc\fob\addInteraction.sqf"];
//INT
btc_int_fnc_add_actions = compileScript ["core\fnc\int\add_actions.sqf"];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load.sqf
index 743dc5653..0671ba7d2 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load.sqf
@@ -33,7 +33,8 @@ private _cities_status = +(profileNamespace getVariable [format ["btc_hm_%1_citi
_x params ["_id", "_initialized", "_spawn_more", "_occupied", "_data_units", "_has_ho", "_ho_units_spawned", "_ieds", "_has_suicider",
["_data_animals", [], [[]]],
["_data_tags", [], [[]]],
- ["_civKilled", [], [[]]]
+ ["_civKilled", [], [[]]],
+ ["_graves", [], [[]]]
];
private _city = btc_city_all get _id;
@@ -49,6 +50,7 @@ private _cities_status = +(profileNamespace getVariable [format ["btc_hm_%1_citi
_city setVariable ["data_animals", _data_animals];
_city setVariable ["data_tags", _data_tags];
_city setVariable ["btc_rep_civKilled", _civKilled];
+ _city setVariable ["btc_rep_graves", _graves];
if (btc_debug) then {
private _marker = _city getVariable ["marker", ""];
@@ -100,7 +102,7 @@ btc_cache_pos = _cache_pos;
btc_cache_n = _cache_n;
btc_cache_info = _cache_info;
-[_cache_pos, btc_p_chem, [1, 0] select _isChem] call btc_cache_fnc_create;
+[_cache_pos, btc_p_chem_cache_probability > 0, [1, 0] select _isChem] call btc_cache_fnc_create;
btc_cache_obj setVariable ["btc_cache_unitsSpawned", _cache_unitsSpawned];
btc_cache_markers = [];
@@ -274,7 +276,7 @@ private _markers_properties = +(profileNamespace getVariable [format ["btc_hm_%1
["_markerChannel", 0, [0]]
];
- private _marker = createMarker [format ["_USER_DEFINED #0/%1/%2", _forEachindex, _markerChannel], _markerPos, _markerChannel];
+ private _marker = createMarker [format ["_USER_DEFINED #0/%1/%2 btc_hm", _forEachindex, _markerChannel], _markerPos, _markerChannel];
_marker setMarkerText _markerText;
_marker setMarkerColor _markerColor;
_marker setMarkerType _markerType;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadObjectStatus.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadObjectStatus.sqf
index f19663939..d60f849ea 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadObjectStatus.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadObjectStatus.sqf
@@ -37,7 +37,8 @@ _object_data params [
["_turretMagazines", [], [[]]],
["_customName", "", [""]],
["_tagTexture", "", [""]],
- ["_properties", [], [[]]]
+ ["_properties", [], [[]]],
+ ["_playerKiller", "", [""]]
];
private _obj = createVehicle [_type, ASLToATL _pos, [], 0, "CAN_COLLIDE"];
@@ -76,5 +77,9 @@ if (_properties isNotEqualTo []) then {
([_obj] + _properties) call btc_veh_fnc_propertiesSet;
};
+if (_playerKiller isNotEqualTo "") then {
+ _obj setVariable ["btc_rep_playerKiller", _playerKiller];
+};
+
[_obj] call btc_log_fnc_init;
[_obj, _cargo, _inventory] call btc_db_fnc_loadCargo;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load_old.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load_old.sqf
index acb9d5544..3e0c1e7c8 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load_old.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load_old.sqf
@@ -100,7 +100,7 @@ btc_cache_pos = _cache_pos;
btc_cache_n = _cache_n;
btc_cache_info = _cache_info;
-[_cache_pos, btc_p_chem, [1, 0] select _isChem] call btc_cache_fnc_create;
+[_cache_pos, btc_p_chem_cache_probability > 0, [1, 0] select _isChem] call btc_cache_fnc_create;
btc_cache_obj setVariable ["btc_cache_unitsSpawned", _cache_unitsSpawned];
btc_cache_markers = [];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadcargo.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadcargo.sqf
index 5f7a5536d..e88a8501b 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadcargo.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadcargo.sqf
@@ -32,7 +32,8 @@ Author:
["_dogtagDataTaken", [], [[]]],
["_turretMagazines", [], [[]]],
["_customName", "", [""]],
- ["_properties", [], [[]]]
+ ["_properties", [], [[]]],
+ ["_playerKiller", "", [""]]
];
private _l = createVehicle [_type, getPosATL _obj, [], 0, "CAN_COLLIDE"];
@@ -66,6 +67,10 @@ Author:
if (_properties isNotEqualTo []) then {
([_l] + _properties) call btc_veh_fnc_propertiesSet;
};
+
+ if (_playerKiller isNotEqualTo "") then {
+ _l setVariable ["btc_rep_playerKiller", _playerKiller];
+ };
} forEach _cargo;
//set inventory content for weapons, magazines and items
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/save.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/save.sqf
index 6da167448..e493a707d 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/save.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/save.sqf
@@ -58,6 +58,7 @@ private _cities_status = [];
_city_status pushBack (_y getVariable ["data_animals", []]);
_city_status pushBack (_y getVariable ["data_tags", []]);
_city_status pushBack (_y getVariable ["btc_rep_civKilled", []]);
+ _city_status pushBack (_y getVariable ["btc_rep_graves", []]);
_cities_status pushBack _city_status;
if (btc_debug_log) then {
@@ -146,7 +147,8 @@ private _vehiclesInCargo = _vehicles - _vehiclesNotInCargo;
["_turretMagazines", [], [[]]],
["_notuse", "", [""]],
["_tagTexture", "", [""]],
- ["_properties", [], [[]]]
+ ["_properties", [], [[]]],
+ ["_playerKiller", "", [""]]
];
private _data = [];
@@ -165,6 +167,7 @@ private _vehiclesInCargo = _vehicles - _vehiclesNotInCargo;
_data pushBack _turretMagazines;
_data pushBack _tagTexture;
_data pushBack _properties;
+ _data pushBack _playerKiller;
private _fakeViV = isVehicleCargo attachedTo _x;
if (
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/saveObjectStatus.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/saveObjectStatus.sqf
index a9f45e7cc..91a7af5a2 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/saveObjectStatus.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/saveObjectStatus.sqf
@@ -42,7 +42,8 @@ private _cargo = (_object getVariable ["ace_cargo_loaded", []]) apply {
_x call btc_body_fnc_dogtagGet,
magazinesAllTurrets _x,
_x getVariable ["ace_cargo_customName", ""],
- [_x] call btc_veh_fnc_propertiesGet
+ [_x] call btc_veh_fnc_propertiesGet,
+ _x getVariable ["btc_rep_playerKiller", ""]
]
};
};
@@ -56,5 +57,6 @@ _data pushBack (magazinesAllTurrets _object);
_data pushBack (_object getVariable ["ace_cargo_customName", ""]);
_data pushBack (_object getVariable ["btc_tag_vehicle", ""]);
_data pushBack ([_object] call btc_veh_fnc_propertiesGet);
+_data pushBack (_object getVariable ["btc_rep_playerKiller", ""]);
_data
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/player.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/player.sqf
index 2259f947a..a67f69cfa 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/player.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/player.sqf
@@ -71,7 +71,7 @@ _player addEventHandler ["WeaponAssembled", {
_this remoteExecCall ["btc_log_fnc_init", 2];
}] call CBA_fnc_addEventHandler;
-if (btc_p_chem) then {
+if (btc_p_chem_sides || (btc_p_chem_cache_probability > 0)) then {
// Add biopsy
[missionNamespace, "probingEnded", btc_chem_fnc_biopsy] call BIS_fnc_addScriptedEventHandler;
@@ -136,3 +136,8 @@ if (btc_p_respawn_ticketsAtStart >= 0) then {
params ["_unit", "_flag"];
_flag remoteExecCall ["btc_log_fnc_init", 2];
}] call CBA_fnc_addEventHandler;
+
+["ace_flags_placed", {
+ params ["_player", "_flag", "_item"];
+ _flag remoteExecCall ["btc_log_fnc_init", 2];
+}] call CBA_fnc_addEventHandler;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/server.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/server.sqf
index d1e0e79f6..315f0ad2b 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/server.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/server.sqf
@@ -85,7 +85,8 @@ if (btc_p_auto_db) then {
};
}];
};
-if (btc_p_chem) then {
+
+if (btc_p_chem_sides || (btc_p_chem_cache_probability > 0)) then {
["ace_cargoLoaded", btc_chem_fnc_propagate] call CBA_fnc_addEventHandler;
["AllVehicles", "GetIn", {[_this select 0, _this select 2] call btc_chem_fnc_propagate}] call CBA_fnc_addClassEventHandler;
["DeconShower_01_F", "init", {
@@ -133,8 +134,8 @@ if (btc_p_respawn_ticketsAtStart >= 0) then {
_unit in btc_body_deadPlayers
) then {
deleteMarker (_unit getVariable ["btc_body_deadMarker", ""]);
- private _deadUnits = [[[_unit]] call btc_body_fnc_get] call btc_body_fnc_create;
- private _deadUnit = _deadUnits select 0;
+ private _deadUnits = [[[_unit]] call btc_body_fnc_get] call btc_body_fnc_create;
+ _deadUnit = _deadUnits select 0;
btc_body_deadPlayers pushBack _deadUnit;
};
}];
@@ -156,4 +157,18 @@ if (btc_p_respawn_ticketsAtStart >= 0) then {
params ["_explosive", "_dir", "_pitch", "_unit"];
_explosive setVariable ["btc_side", side group _unit];
btc_explosives pushBack _this;
-}] call CBA_fnc_addEventHandler;
+}] call CBA_fnc_addEventHandler;
+
+["ace_placedInBodyBag", {
+ params ["_patient", "_bodyBag", "_isGrave", "_medic"];
+ if (
+ isNil {_patient getVariable "btc_rep_playerKiller"}
+ ) exitWith {};
+
+ private _killer = _patient getVariable "btc_rep_playerKiller";
+ if (_isGrave) then {
+ [btc_rep_fnc_grave, [_bodyBag, _medic], 0.2] call CBA_fnc_waitAndExecute;
+ } else {
+ _bodyBag setVariable ["btc_rep_playerKiller", _killer];
+ };
+}] call CBA_fnc_addEventHandler;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/fob/addInteraction.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/fob/addInteraction.sqf
new file mode 100644
index 000000000..5200526c5
--- /dev/null
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/fob/addInteraction.sqf
@@ -0,0 +1,101 @@
+
+/* ----------------------------------------------------------------------------
+Function: btc_fob_fnc_addInteraction
+
+Description:
+ Add respawn ACE interaction to vehicle or FOB.
+
+Parameters:
+ _veh - Vehicle to add in wreck system. [Object, String]
+ _isFull - Full respawn menu. [Bool]
+ _timeout - Enable timeout for interaction. [Bool]
+ _typeNum - Type of action, 0 for actions, 1 for self-actions [Number]
+ _parentPath - Parent path of the new action. [Array]
+
+Returns:
+
+Examples:
+ (begin example)
+ [cursorObject] call btc_fob_fnc_addInteraction;
+ (end)
+
+Author:
+ Vdauphin
+
+---------------------------------------------------------------------------- */
+
+params [
+ ["_veh", objNull, [objNull, ""]],
+ ["_isFull", true, [true]],
+ ["_timeout", false, [false]],
+ ["_typeNum", 0, [0]],
+ ["_parentPath", ["ACE_MainActions"], [[]]]
+];
+
+private _actions = [];
+private _condition = {
+ !btc_log_placing &&
+ !(player getVariable ["ace_dragging_isCarrying", false]) &&
+ alive _target
+};
+if (_timeout) then {
+ _condition = {
+ !btc_log_placing &&
+ !(player getVariable ["ace_dragging_isCarrying", false]) &&
+ alive _target &&
+ CBA_missionTime < btc_fob_timeout
+ };
+};
+
+if (_isFull) then {
+ _actions pushBack ["redeploy", localize "STR_BTC_HAM_ACTION_BIRESPAWN", "\A3\ui_f\data\igui\cfg\simpleTasks\types\run_ca.paa", {
+ if ([] call btc_fob_fnc_redeployCheck) then {
+ [] call btc_respawn_fnc_force;
+ };
+ }, _condition];
+};
+_actions pushBack ["base", localize "STR_BTC_HAM_ACTION_REDEPLOYBASE", getText (configfile >> "CfgMarkers" >> getMarkerType "btc_base" >> "icon"), {
+ if ([] call btc_fob_fnc_redeployCheck) then {
+ [_player, btc_respawn_marker, false] call BIS_fnc_moveToRespawnPosition
+ };
+}, _condition, btc_fob_fnc_redeploy, "Base"];
+
+if (_isFull) then {
+ _actions pushBack ["rallypoints", localize "STR_BTC_HAM_ACTION_REDEPLOYRALLY",
+ "\A3\ui_f\data\igui\cfg\simpleTasks\types\wait_ca.paa", {},
+ _condition,
+ btc_fob_fnc_redeploy, ""
+ ];
+ _actions pushBack ["FOB", localize "STR_BTC_HAM_ACTION_REDEPLOYFOB",
+ "\A3\Ui_f\data\Map\Markers\NATO\b_hq.paa", {},
+ _condition
+ ];
+};
+
+{
+ private _action = _x call ace_interact_menu_fnc_createAction;
+ if (_veh isEqualType "") then {
+ [_veh, _typeNum, _parentPath, _action] call ace_interact_menu_fnc_addActionToClass;
+ } else {
+ [_veh, _typeNum, _parentPath, _action] call ace_interact_menu_fnc_addActionToObject;
+ };
+} forEach _actions;
+
+if (_isFull) then {
+ {
+ _x params ["_cardinal", "_degrees"];
+
+ _action = ["FOB" + _cardinal, localize _cardinal,
+ "\A3\ui_f\data\igui\cfg\simpleTasks\types\map_ca.paa", {},
+ {alive _target}, btc_fob_fnc_redeploy, _degrees
+ ] call ace_interact_menu_fnc_createAction;
+ if (_veh isEqualType "") then {
+ [_veh, _typeNum, _parentPath + ["FOB"], _action] call ace_interact_menu_fnc_addActionToClass;
+ } else {
+ [_veh, _typeNum, _parentPath + ["FOB"], _action] call ace_interact_menu_fnc_addActionToObject;
+ };
+ } forEach [
+ ["str_q_north_east", [0, 90]], ["str_q_south_east", [90, 180]],
+ ["str_q_south_west", [180, 270]], ["str_q_north_west", [270, 360]]
+ ];
+};
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/int/add_actions.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/int/add_actions.sqf
index 454b3f7fc..1db4a2859 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/int/add_actions.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/int/add_actions.sqf
@@ -192,33 +192,13 @@ if (btc_debug) then {
};
//Re-deploy
-private _actions = [];
-_actions pushBack ["redeploy", localize "STR_BTC_HAM_ACTION_BIRESPAWN", "\A3\ui_f\data\igui\cfg\simpleTasks\types\run_ca.paa", {
- if ([] call btc_fob_fnc_redeployCheck) then {
- [] call btc_respawn_fnc_force;
- };
-}, {!btc_log_placing && !(player getVariable ["ace_dragging_isCarrying", false])}];
-_actions pushBack ["base", localize "STR_BTC_HAM_ACTION_REDEPLOYBASE", getText (configfile >> "CfgMarkers" >> getMarkerType "btc_base" >> "icon"), {
- if ([] call btc_fob_fnc_redeployCheck) then {[_player, btc_respawn_marker, false] call BIS_fnc_moveToRespawnPosition};
-}, {!btc_log_placing && !(player getVariable ["ace_dragging_isCarrying", false])}, btc_fob_fnc_redeploy, "Base"];
-_actions pushBack ["rallypoints", localize "STR_BTC_HAM_ACTION_REDEPLOYRALLY", "\A3\ui_f\data\igui\cfg\simpleTasks\types\wait_ca.paa", {}, {!btc_log_placing && !(player getVariable ["ace_dragging_isCarrying", false])}, btc_fob_fnc_redeploy, ""];
-_actions pushBack ["FOB", localize "STR_BTC_HAM_ACTION_REDEPLOYFOB", "\A3\Ui_f\data\Map\Markers\NATO\b_hq.paa", {}, {!btc_log_placing && !(player getVariable ["ace_dragging_isCarrying", false])}];
-{
- private _action = _x call ace_interact_menu_fnc_createAction;
- [btc_gear_object, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToObject;
- if (btc_p_respawn_fromFOBToBase) then {
- [btc_fob_flag, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToClass;
- };
-} forEach _actions;
-{
- _x params ["_cardinal", "_degrees"];
-
- _action = ["FOB" + _cardinal, localize _cardinal, "\A3\ui_f\data\igui\cfg\simpleTasks\types\map_ca.paa", {}, {true}, btc_fob_fnc_redeploy, _degrees] call ace_interact_menu_fnc_createAction;
- [btc_gear_object, 0, ["ACE_MainActions", "FOB"], _action] call ace_interact_menu_fnc_addActionToObject;
- if (btc_p_respawn_fromFOBToBase) then {
- [btc_fob_flag, 0, ["ACE_MainActions", "FOB"], _action] call ace_interact_menu_fnc_addActionToClass;
- };
-} forEach [["str_q_north_east", [0, 90]], ["str_q_south_east", [90, 180]], ["str_q_south_west", [180, 270]], ["str_q_north_west", [270, 360]]];
+[btc_gear_object] call btc_fob_fnc_addInteraction;
+if (btc_p_respawn_fromOutsideBase > 0) then {
+ [btc_fob_flag, false, btc_p_respawn_fromOutsideTimeout >= 5] call btc_fob_fnc_addInteraction;
+};
+if (btc_p_respawn_fromOutsideBase > 4) then {
+ [player, false, btc_p_respawn_fromOutsideTimeout >= 1, 1, ["ACE_SelfActions"]] call btc_fob_fnc_addInteraction;
+};
//Arsenal
//BIS
@@ -249,7 +229,7 @@ if (btc_p_flag > 1) then {
[player, 1, ["ACE_SelfActions", "ACE_Equipment"], _action] call ace_interact_menu_fnc_addActionToObject;
_action = ["btc_flag_cutPlayer", localize "STR_BTC_HAM_ACTION_VEHINIT_CUTFLAG", "\A3\ui_f\data\map\markers\handdrawn\flag_CA.paa", {
_target forceFlagTexture "";
- }, {getForcedFlagTexture _target isNotEqualTo ""}] call ace_interact_menu_fnc_createAction;
+ }, {getForcedFlagTexture _target isNotEqualTo "" && !([player] call ace_flags_fnc_isCarryingFlag)}] call ace_interact_menu_fnc_createAction;
[player, 1, ["ACE_SelfActions", "ACE_Equipment"], _action] call ace_interact_menu_fnc_addActionToObject;
};
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/rep/grave.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/rep/grave.sqf
new file mode 100644
index 000000000..3371aa9e1
--- /dev/null
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/rep/grave.sqf
@@ -0,0 +1,47 @@
+
+/* ----------------------------------------------------------------------------
+Function: btc_rep_fnc_grave
+
+Description:
+ Add reputation when a player put dead civil in grave.
+
+Parameters:
+ _restingPlace - Resting Place [Object]
+ _medic - Medic [Object]
+
+Returns:
+
+Examples:
+ (begin example)
+ [cursorObject, player] call btc_rep_fnc_grave;
+ (end)
+
+Author:
+ Vdauphin
+
+---------------------------------------------------------------------------- */
+
+params ["_restingPlace", "_medic"];
+
+private _church = nearestTerrainObjects [_restingPlace, ["CHURCH", "CHAPEL"], 50];
+if (_church isEqualTo []) exitWith {};
+_church = _church select 0;
+
+[btc_rep_bonus_grave, _medic] call btc_rep_fnc_change;
+
+private _city = [_church, values btc_city_all, false] call btc_fnc_find_closecity;
+private _cachingRadius = _city getVariable "cachingRadius";
+
+if (_city distance _church < _cachingRadius) then {
+ private _graveList = _city getVariable ["btc_rep_graves", []];
+ _graveList pushBack [
+ getPosASL _restingPlace,
+ getDir _restingPlace,
+ typeOf _restingPlace
+ ];
+ _city setVariable ["btc_rep_graves", _graveList];
+
+ private _graveList = _city getVariable ["btc_civ_graves", []];
+ _graveList pushBack _restingPlace;
+ _city setVariable ["btc_civ_graves", _graveList];
+};
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/rep/killed.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/rep/killed.sqf
index 2168504e9..9d15c8dd1 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/rep/killed.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/rep/killed.sqf
@@ -46,6 +46,7 @@ if (
};
if !(_isAgent) then {
+ _unit setVariable ["btc_rep_playerKiller", getPlayerUID _instigator];
private _city = (group _unit) getVariable ["btc_city", objNull];
if !(isNull _city) then {
private _civKilled = _city getVariable ["btc_rep_civKilled", []];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/capture_officer.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/capture_officer.sqf
index 1403b7e5b..cdbc40f74 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/capture_officer.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/capture_officer.sqf
@@ -140,7 +140,7 @@ for "_i" from 1 to _convoyLength do {
_trigger setVariable ["captive", _captive];
_trigger setTriggerArea [15, 15, 0, false];
_trigger setTriggerActivation [str btc_player_side, "PRESENT", true];
- _trigger setTriggerStatements ["this", format ["_captive = thisTrigger getVariable 'captive'; deleteVehicle thisTrigger; doStop _captive; [_captive, true] call ace_captives_fnc_setSurrendered; ['%1', 'SUCCEEDED'] call BIS_fnc_taskSetState; [['%2', '%4'], 29, _captive] call btc_task_fnc_create; [['%3', '%4'], 21, btc_create_object_point, typeOf btc_create_object_point] call btc_task_fnc_create;", _surrender_taskID, _handcuff_taskID, _back_taskID, _taskID], ""];
+ _trigger setTriggerStatements ["this", format ["_captive = thisTrigger getVariable 'captive'; deleteVehicle thisTrigger; moveOut _captive; doStop _captive; [_captive, true] call ace_captives_fnc_setSurrendered; ['%1', 'SUCCEEDED'] call BIS_fnc_taskSetState; [['%2', '%4'], 29, _captive] call btc_task_fnc_create; [['%3', '%4'], 21, btc_create_object_point, typeOf btc_create_object_point] call btc_task_fnc_create;", _surrender_taskID, _handcuff_taskID, _back_taskID, _taskID], ""];
_trigger attachTo [_captive, [0, 0, 0]];
["ace_captiveStatusChanged", {
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/hostage.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/hostage.sqf
index 8d8f7bb09..9831cb3ed 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/hostage.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/hostage.sqf
@@ -60,6 +60,12 @@ private _civType = selectRandom btc_civ_type_units;
private _captive = _group_civ createUnit [_civType, _pos, [], 0, "CAN_COLLIDE"];
waitUntil {local _captive};
[_captive, true] call ACE_captives_fnc_setHandcuffed;
+private _i = 0;
+while {insideBuilding _captive < 0.1 && _i < count _buildingPos} do {
+ _pos = _buildingPos select _i;
+ _captive setPosATL _pos;
+ _i = _i + 1;
+};
//// Data side mission
[_taskID, 15, _captive, [_city getVariable "name", _civType]] call btc_task_fnc_create;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/kill.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/kill.sqf
index 983c7e14a..0bca656a5 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/kill.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/kill.sqf
@@ -36,7 +36,7 @@ private _city = selectRandom _useful;
//// Randomise position \\\\
private _houses = ([getPos _city, 100] call btc_fnc_getHouses) select 0;
-_houses = _houses select {count (_x buildingPos -1) > 1}; // Building with low enterable positions are not interesting
+_houses = _houses select {count (_x buildingPos -1) > 3}; // Building with low enterable positions are not interesting
if (_houses isEqualTo []) exitWith {[] spawn btc_side_fnc_create;};
_houses = _houses apply {[count (_x buildingPos -1), _x]};
@@ -59,6 +59,12 @@ private _group_officer = createGroup btc_enemy_side;
_group_officer setVariable ["no_cache", true];
private _officerType = selectRandom btc_type_units;
private _officer = _group_officer createUnit [_officerType, _pos, [], 0, "CAN_COLLIDE"];
+private _i = 0;
+while {insideBuilding _officer < 0.1 && _i < count _buildingPos} do {
+ _pos = _buildingPos select _i;
+ _officer setPosATL _pos;
+ _i = _i + 1;
+};
//// Data side mission
private _officerName = name _officer;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/massacre.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/massacre.sqf
new file mode 100644
index 000000000..915ec702c
--- /dev/null
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/massacre.sqf
@@ -0,0 +1,143 @@
+
+/* ----------------------------------------------------------------------------
+Function: btc_side_fnc_massacre
+
+Description:
+ Move all dead civilians in a grave next to a church, inspired by Bucha massacre (Ukraine).
+
+Parameters:
+ _taskID - Unique task ID. [String]
+
+Returns:
+
+Examples:
+ (begin example)
+ [false, "btc_side_fnc_massacre"] spawn btc_side_fnc_create;
+ (end)
+
+Author:
+ Vdauphin
+
+---------------------------------------------------------------------------- */
+
+params [
+ ["_taskID", "btc_side", [""]]
+];
+
+//// Choose an occupied City \\\\
+private _useful = values btc_city_all select {
+ !((_x getVariable ["type", ""]) in ["NameLocal", "Hill", "NameMarine", "StrongpointArea"])
+};
+if (_useful isEqualTo []) exitWith {[] spawn btc_side_fnc_create;};
+[_useful, true] call CBA_fnc_shuffle;
+private _city = objNull;
+private _church = objNull;
+while {_useful isNotEqualTo []} do {
+ _city = _useful deleteAt 0;
+ _church = nearestTerrainObjects [_city, ["CHURCH", "CHAPEL"], 470];
+ if (_church isNotEqualTo []) then {
+ break;
+ };
+};
+if (_useful isEqualTo [] and _church isEqualTo []) exitWith {
+ [] spawn btc_side_fnc_create;
+};
+
+private _pos = getPos _city;
+private _radius = _city getVariable ["cachingRadius", 0];
+private _roads = _pos nearRoads _radius/2;
+_roads = _roads select {isOnRoad _x};
+if (_roads isEqualTo []) exitWith {[] spawn btc_side_fnc_create;};
+private _road = selectRandom _roads;
+
+private _churchSorted = _church apply {[_road distance _x, _x]};
+_churchSorted sort true;
+_church = _churchSorted select 0 select 1;
+[_taskID, 42, _church, [_city getVariable "name", typeOf _church]] call btc_task_fnc_create;
+
+private _group = createGroup civilian;
+private _civilians = [];
+private _composition = [];
+private _tasksID = [];
+private _objtTypes = btc_type_sports + ["Land_Suitcase_F"] + btc_type_sleepingbag_folded;
+[_objtTypes, true] call CBA_fnc_shuffle;
+
+for "_i" from 1 to (2 + round random 3) do {
+ private _roadPos = [_road, 3] call btc_ied_fnc_randomRoadPos;
+ _roadPos params ["_pos", "_dir"];
+ _pos = _pos getPos [random 5, _dir];
+ private _unit = _group createUnit [selectRandom btc_civ_type_units, _pos, [], 0, "CAN_COLLIDE"];
+ if (selectRandom [true, false]) then {
+ [position _unit, 0.05, 1.5] call BIS_fnc_flies;
+ };
+ _unit setDir random 360;
+ _unit setVariable ["btc_dont_delete", true];
+ _unit setDamage 1;
+ _civilians pushBack _unit;
+
+ private _obj = createVehicle [selectRandom (btc_type_bottles + ["Land_FMradio_F", "Land_MobilePhone_smart_F","Land_RiceBox_F", "Land_Orange_01_F"]), _pos, [], 2, "NONE"];
+ _obj addTorque [4,0,0];
+ _composition pushBack _obj;
+
+ _roadPos params ["_pos", "_dir"];
+ _pos = _pos getPos [random 2, _dir];
+ private _obj = createVehicle [selectRandom btc_type_bloods, _pos, [], 0, "CAN_COLLIDE"];
+ _obj setDir random 360;
+ _obj setVectorUp surfaceNormal _pos;
+ _composition pushBack _obj;
+
+ private _roadPos = [_road, 3] call btc_ied_fnc_randomRoadPos;
+ _roadPos params ["_pos", "_dir"];
+ _pos = _pos getPos [random 10, _dir];
+ private _obj = createVehicle [_objtTypes deleteAt 0, _pos, [], 0, "CAN_COLLIDE"];
+ _obj setDir random 360;
+ _obj addTorque [6,0,0];
+ _composition pushBack _obj;
+
+ private _civ_taskID = _taskID + "cv" + str _i;
+ _tasksID pushBack _civ_taskID;
+ [[_civ_taskID, _taskID], 43, _unit, [name _unit, typeOf _unit], false, false] call btc_task_fnc_create;
+ _unit setVariable ["btc_rep_playerKiller", _civ_taskID];
+ if (roadsConnectedTo _road isNotEqualTo []) then {
+ _road = (roadsConnectedTo _road) select 0;
+ };
+};
+
+["ace_placedInBodyBag", {
+ params ["_patient", "_bodyBag", "_isGrave", "_medic"];
+ if (
+ !(_patient in _thisArgs)
+ ) exitWith {};
+
+ _thisArgs deleteAt (_thisArgs find _patient);
+ private _taskID = _patient getVariable ["btc_rep_playerKiller", ""];
+ if (_isGrave) then {
+ [{
+ params ["_restingPlace", "_taskID"];
+ private _church = nearestTerrainObjects [_restingPlace, ["CHURCH", "CHAPEL"], 50];
+ if (_church isEqualTo []) then {
+ [_taskID, "FAILED"] call BIS_fnc_taskSetState;
+ } else {
+ [_taskID, "SUCCEEDED"] call BIS_fnc_taskSetState;
+ };
+ }, [_bodyBag, _taskID], 0.2] call CBA_fnc_waitAndExecute;
+ } else {
+ _thisArgs pushBack _bodyBag;
+ [_taskID, _bodyBag] call BIS_fnc_taskSetDestination;
+ };
+}, _civilians] call CBA_fnc_addEventHandlerArgs;
+
+waitUntil {sleep 5;
+ _taskID call BIS_fnc_taskCompleted ||
+ _civilians select {!isNull _x} isEqualTo []
+};
+
+[[], _civilians + [_group] + _composition] call btc_fnc_delete;
+
+if (_taskID call BIS_fnc_taskState isEqualTo "CANCELED") exitWith {};
+
+if ("FAILED" in (_tasksID apply {_x call BIS_fnc_taskState})) then {
+ [_taskID, "FAILED"] call btc_task_fnc_setState;
+} else {
+ [_taskID, "SUCCEEDED"] call btc_task_fnc_setState;
+}
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/rescue.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/rescue.sqf
index d24c8cfe7..7673563ec 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/rescue.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/side/rescue.sqf
@@ -78,6 +78,7 @@ private _back_taskID = _taskID + "bk";
private _units = [];
private _triggers = [];
{
+ _x setVariable ["kjw_imposters_core_ignore", true, true]; // Prevent KJW Imposters from resetting captive state
_x setCaptive true;
removeAllWeapons _x;
_x setBehaviour "CARELESS";
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/slot/deserializeState.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/slot/deserializeState.sqf
index a9e81c4b6..696fb7f07 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/slot/deserializeState.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/slot/deserializeState.sqf
@@ -36,7 +36,8 @@ Author:
"_isContaminated",
"_medicalDeserializeState",
["_vehicle", objNull, [objNull]],
- ["_field_rations", [], [[]]]
+ ["_field_rations", [], [[]]],
+ ["_aceFlagItem", "", [""]]
];
if (
@@ -49,7 +50,11 @@ Author:
player setPosASL _previousPos;
};
player setDir _dir;
- player forceFlagTexture _flagTexture;
+ if (_aceFlagItem isEqualTo "") then {
+ player forceFlagTexture _flagTexture;
+ } else {
+ [player, _aceFlagItem] call ace_flags_fnc_carryFlag;
+ };
[{player getVariable ["ace_medical_initialized", false]}, {
[player, _this] call ace_medical_fnc_deserializeState;
}, _medicalDeserializeState] call CBA_fnc_waitUntilAndExecute;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/slot/serializeState.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/slot/serializeState.sqf
index a519726fc..a85dc8377 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/slot/serializeState.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/slot/serializeState.sqf
@@ -41,7 +41,8 @@ private _data = [
[
_unit getVariable ["acex_field_rations_thirst", 0],
_unit getVariable ["acex_field_rations_hunger", 0]
- ]
+ ],
+ _unit getVariable ["ace_flags_carryingFlag", ""]
];
if (btc_debug || btc_debug_log) then {
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/task/setDescription.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/task/setDescription.sqf
index b0ea917c1..003db38f7 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/task/setDescription.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/task/setDescription.sqf
@@ -393,6 +393,24 @@ switch (_description) do {
];
_type = "search";
};
+ case 42 : {
+ _location params ["_name", "_typeOf_church"];
+ _description = [
+ format [localize "STR_BTC_HAM_SIDE_MASSACRE_DESC", _name] + ([_typeOf_church] call btc_fnc_typeOfPreview),
+ format [localize "STR_BTC_HAM_SIDE_MASSACRE_TITLE", _name],
+ format [localize "STR_BTC_HAM_SIDE_MASSACRE_TITLE", _name]
+ ];
+ _type = "default";
+ };
+ case 43 : {
+ _location params ["_name", "_typeOf_civ"];
+ _description = [
+ (localize "STR_BTC_HAM_SIDE_MASSACRE_C_DESC") + ([_typeOf_civ] call btc_fnc_typeOfPreview),
+ format [localize "STR_BTC_HAM_SIDE_MASSACRE_C_TITLE", _name],
+ format [localize "STR_BTC_HAM_SIDE_MASSACRE_C_TITLE", _name]
+ ];
+ _type = "interact";
+ };
};
[
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/add.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/add.sqf
index 68531b82c..f98f9d089 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/add.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/add.sqf
@@ -57,18 +57,27 @@ _veh addMPEventHandler ["MPKilled", {
if ((isNumber (configOf _veh >> "ace_fastroping_enabled")) && (typeOf _veh isNotEqualTo "RHS_UH1Y_d")) then {
[_veh] call ace_fastroping_fnc_equipFRIES
};
-if (btc_p_respawn_location > 1) then {
- if (fullCrew [_veh, "cargo", true] isNotEqualTo []) then {
- if (
- (btc_p_respawn_location isEqualTo 2) && (_veh isKindOf "Air") ||
- btc_p_respawn_location > 2
- ) then {
- [
- _veh,
- "Deleted",
- {_thisArgs call BIS_fnc_removeRespawnPosition},
- [btc_player_side, _veh] call BIS_fnc_addRespawnPosition
- ] call CBA_fnc_addBISEventHandler;
- };
+
+if (fullCrew [_veh, "cargo", true] isNotEqualTo []) then {
+ if (
+ (btc_p_respawn_location isEqualTo 2) && (_veh isKindOf "Air") ||
+ btc_p_respawn_location > 2
+ ) then {
+ [
+ _veh,
+ "Deleted",
+ {_thisArgs call BIS_fnc_removeRespawnPosition},
+ [btc_player_side, _veh] call BIS_fnc_addRespawnPosition
+ ] call CBA_fnc_addBISEventHandler;
+ };
+
+ if (
+ (btc_p_respawn_fromOutsideBase isEqualTo 3) && (_veh isKindOf "Air") ||
+ btc_p_respawn_fromOutsideBase > 3
+ ) then {
+ [_veh, false,
+ btc_p_respawn_fromOutsideTimeout >= 3 ||
+ (btc_p_respawn_fromOutsideTimeout >= 2) && !(_veh isKindOf "Air")
+ ] remoteExecCall ["btc_fob_fnc_addInteraction", [0, -2] select isDedicated, _veh];
};
};
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/addRespawn.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/addRespawn.sqf
index 27aec7445..72bf82636 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/addRespawn.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/addRespawn.sqf
@@ -77,8 +77,9 @@ _vehicle addMPEventHandler ["MPKilled", {
[btc_rep_malus_veh_killed, _instigator] call btc_rep_fnc_change;
};
}];
-if (btc_p_respawn_location > 0) then {
- if (fullCrew [_vehicle, "cargo", true] isNotEqualTo []) then {
+
+if (fullCrew [_vehicle, "cargo", true] isNotEqualTo []) then {
+ if (btc_p_respawn_location > 0) then {
[
_vehicle,
"Deleted",
@@ -86,4 +87,8 @@ if (btc_p_respawn_location > 0) then {
[btc_player_side, _vehicle] call BIS_fnc_addRespawnPosition
] call CBA_fnc_addBISEventHandler;
};
+
+ if (btc_p_respawn_location > 1) then {
+ [_vehicle, false, btc_p_respawn_fromOutsideTimeout >= 4] remoteExecCall ["btc_fob_fnc_addInteraction", [0, -2] select isDedicated, _vehicle];
+ };
};
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/init_player.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/init_player.sqf
index c18a995cc..9b71072eb 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/init_player.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/init_player.sqf
@@ -23,6 +23,8 @@ btc_intro_done = [] spawn btc_respawn_fnc_intro;
if (btc_p_arsenal_Restrict isEqualTo 3) then {
[_arsenal_trait select 1] call btc_arsenal_fnc_weaponsFilter;
};
+
+ btc_fob_timeout = btc_fob_timeout + CBA_missionTime;
[] call btc_int_fnc_add_actions;
if (player getVariable ["interpreter", false]) then {
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/init_server.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/init_server.sqf
index 854da689e..7b94867c6 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/init_server.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/init_server.sqf
@@ -8,7 +8,7 @@ setTimeMultiplier btc_p_acctime;
[["btc_dty", "btc_m"], 1] call btc_task_fnc_create;
if (btc_db_load && {profileNamespace getVariable [format ["btc_hm_%1_db", worldName], false]}) then {
- if ((profileNamespace getVariable [format ["btc_hm_%1_version", worldName], 1.13]) in [btc_version select 1, 22.1, 23]) then {
+ if ((profileNamespace getVariable [format ["btc_hm_%1_version", worldName], 1.13]) in [btc_version select 1, 22.1, 23, 24]) then {
[] call compileScript ["core\fnc\db\load.sqf"];
} else {
[] call compileScript ["core\fnc\db\load_old.sqf"];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml b/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml
index 8ca33c8e0..78b4dfcf9 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml
@@ -162,7 +162,7 @@
-
-
+
+
@@ -84,7 +84,7 @@ At the beginning you have a very low reputation level, so civilians won't help y
- [Spectrum devices](http://vdauphin.github.io/HeartsAndMinds/InGame-documentation#spectrum-devices)
- Under the hood
- A lot of optional gameplay
- - More than 400 enemies and 29 civilians factions available
+ - More than 404 enemies and 34 civilians factions available
- Full saving Database ([even player markers](http://vdauphin.github.io/HeartsAndMinds/InGame-documentation#headless--database))
- Easy map change (See [here](http://vdauphin.github.io/HeartsAndMinds/Change-MAP-of-Hearts-and-Minds))
- ACE Headless support
diff --git a/docs/Action-has-consequences.md b/docs/Action-has-consequences.md
deleted file mode 100644
index b7032a045..000000000
--- a/docs/Action-has-consequences.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Action has consequences
-
-
diff --git a/docs/Add-factions.md b/docs/Add-factions.md
index 717ee9dc0..b8d346d12 100644
--- a/docs/Add-factions.md
+++ b/docs/Add-factions.md
@@ -4,15 +4,15 @@ You have two way to add new factions. First one need to know all class name of t
## First way
- Get all class names of your faction.
-- Replace `_allclasse select` by the corresponding array of faction name in [/core/def/mission.sqf#L639-L648](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/mission.sqf#L639-L648).
+- Replace `_allclasse select` by the corresponding array of faction name in [/core/def/mission.sqf#L645-L654](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/mission.sqf#L645-L654).
## Second way
- Launch your game with all factions mods you want to have in the H&M and launch the H&M mission.
- Execute locally in [debug console](https://community.bistudio.com/wiki/Mission_Editor:_Debug_Console_(Arma_3)) : `copyToClipboard str (["EN"] call btc_fnc_get_class);`.
- Open a text editor and paste the result.
- You have an array of 4 array: [author name, text entry for mission parameters, faction name array, corresponding number for each faction].
- - text entry for mission parameters (second array): copy and paste it in [/core/def/param.hpp#L149](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/param.hpp#L149).
- - corresponding number for each faction (fourth array): copy and paste it in [/core/def/param.hpp#L148](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/param.hpp#L148).
- - faction name array (third array): copy and paste it in [/core/def/mission.sqf#L635](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/mission.sqf#L635).
+ - text entry for mission parameters (second array): copy and paste it in [/core/def/param.hpp#L155](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/param.hpp#L155).
+ - corresponding number for each faction (fourth array): copy and paste it in [/core/def/param.hpp#L154](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/param.hpp#L154).
+ - faction name array (third array): copy and paste it in [/core/def/mission.sqf#L641](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/mission.sqf#L641).
-Note: if you don't want some class name take a look here [/core/def/mission.sqf#L650-L671](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/mission.sqf#L650-L671).
+Note: if you don't want some class name take a look here [/core/def/mission.sqf#L656-L677](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/mission.sqf#L656-L677).
diff --git a/docs/Change-MAP-of-Hearts-and-Minds.md b/docs/Change-MAP-of-Hearts-and-Minds.md
index dbe0fbbf7..f3537a372 100644
--- a/docs/Change-MAP-of-Hearts-and-Minds.md
+++ b/docs/Change-MAP-of-Hearts-and-Minds.md
@@ -11,5 +11,5 @@
# Tips :
- Some map does not provide enough city. You can add new cities by using `btc_custom_loc` in [/define_mod.sqf#L1](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/define_mod.sqf#L1) like it has been talk [here](https://forums.bohemia.net/forums/topic/165948-mp-btc-hearts-and-minds/?page=39&tab=comments#comment-3280136).
-- For small map, you should tweak the safezone for hideout spawn ([/core/def/mission.sqf#L163](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/mission.sqf#L163)).
+- For small map, you should tweak the safezone for hideout spawn ([/core/def/mission.sqf#L165](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/def/mission.sqf#L165)).
- [Some map](https://forums.bohemia.net/forums/topic/165948-mp-btc-hearts-and-minds/?page=52&tab=comments#comment-3348268) use only NameCity for the type of locations but H&M hideouts system looks for "NameLocal", "Hill", "NameVillage", "Airport". You should add in the array the "NameCity" [here](https://github.com/Vdauphin/HeartsAndMinds/blob/master/%3DBTC%3Dco%4030_Hearts_and_Minds.Altis/core/fnc/hideout/create.sqf#L50).
diff --git a/docs/InGame-documentation.md b/docs/InGame-documentation.md
index d9762ebd5..706207961 100644
--- a/docs/InGame-documentation.md
+++ b/docs/InGame-documentation.md
@@ -65,7 +65,7 @@ Any player can retrieve dead player's body by:
- Interact with the logistic point
- Select "Get tickets from body bag or prisoner"
-The ticket from the body bag will go to the player owned the dead body (even if he is not connected).
+The ticket from the body bag will go to the player owned the dead body (even if he is not connected). Dead body can also be directly processed.
### Prisoners:
Prisoners follow the same process as dead player body without the need of body bag. The prisonner need to be alive but it could be unconcious.
@@ -139,7 +139,7 @@ When you destroy an hideout or an ammo cache, all the markers related to it will
### System:
At the beginning you have a very low reputation level, so civilians won't help you in revealing important information about the Oplitas, they will likely lie instead. Reputation can be ask to civilian.
### Good actions:
-Helping the local population by fighting the Oplitas, disarming IED's, heal civilians, give banana, remove tag with spraypaint red, succeed side mission and destroy cache/hideout will rise your reputation.
+Helping the local population by fighting the Oplitas, disarming IED's, heal civilians, put civilians killed by players in grave near church or chapel (50 m), give banana, remove tag with spraypaint red, succeed side mission and destroy cache/hideout will rise your reputation.
### Bad actions:
Bad actions cause bad effects: killing civilians/animals/surrounded or captive enemy, mutilating alive/dead civilians/animals, firing near civilians for no reason, firing to civilian car, remove wheels, remove banana, damaging/destroying buildings, breaking locked door, losing player's vehicles and player respawns will decrease your reputation. Aborting a side mission does not affect reputation.
diff --git a/docs/action_flowchart.graphml b/docs/action_flowchart.graphml
deleted file mode 100644
index 7b0cfdd09..000000000
--- a/docs/action_flowchart.graphml
+++ /dev/null
@@ -1,1282 +0,0 @@
-
-