Updated units name in liberation

This commit is contained in:
Khopa 2021-04-16 23:33:22 +02:00
parent 5c76229ee5
commit 15d2a5bb2b
128 changed files with 1068 additions and 1072 deletions

View File

@ -2,20 +2,20 @@ from dcs.vehicles import AirDefence
AAA_UNITS = [
AirDefence.SPAAA_Gepard,
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.AAA_Vulcan_M163,
AirDefence.AAA_ZU_23_Closed,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
AirDefence.SPAAA_Vulcan_M163,
AirDefence.AAA_ZU_23_Closed_Emplacement,
AirDefence.AAA_ZU_23_Emplacement,
AirDefence.AAA_ZU_23_on_Ural_375,
AirDefence.AAA_ZU_23_Insurgent_Closed,
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
AirDefence.AAA_ZU_23_Closed_Emplacement_Insurgent,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375,
AirDefence.AAA_ZU_23_Insurgent,
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.AAA_Flak_38,
AirDefence.AAA_Flak_38_20mm,
AirDefence.AAA_8_8cm_Flak_36,
AirDefence.AAA_8_8cm_Flak_37,
AirDefence.AAA_Flak_Vierling_38,
AirDefence.AAA_Kdo_G_40,
AirDefence.AAA_Flak_Vierling_38_Quad_20mm,
AirDefence.AAA_SP_Kdo_G_40,
AirDefence.AAA_8_8cm_Flak_41,
AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_40mm_Bofors,
]

View File

@ -24,29 +24,29 @@ from dcs.vehicles import AirDefence
UNITS_WITH_RADAR = [
# Radars
AirDefence.SAM_SA_15_Tor_9A331,
AirDefence.SAM_SA_11_Buk_CC_9S470M1,
AirDefence.SAM_Patriot_AMG_AN_MRC_137,
AirDefence.SAM_Patriot_ECS_AN_MSQ_104,
AirDefence.SAM_SA_15_Tor_Gauntlet,
AirDefence.SAM_SA_11_Buk_Gadfly_C2,
AirDefence.SAM_Patriot_CR__AMG_AN_MRC_137,
AirDefence.SAM_Patriot_ECS,
AirDefence.SPAAA_Gepard,
AirDefence.AAA_Vulcan_M163,
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.SPAAA_Vulcan_M163,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
AirDefence.EWR_1L13,
AirDefence.SAM_SA_6_Kub_STR_9S91,
AirDefence.SAM_SA_10_S_300PS_TR_30N6,
AirDefence.SAM_SA_10_S_300PS_SR_5N66M,
AirDefence.SAM_SA_6_Kub_Long_Track_STR,
AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR,
AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR,
AirDefence.EWR_55G6,
AirDefence.SAM_SA_10_S_300PS_SR_64H6E,
AirDefence.SAM_SA_11_Buk_SR_9S18M1,
AirDefence.CP_9S80M1_Sborka,
AirDefence.SAM_Hawk_TR_AN_MPQ_46,
AirDefence.SAM_Hawk_SR_AN_MPQ_50,
AirDefence.SAM_Patriot_STR_AN_MPQ_53,
AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR,
AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR,
AirDefence.MCC_SR_Sborka_Dog_Ear_SR,
AirDefence.SAM_Hawk_TR__AN_MPQ_46,
AirDefence.SAM_Hawk_SR__AN_MPQ_50,
AirDefence.SAM_Patriot_STR,
AirDefence.SAM_Hawk_CWAR_AN_MPQ_55,
AirDefence.SAM_SR_P_19,
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3,
AirDefence.SAM_Roland_EWR,
AirDefence.SAM_SA_3_S_125_TR_SNR,
AirDefence.SAM_SA_2_TR_SNR_75_Fan_Song,
AirDefence.SAM_SA_3_S_125_Low_Blow_TR,
AirDefence.SAM_SA_2_S_75_Fan_Song_TR,
AirDefence.HQ_7_Self_Propelled_STR,
# Ships
CVN_70_Carl_Vinson,

View File

@ -119,8 +119,8 @@ _WEAPON_FALLBACKS = [
# ADM-141 TALD
(Weapons.ADM_141A, None),
(Weapons.ADM_141A_, None),
(Weapons.ADM_141A__, None),
(Weapons.ADM_141B, None),
(Weapons.ADM_141A_TALD, None),
(Weapons.ADM_141B_TALD, None),
# AGM-114K Hellfire
(Weapons.AGM114x2_OH_58, Weapons.M260_HYDRA), # assuming OH-58 and not MQ-9
(Weapons.AGM_114K, None), # Only for RQ-1

View File

@ -51,7 +51,6 @@ from dcs.planes import (
F_117A,
F_14A_135_GR,
F_14B,
F_111F,
F_15C,
F_15E,
F_16A,
@ -116,8 +115,8 @@ from dcs.planes import (
I_16,
)
from dcs.ships import (
Armed_speedboat,
Bulk_cargo_ship_Yakushev,
Boat_Armed_Hi_speed,
Bulker_Yakushev,
CVN_71_Theodore_Roosevelt,
CVN_72_Abraham_Lincoln,
CVN_73_George_Washington,
@ -125,7 +124,7 @@ from dcs.ships import (
CVN_75_Harry_S__Truman,
CV_1143_5_Admiral_Kuznetsov,
CV_1143_5_Admiral_Kuznetsov_2017,
Dry_cargo_ship_Ivanov,
Cargo_Ivanov,
LHA_1_Tarawa,
Tanker_Elnya_160,
ship_map,
@ -360,7 +359,7 @@ x_map = {
}
from this example `Identifier` should be used (which may or may not include category of the unit and dot + underscore characters).
For example, player accessible Hornet is called `FA_18C_hornet`, and MANPAD Igla is called `AirDefence.SAM_SA_18_Igla_S_MANPADS`
For example, player accessible Hornet is called `FA_18C_hornet`, and MANPAD Igla is called `AirDefence.MANPADS_SA_18_Igla_S_Grouse`
"""
# This should probably be much higher, but the AI doesn't rollover their budget
@ -453,7 +452,6 @@ PRICES = {
Tu_160: 50,
Tu_22M3: 40,
Tu_95MS: 35,
F_111F: 21,
# special
IL_76MD: 30,
An_26B: 25,
@ -487,9 +485,9 @@ PRICES = {
Rafale_B: 26,
# armor
Armor.APC_MTLB: 4,
Armor.FDDM_Grad: 4,
Armor.ARV_BRDM_2: 6,
Armor.ARV_BTR_RD: 6,
Artillery.Grad_MRL_FDDM__FC: 4,
Armor.IFV_BRDM_2: 6,
Armor.APC_BTR_RD: 6,
Armor.APC_BTR_80: 8,
Armor.APC_BTR_82A: 10,
Armor.MBT_T_55: 18,
@ -503,147 +501,147 @@ PRICES = {
Armor.IFV_BMP_3: 18,
Armor.ZBD_04A: 12,
Armor.ZTZ_96B: 30,
Armor.APC_Cobra: 4,
Armor.APC_Cobra__Scout: 4,
Armor.APC_M113: 6,
Armor.APC_M1043_HMMWV_Armament: 2,
Armor.ATGM_M1045_HMMWV_TOW: 8,
Armor.APC_HMMWV__Scout: 2,
Armor.ATGM_HMMWV: 8,
Armor.IFV_M2A2_Bradley: 12,
Armor.APC_M1126_Stryker_ICV: 10,
Armor.SPG_M1128_Stryker_MGS: 14,
Armor.ATGM_M1134_Stryker: 12,
Armor.IFV_M1126_Stryker_ICV: 10,
Armor.SPG_Stryker_MGS: 14,
Armor.ATGM_Stryker: 12,
Armor.MBT_M60A3_Patton: 16,
Armor.MBT_M1A2_Abrams: 25,
Armor.MBT_Leclerc: 25,
Armor.MBT_Leopard_1A3: 20,
Armor.MBT_Leopard_2: 25,
Armor.MBT_Merkava_Mk__4: 25,
Armor.TPz_Fuchs: 5,
Armor.MBT_Merkava_IV: 25,
Armor.APC_TPz_Fuchs: 5,
Armor.MBT_Challenger_II: 25,
Armor.IFV_Marder: 10,
Armor.IFV_MCV_80: 10,
Armor.IFV_Warrior: 10,
Armor.IFV_LAV_25: 7,
Artillery.MLRS_M270: 55,
Artillery.SPH_M109_Paladin: 25,
Artillery.SPH_2S9_Nona: 12,
Artillery.SPH_2S1_Gvozdika: 18,
Artillery.SPH_2S3_Akatsia: 24,
Artillery.SPH_2S19_Msta: 30,
Artillery.MLRS_BM_21_Grad: 15,
Artillery.MLRS_9K57_Uragan_BM_27: 50,
Artillery.MLRS_9A52_Smerch: 40,
Artillery._2B11_mortar: 4,
Artillery.SpGH_Dana: 26,
Unarmed.Transport_UAZ_469: 3,
Unarmed.Transport_Ural_375: 3,
Artillery.MLRS_M270_227mm: 55,
Artillery.SPH_M109_Paladin_155mm: 25,
Artillery.SPH_2S9_Nona_120mm_M: 12,
Artillery.SPH_2S1_Gvozdika_122mm: 18,
Artillery.SPH_2S3_Akatsia_152mm: 24,
Artillery.SPH_2S19_Msta_152mm: 30,
Artillery.MLRS_BM_21_Grad_122mm: 15,
Artillery.MLRS_BM_27_Uragan_220mm: 50,
Artillery.MLRS_9A52_Smerch_HE_300mm: 40,
Artillery.Mortar_2B11_120mm: 4,
Artillery.SPH_Dana_vz77_152mm: 26,
Unarmed.LUV_UAZ_469_Jeep: 3,
Unarmed.Truck_Ural_375: 3,
Infantry.Infantry_M4: 1,
Infantry.Soldier_AK: 1,
Unarmed.Transport_M818: 3,
Infantry.Infantry_AK_74: 1,
Unarmed.Truck_M818_6x6: 3,
# WW2
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G: 24,
Armor.MT_Pz_Kpfw_IV_Ausf_H: 16,
Armor.MT_PzIV_H: 16,
Armor.HT_Pz_Kpfw_VI_Tiger_I: 24,
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II: 26,
Armor.TD_Jagdpanther_G1: 18,
Armor.TD_Jagdpanzer_IV: 11,
Armor.Sd_Kfz_184_Elefant: 18,
Armor.APC_Sd_Kfz_251: 4,
Armor.AC_Sd_Kfz_234_2_Puma: 8,
Armor.SPG_Jagdpanther_G1: 18,
Armor.SPG_Jagdpanzer_IV: 11,
Armor.SPG_Sd_Kfz_184_Elefant: 18,
Armor.APC_Sd_Kfz_251_Halftrack: 4,
Armor.IFV_Sd_Kfz_234_2_Puma: 8,
Armor.MT_M4_Sherman: 12,
Armor.MT_M4A4_Sherman_Firefly: 16,
Armor.CT_Cromwell_IV: 12,
Armor.M30_Cargo_Carrier: 2,
Armor.APC_M2A1: 4,
Unarmed.Carrier_M30_Cargo: 2,
Armor.APC_M2A1_Halftrack: 4,
Armor.CT_Centaur_IV: 10,
Armor.HIT_Churchill_VII: 16,
Armor.LAC_M8_Greyhound: 8,
Armor.TD_M10_GMC: 14,
Armor.StuG_III_Ausf__G: 12,
Armor.StuG_IV: 14,
Artillery.M12_GMC: 10,
Artillery.Sturmpanzer_IV_Brummbär: 10,
Armor.Daimler_Armoured_Car: 8,
Armor.Car_M8_Greyhound_Armored: 8,
Armor.SPG_M10_GMC: 14,
Armor.SPG_StuG_III_Ausf__G: 12,
Armor.SPG_StuG_IV: 14,
Artillery.SPG_M12_GMC_155mm: 10,
Artillery.SPG_Sturmpanzer_IV_Brummbar: 10,
Armor.Car_Daimler_Armored: 8,
Armor.LT_Mk_VII_Tetrarch: 8,
Armor.M4_Tractor: 2,
Unarmed.Tractor_M4_Hi_Speed: 2,
# ship
CV_1143_5_Admiral_Kuznetsov: 100,
CVN_74_John_C__Stennis: 100,
LHA_1_Tarawa: 50,
Bulk_cargo_ship_Yakushev: 10,
Armed_speedboat: 10,
Dry_cargo_ship_Ivanov: 10,
Bulker_Yakushev: 10,
Boat_Armed_Hi_speed: 10,
Cargo_Ivanov: 10,
Tanker_Elnya_160: 10,
# Air Defence units
AirDefence.SAM_SA_19_Tunguska_2S6: 30,
AirDefence.SAM_SA_6_Kub_LN_2P25: 20,
AirDefence.SAM_SA_3_S_125_LN_5P73: 6,
AirDefence.SAM_SA_11_Buk_LN_9A310M1: 30,
AirDefence.SAM_SA_11_Buk_CC_9S470M1: 25,
AirDefence.SAM_SA_11_Buk_SR_9S18M1: 28,
AirDefence.SAM_SA_8_Osa_9A33: 28,
AirDefence.SAM_SA_15_Tor_9A331: 40,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3: 16,
AirDefence.SAM_SA_9_Strela_1_9P31: 12,
AirDefence.SAM_SA_19_Tunguska_Grison: 30,
AirDefence.SAM_SA_6_Kub_Gainful_TEL: 20,
AirDefence.SAM_SA_3_S_125_Goa_LN: 6,
AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL: 30,
AirDefence.SAM_SA_11_Buk_Gadfly_C2: 25,
AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR: 28,
AirDefence.SAM_SA_8_Osa_Gecko_TEL: 28,
AirDefence.SAM_SA_15_Tor_Gauntlet: 40,
AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL: 16,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL: 12,
AirDefence.SAM_SA_8_Osa_LD_9T217: 22,
AirDefence.SAM_Patriot_AMG_AN_MRC_137: 35,
AirDefence.SAM_Patriot_ECS_AN_MSQ_104: 30,
AirDefence.SAM_Patriot_CR__AMG_AN_MRC_137: 35,
AirDefence.SAM_Patriot_ECS: 30,
AirDefence.SPAAA_Gepard: 24,
AirDefence.SAM_Hawk_PCP: 14,
AirDefence.AAA_Vulcan_M163: 10,
AirDefence.SAM_Hawk_Generator__PCP: 14,
AirDefence.SPAAA_Vulcan_M163: 10,
AirDefence.SAM_Hawk_LN_M192: 8,
AirDefence.SAM_Chaparral_M48: 16,
AirDefence.SAM_Linebacker_M6: 18,
AirDefence.SAM_Patriot_LN_M901: 15,
AirDefence.SAM_Avenger_M1097: 20,
AirDefence.SAM_Linebacker___Bradley_M6: 18,
AirDefence.SAM_Patriot_LN: 15,
AirDefence.SAM_Avenger__Stinger: 20,
AirDefence.SAM_Patriot_EPP_III: 15,
AirDefence.SAM_Patriot_ICC: 18,
AirDefence.SAM_Patriot_C2_ICC: 18,
AirDefence.SAM_Roland_ADS: 12,
AirDefence.Stinger_MANPADS: 6,
AirDefence.SAM_Stinger_comm_dsr: 4,
AirDefence.SAM_Stinger_comm: 4,
AirDefence.SPAAA_ZSU_23_4_Shilka: 10,
AirDefence.AAA_ZSU_57_2: 12,
AirDefence.AAA_ZU_23_Closed: 6,
AirDefence.MANPADS_Stinger: 6,
AirDefence.MANPADS_Stinger_C2_Desert: 4,
AirDefence.MANPADS_Stinger_C2: 4,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish: 10,
AirDefence.SPAAA_ZSU_57_2: 12,
AirDefence.AAA_ZU_23_Closed_Emplacement: 6,
AirDefence.AAA_ZU_23_Emplacement: 6,
AirDefence.AAA_ZU_23_on_Ural_375: 7,
AirDefence.AAA_ZU_23_Insurgent_Closed: 6,
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375: 7,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375: 7,
AirDefence.AAA_ZU_23_Closed_Emplacement_Insurgent: 6,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375: 7,
AirDefence.AAA_ZU_23_Insurgent: 6,
AirDefence.SAM_SA_18_Igla_MANPADS: 10,
AirDefence.SAM_SA_18_Igla_comm: 8,
AirDefence.SAM_SA_18_Igla_S_MANPADS: 12,
AirDefence.SAM_SA_18_Igla_S_comm: 8,
AirDefence.MANPADS_SA_18_Igla_Grouse: 10,
AirDefence.MANPADS_SA_18_Igla_Grouse_C2: 8,
AirDefence.MANPADS_SA_18_Igla_S_Grouse: 12,
AirDefence.MANPADS_SA_18_Igla_S_Grouse_C2: 8,
AirDefence.EWR_1L13: 30,
AirDefence.SAM_SA_6_Kub_STR_9S91: 22,
AirDefence.SAM_SA_6_Kub_Long_Track_STR: 22,
AirDefence.EWR_55G6: 30,
AirDefence.CP_9S80M1_Sborka: 10,
AirDefence.SAM_Hawk_TR_AN_MPQ_46: 14,
AirDefence.SAM_Hawk_SR_AN_MPQ_50: 18,
AirDefence.SAM_Patriot_STR_AN_MPQ_53: 22,
AirDefence.MCC_SR_Sborka_Dog_Ear_SR: 10,
AirDefence.SAM_Hawk_TR__AN_MPQ_46: 14,
AirDefence.SAM_Hawk_SR__AN_MPQ_50: 18,
AirDefence.SAM_Patriot_STR: 22,
AirDefence.SAM_Hawk_CWAR_AN_MPQ_55: 20,
AirDefence.SAM_SR_P_19: 14,
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3: 14,
AirDefence.SAM_Roland_EWR: 16,
AirDefence.SAM_SA_3_S_125_TR_SNR: 14,
AirDefence.SAM_SA_2_LN_SM_90: 8,
AirDefence.SAM_SA_2_TR_SNR_75_Fan_Song: 12,
AirDefence.Rapier_FSA_Launcher: 6,
AirDefence.Rapier_FSA_Optical_Tracker: 6,
AirDefence.Rapier_FSA_Blindfire_Tracker: 8,
AirDefence.SAM_SA_3_S_125_Low_Blow_TR: 14,
AirDefence.SAM_SA_2_S_75_Guideline_LN: 8,
AirDefence.SAM_SA_2_S_75_Fan_Song_TR: 12,
AirDefence.SAM_Rapier_LN: 6,
AirDefence.SAM_Rapier_Tracker: 6,
AirDefence.SAM_Rapier_Blindfire_TR: 8,
AirDefence.HQ_7_Self_Propelled_LN: 20,
AirDefence.HQ_7_Self_Propelled_STR: 24,
AirDefence.AAA_8_8cm_Flak_18: 6,
AirDefence.AAA_Flak_38: 6,
AirDefence.AAA_Flak_38_20mm: 6,
AirDefence.AAA_8_8cm_Flak_36: 8,
AirDefence.AAA_8_8cm_Flak_37: 9,
AirDefence.AAA_Flak_Vierling_38: 5,
AirDefence.AAA_Kdo_G_40: 8,
AirDefence.Flak_Searchlight_37: 4,
AirDefence.Maschinensatz_33: 10,
AirDefence.AAA_Flak_Vierling_38_Quad_20mm: 5,
AirDefence.AAA_SP_Kdo_G_40: 8,
AirDefence.SL_Flakscheinwerfer_37: 4,
AirDefence.PU_Maschinensatz_33: 10,
AirDefence.AAA_8_8cm_Flak_41: 10,
AirDefence.EWR_FuMG_401_Freya_LZ: 25,
AirDefence.AAA_Bofors_40mm: 8,
AirDefence.AAA_40mm_Bofors: 8,
AirDefence.AAA_M1_37mm: 7,
AirDefence.AAA_M45_Quadmount: 4,
AirDefence.AA_gun_QF_3_7: 10,
AirDefence.AAA_M45_Quadmount_HB_12_7mm: 4,
AirDefence.AAA_QF_3_7: 10,
# FRENCH PACK MOD
frenchpack.AMX_10RCR: 10,
frenchpack.AMX_10RCR_SEPAR: 12,
@ -674,12 +672,12 @@ PRICES = {
frenchpack.DIM__TOYOTA_DESERT: 2,
frenchpack.DIM__KAMIKAZE: 6,
# SA-10
AirDefence.SAM_SA_10_S_300PS_CP_54K6: 18,
AirDefence.SAM_SA_10_S_300PS_TR_30N6: 24,
AirDefence.SAM_SA_10_S_300PS_SR_5N66M: 30,
AirDefence.SAM_SA_10_S_300PS_SR_64H6E: 30,
AirDefence.SAM_SA_10_S_300PS_LN_5P85C: 22,
AirDefence.SAM_SA_10_S_300PS_LN_5P85D: 22,
AirDefence.SAM_SA_10_S_300_Grumble_C2: 18,
AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR: 24,
AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR: 30,
AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR: 30,
AirDefence.SAM_SA_10_S_300_Grumble_TEL_C: 22,
AirDefence.SAM_SA_10_S_300_Grumble_TEL_D: 22,
# High digit sams mod
highdigitsams.AAA_SON_9_Fire_Can: 8,
highdigitsams.AAA_100mm_KS_19: 10,
@ -786,7 +784,6 @@ UNIT_BY_TASK = {
A_10C_2,
A_20G,
B_17G,
F_111F,
B_1B,
B_52H,
F_117A,
@ -844,18 +841,18 @@ UNIT_BY_TASK = {
Armor.APC_MTLB,
Armor.APC_MTLB,
Armor.APC_MTLB,
Armor.FDDM_Grad,
Armor.FDDM_Grad,
Armor.FDDM_Grad,
Armor.FDDM_Grad,
Armor.FDDM_Grad,
Armor.ARV_BRDM_2,
Armor.ARV_BRDM_2,
Armor.ARV_BRDM_2,
Armor.ARV_BTR_RD,
Armor.ARV_BTR_RD,
Armor.ARV_BTR_RD,
Armor.ARV_BTR_RD,
Artillery.Grad_MRL_FDDM__FC,
Artillery.Grad_MRL_FDDM__FC,
Artillery.Grad_MRL_FDDM__FC,
Artillery.Grad_MRL_FDDM__FC,
Artillery.Grad_MRL_FDDM__FC,
Armor.IFV_BRDM_2,
Armor.IFV_BRDM_2,
Armor.IFV_BRDM_2,
Armor.APC_BTR_RD,
Armor.APC_BTR_RD,
Armor.APC_BTR_RD,
Armor.APC_BTR_RD,
Armor.APC_BTR_80,
Armor.APC_BTR_80,
Armor.APC_BTR_80,
@ -885,33 +882,33 @@ UNIT_BY_TASK = {
Armor.MBT_T_80U,
Armor.MBT_T_90,
Armor.ZTZ_96B,
Armor.APC_Cobra,
Armor.APC_Cobra,
Armor.APC_Cobra,
Armor.APC_Cobra,
Armor.APC_Cobra__Scout,
Armor.APC_Cobra__Scout,
Armor.APC_Cobra__Scout,
Armor.APC_Cobra__Scout,
Armor.APC_M113,
Armor.APC_M113,
Armor.APC_M113,
Armor.APC_M113,
Armor.TPz_Fuchs,
Armor.TPz_Fuchs,
Armor.TPz_Fuchs,
Armor.TPz_Fuchs,
Armor.ATGM_M1045_HMMWV_TOW,
Armor.ATGM_M1045_HMMWV_TOW,
Armor.APC_M1043_HMMWV_Armament,
Armor.APC_M1043_HMMWV_Armament,
Armor.APC_TPz_Fuchs,
Armor.APC_TPz_Fuchs,
Armor.APC_TPz_Fuchs,
Armor.APC_TPz_Fuchs,
Armor.ATGM_HMMWV,
Armor.ATGM_HMMWV,
Armor.APC_HMMWV__Scout,
Armor.APC_HMMWV__Scout,
Armor.IFV_M2A2_Bradley,
Armor.IFV_M2A2_Bradley,
Armor.ATGM_M1134_Stryker,
Armor.ATGM_M1134_Stryker,
Armor.APC_M1126_Stryker_ICV,
Armor.APC_M1126_Stryker_ICV,
Armor.APC_M1126_Stryker_ICV,
Armor.SPG_M1128_Stryker_MGS,
Armor.IFV_MCV_80,
Armor.IFV_MCV_80,
Armor.IFV_MCV_80,
Armor.ATGM_Stryker,
Armor.ATGM_Stryker,
Armor.IFV_M1126_Stryker_ICV,
Armor.IFV_M1126_Stryker_ICV,
Armor.IFV_M1126_Stryker_ICV,
Armor.SPG_Stryker_MGS,
Armor.IFV_Warrior,
Armor.IFV_Warrior,
Armor.IFV_Warrior,
Armor.IFV_LAV_25,
Armor.IFV_LAV_25,
Armor.IFV_Marder,
@ -927,92 +924,92 @@ UNIT_BY_TASK = {
Armor.MBT_Leclerc,
Armor.MBT_Leopard_2,
Armor.MBT_Challenger_II,
Armor.MBT_Merkava_Mk__4,
Armor.MBT_Merkava_IV,
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G,
Armor.MT_Pz_Kpfw_IV_Ausf_H,
Armor.MT_PzIV_H,
Armor.HT_Pz_Kpfw_VI_Tiger_I,
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II,
Armor.APC_Sd_Kfz_251,
Armor.APC_Sd_Kfz_251,
Armor.APC_Sd_Kfz_251,
Armor.APC_Sd_Kfz_251,
Armor.AC_Sd_Kfz_234_2_Puma,
Armor.AC_Sd_Kfz_234_2_Puma,
Armor.APC_Sd_Kfz_251_Halftrack,
Armor.APC_Sd_Kfz_251_Halftrack,
Armor.APC_Sd_Kfz_251_Halftrack,
Armor.APC_Sd_Kfz_251_Halftrack,
Armor.IFV_Sd_Kfz_234_2_Puma,
Armor.IFV_Sd_Kfz_234_2_Puma,
Armor.MT_M4_Sherman,
Armor.MT_M4A4_Sherman_Firefly,
Armor.CT_Cromwell_IV,
Armor.M30_Cargo_Carrier,
Armor.M30_Cargo_Carrier,
Armor.APC_M2A1,
Armor.APC_M2A1,
Armor.APC_M2A1,
Armor.APC_M2A1,
Unarmed.Carrier_M30_Cargo,
Unarmed.Carrier_M30_Cargo,
Armor.APC_M2A1_Halftrack,
Armor.APC_M2A1_Halftrack,
Armor.APC_M2A1_Halftrack,
Armor.APC_M2A1_Halftrack,
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G,
Armor.MT_Pz_Kpfw_IV_Ausf_H,
Armor.MT_PzIV_H,
Armor.HT_Pz_Kpfw_VI_Tiger_I,
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II,
Armor.TD_Jagdpanther_G1,
Armor.TD_Jagdpanzer_IV,
Armor.Sd_Kfz_184_Elefant,
Armor.APC_Sd_Kfz_251,
Armor.AC_Sd_Kfz_234_2_Puma,
Armor.SPG_Jagdpanther_G1,
Armor.SPG_Jagdpanzer_IV,
Armor.SPG_Sd_Kfz_184_Elefant,
Armor.APC_Sd_Kfz_251_Halftrack,
Armor.IFV_Sd_Kfz_234_2_Puma,
Armor.MT_M4_Sherman,
Armor.MT_M4A4_Sherman_Firefly,
Armor.CT_Cromwell_IV,
Armor.M30_Cargo_Carrier,
Armor.M30_Cargo_Carrier,
Armor.M30_Cargo_Carrier,
Armor.APC_M2A1,
Armor.APC_M2A1,
Unarmed.Carrier_M30_Cargo,
Unarmed.Carrier_M30_Cargo,
Unarmed.Carrier_M30_Cargo,
Armor.APC_M2A1_Halftrack,
Armor.APC_M2A1_Halftrack,
Armor.CT_Centaur_IV,
Armor.CT_Centaur_IV,
Armor.HIT_Churchill_VII,
Armor.LAC_M8_Greyhound,
Armor.LAC_M8_Greyhound,
Armor.TD_M10_GMC,
Armor.TD_M10_GMC,
Armor.StuG_III_Ausf__G,
Armor.StuG_IV,
Artillery.M12_GMC,
Artillery.Sturmpanzer_IV_Brummbär,
Armor.Daimler_Armoured_Car,
Armor.Car_M8_Greyhound_Armored,
Armor.Car_M8_Greyhound_Armored,
Armor.SPG_M10_GMC,
Armor.SPG_M10_GMC,
Armor.SPG_StuG_III_Ausf__G,
Armor.SPG_StuG_IV,
Artillery.SPG_M12_GMC_155mm,
Artillery.SPG_Sturmpanzer_IV_Brummbar,
Armor.Car_Daimler_Armored,
Armor.LT_Mk_VII_Tetrarch,
Artillery.MLRS_M270,
Artillery.SPH_M109_Paladin,
Artillery.SPH_2S9_Nona,
Artillery.SPH_2S1_Gvozdika,
Artillery.SPH_2S3_Akatsia,
Artillery.SPH_2S19_Msta,
Artillery.MLRS_BM_21_Grad,
Artillery.MLRS_BM_21_Grad,
Artillery.MLRS_9K57_Uragan_BM_27,
Artillery.MLRS_9A52_Smerch,
Artillery.SpGH_Dana,
Artillery.M12_GMC,
Artillery.Sturmpanzer_IV_Brummbär,
AirDefence.AAA_ZU_23_on_Ural_375,
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375,
AirDefence.AAA_ZSU_57_2,
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3,
AirDefence.SAM_SA_15_Tor_9A331,
AirDefence.SAM_SA_19_Tunguska_2S6,
Artillery.MLRS_M270_227mm,
Artillery.SPH_M109_Paladin_155mm,
Artillery.SPH_2S9_Nona_120mm_M,
Artillery.SPH_2S1_Gvozdika_122mm,
Artillery.SPH_2S3_Akatsia_152mm,
Artillery.SPH_2S19_Msta_152mm,
Artillery.MLRS_BM_21_Grad_122mm,
Artillery.MLRS_BM_21_Grad_122mm,
Artillery.MLRS_BM_27_Uragan_220mm,
Artillery.MLRS_9A52_Smerch_HE_300mm,
Artillery.SPH_Dana_vz77_152mm,
Artillery.SPG_M12_GMC_155mm,
Artillery.SPG_Sturmpanzer_IV_Brummbar,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375,
AirDefence.SPAAA_ZSU_57_2,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
AirDefence.SAM_SA_8_Osa_Gecko_TEL,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL,
AirDefence.SAM_SA_15_Tor_Gauntlet,
AirDefence.SAM_SA_19_Tunguska_Grison,
AirDefence.SPAAA_Gepard,
AirDefence.AAA_Vulcan_M163,
AirDefence.SAM_Linebacker_M6,
AirDefence.SPAAA_Vulcan_M163,
AirDefence.SAM_Linebacker___Bradley_M6,
AirDefence.SAM_Chaparral_M48,
AirDefence.SAM_Avenger_M1097,
AirDefence.SAM_Avenger__Stinger,
AirDefence.SAM_Roland_ADS,
AirDefence.HQ_7_Self_Propelled_LN,
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.AAA_8_8cm_Flak_36,
AirDefence.AAA_8_8cm_Flak_37,
AirDefence.AAA_8_8cm_Flak_41,
AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_40mm_Bofors,
AirDefence.AAA_M1_37mm,
AirDefence.AA_gun_QF_3_7,
AirDefence.AAA_QF_3_7,
frenchpack.DIM__TOYOTA_BLUE,
frenchpack.DIM__TOYOTA_DESERT,
frenchpack.DIM__TOYOTA_GREEN,
@ -1037,13 +1034,13 @@ UNIT_BY_TASK = {
],
AirDefence: [],
Reconnaissance: [
Unarmed.Transport_M818,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Unarmed.Truck_M818_6x6,
Unarmed.Truck_Ural_375,
Unarmed.LUV_UAZ_469_Jeep,
],
Nothing: [
Infantry.Infantry_M4,
Infantry.Soldier_AK,
Infantry.Infantry_AK_74,
],
Embarking: [],
Carriage: [
@ -1052,10 +1049,10 @@ UNIT_BY_TASK = {
CV_1143_5_Admiral_Kuznetsov,
],
CargoTransportation: [
Dry_cargo_ship_Ivanov,
Bulk_cargo_ship_Yakushev,
Cargo_Ivanov,
Bulker_Yakushev,
Tanker_Elnya_160,
Armed_speedboat,
Boat_Armed_Hi_speed,
],
}
@ -1063,41 +1060,41 @@ UNIT_BY_TASK = {
Units from AirDefense category of UNIT_BY_TASK that will be removed from use if "No SAM" option is checked at the start of the game
"""
SAM_BAN = [
AirDefence.SAM_Linebacker_M6,
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_SA_2_LN_SM_90,
AirDefence.SAM_SA_11_Buk_LN_9A310M1,
AirDefence.SAM_Linebacker___Bradley_M6,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
AirDefence.SAM_SA_8_Osa_Gecko_TEL,
AirDefence.SAM_SA_19_Tunguska_Grison,
AirDefence.SAM_SA_6_Kub_Gainful_TEL,
AirDefence.SAM_SA_8_Osa_Gecko_TEL,
AirDefence.SAM_SA_3_S_125_Goa_LN,
AirDefence.SAM_Hawk_Generator__PCP,
AirDefence.SAM_SA_2_S_75_Guideline_LN,
AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL,
]
"""
Used to convert SAM site parts to the corresponding site
"""
SAM_CONVERT = {
AirDefence.SAM_SR_P_19: AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_3_S_125_TR_SNR: AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_3_S_125_LN_5P73: AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_6_Kub_LN_2P25: AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.SAM_SA_6_Kub_STR_9S91: AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.SAM_SA_10_S_300PS_LN_5P85C: AirDefence.SAM_SA_10_S_300PS_LN_5P85C,
AirDefence.SAM_SA_10_S_300PS_SR_5N66M: AirDefence.SAM_SA_10_S_300PS_LN_5P85C,
AirDefence.SAM_SA_10_S_300PS_TR_30N6: AirDefence.SAM_SA_10_S_300PS_LN_5P85C,
AirDefence.SAM_SA_10_S_300PS_CP_54K6: AirDefence.SAM_SA_10_S_300PS_LN_5P85C,
AirDefence.SAM_SA_10_S_300PS_SR_64H6E: AirDefence.SAM_SA_10_S_300PS_CP_54K6,
AirDefence.SAM_Hawk_TR_AN_MPQ_46: AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Hawk_SR_AN_MPQ_50: AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Hawk_LN_M192: AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3: AirDefence.SAM_SA_3_S_125_Goa_LN,
AirDefence.SAM_SA_3_S_125_Low_Blow_TR: AirDefence.SAM_SA_3_S_125_Goa_LN,
AirDefence.SAM_SA_3_S_125_Goa_LN: AirDefence.SAM_SA_3_S_125_Goa_LN,
AirDefence.SAM_SA_6_Kub_Gainful_TEL: AirDefence.SAM_SA_6_Kub_Gainful_TEL,
AirDefence.SAM_SA_6_Kub_Long_Track_STR: AirDefence.SAM_SA_6_Kub_Gainful_TEL,
AirDefence.SAM_SA_10_S_300_Grumble_TEL_C: AirDefence.SAM_SA_10_S_300_Grumble_TEL_C,
AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR: AirDefence.SAM_SA_10_S_300_Grumble_TEL_C,
AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR: AirDefence.SAM_SA_10_S_300_Grumble_TEL_C,
AirDefence.SAM_SA_10_S_300_Grumble_C2: AirDefence.SAM_SA_10_S_300_Grumble_TEL_C,
AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR: AirDefence.SAM_SA_10_S_300_Grumble_C2,
AirDefence.SAM_Hawk_TR__AN_MPQ_46: AirDefence.SAM_Hawk_Generator__PCP,
AirDefence.SAM_Hawk_SR__AN_MPQ_50: AirDefence.SAM_Hawk_Generator__PCP,
AirDefence.SAM_Hawk_LN_M192: AirDefence.SAM_Hawk_Generator__PCP,
"except": {
# this radar is shared between the two S300's. if we attempt to find a SAM site at a base and can't find one
# model, we can safely assume the other was deployed
# well, perhaps not safely, but we'll make the assumption anyway :p
AirDefence.SAM_SA_10_S_300PS_TR_30N6: AirDefence.SAM_SA_10_S_300PS_CP_54K6,
AirDefence.SAM_SR_P_19: AirDefence.SAM_SA_2_LN_SM_90,
AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR: AirDefence.SAM_SA_10_S_300_Grumble_C2,
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3: AirDefence.SAM_SA_2_S_75_Guideline_LN,
},
}
@ -1227,7 +1224,6 @@ PLANE_PAYLOAD_OVERRIDES: Dict[Type[PlaneType], Dict[Type[Task], str]] = {
F_14A_135_GR: COMMON_OVERRIDE,
F_14B: COMMON_OVERRIDE,
F_15C: COMMON_OVERRIDE,
F_111F: COMMON_OVERRIDE,
F_22A: COMMON_OVERRIDE,
F_16C_50: COMMON_OVERRIDE,
JF_17: COMMON_OVERRIDE,
@ -1462,9 +1458,9 @@ def find_unittype(for_task: Task, country_name: str) -> List[Type[UnitType]]:
MANPADS: List[VehicleType] = [
AirDefence.SAM_SA_18_Igla_MANPADS,
AirDefence.SAM_SA_18_Igla_S_MANPADS,
AirDefence.Stinger_MANPADS,
AirDefence.MANPADS_SA_18_Igla_Grouse,
AirDefence.MANPADS_SA_18_Igla_S_Grouse,
AirDefence.MANPADS_Stinger,
]
INFANTRY: List[VehicleType] = [
@ -1473,28 +1469,28 @@ INFANTRY: List[VehicleType] = [
Infantry.Paratrooper_AKS,
Infantry.Paratrooper_AKS,
Infantry.Paratrooper_AKS,
Infantry.Soldier_RPG,
Infantry.Infantry_RPG,
Infantry.Infantry_M4,
Infantry.Infantry_M4,
Infantry.Infantry_M4,
Infantry.Infantry_M4,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
Artillery._2B11_mortar,
Infantry.Soldier_AK,
Infantry.Soldier_AK,
Infantry.Soldier_AK,
Infantry.Soldier_AK,
Infantry.Soldier_AK,
Infantry.Infantry_M249,
Artillery.Mortar_2B11_120mm,
Infantry.Infantry_AK_74,
Infantry.Infantry_AK_74,
Infantry.Infantry_AK_74,
Infantry.Infantry_AK_74,
Infantry.Infantry_AK_74,
Infantry.Paratrooper_RPG_16,
Infantry.Georgian_soldier_with_M4,
Infantry.Georgian_soldier_with_M4,
Infantry.Georgian_soldier_with_M4,
Infantry.Georgian_soldier_with_M4,
Infantry.Infantry_Soldier_Rus,
Infantry.Infantry_Soldier_Rus,
Infantry.Infantry_Soldier_Rus,
Infantry.Infantry_Soldier_Rus,
Infantry.Infantry_M4_Georgia,
Infantry.Infantry_M4_Georgia,
Infantry.Infantry_M4_Georgia,
Infantry.Infantry_M4_Georgia,
Infantry.Infantry_AK_74_Rus,
Infantry.Infantry_AK_74_Rus,
Infantry.Infantry_AK_74_Rus,
Infantry.Infantry_AK_74_Rus,
Infantry.Infantry_SMLE_No_4_Mk_1,
Infantry.Infantry_SMLE_No_4_Mk_1,
Infantry.Infantry_SMLE_No_4_Mk_1,
@ -1505,9 +1501,9 @@ INFANTRY: List[VehicleType] = [
Infantry.Infantry_M1_Garand,
Infantry.Infantry_M1_Garand,
Infantry.Infantry_M1_Garand,
Infantry.Infantry_Soldier_Insurgents,
Infantry.Infantry_Soldier_Insurgents,
Infantry.Infantry_Soldier_Insurgents,
Infantry.Insurgent_AK_74,
Infantry.Insurgent_AK_74,
Infantry.Insurgent_AK_74,
]

View File

@ -97,8 +97,8 @@ class MizCampaignLoader:
FARP_HELIPAD = "SINGLE_HELIPAD"
EWR_UNIT_TYPE = AirDefence.EWR_55G6.id
SAM_UNIT_TYPE = AirDefence.SAM_SA_10_S_300PS_SR_64H6E.id
GARRISON_UNIT_TYPE = AirDefence.SAM_SA_19_Tunguska_2S6.id
SAM_UNIT_TYPE = AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR.id
GARRISON_UNIT_TYPE = AirDefence.SAM_SA_19_Tunguska_Grison.id
OFFSHORE_STRIKE_TARGET_UNIT_TYPE = Fortification.Oil_platform.id
SHIP_UNIT_TYPE = USS_Arleigh_Burke_IIa.id
MISSILE_SITE_UNIT_TYPE = MissilesSS.SRBM_SS_1C_Scud_B_9K72_LN_9P117M.id
@ -107,15 +107,15 @@ class MizCampaignLoader:
# Multiple options for the required SAMs so campaign designers can more
# accurately see the coverage of their IADS for the expected type.
REQUIRED_LONG_RANGE_SAM_UNIT_TYPES = {
AirDefence.SAM_Patriot_LN_M901.id,
AirDefence.SAM_SA_10_S_300PS_LN_5P85C.id,
AirDefence.SAM_SA_10_S_300PS_LN_5P85D.id,
AirDefence.SAM_Patriot_LN.id,
AirDefence.SAM_SA_10_S_300_Grumble_TEL_C.id,
AirDefence.SAM_SA_10_S_300_Grumble_TEL_D.id,
}
REQUIRED_MEDIUM_RANGE_SAM_UNIT_TYPES = {
AirDefence.SAM_Hawk_LN_M192.id,
AirDefence.SAM_SA_2_LN_SM_90.id,
AirDefence.SAM_SA_3_S_125_LN_5P73.id,
AirDefence.SAM_SA_2_S_75_Guideline_LN.id,
AirDefence.SAM_SA_3_S_125_Goa_LN.id,
}
BASE_DEFENSE_RADIUS = nautical_miles(2)
@ -278,7 +278,7 @@ class MizCampaignLoader:
control_point.captured_invert = group.late_activation
control_points[control_point.id] = control_point
for group in self.lhas(blue):
# TODO: Name the LHA.
# TODO: Name the LHA.db
control_point = Lha("lha", group.position, next(self.control_point_id))
control_point.captured = blue
control_point.captured_invert = group.late_activation

View File

@ -41,7 +41,7 @@ class SilkwormGenerator(GroupGenerator):
# Shorad
self.add_unit(
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
"SHILKA#0",
self.position.x - 55,
self.position.y - 38,
@ -50,7 +50,7 @@ class SilkwormGenerator(GroupGenerator):
# Shorad 2
self.add_unit(
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
"STRELA#0",
self.position.x + 200,
self.position.y + 15,

View File

@ -14,16 +14,16 @@ TYPE_TANKS = [
Armor.MBT_Challenger_II,
Armor.MBT_M1A2_Abrams,
Armor.MBT_M60A3_Patton,
Armor.MBT_Merkava_Mk__4,
Armor.MBT_Merkava_IV,
Armor.ZTZ_96B,
# WW2
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G,
Armor.MT_Pz_Kpfw_IV_Ausf_H,
Armor.MT_PzIV_H,
Armor.HT_Pz_Kpfw_VI_Tiger_I,
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II,
Armor.MT_M4_Sherman,
Armor.MT_M4A4_Sherman_Firefly,
Armor.StuG_IV,
Armor.SPG_StuG_IV,
Armor.CT_Centaur_IV,
Armor.CT_Cromwell_IV,
Armor.HIT_Churchill_VII,
@ -40,14 +40,14 @@ TYPE_TANKS = [
]
TYPE_ATGM = [
Armor.ATGM_M1045_HMMWV_TOW,
Armor.ATGM_M1134_Stryker,
Armor.ATGM_HMMWV,
Armor.ATGM_Stryker,
Armor.IFV_BMP_2,
# WW2 (Tank Destroyers)
Armor.M30_Cargo_Carrier,
Armor.TD_Jagdpanzer_IV,
Armor.TD_Jagdpanther_G1,
Armor.TD_M10_GMC,
Unarmed.Carrier_M30_Cargo,
Armor.SPG_Jagdpanzer_IV,
Armor.SPG_Jagdpanther_G1,
Armor.SPG_M10_GMC,
# Mods
frenchpack.VBAE_CRAB_MMP,
frenchpack.VAB_MEPHISTO,
@ -59,17 +59,17 @@ TYPE_IFV = [
Armor.IFV_BMP_2,
Armor.IFV_BMP_1,
Armor.IFV_Marder,
Armor.IFV_MCV_80,
Armor.IFV_Warrior,
Armor.IFV_LAV_25,
Armor.SPG_M1128_Stryker_MGS,
Armor.AC_Sd_Kfz_234_2_Puma,
Armor.SPG_Stryker_MGS,
Armor.IFV_Sd_Kfz_234_2_Puma,
Armor.IFV_M2A2_Bradley,
Armor.IFV_BMD_1,
Armor.ZBD_04A,
# WW2
Armor.AC_Sd_Kfz_234_2_Puma,
Armor.LAC_M8_Greyhound,
Armor.Daimler_Armoured_Car,
Armor.IFV_Sd_Kfz_234_2_Puma,
Armor.Car_M8_Greyhound_Armored,
Armor.Car_Daimler_Armored,
# Mods
frenchpack.ERC_90,
frenchpack.VBAE_CRAB,
@ -77,23 +77,23 @@ TYPE_IFV = [
]
TYPE_APC = [
Armor.APC_M1043_HMMWV_Armament,
Armor.APC_M1126_Stryker_ICV,
Armor.APC_HMMWV__Scout,
Armor.IFV_M1126_Stryker_ICV,
Armor.APC_M113,
Armor.APC_BTR_80,
Armor.APC_BTR_82A,
Armor.APC_MTLB,
Armor.APC_M2A1,
Armor.APC_Cobra,
Armor.APC_Sd_Kfz_251,
Armor.APC_M2A1_Halftrack,
Armor.APC_Cobra__Scout,
Armor.APC_Sd_Kfz_251_Halftrack,
Armor.APC_AAV_7,
Armor.TPz_Fuchs,
Armor.ARV_BRDM_2,
Armor.ARV_BTR_RD,
Armor.FDDM_Grad,
Armor.APC_TPz_Fuchs,
Armor.IFV_BRDM_2,
Armor.APC_BTR_RD,
Artillery.Grad_MRL_FDDM__FC,
# WW2
Armor.APC_M2A1,
Armor.APC_Sd_Kfz_251,
Armor.APC_M2A1_Halftrack,
Armor.APC_Sd_Kfz_251_Halftrack,
# Mods
frenchpack.VAB__50,
frenchpack.VBL__50,
@ -101,26 +101,26 @@ TYPE_APC = [
]
TYPE_ARTILLERY = [
Artillery.MLRS_9A52_Smerch,
Artillery.SPH_2S1_Gvozdika,
Artillery.SPH_2S3_Akatsia,
Artillery.MLRS_BM_21_Grad,
Artillery.MLRS_9K57_Uragan_BM_27,
Artillery.SPH_M109_Paladin,
Artillery.MLRS_M270,
Artillery.SPH_2S9_Nona,
Artillery.SpGH_Dana,
Artillery.SPH_2S19_Msta,
Artillery.MLRS_9A52_Smerch_HE_300mm,
Artillery.SPH_2S1_Gvozdika_122mm,
Artillery.SPH_2S3_Akatsia_152mm,
Artillery.MLRS_BM_21_Grad_122mm,
Artillery.MLRS_BM_27_Uragan_220mm,
Artillery.SPH_M109_Paladin_155mm,
Artillery.MLRS_M270_227mm,
Artillery.SPH_2S9_Nona_120mm_M,
Artillery.SPH_Dana_vz77_152mm,
Artillery.SPH_2S19_Msta_152mm,
Artillery.MLRS_FDDM,
# WW2
Artillery.Sturmpanzer_IV_Brummbär,
Artillery.M12_GMC,
Artillery.SPG_Sturmpanzer_IV_Brummbar,
Artillery.SPG_M12_GMC_155mm,
]
TYPE_LOGI = [
Unarmed.Transport_M818,
Unarmed.Truck_M818_6x6,
Unarmed.Transport_KAMAZ_43101,
Unarmed.Transport_Ural_375,
Unarmed.Truck_Ural_375,
Unarmed.Transport_GAZ_66,
Unarmed.Transport_GAZ_3307,
Unarmed.Transport_GAZ_3308,
@ -139,42 +139,42 @@ TYPE_LOGI = [
]
TYPE_INFANTRY = [
Infantry.Infantry_Soldier_Insurgents,
Infantry.Soldier_AK,
Infantry.Insurgent_AK_74,
Infantry.Infantry_AK_74,
Infantry.Infantry_M1_Garand,
Infantry.Infantry_Mauser_98,
Infantry.Infantry_SMLE_No_4_Mk_1,
Infantry.Georgian_soldier_with_M4,
Infantry.Infantry_Soldier_Rus,
Infantry.Infantry_M4_Georgia,
Infantry.Infantry_AK_74_Rus,
Infantry.Paratrooper_AKS,
Infantry.Paratrooper_RPG_16,
Infantry.Soldier_M249,
Infantry.Infantry_M249,
Infantry.Infantry_M4,
Infantry.Soldier_RPG,
Infantry.Infantry_RPG,
]
TYPE_SHORAD = [
AirDefence.AAA_ZU_23_on_Ural_375,
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375,
AirDefence.AAA_ZSU_57_2,
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3,
AirDefence.SAM_SA_15_Tor_9A331,
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375,
AirDefence.SPAAA_ZSU_57_2,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
AirDefence.SAM_SA_8_Osa_Gecko_TEL,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL,
AirDefence.SAM_SA_15_Tor_Gauntlet,
AirDefence.SAM_SA_19_Tunguska_Grison,
AirDefence.SPAAA_Gepard,
AirDefence.AAA_Vulcan_M163,
AirDefence.SAM_Linebacker_M6,
AirDefence.SPAAA_Vulcan_M163,
AirDefence.SAM_Linebacker___Bradley_M6,
AirDefence.SAM_Chaparral_M48,
AirDefence.SAM_Avenger_M1097,
AirDefence.SAM_Avenger__Stinger,
AirDefence.SAM_Roland_ADS,
AirDefence.HQ_7_Self_Propelled_LN,
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.AAA_8_8cm_Flak_36,
AirDefence.AAA_8_8cm_Flak_37,
AirDefence.AAA_8_8cm_Flak_41,
AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_40mm_Bofors,
AirDefence.AAA_M1_37mm,
AirDefence.AA_gun_QF_3_7,
AirDefence.AAA_QF_3_7,
]

View File

@ -37,7 +37,7 @@ class ScudGenerator(GroupGenerator):
# Commander
self.add_unit(
Unarmed.Transport_UAZ_469,
Unarmed.LUV_UAZ_469_Jeep,
"Kubel#0",
self.position.x - 35,
self.position.y - 20,
@ -46,7 +46,7 @@ class ScudGenerator(GroupGenerator):
# Shorad
self.add_unit(
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
"SHILKA#0",
self.position.x - 55,
self.position.y - 38,
@ -54,7 +54,7 @@ class ScudGenerator(GroupGenerator):
)
self.add_unit(
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
"STRELA#0",
self.position.x + 200,
self.position.y + 15,

View File

@ -46,7 +46,7 @@ class V1GroupGenerator(GroupGenerator):
# Self defense flak
flak_unit = random.choice(
[AirDefence.AAA_Flak_Vierling_38, AirDefence.AAA_Flak_38]
[AirDefence.AAA_Flak_Vierling_38_Quad_20mm, AirDefence.AAA_Flak_38_20mm]
)
self.add_unit(

View File

@ -27,7 +27,7 @@ class BoforsGenerator(AirDefenseGroupGenerator):
for j in range(grid_y):
index = index + 1
self.add_unit(
AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_40mm_Bofors,
"AAA#" + str(index),
self.position.x + spacing * i,
self.position.y + spacing * j,

View File

@ -8,12 +8,12 @@ from gen.sam.airdefensegroupgenerator import (
)
GFLAK = [
AirDefence.AAA_Flak_Vierling_38,
AirDefence.AAA_Flak_Vierling_38_Quad_20mm,
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.AAA_8_8cm_Flak_36,
AirDefence.AAA_8_8cm_Flak_37,
AirDefence.AAA_8_8cm_Flak_41,
AirDefence.AAA_Flak_38,
AirDefence.AAA_Flak_38_20mm,
]
@ -53,7 +53,7 @@ class FlakGenerator(AirDefenseGroupGenerator):
search_pos = self.get_circular_position(random.randint(2, 3), 80)
for index, pos in enumerate(search_pos):
self.add_unit(
AirDefence.Flak_Searchlight_37,
AirDefence.SL_Flakscheinwerfer_37,
"SearchLight#" + str(index),
pos[0],
pos[1],
@ -62,14 +62,14 @@ class FlakGenerator(AirDefenseGroupGenerator):
# Support
self.add_unit(
AirDefence.Maschinensatz_33,
AirDefence.PU_Maschinensatz_33,
"MC33#",
self.position.x - 20,
self.position.y - 20,
self.heading,
)
self.add_unit(
AirDefence.AAA_Kdo_G_40,
AirDefence.AAA_SP_Kdo_G_40,
"KDO#",
self.position.x - 25,
self.position.y - 20,

View File

@ -21,7 +21,7 @@ class AllyWW2FlakGenerator(AirDefenseGroupGenerator):
positions = self.get_circular_position(4, launcher_distance=30, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AA_gun_QF_3_7,
AirDefence.AAA_QF_3_7,
"AA#" + str(i),
position[0],
position[1],
@ -41,7 +41,7 @@ class AllyWW2FlakGenerator(AirDefenseGroupGenerator):
positions = self.get_circular_position(8, launcher_distance=90, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_M45_Quadmount,
AirDefence.AAA_M45_Quadmount_HB_12_7mm,
"AA#" + str(12 + i),
position[0],
position[1],
@ -57,14 +57,14 @@ class AllyWW2FlakGenerator(AirDefenseGroupGenerator):
random.randint(0, 360),
)
self.add_unit(
Armor.M30_Cargo_Carrier,
Unarmed.Carrier_M30_Cargo,
"LOG#1",
self.position.x,
self.position.y + 20,
random.randint(0, 360),
)
self.add_unit(
Armor.M4_Tractor,
Unarmed.Tractor_M4_Hi_Speed,
"LOG#2",
self.position.x + 20,
self.position.y,

View File

@ -21,7 +21,7 @@ class ZSU57Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_ZSU_57_2,
AirDefence.SPAAA_ZSU_57_2,
"SPAA#" + str(i),
position[0],
position[1],

View File

@ -27,7 +27,7 @@ class ZU23InsurgentGenerator(AirDefenseGroupGenerator):
for j in range(grid_y):
index = index + 1
self.add_unit(
AirDefence.AAA_ZU_23_Insurgent_Closed,
AirDefence.AAA_ZU_23_Closed_Emplacement_Insurgent,
"AAA#" + str(index),
self.position.x + spacing * i,
self.position.y + spacing * j,

View File

@ -39,14 +39,14 @@ class EarlyColdWarFlakGenerator(AirDefenseGroupGenerator):
# Short range guns
self.add_unit(
AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_40mm_Bofors,
"SHO#1",
self.position.x - 40,
self.position.y - 40,
self.heading + 180,
),
self.add_unit(
AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_40mm_Bofors,
"SHO#2",
self.position.x + spacing * 2 + 40,
self.position.y + spacing + 40,
@ -96,14 +96,14 @@ class ColdWarFlakGenerator(AirDefenseGroupGenerator):
# Short range guns
self.add_unit(
AirDefence.AAA_ZU_23_Closed,
AirDefence.AAA_ZU_23_Closed_Emplacement,
"SHO#1",
self.position.x - 40,
self.position.y - 40,
self.heading + 180,
),
self.add_unit(
AirDefence.AAA_ZU_23_Closed,
AirDefence.AAA_ZU_23_Closed_Emplacement,
"SHO#2",
self.position.x + spacing * 2 + 40,
self.position.y + spacing + 40,
@ -112,7 +112,7 @@ class ColdWarFlakGenerator(AirDefenseGroupGenerator):
# Add a P19 Radar for EWR
self.add_unit(
AirDefence.SAM_SR_P_19,
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3,
"SR#0",
self.position.x - 60,
self.position.y - 20,

View File

@ -33,7 +33,7 @@ class DogEarGenerator(EwrGenerator):
This is the SA-8 search radar, but used as an early warning radar.
"""
unit_type = AirDefence.CP_9S80M1_Sborka
unit_type = AirDefence.MCC_SR_Sborka_Dog_Ear_SR
class RolandEwrGenerator(EwrGenerator):
@ -51,7 +51,7 @@ class FlatFaceGenerator(EwrGenerator):
This is the SA-3 search radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_SR_P_19
unit_type = AirDefence.SAM_P19_Flat_Face_SR__SA_2_3
class PatriotEwrGenerator(EwrGenerator):
@ -60,7 +60,7 @@ class PatriotEwrGenerator(EwrGenerator):
This is the Patriot search/track radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_Patriot_STR_AN_MPQ_53
unit_type = AirDefence.SAM_Patriot_STR
class BigBirdGenerator(EwrGenerator):
@ -69,7 +69,7 @@ class BigBirdGenerator(EwrGenerator):
This is the SA-10 track radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_SA_10_S_300PS_SR_64H6E
unit_type = AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR
class SnowDriftGenerator(EwrGenerator):
@ -78,7 +78,7 @@ class SnowDriftGenerator(EwrGenerator):
This is the SA-11 search radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_SA_11_Buk_SR_9S18M1
unit_type = AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR
class StraightFlushGenerator(EwrGenerator):
@ -87,7 +87,7 @@ class StraightFlushGenerator(EwrGenerator):
This is the SA-6 search/track radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_SA_6_Kub_STR_9S91
unit_type = AirDefence.SAM_SA_6_Kub_Long_Track_STR
class HawkEwrGenerator(EwrGenerator):
@ -96,4 +96,4 @@ class HawkEwrGenerator(EwrGenerator):
This is the Hawk search radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_Hawk_SR_AN_MPQ_50
unit_type = AirDefence.SAM_Hawk_SR__AN_MPQ_50

View File

@ -28,7 +28,7 @@ class FreyaGenerator(AirDefenseGroupGenerator):
positions = self.get_circular_position(4, launcher_distance=50, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_Flak_Vierling_38,
AirDefence.AAA_Flak_Vierling_38_Quad_20mm,
"AA#" + str(i),
position[0],
position[1],
@ -68,16 +68,16 @@ class FreyaGenerator(AirDefenseGroupGenerator):
self.heading,
)
# Maschinensatz_33 and Kdo.g 40 Telemeter
# PU_Maschinensatz_33 and Kdo.g 40 Telemeter
self.add_unit(
AirDefence.Maschinensatz_33,
AirDefence.PU_Maschinensatz_33,
"Energy#1",
self.position.x + 20,
self.position.y - 20,
self.heading,
)
self.add_unit(
AirDefence.AAA_Kdo_G_40,
AirDefence.AAA_SP_Kdo_G_40,
"Telemeter#1",
self.position.x + 20,
self.position.y - 10,

View File

@ -20,7 +20,7 @@ class AvengerGenerator(AirDefenseGroupGenerator):
num_launchers = random.randint(2, 3)
self.add_unit(
Unarmed.Transport_M818,
Unarmed.Truck_M818_6x6,
"TRUCK",
self.position.x,
self.position.y,
@ -31,7 +31,7 @@ class AvengerGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Avenger_M1097,
AirDefence.SAM_Avenger__Stinger,
"SPAA#" + str(i),
position[0],
position[1],

View File

@ -20,7 +20,7 @@ class ChaparralGenerator(AirDefenseGroupGenerator):
num_launchers = random.randint(2, 4)
self.add_unit(
Unarmed.Transport_M818,
Unarmed.Truck_M818_6x6,
"TRUCK",
self.position.x,
self.position.y,

View File

@ -33,7 +33,7 @@ class GepardGenerator(AirDefenseGroupGenerator):
self.heading,
)
self.add_unit(
Unarmed.Transport_M818,
Unarmed.Truck_M818_6x6,
"TRUCK",
self.position.x + 80,
self.position.y,

View File

@ -119,36 +119,36 @@ SAM_MAP: Dict[str, Type[AirDefenseGroupGenerator]] = {
SAM_PRICES = {
AirDefence.SAM_Hawk_PCP: 35,
AirDefence.SAM_Hawk_Generator__PCP: 35,
AirDefence.AAA_ZU_23_Emplacement: 10,
AirDefence.AAA_ZU_23_Closed: 10,
AirDefence.AAA_ZU_23_on_Ural_375: 10,
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375: 10,
AirDefence.AAA_ZU_23_Insurgent_Closed: 10,
AirDefence.AAA_ZU_23_Closed_Emplacement: 10,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375: 10,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375: 10,
AirDefence.AAA_ZU_23_Closed_Emplacement_Insurgent: 10,
AirDefence.AAA_ZU_23_Insurgent: 10,
AirDefence.SPAAA_ZSU_23_4_Shilka: 10,
AirDefence.AAA_Vulcan_M163: 15,
AirDefence.SAM_Linebacker_M6: 20,
AirDefence.Rapier_FSA_Launcher: 20,
AirDefence.SAM_Avenger_M1097: 22,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish: 10,
AirDefence.SPAAA_Vulcan_M163: 15,
AirDefence.SAM_Linebacker___Bradley_M6: 20,
AirDefence.SAM_Rapier_LN: 20,
AirDefence.SAM_Avenger__Stinger: 22,
AirDefence.SPAAA_Gepard: 24,
AirDefence.SAM_Roland_ADS: 40,
AirDefence.SAM_Patriot_LN_M901: 85,
AirDefence.SAM_Patriot_LN: 85,
AirDefence.SAM_Patriot_EPP_III: 85,
AirDefence.SAM_Chaparral_M48: 25,
AirDefence.AAA_Bofors_40mm: 15,
AirDefence.AAA_40mm_Bofors: 15,
AirDefence.AAA_8_8cm_Flak_36: 15,
AirDefence.SAM_SA_2_LN_SM_90: 30,
AirDefence.SAM_SA_3_S_125_LN_5P73: 35,
AirDefence.SAM_SA_6_Kub_LN_2P25: 45,
AirDefence.SAM_SA_8_Osa_9A33: 30,
AirDefence.SAM_SA_9_Strela_1_9P31: 25,
AirDefence.SAM_SA_10_S_300PS_LN_5P85C: 80,
AirDefence.SAM_SA_10_S_300PS_CP_54K6: 80,
AirDefence.SAM_SA_11_Buk_LN_9A310M1: 60,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3: 30,
AirDefence.SAM_SA_15_Tor_9A331: 40,
AirDefence.SAM_SA_19_Tunguska_2S6: 35,
AirDefence.SAM_SA_2_S_75_Guideline_LN: 30,
AirDefence.SAM_SA_3_S_125_Goa_LN: 35,
AirDefence.SAM_SA_6_Kub_Gainful_TEL: 45,
AirDefence.SAM_SA_8_Osa_Gecko_TEL: 30,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL: 25,
AirDefence.SAM_SA_10_S_300_Grumble_TEL_C: 80,
AirDefence.SAM_SA_10_S_300_Grumble_C2: 80,
AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL: 60,
AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL: 30,
AirDefence.SAM_SA_15_Tor_Gauntlet: 40,
AirDefence.SAM_SA_19_Tunguska_Grison: 35,
AirDefence.HQ_7_Self_Propelled_LN: 35,
}

View File

@ -19,21 +19,21 @@ class HawkGenerator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_Hawk_SR_AN_MPQ_50,
AirDefence.SAM_Hawk_SR__AN_MPQ_50,
"SR",
self.position.x + 20,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Hawk_Generator__PCP,
"PCP",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Hawk_TR_AN_MPQ_46,
AirDefence.SAM_Hawk_TR__AN_MPQ_46,
"TR",
self.position.x + 40,
self.position.y,
@ -44,7 +44,7 @@ class HawkGenerator(AirDefenseGroupGenerator):
aa_group = self.add_auxiliary_group("AA")
self.add_unit_to_group(
aa_group,
AirDefence.AAA_Vulcan_M163,
AirDefence.SPAAA_Vulcan_M163,
"AAA",
self.position + Point(20, 30),
self.heading,

View File

@ -37,14 +37,14 @@ class HQ7Generator(AirDefenseGroupGenerator):
aa_group = self.add_auxiliary_group("AA")
self.add_unit_to_group(
aa_group,
AirDefence.AAA_ZU_23_on_Ural_375,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
"AAA1",
self.position + Point(20, 30),
self.heading,
)
self.add_unit_to_group(
aa_group,
AirDefence.AAA_ZU_23_on_Ural_375,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
"AAA2",
self.position - Point(20, 30),
self.heading,

View File

@ -20,7 +20,7 @@ class LinebackerGenerator(AirDefenseGroupGenerator):
num_launchers = random.randint(2, 4)
self.add_unit(
Unarmed.Transport_M818,
Unarmed.Truck_M818_6x6,
"TRUCK",
self.position.x,
self.position.y,
@ -31,7 +31,7 @@ class LinebackerGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Linebacker_M6,
AirDefence.SAM_Linebacker___Bradley_M6,
"M6#" + str(i),
position[0],
position[1],

View File

@ -20,28 +20,28 @@ class PatriotGenerator(AirDefenseGroupGenerator):
def generate(self):
# Command Post
self.add_unit(
AirDefence.SAM_Patriot_STR_AN_MPQ_53,
AirDefence.SAM_Patriot_STR,
"STR",
self.position.x + 30,
self.position.y + 30,
self.heading,
)
self.add_unit(
AirDefence.SAM_Patriot_AMG_AN_MRC_137,
AirDefence.SAM_Patriot_CR__AMG_AN_MRC_137,
"MRC",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Patriot_ECS_AN_MSQ_104,
AirDefence.SAM_Patriot_ECS,
"MSQ",
self.position.x + 30,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Patriot_ICC,
AirDefence.SAM_Patriot_C2_ICC,
"ICC",
self.position.x + 60,
self.position.y,
@ -61,7 +61,7 @@ class PatriotGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Patriot_LN_M901,
AirDefence.SAM_Patriot_LN,
"LN#" + str(i),
position[0],
position[1],
@ -76,7 +76,7 @@ class PatriotGenerator(AirDefenseGroupGenerator):
)
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
aa_group, AirDefence.AAA_Vulcan_M163, f"SPAAA#{i}", Point(x, y), heading
aa_group, AirDefence.SPAAA_Vulcan_M163, f"SPAAA#{i}", Point(x, y), heading
)
@classmethod

View File

@ -18,14 +18,14 @@ class RapierGenerator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.Rapier_FSA_Blindfire_Tracker,
AirDefence.SAM_Rapier_Blindfire_TR,
"BT",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.Rapier_FSA_Optical_Tracker,
AirDefence.SAM_Rapier_Tracker,
"OT",
self.position.x + 20,
self.position.y,
@ -39,7 +39,7 @@ class RapierGenerator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.Rapier_FSA_Launcher,
AirDefence.SAM_Rapier_LN,
"LN#" + str(i),
position[0],
position[1],

View File

@ -30,7 +30,7 @@ class RolandGenerator(AirDefenseGroupGenerator):
self.heading,
)
self.add_unit(
Unarmed.Transport_M818,
Unarmed.Truck_M818_6x6,
"TRUCK",
self.position.x + 80,
self.position.y,

View File

@ -23,13 +23,13 @@ class SA10Generator(AirDefenseGroupGenerator):
def __init__(self, game: Game, ground_object: SamGroundObject):
super().__init__(game, ground_object)
self.sr1 = AirDefence.SAM_SA_10_S_300PS_SR_5N66M
self.sr2 = AirDefence.SAM_SA_10_S_300PS_SR_64H6E
self.cp = AirDefence.SAM_SA_10_S_300PS_CP_54K6
self.tr1 = AirDefence.SAM_SA_10_S_300PS_TR_30N6
self.tr2 = AirDefence.SAM_SA_10_S_300PS_TR_30N6
self.ln1 = AirDefence.SAM_SA_10_S_300PS_LN_5P85C
self.ln2 = AirDefence.SAM_SA_10_S_300PS_LN_5P85D
self.sr1 = AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR
self.sr2 = AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR
self.cp = AirDefence.SAM_SA_10_S_300_Grumble_C2
self.tr1 = AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR
self.tr2 = AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR
self.ln1 = AirDefence.SAM_SA_10_S_300_Grumble_TEL_C
self.ln2 = AirDefence.SAM_SA_10_S_300_Grumble_TEL_D
def generate(self):
# Search Radar
@ -85,7 +85,7 @@ class SA10Generator(AirDefenseGroupGenerator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
aa_group,
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
f"AA#{i}",
Point(x, y),
heading,
@ -110,7 +110,7 @@ class Tier2SA10Generator(SA10Generator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
pd_group,
AirDefence.SAM_SA_15_Tor_9A331,
AirDefence.SAM_SA_15_Tor_Gauntlet,
f"PD#{i}",
Point(x, y),
heading,
@ -132,7 +132,7 @@ class Tier3SA10Generator(SA10Generator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
aa_group,
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SAM_SA_19_Tunguska_Grison,
f"AA#{i}",
Point(x, y),
heading,
@ -147,7 +147,7 @@ class Tier3SA10Generator(SA10Generator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
pd_group,
AirDefence.SAM_SA_15_Tor_9A331,
AirDefence.SAM_SA_15_Tor_Gauntlet,
f"PD#{i}",
Point(x, y),
heading,

View File

@ -18,14 +18,14 @@ class SA11Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_11_Buk_SR_9S18M1,
AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR,
"SR",
self.position.x + 20,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_SA_11_Buk_CC_9S470M1,
AirDefence.SAM_SA_11_Buk_Gadfly_C2,
"CC",
self.position.x,
self.position.y,
@ -39,7 +39,7 @@ class SA11Generator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_11_Buk_LN_9A310M1,
AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL,
"LN#" + str(i),
position[0],
position[1],

View File

@ -18,7 +18,7 @@ class SA13Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
Unarmed.Transport_UAZ_469,
Unarmed.LUV_UAZ_469_Jeep,
"UAZ",
self.position.x,
self.position.y,
@ -38,7 +38,7 @@ class SA13Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_13_Strela_10M3_9A35M3,
AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL,
"LN#" + str(i),
position[0],
position[1],

View File

@ -16,14 +16,14 @@ class SA15Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_15_Tor_9A331,
AirDefence.SAM_SA_15_Tor_Gauntlet,
"ADS",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.Transport_UAZ_469,
Unarmed.LUV_UAZ_469_Jeep,
"EWR",
self.position.x + 40,
self.position.y,

View File

@ -17,14 +17,14 @@ class SA17Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_11_Buk_SR_9S18M1,
AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR,
"SR",
self.position.x + 20,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_SA_11_Buk_CC_9S470M1,
AirDefence.SAM_SA_11_Buk_Gadfly_C2,
"CC",
self.position.x,
self.position.y,

View File

@ -21,7 +21,7 @@ class SA19Generator(AirDefenseGroupGenerator):
if num_launchers == 1:
self.add_unit(
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SAM_SA_19_Tunguska_Grison,
"LN#0",
self.position.x,
self.position.y,
@ -33,7 +33,7 @@ class SA19Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SAM_SA_19_Tunguska_Grison,
"LN#" + str(i),
position[0],
position[1],

View File

@ -18,10 +18,10 @@ class SA2Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SR_P_19, "SR", self.position.x, self.position.y, self.heading
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3, "SR", self.position.x, self.position.y, self.heading
)
self.add_unit(
AirDefence.SAM_SA_2_TR_SNR_75_Fan_Song,
AirDefence.SAM_SA_2_S_75_Fan_Song_TR,
"TR",
self.position.x + 20,
self.position.y,
@ -35,7 +35,7 @@ class SA2Generator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_2_LN_SM_90,
AirDefence.SAM_SA_2_S_75_Guideline_LN,
"LN#" + str(i),
position[0],
position[1],

View File

@ -18,10 +18,10 @@ class SA3Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SR_P_19, "SR", self.position.x, self.position.y, self.heading
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3, "SR", self.position.x, self.position.y, self.heading
)
self.add_unit(
AirDefence.SAM_SA_3_S_125_TR_SNR,
AirDefence.SAM_SA_3_S_125_Low_Blow_TR,
"TR",
self.position.x + 20,
self.position.y,
@ -35,7 +35,7 @@ class SA3Generator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_3_S_125_Goa_LN,
"LN#" + str(i),
position[0],
position[1],

View File

@ -18,7 +18,7 @@ class SA6Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_6_Kub_STR_9S91,
AirDefence.SAM_SA_6_Kub_Long_Track_STR,
"STR",
self.position.x,
self.position.y,
@ -32,7 +32,7 @@ class SA6Generator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.SAM_SA_6_Kub_Gainful_TEL,
"LN#" + str(i),
position[0],
position[1],

View File

@ -16,7 +16,7 @@ class SA8Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_8_Osa_Gecko_TEL,
"OSA",
self.position.x,
self.position.y,

View File

@ -18,7 +18,7 @@ class SA9Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
Unarmed.Transport_UAZ_469,
Unarmed.LUV_UAZ_469_Jeep,
"UAZ",
self.position.x,
self.position.y,
@ -38,7 +38,7 @@ class SA9Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
"LN#" + str(i),
position[0],
position[1],

View File

@ -18,7 +18,7 @@ class VulcanGenerator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.AAA_Vulcan_M163,
AirDefence.SPAAA_Vulcan_M163,
"SPAAA",
self.position.x,
self.position.y,
@ -26,14 +26,14 @@ class VulcanGenerator(AirDefenseGroupGenerator):
)
if random.randint(0, 1) == 1:
self.add_unit(
AirDefence.AAA_Vulcan_M163,
AirDefence.SPAAA_Vulcan_M163,
"SPAAA2",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.Transport_M818,
Unarmed.Truck_M818_6x6,
"TRUCK",
self.position.x + 80,
self.position.y,

View File

@ -24,7 +24,7 @@ class ZSU23Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
"SPAA#" + str(i),
position[0],
position[1],

View File

@ -27,7 +27,7 @@ class ZU23Generator(AirDefenseGroupGenerator):
for j in range(grid_y):
index = index + 1
self.add_unit(
AirDefence.AAA_ZU_23_Closed,
AirDefence.AAA_ZU_23_Closed_Emplacement,
"AAA#" + str(index),
self.position.x + spacing * i,
self.position.y + spacing * j,

View File

@ -24,7 +24,7 @@ class ZU23UralGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_ZU_23_on_Ural_375,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
"SPAA#" + str(i),
position[0],
position[1],

View File

@ -24,7 +24,7 @@ class ZU23UralInsurgentGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375,
"SPAA#" + str(i),
position[0],
position[1],

View File

@ -832,7 +832,7 @@ class A_4E_C(PlaneType):
class Pylon1:
LAU_10___4_ZUNI_MK_71 = (1, Weapons.LAU_10___4_ZUNI_MK_71)
LAU_3___19_FFAR_M156_WP = (1, Weapons.LAU_3___19_FFAR_M156_WP)
LAU_3___19_FFAR_M156_WP = (1, Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_M156__Wht_Phos)
LAU_3___19_FFAR_Mk1_HE = (1, Weapons.LAU_3___19_FFAR_Mk1_HE)
LAU_3___19_FFAR_Mk5_HEAT = (1, Weapons.LAU_3___19_FFAR_Mk5_HEAT)
LAU_68___7_FFAR_M156_WP = (1, Weapons.LAU_68___7_FFAR_M156_WP)
@ -841,7 +841,7 @@ class A_4E_C(PlaneType):
AGM_45A = (1, Weapons.AGM_45A)
# ERRR {AGM12_B}
Mk_20 = (1, Weapons.Mk_20)
Mk_81 = (1, Weapons.Mk_81)
Mk_81 = (1, Weapons.Mk_81___250lb_GP_Bomb_LD)
Mk_81SE = (1, WeaponsA4EC.Mk_81SE)
Mk_82 = (1, Weapons.Mk_82)
Mk_82_SnakeEye = (1, Weapons.Mk_82_SnakeEye)
@ -889,7 +889,7 @@ class A_4E_C(PlaneType):
# ERRR {AGM12_B}
AGM_62 = (2, Weapons.AGM_62)
Mk_20 = (2, Weapons.Mk_20)
Mk_81 = (2, Weapons.Mk_81)
Mk_81 = (2, Weapons.Mk_81___250lb_GP_Bomb_LD)
Mk_81SE = (2, WeaponsA4EC.Mk_81SE)
Mk_82 = (2, Weapons.Mk_82)
Mk_82_SnakeEye = (2, Weapons.Mk_82_SnakeEye)
@ -963,7 +963,7 @@ class A_4E_C(PlaneType):
# ERRR {AGM12_B}
AGM_62 = (3, Weapons.AGM_62)
Mk_20 = (3, Weapons.Mk_20)
Mk_81 = (3, Weapons.Mk_81)
Mk_81 = (3, Weapons.Mk_81___250lb_GP_Bomb_LD)
Mk_81SE = (3, WeaponsA4EC.Mk_81SE)
Mk_82 = (3, Weapons.Mk_82)
Mk_82_SnakeEye = (3, Weapons.Mk_82_SnakeEye)
@ -1031,7 +1031,7 @@ class A_4E_C(PlaneType):
# ERRR {AGM12_B}
AGM_62 = (4, Weapons.AGM_62)
Mk_20 = (4, Weapons.Mk_20)
Mk_81 = (4, Weapons.Mk_81)
Mk_81 = (4, Weapons.Mk_81___250lb_GP_Bomb_LD)
Mk_81SE = (4, WeaponsA4EC.Mk_81SE)
Mk_82 = (4, Weapons.Mk_82)
Mk_82_SnakeEye = (4, Weapons.Mk_82_SnakeEye)
@ -1082,7 +1082,7 @@ class A_4E_C(PlaneType):
AGM_45A = (5, Weapons.AGM_45A)
# ERRR {AGM12_B}
Mk_20 = (5, Weapons.Mk_20)
Mk_81 = (5, Weapons.Mk_81)
Mk_81 = (5, Weapons.Mk_81___250lb_GP_Bomb_LD)
Mk_81SE = (5, WeaponsA4EC.Mk_81SE)
Mk_82 = (5, Weapons.Mk_82)
Mk_82_SnakeEye = (5, Weapons.Mk_82_SnakeEye)

View File

@ -36,30 +36,30 @@
],
"frontline_units": [
"MBT_M1A2_Abrams",
"ATGM_M1134_Stryker",
"ATGM_Stryker",
"IFV_M2A2_Bradley",
"APC_M1126_Stryker_ICV",
"IFV_M1126_Stryker_ICV",
"IFV_LAV_25",
"APC_M1043_HMMWV_Armament",
"ATGM_M1045_HMMWV_TOW",
"TPz_Fuchs",
"IFV_MCV_80",
"APC_HMMWV__Scout",
"ATGM_HMMWV",
"APC_TPz_Fuchs",
"IFV_Warrior",
"MBT_Challenger_II",
"MBT_M60A3_Patton",
"SPG_M1128_Stryker_MGS",
"SAM_Avenger_M1097"
"SPG_Stryker_MGS",
"SAM_Avenger__Stinger"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
"MLRS_M270_227mm",
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator",

View File

@ -17,19 +17,19 @@
"frontline_units": [
"MT_M4A4_Sherman_Firefly",
"MT_M4_Sherman",
"APC_M2A1",
"APC_M2A1_Halftrack",
"CT_Cromwell_IV",
"CT_Centaur_IV",
"HIT_Churchill_VII",
"LAC_M8_Greyhound",
"TD_M10_GMC",
"Daimler_Armoured_Car",
"Car_M8_Greyhound_Armored",
"SPG_M10_GMC",
"Car_Daimler_Armored",
"LT_Mk_VII_Tetrarch",
"AA_gun_QF_3_7",
"AAA_Bofors_40mm"
"AAA_QF_3_7",
"AAA_40mm_Bofors"
],
"artillery_units": [
"M12_GMC"
"SPG_M12_GMC_155mm"
],
"logistics_units": [
"Bedford_MWD",

View File

@ -15,8 +15,8 @@
],
"frontline_units": [
"MT_M4_Sherman",
"APC_M2A1",
"AAA_Bofors_40mm"
"APC_M2A1_Halftrack",
"AAA_40mm_Bofors"
],
"artillery_units": [
],

View File

@ -21,17 +21,17 @@
"MBT_Leopard_1A3",
"APC_M113",
"IFV_LAV_25",
"IFV_MCV_80"
"IFV_Warrior"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"HawkGenerator",

View File

@ -30,14 +30,14 @@
"SAM_Chaparral_M48"
],
"artillery_units": [
"SPH_M109_Paladin"
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
"Infantry_M249"
],
"air_defenses": [
"ChaparralGenerator",

View File

@ -31,14 +31,14 @@
"SAM_Chaparral_M48"
],
"artillery_units": [
"SPH_M109_Paladin"
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
"Infantry_M249"
],
"air_defenses": [
"ChaparralGenerator",

View File

@ -32,14 +32,14 @@
"SAM_Chaparral_M48"
],
"artillery_units": [
"SPH_M109_Paladin"
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
"Infantry_M249"
],
"air_defenses": [
"ChaparralGenerator",

View File

@ -38,27 +38,27 @@
"frontline_units": [
"MBT_M1A2_Abrams",
"MBT_Leopard_2",
"MBT_Merkava_Mk__4",
"ATGM_M1134_Stryker",
"MBT_Merkava_IV",
"ATGM_Stryker",
"IFV_M2A2_Bradley",
"IFV_Marder",
"IFV_LAV_25",
"APC_M1043_HMMWV_Armament",
"ATGM_M1045_HMMWV_TOW",
"SAM_Linebacker_M6",
"SAM_Avenger_M1097"
"APC_HMMWV__Scout",
"ATGM_HMMWV",
"SAM_Linebacker___Bradley_M6",
"SAM_Avenger__Stinger"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
"MLRS_M270_227mm",
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator",

View File

@ -20,18 +20,18 @@
"MBT_Leopard_2",
"IFV_LAV_25",
"APC_M113",
"IFV_MCV_80",
"SAM_Avenger_M1097"
"IFV_Warrior",
"SAM_Avenger__Stinger"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator",

View File

@ -26,18 +26,18 @@
"HQ_7_Self_Propelled_LN"
],
"artillery_units": [
"MLRS_9A52_Smerch",
"SPH_2S9_Nona"
"MLRS_9A52_Smerch_HE_300mm",
"SPH_2S9_Nona_120mm_M"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Infantry_AK_74_Rus",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_S_MANPADS"
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"HQ7Generator",

View File

@ -15,23 +15,23 @@
"tankers": [
],
"frontline_units": [
"ARV_BRDM_2",
"FDDM_Grad",
"IFV_BRDM_2",
"Grad_MRL_FDDM__FC",
"APC_MTLB",
"MBT_T_55",
"AAA_ZU_23_on_Ural_375",
"SPAAA_ZU_23_2_Mounted_Ural_375",
"AAA_8_8cm_Flak_18"
],
"artillery_units": [
"MLRS_BM_21_Grad"
"MLRS_BM_21_Grad_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Rus",
"Soldier_RPG"
"Infantry_AK_74_Rus",
"Infantry_RPG"
],
"air_defenses": [
"FlakGenerator",

View File

@ -34,16 +34,16 @@
"SAM_Roland_ADS"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
"MLRS_M270_227mm",
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"RolandGenerator",

View File

@ -19,26 +19,26 @@
],
"frontline_units": [
"MBT_Leclerc",
"TPz_Fuchs",
"APC_Cobra",
"ATGM_M1134_Stryker",
"APC_TPz_Fuchs",
"APC_Cobra__Scout",
"ATGM_Stryker",
"IFV_LAV_25",
"APC_M1043_HMMWV_Armament",
"ATGM_M1045_HMMWV_TOW",
"APC_HMMWV__Scout",
"ATGM_HMMWV",
"SAM_Roland_ADS"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
"MLRS_M270_227mm",
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS",
"_2B11_mortar"
"Infantry_M249",
"MANPADS_Stinger",
"Mortar_2B11_120mm"
],
"air_defenses": [
"RolandGenerator",

View File

@ -36,16 +36,16 @@
"SAM_Roland_ADS"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
"MLRS_M270_227mm",
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"RolandGenerator",

View File

@ -39,16 +39,16 @@
"SAM_Roland_ADS"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
"MLRS_M270_227mm",
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"RolandGenerator",

View File

@ -17,23 +17,23 @@
"frontline_units": [
"IFV_BMP_1",
"IFV_BMP_2",
"ARV_BRDM_2",
"IFV_BRDM_2",
"APC_MTLB",
"MBT_T_55",
"MBT_T_72B"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S1_Gvozdika"
"MLRS_BM_21_Grad_122mm",
"SPH_2S1_Gvozdika_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Rus",
"Soldier_RPG",
"_2B11_mortar"
"Infantry_AK_74_Rus",
"Infantry_RPG",
"Mortar_2B11_120mm"
],
"air_defenses": [
"ColdWarFlakGenerator",

View File

@ -13,26 +13,26 @@
"frontline_units": [
"APC_BTR_80",
"APC_MTLB",
"APC_Cobra",
"APC_Cobra__Scout",
"IFV_BMP_1",
"IFV_BMP_2",
"MBT_T_72B",
"MBT_T_55",
"SAM_SA_13_Strela_10M3_9A35M3"
"SAM_SA_13_Strela_10M3_Gopher_TEL"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S1_Gvozdika",
"SPH_2S3_Akatsia"
"MLRS_BM_21_Grad_122mm",
"SPH_2S1_Gvozdika_122mm",
"SPH_2S3_Akatsia_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_S_MANPADS"
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"SA3Generator",

View File

@ -10,14 +10,14 @@
"Ju_88A4"
],
"frontline_units": [
"MT_Pz_Kpfw_IV_Ausf_H",
"APC_Sd_Kfz_251",
"AC_Sd_Kfz_234_2_Puma",
"TD_Jagdpanzer_IV",
"MT_PzIV_H",
"APC_Sd_Kfz_251_Halftrack",
"IFV_Sd_Kfz_234_2_Puma",
"SPG_Jagdpanzer_IV",
"AAA_8_8cm_Flak_18"
],
"artillery_units": [
"Sturmpanzer_IV_Brummbär"
"SPG_Sturmpanzer_IV_Brummbar"
],
"logistics_units": [
"Blitz_3_6_6700A",

View File

@ -11,21 +11,21 @@
],
"frontline_units": [
"MT_Pz_Kpfw_V_Panther_Ausf_G",
"MT_Pz_Kpfw_IV_Ausf_H",
"MT_PzIV_H",
"HT_Pz_Kpfw_VI_Tiger_I",
"HT_Pz_Kpfw_VI_Ausf__B_Tiger_II",
"APC_Sd_Kfz_251",
"AC_Sd_Kfz_234_2_Puma",
"Sd_Kfz_184_Elefant",
"TD_Jagdpanther_G1",
"TD_Jagdpanzer_IV",
"StuG_III_Ausf__G",
"StuG_IV",
"APC_Sd_Kfz_251_Halftrack",
"IFV_Sd_Kfz_234_2_Puma",
"SPG_Sd_Kfz_184_Elefant",
"SPG_Jagdpanther_G1",
"SPG_Jagdpanzer_IV",
"SPG_StuG_III_Ausf__G",
"SPG_StuG_IV",
"AAA_8_8cm_Flak_18",
"AAA_8_8cm_Flak_41"
],
"artillery_units": [
"Sturmpanzer_IV_Brummbär"
"SPG_Sturmpanzer_IV_Brummbar"
],
"logistics_units": [
"Blitz_3_6_6700A",

View File

@ -9,8 +9,8 @@
"Bf_109K_4"
],
"frontline_units": [
"MT_Pz_Kpfw_IV_Ausf_H",
"APC_Sd_Kfz_251",
"MT_PzIV_H",
"APC_Sd_Kfz_251_Halftrack",
"AAA_8_8cm_Flak_18"
],
"artillery_units": [
@ -19,7 +19,7 @@
"Blitz_3_6_6700A"
],
"infantry_units": [
"Infantry_Soldier_Rus"
"Infantry_AK_74_Rus"
],
"air_defenses": [
"Flak18Generator"

View File

@ -19,7 +19,7 @@
"KC130"
],
"frontline_units": [
"TPz_Fuchs",
"APC_TPz_Fuchs",
"MBT_Leopard_1A3",
"MBT_Leopard_2",
"IFV_Marder",
@ -28,13 +28,13 @@
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"_2B11_mortar",
"Stinger_MANPADS"
"Infantry_M249",
"Mortar_2B11_120mm",
"MANPADS_Stinger"
],
"air_defenses": [
"GepardGenerator",

View File

@ -18,22 +18,22 @@
"MBT_Leopard_2",
"MBT_Leopard_1A3",
"MBT_M60A3_Patton",
"APC_M1043_HMMWV_Armament",
"ATGM_M1045_HMMWV_TOW",
"APC_HMMWV__Scout",
"ATGM_HMMWV",
"APC_M113",
"IFV_BMP_1"
],
"artillery_units": [
"SPH_M109_Paladin",
"MLRS_M270"
"SPH_M109_Paladin_155mm",
"MLRS_M270_227mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"HawkGenerator",

View File

@ -23,20 +23,20 @@
"MBT_T_90",
"MBT_T_72B",
"IFV_BMP_2",
"SAM_SA_19_Tunguska_2S6"
"SAM_SA_19_Tunguska_Grison"
],
"artillery_units": [
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
"MLRS_BM_27_Uragan_220mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_M4",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_S_MANPADS"
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"SA3Generator",

View File

@ -6,24 +6,24 @@
"aircrafts": [
],
"frontline_units": [
"APC_Cobra",
"APC_Cobra__Scout",
"APC_MTLB",
"ARV_BRDM_2",
"AAA_ZU_23_Insurgent_on_Ural_375"
"IFV_BRDM_2",
"SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S19_Msta"
"MLRS_BM_21_Grad_122mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Insurgents",
"Soldier_RPG",
"_2B11_mortar",
"SAM_SA_18_Igla_MANPADS"
"Insurgent_AK_74",
"Infantry_RPG",
"Mortar_2B11_120mm",
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"SA9Generator",

View File

@ -6,29 +6,29 @@
"aircrafts": [
],
"frontline_units": [
"ATGM_M1045_HMMWV_TOW",
"APC_M1043_HMMWV_Armament",
"ARV_BRDM_2",
"ATGM_HMMWV",
"APC_HMMWV__Scout",
"IFV_BRDM_2",
"APC_BTR_80",
"ARV_BTR_RD",
"APC_BTR_RD",
"IFV_BMP_1",
"MBT_T_55",
"AAA_ZU_23_Insurgent_on_Ural_375",
"AAA_ZSU_57_2"
"SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375",
"SPAAA_ZSU_57_2"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S19_Msta"
"MLRS_BM_21_Grad_122mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Insurgents",
"Soldier_RPG",
"_2B11_mortar",
"SAM_SA_18_Igla_MANPADS"
"Insurgent_AK_74",
"Infantry_RPG",
"Mortar_2B11_120mm",
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"SA9Generator",

View File

@ -10,20 +10,20 @@
"DIM__TOYOTA_DESERT",
"DIM__TOYOTA_GREEN",
"DIM__KAMIKAZE",
"AAA_ZU_23_Insurgent_on_Ural_375"
"SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S19_Msta"
"MLRS_BM_21_Grad_122mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Insurgents",
"Soldier_RPG",
"SAM_SA_18_Igla_MANPADS"
"Insurgent_AK_74",
"Infantry_RPG",
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"SA9Generator",

View File

@ -21,22 +21,22 @@
"APC_BTR_80",
"MBT_M60A3_Patton",
"IFV_BMP_1",
"SPAAA_ZSU_23_4_Shilka",
"AAA_ZSU_57_2"
"SPAAA_ZSU_23_4_Shilka_Gun_Dish",
"SPAAA_ZSU_57_2"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S1_Gvozdika"
"MLRS_BM_21_Grad_122mm",
"SPH_2S1_Gvozdika_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Insurgents",
"Soldier_RPG",
"SAM_SA_18_Igla_S_MANPADS"
"Insurgent_AK_74",
"Infantry_RPG",
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"HawkGenerator",

View File

@ -28,22 +28,22 @@
"MBT_M60A3_Patton",
"IFV_BMP_1",
"MBT_T_72B",
"SPAAA_ZSU_23_4_Shilka",
"AAA_ZSU_57_2"
"SPAAA_ZSU_23_4_Shilka_Gun_Dish",
"SPAAA_ZSU_57_2"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S19_Msta"
"MLRS_BM_21_Grad_122mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Insurgents",
"Insurgent_AK_74",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_S_MANPADS"
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"HawkGenerator",

View File

@ -30,23 +30,23 @@
"MBT_T_55",
"MBT_T_72B",
"APC_BTR_80",
"ARV_BRDM_2",
"SPH_2S1_Gvozdika",
"AAA_ZSU_57_2",
"SPAAA_ZSU_23_4_Shilka"
"IFV_BRDM_2",
"SPH_2S1_Gvozdika_122mm",
"SPAAA_ZSU_57_2",
"SPAAA_ZSU_23_4_Shilka_Gun_Dish"
],
"artillery_units": [
"MLRS_BM_21_Grad"
"MLRS_BM_21_Grad_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Infantry_AK_74_Rus",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_MANPADS"
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"ColdWarFlakGenerator",

View File

@ -13,15 +13,15 @@
],
"frontline_units": [
"MT_M4A4_Sherman_Firefly",
"APC_M2A1",
"APC_M2A1_Halftrack",
"MT_M4_Sherman",
"LAC_M8_Greyhound",
"AAA_Bofors_40mm"
"Car_M8_Greyhound_Armored",
"AAA_40mm_Bofors"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_SMLE_No_4_Mk_1"

View File

@ -17,7 +17,7 @@
],
"frontline_units": [
"MT_M4_Sherman",
"APC_M2A1",
"APC_M2A1_Halftrack",
"MBT_M60A3_Patton",
"APC_M113",
"SAM_Chaparral_M48"
@ -25,11 +25,11 @@
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
"Infantry_M249"
],
"air_defenses": [
"BoforsGenerator",

View File

@ -22,17 +22,17 @@
"frontline_units": [
"APC_M113",
"MBT_M60A3_Patton",
"MBT_Merkava_Mk__4",
"AAA_Vulcan_M163"
"MBT_Merkava_IV",
"SPAAA_Vulcan_M163"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
"Infantry_M249"
],
"air_defenses": [
"ChaparralGenerator",

View File

@ -21,22 +21,22 @@
],
"frontline_units": [
"APC_M113",
"APC_M1043_HMMWV_Armament",
"ATGM_M1045_HMMWV_TOW",
"MBT_Merkava_Mk__4",
"AAA_Vulcan_M163"
"APC_HMMWV__Scout",
"ATGM_HMMWV",
"MBT_Merkava_IV",
"SPAAA_Vulcan_M163"
],
"artillery_units": [
"SPH_M109_Paladin",
"MLRS_M270"
"SPH_M109_Paladin_155mm",
"MLRS_M270_227mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"ChaparralGenerator",

View File

@ -19,18 +19,18 @@
"frontline_units": [
"MBT_Leopard_1A3",
"APC_M113",
"SAM_Avenger_M1097"
"SAM_Avenger__Stinger"
],
"artillery_units": [
"SPH_M109_Paladin"
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator",

View File

@ -20,18 +20,18 @@
"frontline_units": [
"MBT_Leopard_1A3",
"APC_M113",
"SAM_Avenger_M1097"
"SAM_Avenger__Stinger"
],
"artillery_units": [
"SPH_M109_Paladin"
"SPH_M109_Paladin_155mm"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator",

View File

@ -18,25 +18,25 @@
"KC130"
],
"frontline_units": [
"MBT_Merkava_Mk__4",
"MBT_Merkava_IV",
"MBT_M1A2_Abrams",
"IFV_Marder",
"TPz_Fuchs",
"APC_TPz_Fuchs",
"IFV_LAV_25",
"APC_M1043_HMMWV_Armament",
"APC_HMMWV__Scout",
"SPAAA_Gepard"
],
"artillery_units": [
"SPH_M109_Paladin",
"MLRS_M270",
"Stinger_MANPADS"
"SPH_M109_Paladin_155mm",
"MLRS_M270_227mm",
"MANPADS_Stinger"
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
"Infantry_M249"
],
"air_defenses": [
"GepardGenerator",

View File

@ -18,23 +18,23 @@
],
"frontline_units": [
"IFV_BMP_1",
"ARV_BRDM_2",
"IFV_BRDM_2",
"MBT_T_72B",
"MBT_T_55",
"SPAAA_ZSU_23_4_Shilka",
"SAM_SA_8_Osa_9A33"
"SPAAA_ZSU_23_4_Shilka_Gun_Dish",
"SAM_SA_8_Osa_Gecko_TEL"
],
"artillery_units": [
"MLRS_BM_21_Grad"
"MLRS_BM_21_Grad_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Insurgents",
"Insurgent_AK_74",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_MANPADS"
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"HQ7Generator",

View File

@ -18,17 +18,17 @@
"frontline_units": [
"APC_M113",
"MBT_Leopard_1A3",
"SAM_Avenger_M1097"
"SAM_Avenger__Stinger"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator",

View File

@ -19,29 +19,29 @@
"IL_78M"
],
"frontline_units": [
"ARV_BRDM_2",
"IFV_BRDM_2",
"APC_BTR_80",
"IFV_BMP_1",
"MBT_T_55",
"MBT_T_72B",
"MBT_T_80U",
"AAA_ZSU_57_2",
"SAM_SA_9_Strela_1_9P31"
"SPAAA_ZSU_57_2",
"SAM_SA_9_Strela_1_Gaskin_TEL"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
"MLRS_BM_21_Grad_122mm",
"MLRS_BM_27_Uragan_220mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Infantry_AK_74_Rus",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_S_MANPADS"
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"SA2Generator",

View File

@ -27,18 +27,18 @@
"HQ_7_Self_Propelled_LN"
],
"artillery_units": [
"MLRS_9A52_Smerch",
"SPH_2S9_Nona"
"MLRS_9A52_Smerch_HE_300mm",
"SPH_2S9_Nona_120mm_M"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Infantry_AK_74_Rus",
"Paratrooper_RPG_16",
"Stinger_MANPADS"
"MANPADS_Stinger"
],
"air_defenses": [
"HQ7Generator",

View File

@ -10,22 +10,22 @@
"Ka_50"
],
"frontline_units": [
"APC_Cobra",
"APC_Cobra__Scout",
"APC_BTR_80",
"ARV_BRDM_2",
"SAM_SA_13_Strela_10M3_9A35M3"
"IFV_BRDM_2",
"SAM_SA_13_Strela_10M3_Gopher_TEL"
],
"artillery_units": [
"SPH_2S19_Msta"
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_S_MANPADS"
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"SA9Generator",

View File

@ -10,20 +10,20 @@
"SA342M"
],
"frontline_units": [
"APC_M1043_HMMWV_Armament",
"IFV_MCV_80",
"APC_HMMWV__Scout",
"IFV_Warrior",
"IFV_LAV_25",
"SAM_Avenger_M1097"
"SAM_Avenger__Stinger"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator"

View File

@ -11,20 +11,20 @@
"SA342M"
],
"frontline_units": [
"APC_M1043_HMMWV_Armament",
"IFV_MCV_80",
"APC_HMMWV__Scout",
"IFV_Warrior",
"IFV_LAV_25",
"SAM_Avenger_M1097"
"SAM_Avenger__Stinger"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249",
"Stinger_MANPADS"
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator"

View File

@ -13,29 +13,29 @@
"KC130"
],
"frontline_units": [
"APC_M1043_HMMWV_Armament",
"ATGM_M1045_HMMWV_TOW",
"APC_M1126_Stryker_ICV",
"ARV_BRDM_2",
"APC_HMMWV__Scout",
"ATGM_HMMWV",
"IFV_M1126_Stryker_ICV",
"IFV_BRDM_2",
"IFV_BMP_1",
"APC_MTLB",
"MBT_Leopard_2",
"MBT_T_72B3"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S1_Gvozdika",
"SpGH_Dana"
"MLRS_BM_21_Grad_122mm",
"SPH_2S1_Gvozdika_122mm",
"SPH_Dana_vz77_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Soldier_RPG",
"SAM_SA_18_Igla_S_MANPADS"
"Infantry_AK_74_Rus",
"Infantry_RPG",
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"SA6Generator",

View File

@ -40,26 +40,26 @@
"MBT_T_72B3",
"MBT_T_80U",
"MBT_T_90",
"SAM_SA_19_Tunguska_2S6",
"SAM_SA_19_Tunguska_Grison",
"ZBD_04A",
"ZTZ_96B"
],
"artillery_units": [
"MLRS_9A52_Smerch",
"MLRS_9K57_Uragan_BM_27",
"SPH_2S9_Nona",
"SPH_2S19_Msta"
"MLRS_9A52_Smerch_HE_300mm",
"MLRS_BM_27_Uragan_220mm",
"SPH_2S9_Nona_120mm_M",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"_2B11_mortar",
"Infantry_Soldier_Rus",
"Mortar_2B11_120mm",
"Infantry_AK_74_Rus",
"Paratrooper_AKS",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_MANPADS"
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"HQ7Generator",

View File

@ -40,26 +40,26 @@
"MBT_T_72B3",
"MBT_T_80U",
"MBT_T_90",
"SAM_SA_19_Tunguska_2S6",
"SAM_SA_19_Tunguska_Grison",
"ZBD_04A",
"ZTZ_96B"
],
"artillery_units": [
"MLRS_9A52_Smerch",
"MLRS_9K57_Uragan_BM_27",
"SPH_2S9_Nona",
"SPH_2S19_Msta"
"MLRS_9A52_Smerch_HE_300mm",
"MLRS_BM_27_Uragan_220mm",
"SPH_2S9_Nona_120mm_M",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"_2B11_mortar",
"Infantry_Soldier_Rus",
"Mortar_2B11_120mm",
"Infantry_AK_74_Rus",
"Paratrooper_AKS",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_MANPADS"
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"HQ7Generator",

View File

@ -13,23 +13,23 @@
"IL_78M"
],
"frontline_units": [
"ARV_BRDM_2",
"FDDM_Grad",
"IFV_BRDM_2",
"Grad_MRL_FDDM__FC",
"APC_MTLB",
"MBT_T_55",
"AAA_ZU_23_on_Ural_375",
"SPAAA_ZU_23_2_Mounted_Ural_375",
"AAA_8_8cm_Flak_18"
],
"artillery_units": [
"MLRS_BM_21_Grad"
"MLRS_BM_21_Grad_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Rus",
"Soldier_RPG"
"Infantry_AK_74_Rus",
"Infantry_RPG"
],
"air_defenses": [
"EarlyColdWarFlakGenerator"

View File

@ -17,25 +17,25 @@
"IL_78M"
],
"frontline_units": [
"ARV_BRDM_2",
"IFV_BRDM_2",
"APC_BTR_80",
"ARV_BTR_RD",
"APC_BTR_RD",
"IFV_BMD_1",
"IFV_BMP_1",
"MBT_T_55",
"AAA_ZU_23_on_Ural_375",
"AAA_ZSU_57_2"
"SPAAA_ZU_23_2_Mounted_Ural_375",
"SPAAA_ZSU_57_2"
],
"artillery_units": [
"MLRS_BM_21_Grad"
"MLRS_BM_21_Grad_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Rus",
"Soldier_RPG"
"Infantry_AK_74_Rus",
"Infantry_RPG"
],
"air_defenses": [
"EarlyColdWarFlakGenerator",

View File

@ -10,25 +10,25 @@
"Mi_24V"
],
"frontline_units": [
"ARV_BRDM_2",
"IFV_BRDM_2",
"APC_BTR_80",
"IFV_BMD_1",
"IFV_BMP_1",
"MBT_T_55",
"AAA_ZSU_57_2"
"SPAAA_ZSU_57_2"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S9_Nona",
"SPH_2S1_Gvozdika"
"MLRS_BM_21_Grad_122mm",
"SPH_2S9_Nona_120mm_M",
"SPH_2S1_Gvozdika_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Rus",
"Soldier_RPG"
"Infantry_AK_74_Rus",
"Infantry_RPG"
],
"air_defenses": [
"SA2Generator",

View File

@ -23,26 +23,26 @@
"IL_78M"
],
"frontline_units": [
"ARV_BRDM_2",
"IFV_BRDM_2",
"APC_BTR_80",
"IFV_BMD_1",
"IFV_BMP_1",
"MBT_T_55",
"SAM_SA_8_Osa_9A33"
"SAM_SA_8_Osa_Gecko_TEL"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S9_Nona",
"SPH_2S1_Gvozdika"
"MLRS_BM_21_Grad_122mm",
"SPH_2S9_Nona_120mm_M",
"SPH_2S1_Gvozdika_122mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Infantry_Soldier_Rus",
"Soldier_RPG",
"_2B11_mortar"
"Infantry_AK_74_Rus",
"Infantry_RPG",
"Mortar_2B11_120mm"
],
"air_defenses": [
"ColdWarFlakGenerator",

View File

@ -32,22 +32,22 @@
"IFV_BMP_2",
"MBT_T_72B",
"MBT_T_80U",
"SAM_SA_13_Strela_10M3_9A35M3"
"SAM_SA_13_Strela_10M3_Gopher_TEL"
],
"artillery_units": [
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
"MLRS_BM_27_Uragan_220mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Infantry_AK_74_Rus",
"Paratrooper_RPG_16",
"_2B11_mortar",
"SAM_SA_18_Igla_S_MANPADS"
"Mortar_2B11_120mm",
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"SA2Generator",

View File

@ -38,22 +38,22 @@
"MBT_T_90",
"MBT_T_80U",
"MBT_T_72B3",
"SAM_SA_19_Tunguska_2S6"
"SAM_SA_19_Tunguska_Grison"
],
"artillery_units": [
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
"MLRS_BM_27_Uragan_220mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Infantry_AK_74_Rus",
"Paratrooper_RPG_16",
"_2B11_mortar",
"SAM_SA_18_Igla_MANPADS"
"Mortar_2B11_120mm",
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"SA8Generator",

View File

@ -38,22 +38,22 @@
"MBT_T_90",
"MBT_T_80U",
"MBT_T_72B3",
"SAM_SA_19_Tunguska_2S6"
"SAM_SA_19_Tunguska_Grison"
],
"artillery_units": [
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
"MLRS_BM_27_Uragan_220mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Infantry_AK_74_Rus",
"Paratrooper_RPG_16",
"_2B11_mortar",
"SAM_SA_18_Igla_MANPADS"
"Mortar_2B11_120mm",
"MANPADS_SA_18_Igla_Grouse"
],
"air_defenses": [
"SA17Generator",

View File

@ -36,21 +36,21 @@
"MBT_T_90",
"MBT_T_80U",
"MBT_T_72B",
"SAM_SA_19_Tunguska_2S6"
"SAM_SA_19_Tunguska_Grison"
],
"artillery_units": [
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
"MLRS_BM_27_Uragan_220mm",
"SPH_2S19_Msta_152mm"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
"Truck_Ural_375",
"LUV_UAZ_469_Jeep"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Infantry_AK_74_Rus",
"Paratrooper_RPG_16",
"SAM_SA_18_Igla_S_MANPADS"
"MANPADS_SA_18_Igla_S_Grouse"
],
"air_defenses": [
"SA8Generator",

View File

@ -9,13 +9,13 @@
],
"frontline_units": [
"MT_M4_Sherman",
"APC_M2A1",
"Daimler_Armoured_Car",
"APC_M2A1_Halftrack",
"Car_Daimler_Armored",
"LT_Mk_VII_Tetrarch",
"AAA_Bofors_40mm"
"AAA_40mm_Bofors"
],
"artillery_units": [
"MLRS_BM_21_Grad"
"MLRS_BM_21_Grad_122mm"
],
"logistics_units": [
"Bedford_MWD",

View File

@ -21,16 +21,16 @@
"MBT_M60A3_Patton",
"MBT_Leopard_2",
"APC_M113",
"SAM_Avenger_M1097"
"SAM_Avenger__Stinger"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
"Infantry_M249"
],
"air_defenses": [
"AvengerGenerator",

Some files were not shown because too many files have changed in this diff Show More