pydcs update for DCS 2.7.1

This commit is contained in:
Khopa 2021-05-21 01:15:54 +02:00
parent 844dc48d65
commit 9243fd499b
80 changed files with 211 additions and 215 deletions

View File

@ -7,9 +7,9 @@ AAA_UNITS = [
AirDefence.AAA_ZU_23_Closed_Emplacement, AirDefence.AAA_ZU_23_Closed_Emplacement,
AirDefence.AAA_ZU_23_Emplacement, AirDefence.AAA_ZU_23_Emplacement,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375, AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
AirDefence.AAA_ZU_23_Closed_Emplacement_Insurgent, AirDefence.AAA_ZU_23_Insurgent_Closed_Emplacement,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375, AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375,
AirDefence.AAA_ZU_23_Insurgent, AirDefence.AAA_ZU_23_Insurgent_Emplacement,
AirDefence.AAA_8_8cm_Flak_18, AirDefence.AAA_8_8cm_Flak_18,
AirDefence.AAA_Flak_38_20mm, AirDefence.AAA_Flak_38_20mm,
AirDefence.AAA_8_8cm_Flak_36, AirDefence.AAA_8_8cm_Flak_36,
@ -17,6 +17,6 @@ AAA_UNITS = [
AirDefence.AAA_Flak_Vierling_38_Quad_20mm, AirDefence.AAA_Flak_Vierling_38_Quad_20mm,
AirDefence.AAA_SP_Kdo_G_40, AirDefence.AAA_SP_Kdo_G_40,
AirDefence.AAA_8_8cm_Flak_41, AirDefence.AAA_8_8cm_Flak_41,
AirDefence.AAA_40mm_Bofors, AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_S_60_57mm, AirDefence.AAA_S_60_57mm,
] ]

View File

@ -9,7 +9,7 @@ class AlicCodes:
AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR.id: 103, AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR.id: 103,
AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR.id: 104, AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR.id: 104,
AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR.id: 107, AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR.id: 107,
AirDefence.SAM_SA_6_Kub_Long_Track_STR.id: 108, AirDefence.SAM_SA_6_Kub_Straight_Flush_STR.id: 108,
AirDefence.MCC_SR_Sborka_Dog_Ear_SR.id: 109, AirDefence.MCC_SR_Sborka_Dog_Ear_SR.id: 109,
AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR.id: 110, AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR.id: 110,
AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL.id: 115, AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL.id: 115,

View File

@ -32,7 +32,7 @@ UNITS_WITH_RADAR = [
AirDefence.SPAAA_Vulcan_M163, AirDefence.SPAAA_Vulcan_M163,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish, AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
AirDefence.EWR_1L13, AirDefence.EWR_1L13,
AirDefence.SAM_SA_6_Kub_Long_Track_STR, AirDefence.SAM_SA_6_Kub_Straight_Flush_STR,
AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR, AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR,
AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR, AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR,
AirDefence.EWR_55G6, AirDefence.EWR_55G6,

View File

@ -154,7 +154,7 @@ _WEAPON_FALLBACKS = [
Weapons.BRU_57_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, Weapons.BRU_57_with_2_x_AGM_154A___JSOW_CEB__CBU_type_,
None, None,
), # doesn't exist on any aircraft yet ), # doesn't exist on any aircraft yet
(Weapons.AGM_154B___JSOW_Anti_Armour, Weapons.CBU_105___10_x_CEM__CBU_with_WCMD), (Weapons.AGM_154B___JSOW_Anti_Armour, Weapons.CBU_105___10_x_SFW__CBU_with_WCMD),
(Weapons.AGM_154C___JSOW_Unitary_BROACH, Weapons.GBU_12), (Weapons.AGM_154C___JSOW_Unitary_BROACH, Weapons.GBU_12),
( (
Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH,
@ -483,29 +483,29 @@ _WEAPON_FALLBACKS = [
# CBU-87 CEM # CBU-87 CEM
(Weapons.CBU_87___202_x_CEM_Cluster_Bomb, Weapons.Mk_82), (Weapons.CBU_87___202_x_CEM_Cluster_Bomb, Weapons.Mk_82),
( (
Weapons.TER_9A_with_2_x_CBU_87___202_x_Anti_Armor_Skeet_SFW_Cluster_Bomb, Weapons.TER_9A_with_2_x_CBU_87___202_x_CEM_Cluster_Bomb,
Weapons.TER_9A_with_2_x_Mk_82___500lb_GP_Bomb_LD, Weapons.TER_9A_with_2_x_Mk_82___500lb_GP_Bomb_LD,
), ),
( (
Weapons.TER_9A_with_2_x_CBU_87___202_x_Anti_Armor_Skeet_SFW_Cluster_Bomb_, Weapons.TER_9A_with_2_x_CBU_87___202_x_CEM_Cluster_Bomb_,
Weapons.TER_9A_with_2_x_Mk_82___500lb_GP_Bomb_LD, Weapons.TER_9A_with_2_x_Mk_82___500lb_GP_Bomb_LD,
), ),
( (
Weapons.TER_9A_with_3_x_CBU_87___202_x_Anti_Armor_Skeet_SFW_Cluster_Bomb, Weapons.TER_9A_with_3_x_CBU_87___202_x_CEM_Cluster_Bomb,
Weapons.TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD, Weapons.TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD,
), ),
# CBU-97 # CBU-97
(Weapons.CBU_97___10_x_CEM_Cluster_Bomb, Weapons.Mk_82), (Weapons.CBU_97___10_x_SFW_Cluster_Bomb, Weapons.Mk_82),
( (
Weapons.TER_9A_with_2_x_CBU_97___10_x_Anti_Armor_Skeet_SFW_Cluster_Bomb, Weapons.TER_9A_with_2_x_CBU_97___10_x_SFW_Cluster_Bomb,
Weapons.TER_9A_with_2_x_Mk_82___500lb_GP_Bomb_LD, Weapons.TER_9A_with_2_x_Mk_82___500lb_GP_Bomb_LD,
), ),
( (
Weapons.TER_9A_with_2_x_CBU_97___10_x_Anti_Armor_Skeet_SFW_Cluster_Bomb_, Weapons.TER_9A_with_2_x_CBU_97___10_x_SFW_Cluster_Bomb_,
Weapons.TER_9A_with_2_x_Mk_82___500lb_GP_Bomb_LD_, Weapons.TER_9A_with_2_x_Mk_82___500lb_GP_Bomb_LD_,
), ),
( (
Weapons.TER_9A_with_3_x_CBU_97___10_x_Anti_Armor_Skeet_SFW_Cluster_Bomb, Weapons.TER_9A_with_3_x_CBU_97___10_x_SFW_Cluster_Bomb,
Weapons.TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD, Weapons.TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD,
), ),
# CBU-99 (It's a bomb made in 1968, I'm not bothering right now with backups) # CBU-99 (It's a bomb made in 1968, I'm not bothering right now with backups)
@ -515,7 +515,7 @@ _WEAPON_FALLBACKS = [
Weapons.CBU_87___202_x_CEM_Cluster_Bomb, Weapons.CBU_87___202_x_CEM_Cluster_Bomb,
), ),
# CBU-105 # CBU-105
(Weapons.CBU_105___10_x_CEM__CBU_with_WCMD, Weapons.CBU_97___10_x_CEM_Cluster_Bomb), (Weapons.CBU_105___10_x_SFW__CBU_with_WCMD, Weapons.CBU_97___10_x_SFW_Cluster_Bomb),
( (
Weapons.LAU_131_pod___7_x_2_75_Hydra__Laser_Guided_Rkts_M151__HE_APKWS, Weapons.LAU_131_pod___7_x_2_75_Hydra__Laser_Guided_Rkts_M151__HE_APKWS,
Weapons.LAU_131_pod___7_x_2_75_Hydra__UnGd_Rkts_M151__HE, Weapons.LAU_131_pod___7_x_2_75_Hydra__UnGd_Rkts_M151__HE,
@ -971,26 +971,14 @@ WEAPON_INTRODUCTION_YEARS = {
Weapon.from_pydcs(Weapons.CBU_52B___220_x_HE_Frag_bomblets): 1970, Weapon.from_pydcs(Weapons.CBU_52B___220_x_HE_Frag_bomblets): 1970,
# CBU-87 CEM # CBU-87 CEM
Weapon.from_pydcs(Weapons.CBU_87___202_x_CEM_Cluster_Bomb): 1986, Weapon.from_pydcs(Weapons.CBU_87___202_x_CEM_Cluster_Bomb): 1986,
Weapon.from_pydcs( Weapon.from_pydcs(Weapons.TER_9A_with_2_x_CBU_87___202_x_CEM_Cluster_Bomb): 1986,
Weapons.TER_9A_with_2_x_CBU_87___202_x_Anti_Armor_Skeet_SFW_Cluster_Bomb Weapon.from_pydcs(Weapons.TER_9A_with_2_x_CBU_87___202_x_CEM_Cluster_Bomb_): 1986,
): 1986, Weapon.from_pydcs(Weapons.TER_9A_with_3_x_CBU_87___202_x_CEM_Cluster_Bomb): 1986,
Weapon.from_pydcs(
Weapons.TER_9A_with_2_x_CBU_87___202_x_Anti_Armor_Skeet_SFW_Cluster_Bomb_
): 1986,
Weapon.from_pydcs(
Weapons.TER_9A_with_3_x_CBU_87___202_x_Anti_Armor_Skeet_SFW_Cluster_Bomb
): 1986,
# CBU-97 # CBU-97
Weapon.from_pydcs(Weapons.CBU_97___10_x_CEM_Cluster_Bomb): 1992, Weapon.from_pydcs(Weapons.CBU_97___10_x_SFW_Cluster_Bomb): 1992,
Weapon.from_pydcs( Weapon.from_pydcs(Weapons.TER_9A_with_2_x_CBU_97___10_x_SFW_Cluster_Bomb): 1992,
Weapons.TER_9A_with_2_x_CBU_97___10_x_Anti_Armor_Skeet_SFW_Cluster_Bomb Weapon.from_pydcs(Weapons.TER_9A_with_2_x_CBU_97___10_x_SFW_Cluster_Bomb_): 1992,
): 1992, Weapon.from_pydcs(Weapons.TER_9A_with_3_x_CBU_97___10_x_SFW_Cluster_Bomb): 1992,
Weapon.from_pydcs(
Weapons.TER_9A_with_2_x_CBU_97___10_x_Anti_Armor_Skeet_SFW_Cluster_Bomb_
): 1992,
Weapon.from_pydcs(
Weapons.TER_9A_with_3_x_CBU_97___10_x_Anti_Armor_Skeet_SFW_Cluster_Bomb
): 1992,
# CBU-99 # CBU-99
Weapon.from_pydcs( Weapon.from_pydcs(
Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets
@ -1032,11 +1020,11 @@ WEAPON_INTRODUCTION_YEARS = {
Weapons.MER2_with_2_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets Weapons.MER2_with_2_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets
): 1968, ): 1968,
# CBU-103 # CBU-103
Weapon.from_pydcs(Weapons.BRU_57_with_2_x_CBU_103): 2000, Weapon.from_pydcs(Weapons.BRU_57_with_2_x_CBU_103___202_x_CEM__CBU_with_WCMD): 2000,
Weapon.from_pydcs(Weapons.CBU_103___202_x_CEM__CBU_with_WCMD): 2000, Weapon.from_pydcs(Weapons.CBU_103___202_x_CEM__CBU_with_WCMD): 2000,
# CBU-105 # CBU-105
Weapon.from_pydcs(Weapons.BRU_57_with_2_x_CBU_105): 2000, Weapon.from_pydcs(Weapons.BRU_57_with_2_x_CBU_105___10_x_SFW__CBU_with_WCMD): 2000,
Weapon.from_pydcs(Weapons.CBU_105___10_x_CEM__CBU_with_WCMD): 2000, Weapon.from_pydcs(Weapons.CBU_105___10_x_SFW__CBU_with_WCMD): 2000,
# APKWS # APKWS
Weapon.from_pydcs( Weapon.from_pydcs(
Weapons.LAU_131_pod___7_x_2_75_Hydra__Laser_Guided_Rkts_M151__HE_APKWS Weapons.LAU_131_pod___7_x_2_75_Hydra__Laser_Guided_Rkts_M151__HE_APKWS

View File

@ -485,10 +485,10 @@ PRICES = {
# armor # armor
Armor.APC_MTLB: 4, Armor.APC_MTLB: 4,
Artillery.Grad_MRL_FDDM__FC: 4, Artillery.Grad_MRL_FDDM__FC: 4,
Armor.IFV_BRDM_2: 6, Armor.Scout_BRDM_2: 6,
Armor.APC_BTR_RD: 6, Armor.APC_BTR_RD: 6,
Armor.APC_BTR_80: 8, Armor.APC_BTR_80: 8,
Armor.APC_BTR_82A: 10, Armor.IFV_BTR_82A: 10,
Armor.MBT_T_55: 18, Armor.MBT_T_55: 18,
Armor.MBT_T_72B: 20, Armor.MBT_T_72B: 20,
Armor.MBT_T_72B3: 25, Armor.MBT_T_72B3: 25,
@ -500,9 +500,9 @@ PRICES = {
Armor.IFV_BMP_3: 18, Armor.IFV_BMP_3: 18,
Armor.ZBD_04A: 12, Armor.ZBD_04A: 12,
Armor.ZTZ_96B: 30, Armor.ZTZ_96B: 30,
Armor.APC_Cobra__Scout: 4, Armor.Scout_Cobra: 4,
Armor.APC_M113: 6, Armor.APC_M113: 6,
Armor.APC_HMMWV__Scout: 2, Armor.Scout_HMMWV: 2,
Armor.ATGM_HMMWV: 8, Armor.ATGM_HMMWV: 8,
Armor.IFV_M2A2_Bradley: 12, Armor.IFV_M2A2_Bradley: 12,
Armor.IFV_M1126_Stryker_ICV: 10, Armor.IFV_M1126_Stryker_ICV: 10,
@ -511,8 +511,11 @@ PRICES = {
Armor.MBT_M60A3_Patton: 16, Armor.MBT_M60A3_Patton: 16,
Armor.MBT_M1A2_Abrams: 25, Armor.MBT_M1A2_Abrams: 25,
Armor.MBT_Leclerc: 25, Armor.MBT_Leclerc: 25,
Armor.MBT_Leopard_1A3: 20, Armor.MBT_Leopard_1A3: 18,
Armor.MBT_Leopard_2: 25, Armor.MBT_Leopard_2A4: 20,
Armor.MBT_Leopard_2A4_Trs: 20,
Armor.MBT_Leopard_2A5: 22,
Armor.MBT_Leopard_2A6M: 25,
Armor.MBT_Merkava_IV: 25, Armor.MBT_Merkava_IV: 25,
Armor.APC_TPz_Fuchs: 5, Armor.APC_TPz_Fuchs: 5,
Armor.MBT_Challenger_II: 25, Armor.MBT_Challenger_II: 25,
@ -521,12 +524,12 @@ PRICES = {
Armor.IFV_LAV_25: 7, Armor.IFV_LAV_25: 7,
Artillery.MLRS_M270_227mm: 55, Artillery.MLRS_M270_227mm: 55,
Artillery.SPH_M109_Paladin_155mm: 25, Artillery.SPH_M109_Paladin_155mm: 25,
Artillery.SPH_2S9_Nona_120mm_M: 12, Artillery.SPM_2S9_Nona_120mm_M: 12,
Artillery.SPH_2S1_Gvozdika_122mm: 18, Artillery.SPH_2S1_Gvozdika_122mm: 18,
Artillery.SPH_2S3_Akatsia_152mm: 24, Artillery.SPH_2S3_Akatsia_152mm: 24,
Artillery.SPH_2S19_Msta_152mm: 30, Artillery.SPH_2S19_Msta_152mm: 30,
Artillery.MLRS_BM_21_Grad_122mm: 15, Artillery.MLRS_BM_21_Grad_122mm: 15,
Artillery.MLRS_BM_27_Uragan_220mm: 50, Artillery.MLRS_9K57_Uragan_BM_27_220mm: 50,
Artillery.MLRS_9A52_Smerch_HE_300mm: 40, Artillery.MLRS_9A52_Smerch_HE_300mm: 40,
Artillery.Mortar_2B11_120mm: 4, Artillery.Mortar_2B11_120mm: 4,
Artillery.SPH_Dana_vz77_152mm: 26, Artillery.SPH_Dana_vz77_152mm: 26,
@ -538,7 +541,7 @@ PRICES = {
Unarmed.Truck_M818_6x6: 3, Unarmed.Truck_M818_6x6: 3,
# WW2 # WW2
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G: 24, Armor.MT_Pz_Kpfw_V_Panther_Ausf_G: 24,
Armor.MT_PzIV_H: 16, Armor.Tk_PzIV_H: 16,
Armor.HT_Pz_Kpfw_VI_Tiger_I: 24, Armor.HT_Pz_Kpfw_VI_Tiger_I: 24,
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II: 26, Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II: 26,
Armor.SPG_Jagdpanther_G1: 18, Armor.SPG_Jagdpanther_G1: 18,
@ -546,7 +549,7 @@ PRICES = {
Armor.SPG_Sd_Kfz_184_Elefant: 18, Armor.SPG_Sd_Kfz_184_Elefant: 18,
Armor.APC_Sd_Kfz_251_Halftrack: 4, Armor.APC_Sd_Kfz_251_Halftrack: 4,
Armor.IFV_Sd_Kfz_234_2_Puma: 8, Armor.IFV_Sd_Kfz_234_2_Puma: 8,
Armor.MT_M4_Sherman: 12, Armor.Tk_M4_Sherman: 12,
Armor.MT_M4A4_Sherman_Firefly: 16, Armor.MT_M4A4_Sherman_Firefly: 16,
Armor.CT_Cromwell_IV: 12, Armor.CT_Cromwell_IV: 12,
Unarmed.Carrier_M30_Cargo: 2, Unarmed.Carrier_M30_Cargo: 2,
@ -558,7 +561,7 @@ PRICES = {
Armor.SPG_StuG_III_Ausf__G: 12, Armor.SPG_StuG_III_Ausf__G: 12,
Armor.SPG_StuG_IV: 14, Armor.SPG_StuG_IV: 14,
Artillery.SPG_M12_GMC_155mm: 10, Artillery.SPG_M12_GMC_155mm: 10,
Artillery.SPG_Sturmpanzer_IV_Brummbar: 10, Armor.SPG_Sturmpanzer_IV_Brummbar: 10,
Armor.Car_Daimler_Armored: 8, Armor.Car_Daimler_Armored: 8,
Armor.LT_Mk_VII_Tetrarch: 8, Armor.LT_Mk_VII_Tetrarch: 8,
Unarmed.Tractor_M4_Hi_Speed: 2, Unarmed.Tractor_M4_Hi_Speed: 2,
@ -585,7 +588,7 @@ PRICES = {
AirDefence.SAM_Patriot_CR__AMG_AN_MRC_137: 35, AirDefence.SAM_Patriot_CR__AMG_AN_MRC_137: 35,
AirDefence.SAM_Patriot_ECS: 30, AirDefence.SAM_Patriot_ECS: 30,
AirDefence.SPAAA_Gepard: 24, AirDefence.SPAAA_Gepard: 24,
AirDefence.SAM_Hawk_Generator__PCP: 14, AirDefence.SAM_Hawk_Platoon_Command_Post__PCP: 14,
AirDefence.SPAAA_Vulcan_M163: 10, AirDefence.SPAAA_Vulcan_M163: 10,
AirDefence.SAM_Hawk_LN_M192: 8, AirDefence.SAM_Hawk_LN_M192: 8,
AirDefence.SAM_Chaparral_M48: 16, AirDefence.SAM_Chaparral_M48: 16,
@ -603,15 +606,15 @@ PRICES = {
AirDefence.AAA_ZU_23_Closed_Emplacement: 6, AirDefence.AAA_ZU_23_Closed_Emplacement: 6,
AirDefence.AAA_ZU_23_Emplacement: 6, AirDefence.AAA_ZU_23_Emplacement: 6,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375: 7, AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375: 7,
AirDefence.AAA_ZU_23_Closed_Emplacement_Insurgent: 6, AirDefence.AAA_ZU_23_Insurgent_Closed_Emplacement: 6,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375: 7, AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375: 7,
AirDefence.AAA_ZU_23_Insurgent: 6, AirDefence.AAA_ZU_23_Insurgent_Emplacement: 6,
AirDefence.MANPADS_SA_18_Igla_Grouse: 10, AirDefence.MANPADS_SA_18_Igla_Grouse: 10,
AirDefence.MANPADS_SA_18_Igla_Grouse_C2: 8, AirDefence.MANPADS_SA_18_Igla_Grouse_C2: 8,
AirDefence.MANPADS_SA_18_Igla_S_Grouse: 12, AirDefence.MANPADS_SA_18_Igla_S_Grouse: 12,
AirDefence.MANPADS_SA_18_Igla_S_Grouse_C2: 8, AirDefence.MANPADS_SA_18_Igla_S_Grouse_C2: 8,
AirDefence.EWR_1L13: 30, AirDefence.EWR_1L13: 30,
AirDefence.SAM_SA_6_Kub_Long_Track_STR: 22, AirDefence.SAM_SA_6_Kub_Straight_Flush_STR: 22,
AirDefence.EWR_55G6: 30, AirDefence.EWR_55G6: 30,
AirDefence.MCC_SR_Sborka_Dog_Ear_SR: 10, AirDefence.MCC_SR_Sborka_Dog_Ear_SR: 10,
AirDefence.SAM_Hawk_TR__AN_MPQ_46: 14, AirDefence.SAM_Hawk_TR__AN_MPQ_46: 14,
@ -638,7 +641,7 @@ PRICES = {
AirDefence.PU_Maschinensatz_33: 10, AirDefence.PU_Maschinensatz_33: 10,
AirDefence.AAA_8_8cm_Flak_41: 10, AirDefence.AAA_8_8cm_Flak_41: 10,
AirDefence.EWR_FuMG_401_Freya_LZ: 25, AirDefence.EWR_FuMG_401_Freya_LZ: 25,
AirDefence.AAA_40mm_Bofors: 8, AirDefence.AAA_Bofors_40mm: 8,
AirDefence.AAA_S_60_57mm: 8, AirDefence.AAA_S_60_57mm: 8,
AirDefence.AAA_M1_37mm: 7, AirDefence.AAA_M1_37mm: 7,
AirDefence.AAA_M45_Quadmount_HB_12_7mm: 4, AirDefence.AAA_M45_Quadmount_HB_12_7mm: 4,
@ -860,9 +863,9 @@ UNIT_BY_TASK = {
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, Artillery.Grad_MRL_FDDM__FC,
Armor.IFV_BRDM_2, Armor.Scout_BRDM_2,
Armor.IFV_BRDM_2, Armor.Scout_BRDM_2,
Armor.IFV_BRDM_2, Armor.Scout_BRDM_2,
Armor.APC_BTR_RD, Armor.APC_BTR_RD,
Armor.APC_BTR_RD, Armor.APC_BTR_RD,
Armor.APC_BTR_RD, Armor.APC_BTR_RD,
@ -872,8 +875,8 @@ UNIT_BY_TASK = {
Armor.APC_BTR_80, Armor.APC_BTR_80,
Armor.APC_BTR_80, Armor.APC_BTR_80,
Armor.APC_BTR_80, Armor.APC_BTR_80,
Armor.APC_BTR_82A, Armor.IFV_BTR_82A,
Armor.APC_BTR_82A, Armor.IFV_BTR_82A,
Armor.IFV_BMP_1, Armor.IFV_BMP_1,
Armor.IFV_BMP_1, Armor.IFV_BMP_1,
Armor.IFV_BMP_1, Armor.IFV_BMP_1,
@ -896,10 +899,10 @@ UNIT_BY_TASK = {
Armor.MBT_T_80U, Armor.MBT_T_80U,
Armor.MBT_T_90, Armor.MBT_T_90,
Armor.ZTZ_96B, Armor.ZTZ_96B,
Armor.APC_Cobra__Scout, Armor.Scout_Cobra,
Armor.APC_Cobra__Scout, Armor.Scout_Cobra,
Armor.APC_Cobra__Scout, Armor.Scout_Cobra,
Armor.APC_Cobra__Scout, Armor.Scout_Cobra,
Armor.APC_M113, Armor.APC_M113,
Armor.APC_M113, Armor.APC_M113,
Armor.APC_M113, Armor.APC_M113,
@ -910,8 +913,8 @@ UNIT_BY_TASK = {
Armor.APC_TPz_Fuchs, Armor.APC_TPz_Fuchs,
Armor.ATGM_HMMWV, Armor.ATGM_HMMWV,
Armor.ATGM_HMMWV, Armor.ATGM_HMMWV,
Armor.APC_HMMWV__Scout, Armor.Scout_HMMWV,
Armor.APC_HMMWV__Scout, Armor.Scout_HMMWV,
Armor.IFV_M2A2_Bradley, Armor.IFV_M2A2_Bradley,
Armor.IFV_M2A2_Bradley, Armor.IFV_M2A2_Bradley,
Armor.ATGM_Stryker, Armor.ATGM_Stryker,
@ -936,11 +939,11 @@ UNIT_BY_TASK = {
Armor.MBT_Leopard_1A3, Armor.MBT_Leopard_1A3,
Armor.MBT_M1A2_Abrams, Armor.MBT_M1A2_Abrams,
Armor.MBT_Leclerc, Armor.MBT_Leclerc,
Armor.MBT_Leopard_2, Armor.MBT_Leopard_2A6M,
Armor.MBT_Challenger_II, Armor.MBT_Challenger_II,
Armor.MBT_Merkava_IV, Armor.MBT_Merkava_IV,
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G, Armor.MT_Pz_Kpfw_V_Panther_Ausf_G,
Armor.MT_PzIV_H, Armor.Tk_PzIV_H,
Armor.HT_Pz_Kpfw_VI_Tiger_I, Armor.HT_Pz_Kpfw_VI_Tiger_I,
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II, Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II,
Armor.APC_Sd_Kfz_251_Halftrack, Armor.APC_Sd_Kfz_251_Halftrack,
@ -949,7 +952,7 @@ UNIT_BY_TASK = {
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.IFV_Sd_Kfz_234_2_Puma, Armor.IFV_Sd_Kfz_234_2_Puma,
Armor.MT_M4_Sherman, Armor.Tk_M4_Sherman,
Armor.MT_M4A4_Sherman_Firefly, Armor.MT_M4A4_Sherman_Firefly,
Armor.CT_Cromwell_IV, Armor.CT_Cromwell_IV,
Unarmed.Carrier_M30_Cargo, Unarmed.Carrier_M30_Cargo,
@ -959,7 +962,7 @@ UNIT_BY_TASK = {
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_V_Panther_Ausf_G,
Armor.MT_PzIV_H, Armor.Tk_PzIV_H,
Armor.HT_Pz_Kpfw_VI_Tiger_I, Armor.HT_Pz_Kpfw_VI_Tiger_I,
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II, Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II,
Armor.SPG_Jagdpanther_G1, Armor.SPG_Jagdpanther_G1,
@ -967,7 +970,7 @@ UNIT_BY_TASK = {
Armor.SPG_Sd_Kfz_184_Elefant, Armor.SPG_Sd_Kfz_184_Elefant,
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.Tk_M4_Sherman,
Armor.MT_M4A4_Sherman_Firefly, Armor.MT_M4A4_Sherman_Firefly,
Armor.CT_Cromwell_IV, Armor.CT_Cromwell_IV,
Unarmed.Carrier_M30_Cargo, Unarmed.Carrier_M30_Cargo,
@ -985,23 +988,23 @@ UNIT_BY_TASK = {
Armor.SPG_StuG_III_Ausf__G, Armor.SPG_StuG_III_Ausf__G,
Armor.SPG_StuG_IV, Armor.SPG_StuG_IV,
Artillery.SPG_M12_GMC_155mm, Artillery.SPG_M12_GMC_155mm,
Artillery.SPG_Sturmpanzer_IV_Brummbar, Armor.SPG_Sturmpanzer_IV_Brummbar,
Armor.Car_Daimler_Armored, Armor.Car_Daimler_Armored,
Armor.LT_Mk_VII_Tetrarch, Armor.LT_Mk_VII_Tetrarch,
Artillery.MLRS_M270_227mm, Artillery.MLRS_M270_227mm,
Artillery.SPH_M109_Paladin_155mm, Artillery.SPH_M109_Paladin_155mm,
Artillery.SPH_2S9_Nona_120mm_M, Artillery.SPM_2S9_Nona_120mm_M,
Artillery.SPH_2S1_Gvozdika_122mm, Artillery.SPH_2S1_Gvozdika_122mm,
Artillery.SPH_2S3_Akatsia_152mm, Artillery.SPH_2S3_Akatsia_152mm,
Artillery.SPH_2S19_Msta_152mm, Artillery.SPH_2S19_Msta_152mm,
Artillery.MLRS_BM_21_Grad_122mm, Artillery.MLRS_BM_21_Grad_122mm,
Artillery.MLRS_BM_21_Grad_122mm, Artillery.MLRS_BM_21_Grad_122mm,
Artillery.MLRS_BM_27_Uragan_220mm, Artillery.MLRS_9K57_Uragan_BM_27_220mm,
Artillery.MLRS_9A52_Smerch_HE_300mm, Artillery.MLRS_9A52_Smerch_HE_300mm,
Artillery.SPH_Dana_vz77_152mm, Artillery.SPH_Dana_vz77_152mm,
Artillery.PLZ_05, Artillery.PLZ_05,
Artillery.SPG_M12_GMC_155mm, Artillery.SPG_M12_GMC_155mm,
Artillery.SPG_Sturmpanzer_IV_Brummbar, Armor.SPG_Sturmpanzer_IV_Brummbar,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375, AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375, AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375,
AirDefence.SPAAA_ZSU_57_2, AirDefence.SPAAA_ZSU_57_2,
@ -1022,7 +1025,7 @@ UNIT_BY_TASK = {
AirDefence.AAA_8_8cm_Flak_36, AirDefence.AAA_8_8cm_Flak_36,
AirDefence.AAA_8_8cm_Flak_37, AirDefence.AAA_8_8cm_Flak_37,
AirDefence.AAA_8_8cm_Flak_41, AirDefence.AAA_8_8cm_Flak_41,
AirDefence.AAA_40mm_Bofors, AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_S_60_57mm, AirDefence.AAA_S_60_57mm,
AirDefence.AAA_M1_37mm, AirDefence.AAA_M1_37mm,
AirDefence.AAA_QF_3_7, AirDefence.AAA_QF_3_7,
@ -1083,7 +1086,7 @@ SAM_BAN = [
AirDefence.SAM_SA_6_Kub_Gainful_TEL, AirDefence.SAM_SA_6_Kub_Gainful_TEL,
AirDefence.SAM_SA_8_Osa_Gecko_TEL, AirDefence.SAM_SA_8_Osa_Gecko_TEL,
AirDefence.SAM_SA_3_S_125_Goa_LN, AirDefence.SAM_SA_3_S_125_Goa_LN,
AirDefence.SAM_Hawk_Generator__PCP, AirDefence.SAM_Hawk_Platoon_Command_Post__PCP,
AirDefence.SAM_SA_2_S_75_Guideline_LN, AirDefence.SAM_SA_2_S_75_Guideline_LN,
AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL, AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL,
] ]
@ -1096,15 +1099,15 @@ SAM_CONVERT = {
AirDefence.SAM_SA_3_S_125_Low_Blow_TR: 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_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_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_6_Kub_Straight_Flush_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_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_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_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_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_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_TR__AN_MPQ_46: AirDefence.SAM_Hawk_Platoon_Command_Post__PCP,
AirDefence.SAM_Hawk_SR__AN_MPQ_50: AirDefence.SAM_Hawk_Generator__PCP, AirDefence.SAM_Hawk_SR__AN_MPQ_50: AirDefence.SAM_Hawk_Platoon_Command_Post__PCP,
AirDefence.SAM_Hawk_LN_M192: AirDefence.SAM_Hawk_Generator__PCP, AirDefence.SAM_Hawk_LN_M192: AirDefence.SAM_Hawk_Platoon_Command_Post__PCP,
"except": { "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 # 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 # model, we can safely assume the other was deployed

View File

@ -8,7 +8,10 @@ TYPE_TANKS = [
Armor.MBT_T_72B3, Armor.MBT_T_72B3,
Armor.MBT_T_80U, Armor.MBT_T_80U,
Armor.MBT_T_90, Armor.MBT_T_90,
Armor.MBT_Leopard_2, Armor.MBT_Leopard_2A4,
Armor.MBT_Leopard_2A4_Trs,
Armor.MBT_Leopard_2A5,
Armor.MBT_Leopard_2A6M,
Armor.MBT_Leopard_1A3, Armor.MBT_Leopard_1A3,
Armor.MBT_Leclerc, Armor.MBT_Leclerc,
Armor.MBT_Challenger_II, Armor.MBT_Challenger_II,
@ -18,16 +21,17 @@ TYPE_TANKS = [
Armor.ZTZ_96B, Armor.ZTZ_96B,
# WW2 # WW2
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G, Armor.MT_Pz_Kpfw_V_Panther_Ausf_G,
Armor.MT_PzIV_H, Armor.Tk_PzIV_H,
Armor.HT_Pz_Kpfw_VI_Tiger_I, Armor.HT_Pz_Kpfw_VI_Tiger_I,
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II, Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II,
Armor.MT_M4_Sherman, Armor.Tk_M4_Sherman,
Armor.MT_M4A4_Sherman_Firefly, Armor.MT_M4A4_Sherman_Firefly,
Armor.SPG_StuG_IV, Armor.SPG_StuG_IV,
Armor.CT_Centaur_IV, Armor.CT_Centaur_IV,
Armor.CT_Cromwell_IV, Armor.CT_Cromwell_IV,
Armor.HIT_Churchill_VII, Armor.HIT_Churchill_VII,
Armor.LT_Mk_VII_Tetrarch, Armor.LT_Mk_VII_Tetrarch,
Armor.SPG_Sturmpanzer_IV_Brummbar,
# Mods # Mods
frenchpack.DIM__TOYOTA_BLUE, frenchpack.DIM__TOYOTA_BLUE,
frenchpack.DIM__TOYOTA_GREEN, frenchpack.DIM__TOYOTA_GREEN,
@ -77,18 +81,18 @@ TYPE_IFV = [
] ]
TYPE_APC = [ TYPE_APC = [
Armor.APC_HMMWV__Scout, Armor.Scout_HMMWV,
Armor.IFV_M1126_Stryker_ICV, Armor.IFV_M1126_Stryker_ICV,
Armor.APC_M113, Armor.APC_M113,
Armor.APC_BTR_80, Armor.APC_BTR_80,
Armor.APC_BTR_82A, Armor.IFV_BTR_82A,
Armor.APC_MTLB, Armor.APC_MTLB,
Armor.APC_M2A1_Halftrack, Armor.APC_M2A1_Halftrack,
Armor.APC_Cobra__Scout, Armor.Scout_Cobra,
Armor.APC_Sd_Kfz_251_Halftrack, Armor.APC_Sd_Kfz_251_Halftrack,
Armor.APC_AAV_7_Amphibious, Armor.APC_AAV_7_Amphibious,
Armor.APC_TPz_Fuchs, Armor.APC_TPz_Fuchs,
Armor.IFV_BRDM_2, Armor.Scout_BRDM_2,
Armor.APC_BTR_RD, Armor.APC_BTR_RD,
Artillery.Grad_MRL_FDDM__FC, Artillery.Grad_MRL_FDDM__FC,
# WW2 # WW2
@ -105,16 +109,15 @@ TYPE_ARTILLERY = [
Artillery.SPH_2S1_Gvozdika_122mm, Artillery.SPH_2S1_Gvozdika_122mm,
Artillery.SPH_2S3_Akatsia_152mm, Artillery.SPH_2S3_Akatsia_152mm,
Artillery.MLRS_BM_21_Grad_122mm, Artillery.MLRS_BM_21_Grad_122mm,
Artillery.MLRS_BM_27_Uragan_220mm, Artillery.MLRS_9K57_Uragan_BM_27_220mm,
Artillery.SPH_M109_Paladin_155mm, Artillery.SPH_M109_Paladin_155mm,
Artillery.MLRS_M270_227mm, Artillery.MLRS_M270_227mm,
Artillery.SPH_2S9_Nona_120mm_M, Artillery.SPM_2S9_Nona_120mm_M,
Artillery.SPH_Dana_vz77_152mm, Artillery.SPH_Dana_vz77_152mm,
Artillery.PLZ_05, Artillery.PLZ_05,
Artillery.SPH_2S19_Msta_152mm, Artillery.SPH_2S19_Msta_152mm,
Artillery.MLRS_9A52_Smerch_CM_300mm, Artillery.MLRS_9A52_Smerch_CM_300mm,
# WW2 # WW2
Artillery.SPG_Sturmpanzer_IV_Brummbar,
Artillery.SPG_M12_GMC_155mm, Artillery.SPG_M12_GMC_155mm,
] ]
@ -175,7 +178,7 @@ TYPE_SHORAD = [
AirDefence.AAA_8_8cm_Flak_36, AirDefence.AAA_8_8cm_Flak_36,
AirDefence.AAA_8_8cm_Flak_37, AirDefence.AAA_8_8cm_Flak_37,
AirDefence.AAA_8_8cm_Flak_41, AirDefence.AAA_8_8cm_Flak_41,
AirDefence.AAA_40mm_Bofors, AirDefence.AAA_Bofors_40mm,
AirDefence.AAA_S_60_57mm, AirDefence.AAA_S_60_57mm,
AirDefence.AAA_M1_37mm, AirDefence.AAA_M1_37mm,
AirDefence.AAA_QF_3_7, AirDefence.AAA_QF_3_7,

View File

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

View File

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

View File

@ -87,7 +87,7 @@ class StraightFlushGenerator(EwrGenerator):
This is the SA-6 search/track radar, but used as an early warning radar. This is the SA-6 search/track radar, but used as an early warning radar.
""" """
unit_type = AirDefence.SAM_SA_6_Kub_Long_Track_STR unit_type = AirDefence.SAM_SA_6_Kub_Straight_Flush_STR
class HawkEwrGenerator(EwrGenerator): class HawkEwrGenerator(EwrGenerator):

View File

@ -105,13 +105,13 @@ SAM_MAP: Dict[str, Type[AirDefenseGroupGenerator]] = {
SAM_PRICES = { SAM_PRICES = {
AirDefence.SAM_Hawk_Generator__PCP: 35, AirDefence.SAM_Hawk_Platoon_Command_Post__PCP: 35,
AirDefence.AAA_ZU_23_Emplacement: 10, AirDefence.AAA_ZU_23_Emplacement: 10,
AirDefence.AAA_ZU_23_Closed_Emplacement: 10, AirDefence.AAA_ZU_23_Closed_Emplacement: 10,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375: 10, AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375: 10,
AirDefence.SPAAA_ZU_23_2_Insurgent_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_Closed_Emplacement: 10,
AirDefence.AAA_ZU_23_Insurgent: 10, AirDefence.AAA_ZU_23_Insurgent_Emplacement: 10,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish: 10, AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish: 10,
AirDefence.SPAAA_Vulcan_M163: 15, AirDefence.SPAAA_Vulcan_M163: 15,
AirDefence.SAM_Linebacker___Bradley_M6: 20, AirDefence.SAM_Linebacker___Bradley_M6: 20,
@ -122,7 +122,7 @@ SAM_PRICES = {
AirDefence.SAM_Patriot_LN: 85, AirDefence.SAM_Patriot_LN: 85,
AirDefence.SAM_Patriot_EPP_III: 85, AirDefence.SAM_Patriot_EPP_III: 85,
AirDefence.SAM_Chaparral_M48: 25, AirDefence.SAM_Chaparral_M48: 25,
AirDefence.AAA_40mm_Bofors: 15, AirDefence.AAA_Bofors_40mm: 15,
AirDefence.AAA_8_8cm_Flak_36: 15, AirDefence.AAA_8_8cm_Flak_36: 15,
AirDefence.SAM_SA_2_S_75_Guideline_LN: 30, AirDefence.SAM_SA_2_S_75_Guideline_LN: 30,
AirDefence.SAM_SA_3_S_125_Goa_LN: 35, AirDefence.SAM_SA_3_S_125_Goa_LN: 35,

View File

@ -26,7 +26,7 @@ class HawkGenerator(AirDefenseGroupGenerator):
self.heading, self.heading,
) )
self.add_unit( self.add_unit(
AirDefence.SAM_Hawk_Generator__PCP, AirDefence.SAM_Hawk_Platoon_Command_Post__PCP,
"PCP", "PCP",
self.position.x, self.position.x,
self.position.y, self.position.y,

View File

@ -18,7 +18,7 @@ class SA6Generator(AirDefenseGroupGenerator):
def generate(self): def generate(self):
self.add_unit( self.add_unit(
AirDefence.SAM_SA_6_Kub_Long_Track_STR, AirDefence.SAM_SA_6_Kub_Straight_Flush_STR,
"STR", "STR",
self.position.x, self.position.x,
self.position.y, self.position.y,

2
pydcs

@ -1 +1 @@
Subproject commit ea94bca55c83520038edc7c7fa43648376ec72a4 Subproject commit dec648d27f74c394dd6e85e83cc09e4cd823653d

View File

@ -40,7 +40,7 @@
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"APC_TPz_Fuchs", "APC_TPz_Fuchs",
"IFV_Warrior", "IFV_Warrior",

View File

@ -14,7 +14,7 @@
"Car_Daimler_Armored", "Car_Daimler_Armored",
"LT_Mk_VII_Tetrarch", "LT_Mk_VII_Tetrarch",
"AAA_QF_3_7", "AAA_QF_3_7",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
], ],

View File

@ -16,7 +16,7 @@
], ],
"frontline_units": [ "frontline_units": [
"MT_M4A4_Sherman_Firefly", "MT_M4A4_Sherman_Firefly",
"MT_M4_Sherman", "Tk_M4_Sherman",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"CT_Cromwell_IV", "CT_Cromwell_IV",
"CT_Centaur_IV", "CT_Centaur_IV",
@ -26,7 +26,7 @@
"Car_Daimler_Armored", "Car_Daimler_Armored",
"LT_Mk_VII_Tetrarch", "LT_Mk_VII_Tetrarch",
"AAA_QF_3_7", "AAA_QF_3_7",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
"SPG_M12_GMC_155mm" "SPG_M12_GMC_155mm"

View File

@ -14,9 +14,9 @@
"A_20G" "A_20G"
], ],
"frontline_units": [ "frontline_units": [
"MT_M4_Sherman", "Tk_M4_Sherman",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
], ],

View File

@ -37,13 +37,13 @@
], ],
"frontline_units": [ "frontline_units": [
"MBT_M1A2_Abrams", "MBT_M1A2_Abrams",
"MBT_Leopard_2", "MBT_Leopard_2A6M",
"MBT_Merkava_IV", "MBT_Merkava_IV",
"ATGM_Stryker", "ATGM_Stryker",
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_Marder", "IFV_Marder",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"SAM_Linebacker___Bradley_M6", "SAM_Linebacker___Bradley_M6",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"

View File

@ -17,7 +17,8 @@
], ],
"frontline_units": [ "frontline_units": [
"MBT_Leopard_1A3", "MBT_Leopard_1A3",
"MBT_Leopard_2", "MBT_Leopard_2A4",
"MBT_Leopard_2A6M",
"IFV_LAV_25", "IFV_LAV_25",
"APC_M113", "APC_M113",
"IFV_Warrior", "IFV_Warrior",

View File

@ -18,7 +18,8 @@
], ],
"frontline_units": [ "frontline_units": [
"MBT_Leopard_1A3", "MBT_Leopard_1A3",
"MBT_Leopard_2", "MBT_Leopard_2A4",
"MBT_Leopard_2A6M",
"IFV_LAV_25", "IFV_LAV_25",
"APC_M113", "APC_M113",
"IFV_Warrior", "IFV_Warrior",

View File

@ -28,7 +28,7 @@
"artillery_units": [ "artillery_units": [
"MLRS_9A52_Smerch_HE_300mm", "MLRS_9A52_Smerch_HE_300mm",
"PLZ_05", "PLZ_05",
"SPH_2S9_Nona_120mm_M" "SPM_2S9_Nona_120mm_M"
], ],
"logistics_units": [ "logistics_units": [
"Truck_Ural_375", "Truck_Ural_375",

View File

@ -15,7 +15,7 @@
"tankers": [ "tankers": [
], ],
"frontline_units": [ "frontline_units": [
"IFV_BRDM_2", "Scout_BRDM_2",
"Grad_MRL_FDDM__FC", "Grad_MRL_FDDM__FC",
"APC_MTLB", "APC_MTLB",
"MBT_T_55", "MBT_T_55",

View File

@ -20,10 +20,10 @@
"frontline_units": [ "frontline_units": [
"MBT_Leclerc", "MBT_Leclerc",
"APC_TPz_Fuchs", "APC_TPz_Fuchs",
"APC_Cobra__Scout", "Scout_Cobra",
"ATGM_Stryker", "ATGM_Stryker",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"SAM_Roland_ADS" "SAM_Roland_ADS"
], ],

View File

@ -17,7 +17,7 @@
"frontline_units": [ "frontline_units": [
"IFV_BMP_1", "IFV_BMP_1",
"IFV_BMP_2", "IFV_BMP_2",
"IFV_BRDM_2", "Scout_BRDM_2",
"APC_MTLB", "APC_MTLB",
"MBT_T_55", "MBT_T_55",
"MBT_T_72B" "MBT_T_72B"

View File

@ -13,7 +13,7 @@
"frontline_units": [ "frontline_units": [
"APC_BTR_80", "APC_BTR_80",
"APC_MTLB", "APC_MTLB",
"APC_Cobra__Scout", "Scout_Cobra",
"IFV_BMP_1", "IFV_BMP_1",
"IFV_BMP_2", "IFV_BMP_2",
"MBT_T_72B", "MBT_T_72B",

View File

@ -10,7 +10,7 @@
"Ju_88A4" "Ju_88A4"
], ],
"frontline_units": [ "frontline_units": [
"MT_PzIV_H", "Tk_PzIV_H",
"APC_Sd_Kfz_251_Halftrack", "APC_Sd_Kfz_251_Halftrack",
"IFV_Sd_Kfz_234_2_Puma", "IFV_Sd_Kfz_234_2_Puma",
"AAA_8_8cm_Flak_18" "AAA_8_8cm_Flak_18"

View File

@ -10,14 +10,14 @@
"Ju_88A4" "Ju_88A4"
], ],
"frontline_units": [ "frontline_units": [
"MT_PzIV_H", "Tk_PzIV_H",
"APC_Sd_Kfz_251_Halftrack", "APC_Sd_Kfz_251_Halftrack",
"IFV_Sd_Kfz_234_2_Puma", "IFV_Sd_Kfz_234_2_Puma",
"SPG_Jagdpanzer_IV", "SPG_Jagdpanzer_IV",
"AAA_8_8cm_Flak_18" "AAA_8_8cm_Flak_18",
"SPG_Sturmpanzer_IV_Brummbar"
], ],
"artillery_units": [ "artillery_units": [
"SPG_Sturmpanzer_IV_Brummbar"
], ],
"logistics_units": [ "logistics_units": [
"Truck_Opel_Blitz", "Truck_Opel_Blitz",

View File

@ -11,7 +11,7 @@
], ],
"frontline_units": [ "frontline_units": [
"MT_Pz_Kpfw_V_Panther_Ausf_G", "MT_Pz_Kpfw_V_Panther_Ausf_G",
"MT_PzIV_H", "Tk_PzIV_H",
"HT_Pz_Kpfw_VI_Tiger_I", "HT_Pz_Kpfw_VI_Tiger_I",
"HT_Pz_Kpfw_VI_Ausf__B_Tiger_II", "HT_Pz_Kpfw_VI_Ausf__B_Tiger_II",
"APC_Sd_Kfz_251_Halftrack", "APC_Sd_Kfz_251_Halftrack",
@ -22,10 +22,10 @@
"SPG_StuG_III_Ausf__G", "SPG_StuG_III_Ausf__G",
"SPG_StuG_IV", "SPG_StuG_IV",
"AAA_8_8cm_Flak_18", "AAA_8_8cm_Flak_18",
"AAA_8_8cm_Flak_41" "AAA_8_8cm_Flak_41",
"SPG_Sturmpanzer_IV_Brummbar"
], ],
"artillery_units": [ "artillery_units": [
"SPG_Sturmpanzer_IV_Brummbar"
], ],
"logistics_units": [ "logistics_units": [
"Truck_Opel_Blitz", "Truck_Opel_Blitz",

View File

@ -9,7 +9,7 @@
"Bf_109K_4" "Bf_109K_4"
], ],
"frontline_units": [ "frontline_units": [
"MT_PzIV_H", "Tk_PzIV_H",
"APC_Sd_Kfz_251_Halftrack", "APC_Sd_Kfz_251_Halftrack",
"AAA_8_8cm_Flak_18" "AAA_8_8cm_Flak_18"
], ],

View File

@ -21,7 +21,7 @@
"frontline_units": [ "frontline_units": [
"APC_TPz_Fuchs", "APC_TPz_Fuchs",
"MBT_Leopard_1A3", "MBT_Leopard_1A3",
"MBT_Leopard_2", "MBT_Leopard_2A4",
"IFV_Marder", "IFV_Marder",
"SPAAA_Gepard" "SPAAA_Gepard"
], ],

View File

@ -15,10 +15,10 @@
"KC130" "KC130"
], ],
"frontline_units": [ "frontline_units": [
"MBT_Leopard_2", "MBT_Leopard_2A4",
"MBT_Leopard_1A3", "MBT_Leopard_1A3",
"MBT_M60A3_Patton", "MBT_M60A3_Patton",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"APC_M113", "APC_M113",
"IFV_BMP_1" "IFV_BMP_1"
@ -48,4 +48,4 @@
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "MQ_9_Reaper" "jtac_unit": "MQ_9_Reaper"
} }

View File

@ -26,7 +26,7 @@
"SAM_SA_19_Tunguska_Grison" "SAM_SA_19_Tunguska_Grison"
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S19_Msta_152mm" "SPH_2S19_Msta_152mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -6,9 +6,9 @@
"aircrafts": [ "aircrafts": [
], ],
"frontline_units": [ "frontline_units": [
"APC_Cobra__Scout", "Scout_Cobra",
"APC_MTLB", "APC_MTLB",
"IFV_BRDM_2", "Scout_BRDM_2",
"SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375" "SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375"
], ],
"artillery_units": [ "artillery_units": [

View File

@ -7,8 +7,8 @@
], ],
"frontline_units": [ "frontline_units": [
"ATGM_HMMWV", "ATGM_HMMWV",
"APC_HMMWV__Scout", "Scout_HMMWV",
"IFV_BRDM_2", "Scout_BRDM_2",
"APC_BTR_80", "APC_BTR_80",
"APC_BTR_RD", "APC_BTR_RD",
"IFV_BMP_1", "IFV_BMP_1",

View File

@ -30,7 +30,7 @@
"MBT_T_55", "MBT_T_55",
"MBT_T_72B", "MBT_T_72B",
"APC_BTR_80", "APC_BTR_80",
"IFV_BRDM_2", "Scout_BRDM_2",
"SPH_2S1_Gvozdika_122mm", "SPH_2S1_Gvozdika_122mm",
"SPAAA_ZSU_57_2", "SPAAA_ZSU_57_2",
"SPAAA_ZSU_23_4_Shilka_Gun_Dish" "SPAAA_ZSU_23_4_Shilka_Gun_Dish"

View File

@ -14,9 +14,9 @@
"frontline_units": [ "frontline_units": [
"MT_M4A4_Sherman_Firefly", "MT_M4A4_Sherman_Firefly",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"MT_M4_Sherman", "Tk_M4_Sherman",
"Car_M8_Greyhound_Armored", "Car_M8_Greyhound_Armored",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
], ],

View File

@ -16,7 +16,7 @@
"KC130" "KC130"
], ],
"frontline_units": [ "frontline_units": [
"MT_M4_Sherman", "Tk_M4_Sherman",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"MBT_M60A3_Patton", "MBT_M60A3_Patton",
"APC_M113", "APC_M113",

View File

@ -21,7 +21,7 @@
], ],
"frontline_units": [ "frontline_units": [
"APC_M113", "APC_M113",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"MBT_Merkava_IV", "MBT_Merkava_IV",
"SPAAA_Vulcan_M163" "SPAAA_Vulcan_M163"

View File

@ -23,7 +23,7 @@
"IFV_Marder", "IFV_Marder",
"APC_TPz_Fuchs", "APC_TPz_Fuchs",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"SPAAA_Gepard" "SPAAA_Gepard"
], ],
"artillery_units": [ "artillery_units": [

View File

@ -18,7 +18,7 @@
], ],
"frontline_units": [ "frontline_units": [
"IFV_BMP_1", "IFV_BMP_1",
"IFV_BRDM_2", "Scout_BRDM_2",
"MBT_T_72B", "MBT_T_72B",
"MBT_T_55", "MBT_T_55",
"SPAAA_ZSU_23_4_Shilka_Gun_Dish", "SPAAA_ZSU_23_4_Shilka_Gun_Dish",

View File

@ -19,7 +19,7 @@
"IL_78M" "IL_78M"
], ],
"frontline_units": [ "frontline_units": [
"IFV_BRDM_2", "Scout_BRDM_2",
"APC_BTR_80", "APC_BTR_80",
"IFV_BMP_1", "IFV_BMP_1",
"MBT_T_55", "MBT_T_55",
@ -30,7 +30,7 @@
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_21_Grad_122mm", "MLRS_BM_21_Grad_122mm",
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S19_Msta_152mm" "SPH_2S19_Msta_152mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -28,7 +28,7 @@
], ],
"artillery_units": [ "artillery_units": [
"MLRS_9A52_Smerch_HE_300mm", "MLRS_9A52_Smerch_HE_300mm",
"SPH_2S9_Nona_120mm_M" "SPM_2S9_Nona_120mm_M"
], ],
"logistics_units": [ "logistics_units": [
"Truck_Ural_375", "Truck_Ural_375",

View File

@ -10,9 +10,9 @@
"Ka_50" "Ka_50"
], ],
"frontline_units": [ "frontline_units": [
"APC_Cobra__Scout", "Scout_Cobra",
"APC_BTR_80", "APC_BTR_80",
"IFV_BRDM_2", "Scout_BRDM_2",
"SAM_SA_13_Strela_10M3_Gopher_TEL" "SAM_SA_13_Strela_10M3_Gopher_TEL"
], ],
"artillery_units": [ "artillery_units": [

View File

@ -10,7 +10,7 @@
"SA342M" "SA342M"
], ],
"frontline_units": [ "frontline_units": [
"APC_HMMWV__Scout", "Scout_HMMWV",
"IFV_Warrior", "IFV_Warrior",
"IFV_LAV_25", "IFV_LAV_25",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"

View File

@ -11,7 +11,7 @@
"SA342M" "SA342M"
], ],
"frontline_units": [ "frontline_units": [
"APC_HMMWV__Scout", "Scout_HMMWV",
"IFV_Warrior", "IFV_Warrior",
"IFV_LAV_25", "IFV_LAV_25",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"

View File

@ -13,13 +13,13 @@
"KC130" "KC130"
], ],
"frontline_units": [ "frontline_units": [
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"IFV_BRDM_2", "Scout_BRDM_2",
"IFV_BMP_1", "IFV_BMP_1",
"APC_MTLB", "APC_MTLB",
"MBT_Leopard_2", "MBT_Leopard_2A6M",
"MBT_T_72B3" "MBT_T_72B3"
], ],
"artillery_units": [ "artillery_units": [

View File

@ -31,7 +31,7 @@
], ],
"frontline_units": [ "frontline_units": [
"APC_BTR_80", "APC_BTR_80",
"APC_BTR_82A", "IFV_BTR_82A",
"HQ_7_Self_Propelled_LN", "HQ_7_Self_Propelled_LN",
"IFV_BMP_1", "IFV_BMP_1",
"IFV_BMP_2", "IFV_BMP_2",
@ -46,8 +46,8 @@
], ],
"artillery_units": [ "artillery_units": [
"MLRS_9A52_Smerch_HE_300mm", "MLRS_9A52_Smerch_HE_300mm",
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S9_Nona_120mm_M", "SPM_2S9_Nona_120mm_M",
"SPH_2S19_Msta_152mm" "SPH_2S19_Msta_152mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -31,7 +31,7 @@
], ],
"frontline_units": [ "frontline_units": [
"APC_BTR_80", "APC_BTR_80",
"APC_BTR_82A", "IFV_BTR_82A",
"HQ_7_Self_Propelled_LN", "HQ_7_Self_Propelled_LN",
"IFV_BMP_1", "IFV_BMP_1",
"IFV_BMP_2", "IFV_BMP_2",
@ -46,8 +46,8 @@
], ],
"artillery_units": [ "artillery_units": [
"MLRS_9A52_Smerch_HE_300mm", "MLRS_9A52_Smerch_HE_300mm",
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S9_Nona_120mm_M", "SPM_2S9_Nona_120mm_M",
"SPH_2S19_Msta_152mm" "SPH_2S19_Msta_152mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -13,7 +13,7 @@
"IL_78M" "IL_78M"
], ],
"frontline_units": [ "frontline_units": [
"IFV_BRDM_2", "Scout_BRDM_2",
"Grad_MRL_FDDM__FC", "Grad_MRL_FDDM__FC",
"APC_MTLB", "APC_MTLB",
"MBT_T_55", "MBT_T_55",

View File

@ -17,7 +17,7 @@
"IL_78M" "IL_78M"
], ],
"frontline_units": [ "frontline_units": [
"IFV_BRDM_2", "Scout_BRDM_2",
"APC_BTR_80", "APC_BTR_80",
"APC_BTR_RD", "APC_BTR_RD",
"IFV_BMD_1", "IFV_BMD_1",

View File

@ -10,7 +10,7 @@
"Mi_24V" "Mi_24V"
], ],
"frontline_units": [ "frontline_units": [
"IFV_BRDM_2", "Scout_BRDM_2",
"APC_BTR_80", "APC_BTR_80",
"IFV_BMD_1", "IFV_BMD_1",
"IFV_BMP_1", "IFV_BMP_1",
@ -19,7 +19,7 @@
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_21_Grad_122mm", "MLRS_BM_21_Grad_122mm",
"SPH_2S9_Nona_120mm_M", "SPM_2S9_Nona_120mm_M",
"SPH_2S1_Gvozdika_122mm" "SPH_2S1_Gvozdika_122mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -23,7 +23,7 @@
"IL_78M" "IL_78M"
], ],
"frontline_units": [ "frontline_units": [
"IFV_BRDM_2", "Scout_BRDM_2",
"APC_BTR_80", "APC_BTR_80",
"IFV_BMD_1", "IFV_BMD_1",
"IFV_BMP_1", "IFV_BMP_1",
@ -32,7 +32,7 @@
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_21_Grad_122mm", "MLRS_BM_21_Grad_122mm",
"SPH_2S9_Nona_120mm_M", "SPM_2S9_Nona_120mm_M",
"SPH_2S1_Gvozdika_122mm" "SPH_2S1_Gvozdika_122mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -35,7 +35,7 @@
"SAM_SA_13_Strela_10M3_Gopher_TEL" "SAM_SA_13_Strela_10M3_Gopher_TEL"
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S19_Msta_152mm" "SPH_2S19_Msta_152mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -34,14 +34,14 @@
"IFV_BMP_2", "IFV_BMP_2",
"IFV_BMP_3", "IFV_BMP_3",
"APC_BTR_80", "APC_BTR_80",
"APC_BTR_82A", "IFV_BTR_82A",
"MBT_T_90", "MBT_T_90",
"MBT_T_80U", "MBT_T_80U",
"MBT_T_72B3", "MBT_T_72B3",
"SAM_SA_19_Tunguska_Grison" "SAM_SA_19_Tunguska_Grison"
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S19_Msta_152mm" "SPH_2S19_Msta_152mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -34,14 +34,14 @@
"IFV_BMP_2", "IFV_BMP_2",
"IFV_BMP_3", "IFV_BMP_3",
"APC_BTR_80", "APC_BTR_80",
"APC_BTR_82A", "IFV_BTR_82A",
"MBT_T_90", "MBT_T_90",
"MBT_T_80U", "MBT_T_80U",
"MBT_T_72B3", "MBT_T_72B3",
"SAM_SA_19_Tunguska_Grison" "SAM_SA_19_Tunguska_Grison"
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S19_Msta_152mm" "SPH_2S19_Msta_152mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -39,7 +39,7 @@
"SAM_SA_19_Tunguska_Grison" "SAM_SA_19_Tunguska_Grison"
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S19_Msta_152mm" "SPH_2S19_Msta_152mm"
], ],
"logistics_units": [ "logistics_units": [

View File

@ -8,11 +8,11 @@
"I_16" "I_16"
], ],
"frontline_units": [ "frontline_units": [
"MT_M4_Sherman", "Tk_M4_Sherman",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"Car_Daimler_Armored", "Car_Daimler_Armored",
"LT_Mk_VII_Tetrarch", "LT_Mk_VII_Tetrarch",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_21_Grad_122mm" "MLRS_BM_21_Grad_122mm"

View File

@ -19,7 +19,7 @@
], ],
"frontline_units": [ "frontline_units": [
"MBT_M60A3_Patton", "MBT_M60A3_Patton",
"MBT_Leopard_2", "MBT_Leopard_2A4",
"APC_M113", "APC_M113",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"
], ],

View File

@ -17,7 +17,7 @@
], ],
"frontline_units": [ "frontline_units": [
"IFV_Warrior", "IFV_Warrior",
"MBT_Leopard_2", "MBT_Leopard_2A4",
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"SAM_Chaparral_M48" "SAM_Chaparral_M48"
], ],

View File

@ -16,7 +16,7 @@
], ],
"frontline_units": [ "frontline_units": [
"IFV_Warrior", "IFV_Warrior",
"MBT_Leopard_2", "MBT_Leopard_2A4",
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"
], ],

View File

@ -10,9 +10,9 @@
"frontline_units": [ "frontline_units": [
"IFV_Sd_Kfz_234_2_Puma", "IFV_Sd_Kfz_234_2_Puma",
"APC_Sd_Kfz_251_Halftrack", "APC_Sd_Kfz_251_Halftrack",
"MT_PzIV_H", "Tk_PzIV_H",
"MT_M4_Sherman", "Tk_M4_Sherman",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
], ],

View File

@ -17,8 +17,8 @@
"IL_78M" "IL_78M"
], ],
"frontline_units": [ "frontline_units": [
"IFV_BRDM_2", "Scout_BRDM_2",
"MT_PzIV_H", "Tk_PzIV_H",
"MBT_T_55", "MBT_T_55",
"SPAAA_ZU_23_2_Mounted_Ural_375", "SPAAA_ZU_23_2_Mounted_Ural_375",
"SPAAA_ZSU_57_2", "SPAAA_ZSU_57_2",

View File

@ -18,9 +18,9 @@
"IL_78M" "IL_78M"
], ],
"frontline_units": [ "frontline_units": [
"IFV_BRDM_2", "Scout_BRDM_2",
"MBT_T_55", "MBT_T_55",
"MT_PzIV_H", "Tk_PzIV_H",
"SPG_StuG_III_Ausf__G", "SPG_StuG_III_Ausf__G",
"SPG_Jagdpanzer_IV", "SPG_Jagdpanzer_IV",
"SPAAA_ZSU_57_2", "SPAAA_ZSU_57_2",

View File

@ -26,17 +26,17 @@
"IFV_BMP_1", "IFV_BMP_1",
"IFV_BMP_2", "IFV_BMP_2",
"APC_BTR_80", "APC_BTR_80",
"IFV_BRDM_2", "Scout_BRDM_2",
"APC_MTLB", "APC_MTLB",
"APC_Cobra__Scout", "Scout_Cobra",
"MBT_T_55", "MBT_T_55",
"MBT_T_72B", "MBT_T_72B",
"MBT_T_90", "MBT_T_90",
"SPAAA_ZSU_57_2" "SPAAA_ZSU_57_2"
], ],
"artillery_units": [ "artillery_units": [
"MLRS_BM_27_Uragan_220mm", "MLRS_9K57_Uragan_BM_27_220mm",
"SPH_2S9_Nona_120mm_M", "SPM_2S9_Nona_120mm_M",
"MLRS_BM_21_Grad_122mm", "MLRS_BM_21_Grad_122mm",
"SPH_2S1_Gvozdika_122mm" "SPH_2S1_Gvozdika_122mm"
], ],

View File

@ -17,10 +17,10 @@
"KC130" "KC130"
], ],
"frontline_units": [ "frontline_units": [
"MBT_Leopard_2", "MBT_Leopard_2A4_Trs",
"MBT_Leopard_1A3", "MBT_Leopard_1A3",
"MBT_M60A3_Patton", "MBT_M60A3_Patton",
"APC_Cobra__Scout", "Scout_Cobra",
"APC_BTR_80", "APC_BTR_80",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"
], ],

View File

@ -16,14 +16,14 @@
], ],
"frontline_units": [ "frontline_units": [
"MT_M4A4_Sherman_Firefly", "MT_M4A4_Sherman_Firefly",
"MT_M4_Sherman", "Tk_M4_Sherman",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"CT_Cromwell_IV", "CT_Cromwell_IV",
"CT_Centaur_IV", "CT_Centaur_IV",
"HIT_Churchill_VII", "HIT_Churchill_VII",
"Car_Daimler_Armored", "Car_Daimler_Armored",
"LT_Mk_VII_Tetrarch", "LT_Mk_VII_Tetrarch",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
], ],

View File

@ -20,7 +20,7 @@
"frontline_units": [ "frontline_units": [
"MBT_Challenger_II", "MBT_Challenger_II",
"IFV_Warrior", "IFV_Warrior",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"
], ],
@ -71,4 +71,4 @@
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "MQ_9_Reaper" "jtac_unit": "MQ_9_Reaper"
} }

View File

@ -20,7 +20,7 @@
"IL_78M" "IL_78M"
], ],
"frontline_units": [ "frontline_units": [
"APC_HMMWV__Scout", "Scout_HMMWV",
"IFV_BMP_3", "IFV_BMP_3",
"IFV_BMP_2", "IFV_BMP_2",
"APC_BTR_80", "APC_BTR_80",

View File

@ -12,11 +12,11 @@
"P_47D_40" "P_47D_40"
], ],
"frontline_units": [ "frontline_units": [
"MT_M4_Sherman", "Tk_M4_Sherman",
"MBT_M60A3_Patton", "MBT_M60A3_Patton",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"Car_M8_Greyhound_Armored", "Car_M8_Greyhound_Armored",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
"SPG_M12_GMC_155mm" "SPG_M12_GMC_155mm"
@ -38,4 +38,4 @@
"requirements": { "requirements": {
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/" "WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/"
} }
} }

View File

@ -31,11 +31,11 @@
], ],
"frontline_units": [ "frontline_units": [
"MBT_M1A2_Abrams", "MBT_M1A2_Abrams",
"MBT_Leopard_2", "MBT_Leopard_2A4",
"ATGM_Stryker", "ATGM_Stryker",
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"
], ],
"artillery_units": [ "artillery_units": [
@ -82,4 +82,4 @@
"vf-74 adversary" "vf-74 adversary"
] ]
} }
} }

View File

@ -15,7 +15,7 @@
], ],
"frontline_units": [ "frontline_units": [
"MT_M4A4_Sherman_Firefly", "MT_M4A4_Sherman_Firefly",
"MT_M4_Sherman", "Tk_M4_Sherman",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"Car_M8_Greyhound_Armored", "Car_M8_Greyhound_Armored",
"SPG_M10_GMC", "SPG_M10_GMC",

View File

@ -11,10 +11,10 @@
"P_51D_30_NA" "P_51D_30_NA"
], ],
"frontline_units": [ "frontline_units": [
"MT_M4_Sherman", "Tk_M4_Sherman",
"MBT_M60A3_Patton", "MBT_M60A3_Patton",
"APC_M2A1_Halftrack", "APC_M2A1_Halftrack",
"AAA_40mm_Bofors" "AAA_Bofors_40mm"
], ],
"artillery_units": [ "artillery_units": [
"SPG_M12_GMC_155mm" "SPG_M12_GMC_155mm"
@ -34,4 +34,4 @@
"requirements": { "requirements": {
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/" "WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/"
} }
} }

View File

@ -39,7 +39,7 @@
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"SAM_Avenger__Stinger" "SAM_Avenger__Stinger"
], ],
@ -119,4 +119,4 @@
"VMFA-323" "VMFA-323"
] ]
} }
} }

View File

@ -39,7 +39,7 @@
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"SAM_Avenger__Stinger", "SAM_Avenger__Stinger",
"SAM_Linebacker___Bradley_M6", "SAM_Linebacker___Bradley_M6",
@ -119,4 +119,4 @@
"VMFA-323" "VMFA-323"
] ]
} }
} }

View File

@ -40,7 +40,7 @@
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"SAM_Avenger__Stinger", "SAM_Avenger__Stinger",
"SAM_Linebacker___Bradley_M6" "SAM_Linebacker___Bradley_M6"
@ -121,4 +121,4 @@
"VMFA-323" "VMFA-323"
] ]
} }
} }

View File

@ -35,7 +35,7 @@
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV", "ATGM_HMMWV",
"SAM_Avenger__Stinger", "SAM_Avenger__Stinger",
"SAM_Linebacker___Bradley_M6" "SAM_Linebacker___Bradley_M6"
@ -116,4 +116,4 @@
"VMFA-323" "VMFA-323"
] ]
} }
} }

View File

@ -21,7 +21,7 @@
"frontline_units": [ "frontline_units": [
"MBT_M60A3_Patton", "MBT_M60A3_Patton",
"APC_M113", "APC_M113",
"APC_HMMWV__Scout", "Scout_HMMWV",
"SPAAA_Vulcan_M163" "SPAAA_Vulcan_M163"
], ],
"artillery_units": [ "artillery_units": [
@ -87,4 +87,4 @@
"VFA-97" "VFA-97"
] ]
} }
} }

View File

@ -30,7 +30,7 @@
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV" "ATGM_HMMWV"
], ],
"artillery_units": [ "artillery_units": [
@ -83,4 +83,4 @@
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "MQ_9_Reaper" "jtac_unit": "MQ_9_Reaper"
} }

View File

@ -32,7 +32,7 @@
"IFV_M1126_Stryker_ICV", "IFV_M1126_Stryker_ICV",
"IFV_M2A2_Bradley", "IFV_M2A2_Bradley",
"IFV_LAV_25", "IFV_LAV_25",
"APC_HMMWV__Scout", "Scout_HMMWV",
"ATGM_HMMWV" "ATGM_HMMWV"
], ],
"artillery_units": [ "artillery_units": [
@ -85,4 +85,4 @@
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "MQ_9_Reaper" "jtac_unit": "MQ_9_Reaper"
} }

View File

@ -82,7 +82,7 @@ class TestFactionLoader(unittest.TestCase):
self.assertIn(Armor.IFV_M1126_Stryker_ICV, faction.frontline_units) self.assertIn(Armor.IFV_M1126_Stryker_ICV, faction.frontline_units)
self.assertIn(Armor.IFV_M2A2_Bradley, faction.frontline_units) self.assertIn(Armor.IFV_M2A2_Bradley, faction.frontline_units)
self.assertIn(Armor.IFV_LAV_25, faction.frontline_units) self.assertIn(Armor.IFV_LAV_25, faction.frontline_units)
self.assertIn(Armor.APC_HMMWV__Scout, faction.frontline_units) self.assertIn(Armor.Scout_HMMWV, faction.frontline_units)
self.assertIn(Armor.ATGM_HMMWV, faction.frontline_units) self.assertIn(Armor.ATGM_HMMWV, faction.frontline_units)
self.assertIn(Artillery.MLRS_M270_227mm, faction.artillery_units) self.assertIn(Artillery.MLRS_M270_227mm, faction.artillery_units)