From 2f11731052c78df68dd1c4cb9eca054d8eb742b6 Mon Sep 17 00:00:00 2001 From: Khopa Date: Fri, 18 Dec 2020 00:25:50 +0100 Subject: [PATCH 1/5] pydcs version update to include new data export --- pydcs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pydcs b/pydcs index c9751f54..edc87fab 160000 --- a/pydcs +++ b/pydcs @@ -1 +1 @@ -Subproject commit c9751f54e01de18f0ff3bb84c2793f6f95c95345 +Subproject commit edc87fab1d65d4e4153c84006f537e6ae6b0671a From 2b7cd36eea4bd667aee3c538f6e1e7caa58e589e Mon Sep 17 00:00:00 2001 From: Khopa Date: Fri, 18 Dec 2020 00:42:44 +0100 Subject: [PATCH 2/5] T72B3 and BTR-82A support --- game/db.py | 17 ++++++++++++----- gen/ground_forces/ai_ground_planner.py | 2 ++ resources/factions/russia_2010.json | 3 ++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/game/db.py b/game/db.py index d7d23863..ae3d1d81 100644 --- a/game/db.py +++ b/game/db.py @@ -362,12 +362,14 @@ PRICES = { # armor Armor.APC_MTLB: 4, - Armor.FDDM_Grad: 5, + Armor.FDDM_Grad: 4, Armor.ARV_BRDM_2: 6, - Armor.ARV_BTR_RD: 8, + Armor.ARV_BTR_RD: 6, Armor.APC_BTR_80: 8, + Armor.APC_BTR_82A: 10, Armor.MBT_T_55: 18, - Armor.MBT_T_72B: 22, + Armor.MBT_T_72B: 20, + Armor.MBT_T_72B3: 25, Armor.MBT_T_80U: 25, Armor.MBT_T_90: 30, Armor.IFV_BMD_1: 8, @@ -481,11 +483,12 @@ PRICES = { 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.AAA_ZU_23_Emplacement: 6, - AirDefence.AAA_ZU_23_on_Ural_375: 8, + AirDefence.AAA_ZU_23_on_Ural_375: 7, AirDefence.AAA_ZU_23_Insurgent_Closed: 6, - AirDefence.AAA_ZU_23_Insurgent_on_Ural_375: 8, + AirDefence.AAA_ZU_23_Insurgent_on_Ural_375: 7, AirDefence.AAA_ZU_23_Insurgent: 6, AirDefence.SAM_SA_18_Igla_MANPADS: 10, AirDefence.SAM_SA_18_Igla_comm: 8, @@ -704,6 +707,8 @@ UNIT_BY_TASK = { Armor.APC_BTR_80, Armor.APC_BTR_80, Armor.APC_BTR_80, + Armor.APC_BTR_82A, + Armor.APC_BTR_82A, Armor.IFV_BMP_1, Armor.IFV_BMP_1, Armor.IFV_BMP_1, @@ -720,6 +725,8 @@ UNIT_BY_TASK = { Armor.MBT_T_55, Armor.MBT_T_72B, Armor.MBT_T_72B, + Armor.MBT_T_72B3, + Armor.MBT_T_72B3, Armor.MBT_T_80U, Armor.MBT_T_80U, Armor.MBT_T_90, diff --git a/gen/ground_forces/ai_ground_planner.py b/gen/ground_forces/ai_ground_planner.py index 12df519f..650f17cd 100644 --- a/gen/ground_forces/ai_ground_planner.py +++ b/gen/ground_forces/ai_ground_planner.py @@ -12,6 +12,7 @@ from gen.ground_forces.combat_stance import CombatStance TYPE_TANKS = [ Armor.MBT_T_55, Armor.MBT_T_72B, + Armor.MBT_T_72B3, Armor.MBT_T_80U, Armor.MBT_T_90, Armor.MBT_Leopard_2, @@ -96,6 +97,7 @@ TYPE_APC = [ Armor.APC_M1126_Stryker_ICV, Armor.APC_M113, Armor.APC_BTR_80, + Armor.APC_BTR_82A, Armor.APC_MTLB, Armor.APC_M2A1, Armor.APC_Cobra, diff --git a/resources/factions/russia_2010.json b/resources/factions/russia_2010.json index cc2631df..29414763 100644 --- a/resources/factions/russia_2010.json +++ b/resources/factions/russia_2010.json @@ -31,9 +31,10 @@ "IFV_BMP_2", "IFV_BMP_3", "APC_BTR_80", + "APC_BTR_82A", "MBT_T_90", "MBT_T_80U", - "MBT_T_72B" + "MBT_T_72B3" ], "artillery_units": [ "MLRS_9K57_Uragan_BM_27", From ec5a26e8dd2e8a10448f207399e5cf382a81420e Mon Sep 17 00:00:00 2001 From: Khopa Date: Fri, 18 Dec 2020 01:05:06 +0100 Subject: [PATCH 3/5] Added ZSU-57 sites --- gen/sam/aaa_zsu57.py | 25 +++++++++++++++++++ gen/sam/sam_group_generator.py | 4 ++- resources/factions/china_2010.json | 1 + resources/factions/north_korea_2000.json | 3 ++- resources/factions/russia_1965.json | 1 + .../factions/russia_1970_limited_air.json | 1 + resources/factions/russia_1975.json | 1 + resources/factions/syria_1967.json | 3 ++- .../factions/syria_1967_with_ww2_weapons.json | 1 + resources/factions/syria_1973.json | 1 + resources/factions/syria_1982.json | 3 ++- 11 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 gen/sam/aaa_zsu57.py diff --git a/gen/sam/aaa_zsu57.py b/gen/sam/aaa_zsu57.py new file mode 100644 index 00000000..45847018 --- /dev/null +++ b/gen/sam/aaa_zsu57.py @@ -0,0 +1,25 @@ +from dcs.vehicles import AirDefence + +from gen.sam.airdefensegroupgenerator import ( + AirDefenseRange, + AirDefenseGroupGenerator, +) + + +class ZSU57Generator(AirDefenseGroupGenerator): + """ + This generate a Zsu 57 group + """ + + name = "ZSU-57-2 Group" + price = 60 + + def generate(self): + num_launchers = 5 + positions = self.get_circular_position(num_launchers, launcher_distance=110, coverage=360) + for i, position in enumerate(positions): + self.add_unit(AirDefence.AAA_ZSU_57_2, "SPAA#" + str(i), position[0], position[1], position[2]) + + @classmethod + def range(cls) -> AirDefenseRange: + return AirDefenseRange.Short diff --git a/gen/sam/sam_group_generator.py b/gen/sam/sam_group_generator.py index 366c63e7..68e72444 100644 --- a/gen/sam/sam_group_generator.py +++ b/gen/sam/sam_group_generator.py @@ -12,6 +12,7 @@ from gen.sam.aaa_bofors import BoforsGenerator from gen.sam.aaa_flak import FlakGenerator from gen.sam.aaa_flak18 import Flak18Generator from gen.sam.aaa_ww2_ally_flak import AllyWW2FlakGenerator +from gen.sam.aaa_zsu57 import ZSU57Generator from gen.sam.aaa_zu23_insurgent import ZU23InsurgentGenerator from gen.sam.airdefensegroupgenerator import ( AirDefenseGroupGenerator, @@ -98,7 +99,8 @@ SAM_MAP: Dict[str, Type[AirDefenseGroupGenerator]] = { "ColdWarFlakGenerator": ColdWarFlakGenerator, "EarlyColdWarFlakGenerator": EarlyColdWarFlakGenerator, "FreyaGenerator": FreyaGenerator, - "AllyWW2FlakGenerator": AllyWW2FlakGenerator + "AllyWW2FlakGenerator": AllyWW2FlakGenerator, + "ZSU57Generator": ZSU57Generator } diff --git a/resources/factions/china_2010.json b/resources/factions/china_2010.json index 2fe1cb6f..fd6f52ed 100644 --- a/resources/factions/china_2010.json +++ b/resources/factions/china_2010.json @@ -48,6 +48,7 @@ "SA13Generator", "Tier2SA10Generator", "ZSU23Generator", + "ZSU57Generator", "ZU23Generator", "ZU23UralGenerator" ], diff --git a/resources/factions/north_korea_2000.json b/resources/factions/north_korea_2000.json index a790b576..769c595d 100644 --- a/resources/factions/north_korea_2000.json +++ b/resources/factions/north_korea_2000.json @@ -48,7 +48,8 @@ "SA9Generator", "SA13Generator", "ZU23Generator", - "ZSU23Generator" + "ZSU23Generator", + "ZSU57Generator" ], "ewrs": [ "BoxSpringGenerator", diff --git a/resources/factions/russia_1965.json b/resources/factions/russia_1965.json index d1d7b870..2de7b41f 100644 --- a/resources/factions/russia_1965.json +++ b/resources/factions/russia_1965.json @@ -39,6 +39,7 @@ "SA2Generator", "SA3Generator", "ZSU23Generator", + "ZSU57Generator", "ZU23Generator", "ZU23UralGenerator" ], diff --git a/resources/factions/russia_1970_limited_air.json b/resources/factions/russia_1970_limited_air.json index a26cfda2..8a1b8daa 100644 --- a/resources/factions/russia_1970_limited_air.json +++ b/resources/factions/russia_1970_limited_air.json @@ -38,6 +38,7 @@ "SA11Generator", "ColdWarFlakGenerator", "ZSU23Generator", + "ZSU57Generator", "ZU23Generator", "ZU23UralGenerator" ], diff --git a/resources/factions/russia_1975.json b/resources/factions/russia_1975.json index 4d63cc15..a9a0884d 100644 --- a/resources/factions/russia_1975.json +++ b/resources/factions/russia_1975.json @@ -49,6 +49,7 @@ "SA9Generator", "SA13Generator", "ZSU23Generator", + "ZSU57Generator", "ZU23Generator", "ZU23UralGenerator" ], diff --git a/resources/factions/syria_1967.json b/resources/factions/syria_1967.json index b0e60931..d63cc699 100644 --- a/resources/factions/syria_1967.json +++ b/resources/factions/syria_1967.json @@ -38,7 +38,8 @@ "SA3Generator", "ZSU23Generator", "ZU23Generator", - "ZU23UralGenerator" + "ZU23UralGenerator", + "ZSU57Generator" ], "ewrs": [ "FlatFaceGenerator" diff --git a/resources/factions/syria_1967_with_ww2_weapons.json b/resources/factions/syria_1967_with_ww2_weapons.json index 32d43a04..d97cc2da 100644 --- a/resources/factions/syria_1967_with_ww2_weapons.json +++ b/resources/factions/syria_1967_with_ww2_weapons.json @@ -42,6 +42,7 @@ "SA3Generator", "ZSU23Generator", "ZU23Generator", + "ZSU57Generator", "ZU23UralGenerator" ], "ewrs": [ diff --git a/resources/factions/syria_1973.json b/resources/factions/syria_1973.json index fa882815..1d1a5c55 100644 --- a/resources/factions/syria_1973.json +++ b/resources/factions/syria_1973.json @@ -42,6 +42,7 @@ "SA9Generator", "ZSU23Generator", "ZU23Generator", + "ZSU57Generator", "ZU23UralGenerator" ], "ewrs": [ diff --git a/resources/factions/syria_1982.json b/resources/factions/syria_1982.json index 22c4b55a..cde94609 100644 --- a/resources/factions/syria_1982.json +++ b/resources/factions/syria_1982.json @@ -46,7 +46,8 @@ "SA13Generator", "ZSU23Generator", "ZU23Generator", - "ZU23UralGenerator" + "ZU23UralGenerator", + "ZSU57Generator" ], "ewrs": [ "BoxSpringGenerator" From 419f4f3156659cda5ea662b60cc72ebdc16c7c5a Mon Sep 17 00:00:00 2001 From: Khopa Date: Fri, 18 Dec 2020 01:08:34 +0100 Subject: [PATCH 4/5] Updated version string --- game/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game/version.py b/game/version.py index 69a9f185..c9bfe293 100644 --- a/game/version.py +++ b/game/version.py @@ -2,7 +2,7 @@ from pathlib import Path def _build_version_string() -> str: - components = ["2.3.1"] + components = ["2.3.2"] build_number_path = Path("resources/buildnumber") if build_number_path.exists(): with build_number_path.open("r") as build_number_file: From 334aab2755991e82ef49143271a0113820ae9451 Mon Sep 17 00:00:00 2001 From: Khopa Date: Fri, 18 Dec 2020 01:09:14 +0100 Subject: [PATCH 5/5] Changelog update --- changelog.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index d919e094..bd238c2a 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,13 @@ +# 2.3.2 + +## Features/Improvements +* **[Units]** Support for newly added BTR-82A, T-72B3 +* **[Units]** Added ZSU-57 AAA sites + +## Fixes: +* **[Mission Generator]** Fix mission generation error when there are too many radio frequency to setup for the Mig-21 +* **[Mission Generator]** Fix ground units not moving forward + # 2.3.1 ## Features/Improvements @@ -16,7 +26,7 @@ * **[Campaign Map]** Possible to add FOB as control points * **[Campaign Map]** Added off-map spawn locations * **[Campaign AI]** Overhauled AI recruiting behaviour -* **[Campaign AI]** Added AI proucurement for Blue +* **[Campaign AI]** Added AI procurement for Blue * **[Campaign]** New Campaign: "Black Sea" * **[Mission Planner]** Possible to move carrier and tarawa on the campaign map * **[Mission Generator]** Infantry squads on frontline can have manpads