diff --git a/game/data/aaa_db.py b/game/data/aaa_db.py index 3175f7b4..a30f0255 100644 --- a/game/data/aaa_db.py +++ b/game/data/aaa_db.py @@ -18,4 +18,5 @@ AAA_UNITS = [ AirDefence.AAA_SP_Kdo_G_40, AirDefence.AAA_8_8cm_Flak_41, AirDefence.AAA_40mm_Bofors, + AirDefence.AAA_S_60_57mm ] diff --git a/game/db.py b/game/db.py index a45ec008..140f12f9 100644 --- a/game/db.py +++ b/game/db.py @@ -631,6 +631,7 @@ PRICES = { AirDefence.AAA_8_8cm_Flak_41: 10, AirDefence.EWR_FuMG_401_Freya_LZ: 25, AirDefence.AAA_40mm_Bofors: 8, + AirDefence.AAA_S_60_57mm: 8, AirDefence.AAA_M1_37mm: 7, AirDefence.AAA_M45_Quadmount_HB_12_7mm: 4, AirDefence.AAA_QF_3_7: 10, @@ -997,6 +998,7 @@ UNIT_BY_TASK = { AirDefence.AAA_8_8cm_Flak_37, AirDefence.AAA_8_8cm_Flak_41, AirDefence.AAA_40mm_Bofors, + AirDefence.AAA_S_60_57mm, AirDefence.AAA_M1_37mm, AirDefence.AAA_QF_3_7, frenchpack.DIM__TOYOTA_BLUE, diff --git a/gen/ground_forces/ai_ground_planner_db.py b/gen/ground_forces/ai_ground_planner_db.py index 59ad4a02..26577321 100644 --- a/gen/ground_forces/ai_ground_planner_db.py +++ b/gen/ground_forces/ai_ground_planner_db.py @@ -175,6 +175,7 @@ TYPE_SHORAD = [ AirDefence.AAA_8_8cm_Flak_37, AirDefence.AAA_8_8cm_Flak_41, AirDefence.AAA_40mm_Bofors, + AirDefence.AAA_S_60_57mm, AirDefence.AAA_M1_37mm, AirDefence.AAA_QF_3_7, ] diff --git a/gen/sam/cold_war_flak.py b/gen/sam/cold_war_flak.py index ef3135e9..b15aadaa 100644 --- a/gen/sam/cold_war_flak.py +++ b/gen/sam/cold_war_flak.py @@ -12,13 +12,13 @@ from gen.sam.group_generator import GroupGenerator class EarlyColdWarFlakGenerator(AirDefenseGroupGenerator): """ This generator attempt to mimic an early cold-war era flak AAA site. - The Flak 18 88mm is used as the main long range gun and 2 Bofors 40mm guns provide short range protection. + The Flak 18 88mm is used as the main long range gun, S-60 is used as a mid range gun and 2 Bofors 40mm guns provide short range protection. This does not include search lights and telemeter computer (Kdo.G 40) because these are paid units only available in WW2 asset pack """ name = "Early Cold War Flak Site" - price = 58 + price = 74 def generate(self): @@ -37,22 +37,38 @@ class EarlyColdWarFlakGenerator(AirDefenseGroupGenerator): self.heading, ) - # Short range guns + # Medium range guns self.add_unit( - AirDefence.AAA_40mm_Bofors, + AirDefence.AAA_S_60_57mm, "SHO#1", self.position.x - 40, self.position.y - 40, self.heading + 180, ), self.add_unit( - AirDefence.AAA_40mm_Bofors, + AirDefence.AAA_S_60_57mm, "SHO#2", self.position.x + spacing * 2 + 40, self.position.y + spacing + 40, self.heading, ), + # Short range guns + self.add_unit( + AirDefence.AAA_ZU_23_Closed_Emplacement, + "SHO#3", + self.position.x - 80, + self.position.y - 40, + self.heading + 180, + ), + self.add_unit( + AirDefence.AAA_ZU_23_Closed_Emplacement, + "SHO#4", + self.position.x + spacing * 2 + 80, + self.position.y + spacing + 40, + self.heading, + ), + # Add a truck self.add_unit( Unarmed.Truck_KAMAZ_43101, @@ -70,7 +86,7 @@ class EarlyColdWarFlakGenerator(AirDefenseGroupGenerator): class ColdWarFlakGenerator(AirDefenseGroupGenerator): """ This generator attempt to mimic a cold-war era flak AAA site. - The Flak 18 88mm is used as the main long range gun while 2 Zu-23 guns provide short range protection. + The Flak 18 88mm is used as the main long range gun, 2 S-60 57mm gun improve mid range firepower, while 2 Zu-23 guns even provide short range protection. The site is also fitted with a P-19 radar for early detection. """ @@ -94,22 +110,38 @@ class ColdWarFlakGenerator(AirDefenseGroupGenerator): self.heading, ) - # Short range guns + # Medium range guns self.add_unit( - AirDefence.AAA_ZU_23_Closed_Emplacement, + AirDefence.AAA_S_60_57mm, "SHO#1", self.position.x - 40, self.position.y - 40, self.heading + 180, ), self.add_unit( - AirDefence.AAA_ZU_23_Closed_Emplacement, + AirDefence.AAA_S_60_57mm, "SHO#2", self.position.x + spacing * 2 + 40, self.position.y + spacing + 40, self.heading, ), + # Short range guns + self.add_unit( + AirDefence.AAA_ZU_23_Closed_Emplacement, + "SHO#1", + self.position.x - 80, + self.position.y - 40, + self.heading + 180, + ), + self.add_unit( + AirDefence.AAA_ZU_23_Closed_Emplacement, + "SHO#2", + self.position.x + spacing * 2 + 80, + self.position.y + spacing + 40, + self.heading, + ), + # Add a P19 Radar for EWR self.add_unit( AirDefence.SAM_P19_Flat_Face_SR__SA_2_3, diff --git a/gen/sam/sam_group_generator.py b/gen/sam/sam_group_generator.py index 95b6a688..e13f0f2c 100644 --- a/gen/sam/sam_group_generator.py +++ b/gen/sam/sam_group_generator.py @@ -6,7 +6,6 @@ from dcs.vehicles import AirDefence from game import Game from game.factions.faction import Faction -from game.theater import TheaterGroundObject from game.theater.theatergroundobject import SamGroundObject from gen.sam.aaa_bofors import BoforsGenerator from gen.sam.aaa_flak import FlakGenerator @@ -23,9 +22,7 @@ from gen.sam.cold_war_flak import ( ColdWarFlakGenerator, EarlyColdWarFlakGenerator, ) - from gen.sam.freya_ewr import FreyaGenerator -from gen.sam.group_generator import GroupGenerator from gen.sam.sam_avenger import AvengerGenerator from gen.sam.sam_chaparral import ChaparralGenerator from gen.sam.sam_gepard import GepardGenerator diff --git a/resources/factions/russia_1955.json b/resources/factions/russia_1955.json index 2f5a0258..a3964056 100644 --- a/resources/factions/russia_1955.json +++ b/resources/factions/russia_1955.json @@ -18,7 +18,8 @@ "APC_MTLB", "MBT_T_55", "SPAAA_ZU_23_2_Mounted_Ural_375", - "AAA_8_8cm_Flak_18" + "AAA_8_8cm_Flak_18", + "AAA_S_60_57mm" ], "artillery_units": [ "MLRS_BM_21_Grad_122mm" diff --git a/resources/factions/russia_1965.json b/resources/factions/russia_1965.json index d9e6aae4..49b21bcc 100644 --- a/resources/factions/russia_1965.json +++ b/resources/factions/russia_1965.json @@ -24,7 +24,8 @@ "IFV_BMP_1", "MBT_T_55", "SPAAA_ZU_23_2_Mounted_Ural_375", - "SPAAA_ZSU_57_2" + "SPAAA_ZSU_57_2", + "AAA_S_60_57mm" ], "artillery_units": [ "MLRS_BM_21_Grad_122mm"