diff --git a/changelog.md b/changelog.md index a555379c..f4b2e0ea 100644 --- a/changelog.md +++ b/changelog.md @@ -15,6 +15,7 @@ Saves from 5.x are not compatible with 6.0. * **[Flight Planning]** Air to Ground flights now have ECM enabled on lock at the join point, and SEAD/DEAD also have ECM enabled on detection and lock at ingress. * **[Flight Planning]** AWACS flightplan changed from orbit to a racetrack to reduce data link disconnects which were caused by blind spots as a result of the bank angle. * **[Modding]** Updated UH-60L mod version support to 1.3.1 +* **[Modding]** Updated the High Digit SAMs implementation and added the HQ-2 as well as the upgraded SA-2 and SA-3 Launchers from the mod. Threat range circles will now also be displayed correctly. * **[UI]** Added options to the loadout editor for setting properties such as HMD choice. * **[UI]** Added separate images for the different carrier types. * **[Campaign]** Allow campaign designers to define default values for the economy settings (starting budget and multiplier). diff --git a/game/data/radar_db.py b/game/data/radar_db.py index 9aee7001..7c7cc00b 100644 --- a/game/data/radar_db.py +++ b/game/data/radar_db.py @@ -22,6 +22,7 @@ from dcs.ships import ( USS_Arleigh_Burke_IIa, ) from dcs.vehicles import AirDefence +from pydcs_extensions import highdigitsams as hds TELARS = { AirDefence._2S6_Tunguska, @@ -29,6 +30,7 @@ TELARS = { AirDefence.Osa_9A33_ln, AirDefence.Tor_9A331, AirDefence.Roland_ADS, + hds.SAM_SA_17_Buk_M1_2_LN_9A310M1_2, } TRACK_RADARS = { @@ -42,6 +44,11 @@ TRACK_RADARS = { AirDefence.Rapier_fsa_blindfire_radar, AirDefence.HQ_7_STR_SP, AirDefence.NASAMS_Radar_MPQ64F1, + hds.SAM_SA_10B_S_300PS_30N6_TR, + hds.SAM_SA_12_S_300V_9S32_TR, + hds.SAM_SA_20_S_300PMU1_TR_30N6E, + hds.SAM_SA_20B_S_300PMU2_TR_92H6E_truck, + hds.SAM_SA_23_S_300VM_9S32ME_TR, } LAUNCHER_TRACKER_PAIRS = { @@ -57,6 +64,18 @@ LAUNCHER_TRACKER_PAIRS = { AirDefence.S_200_Launcher: AirDefence.RPC_5N62V, AirDefence.NASAMS_LN_B: AirDefence.NASAMS_Radar_MPQ64F1, AirDefence.NASAMS_LN_C: AirDefence.NASAMS_Radar_MPQ64F1, + hds.SAM_SA_2__V759__LN_SM_90: AirDefence.SNR_75V, + hds.SAM_HQ_2_LN_SM_90: AirDefence.SNR_75V, + hds.SAM_SA_3__V_601P__LN_5P73: AirDefence.Snr_s_125_tr, + hds.SAM_SA_10B_S_300PS_5P85SE_LN: hds.SAM_SA_10B_S_300PS_30N6_TR, + hds.SAM_SA_10B_S_300PS_5P85SU_LN: hds.SAM_SA_10B_S_300PS_30N6_TR, + hds.SAM_SA_12_S_300V_9A82_LN: hds.SAM_SA_12_S_300V_9S32_TR, + hds.SAM_SA_12_S_300V_9A83_LN: hds.SAM_SA_12_S_300V_9S32_TR, + hds.SAM_SA_20_S_300PMU1_LN_5P85CE: hds.SAM_SA_20_S_300PMU1_TR_30N6E, + hds.SAM_SA_20_S_300PMU1_LN_5P85DE: hds.SAM_SA_20_S_300PMU1_TR_30N6E, + hds.SAM_SA_20B_S_300PMU2_LN_5P85SE2: hds.SAM_SA_20B_S_300PMU2_TR_92H6E_truck, + hds.SAM_SA_23_S_300VM_9A82ME_LN: hds.SAM_SA_23_S_300VM_9S32ME_TR, + hds.SAM_SA_23_S_300VM_9A83ME_LN: hds.SAM_SA_23_S_300VM_9S32ME_TR, } UNITS_WITH_RADAR = { diff --git a/game/factions/faction.py b/game/factions/faction.py index 0668f8dc..d584dd89 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -349,6 +349,12 @@ class Faction: self.remove_preset("SA-23/S-300VM") self.remove_preset("SA-17") self.remove_preset("KS-19") + self.remove_preset("HQ-2") + self.remove_preset("SA-2/S-75 V-759/5V23") + self.remove_preset("SA-3/S-125 V-601P/5V27") + self.remove_vehicle("SAM SA-14 Strela-3 manpad") + self.remove_vehicle("SAM SA-24 Igla-S manpad") + self.remove_vehicle("Polyana-D4M1 C2 node") def remove_aircraft(self, name: str) -> None: for i in self.aircrafts: diff --git a/resources/factions/china_2010.json b/resources/factions/china_2010.json index 4a72c7af..5ee8a0ac 100644 --- a/resources/factions/china_2010.json +++ b/resources/factions/china_2010.json @@ -48,6 +48,7 @@ "missiles": [], "preset_groups": [ "SA-2/S-75", + "HQ-2", "SA-6", "SA-11", "HQ-7", diff --git a/resources/factions/gdr_1985.json b/resources/factions/gdr_1985.json index 52628a65..441c79da 100644 --- a/resources/factions/gdr_1985.json +++ b/resources/factions/gdr_1985.json @@ -42,7 +42,9 @@ "missiles": [], "preset_groups": [ "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "Cold-War-Flak" ], diff --git a/resources/factions/iran_1988.json b/resources/factions/iran_1988.json index 8fd12589..3064c581 100644 --- a/resources/factions/iran_1988.json +++ b/resources/factions/iran_1988.json @@ -47,6 +47,7 @@ "preset_groups": [ "Hawk", "SA-2/S-75", + "HQ-2", "Rapier", "Silkworm", "Cold-War-Flak" diff --git a/resources/factions/iran_2015.json b/resources/factions/iran_2015.json index 66fdc186..c43bcb20 100644 --- a/resources/factions/iran_2015.json +++ b/resources/factions/iran_2015.json @@ -57,6 +57,7 @@ "Hawk", "SA-5/S-200", "SA-2/S-75", + "HQ-2", "SA-6", "SA-11", "Rapier", diff --git a/resources/factions/iraq_1991.json b/resources/factions/iraq_1991.json index 12fb49e3..7a5cf551 100644 --- a/resources/factions/iraq_1991.json +++ b/resources/factions/iraq_1991.json @@ -55,7 +55,9 @@ ], "preset_groups": [ "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "Cold-War-Flak" ], diff --git a/resources/factions/libya_2011.json b/resources/factions/libya_2011.json index 242abf69..c3c9d744 100644 --- a/resources/factions/libya_2011.json +++ b/resources/factions/libya_2011.json @@ -43,7 +43,9 @@ "preset_groups": [ "SA-5/S-200", "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "Rapier", "HQ-7" diff --git a/resources/factions/north_korea_2000.json b/resources/factions/north_korea_2000.json index be127bb6..26cefca2 100644 --- a/resources/factions/north_korea_2000.json +++ b/resources/factions/north_korea_2000.json @@ -48,7 +48,9 @@ "preset_groups": [ "SA-5/S-200", "SA-2/S-75", + "HQ-2", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6" ], "naval_units": [ diff --git a/resources/factions/pakistan_2015.json b/resources/factions/pakistan_2015.json index e43cbddf..910ab9ae 100644 --- a/resources/factions/pakistan_2015.json +++ b/resources/factions/pakistan_2015.json @@ -43,6 +43,7 @@ "missiles": [], "preset_groups": [ "SA-2/S-75", + "HQ-2", "SA-11", "HQ-7", "SA-10/S-300PS" diff --git a/resources/factions/redfor_china_2010.json b/resources/factions/redfor_china_2010.json index 2153eb8d..d5ffe9e6 100644 --- a/resources/factions/redfor_china_2010.json +++ b/resources/factions/redfor_china_2010.json @@ -67,6 +67,7 @@ "missiles": [], "preset_groups": [ "SA-2/S-75", + "HQ-2", "SA-6", "SA-11", "HQ-7", diff --git a/resources/factions/redfor_russia_2010.json b/resources/factions/redfor_russia_2010.json index d38e1e90..482eb6bc 100644 --- a/resources/factions/redfor_russia_2010.json +++ b/resources/factions/redfor_russia_2010.json @@ -69,6 +69,7 @@ "missiles": [], "preset_groups": [ "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-6", "SA-11", "HQ-7", diff --git a/resources/factions/russia_1975 (Mi-24P).json b/resources/factions/russia_1975 (Mi-24P).json index a3a30c44..a70f00d3 100644 --- a/resources/factions/russia_1975 (Mi-24P).json +++ b/resources/factions/russia_1975 (Mi-24P).json @@ -51,7 +51,9 @@ ], "preset_groups": [ "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "Cold-War-Flak" ], diff --git a/resources/factions/russia_1975.json b/resources/factions/russia_1975.json index 2608a204..73112a3d 100644 --- a/resources/factions/russia_1975.json +++ b/resources/factions/russia_1975.json @@ -52,7 +52,9 @@ "preset_groups": [ "SA-5/S-200", "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "Cold-War-Flak" ], diff --git a/resources/factions/russia_1990.json b/resources/factions/russia_1990.json index 4975d325..027d9703 100644 --- a/resources/factions/russia_1990.json +++ b/resources/factions/russia_1990.json @@ -57,7 +57,9 @@ "missiles": [], "preset_groups": [ "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "SA-11", "SA-10/S-300PS", diff --git a/resources/factions/syria_1982.json b/resources/factions/syria_1982.json index 48ed7517..e7f598d0 100644 --- a/resources/factions/syria_1982.json +++ b/resources/factions/syria_1982.json @@ -41,7 +41,9 @@ ], "preset_groups": [ "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "Cold-War-Flak" ], diff --git a/resources/factions/syria_2011.json b/resources/factions/syria_2011.json index cf5ed6ca..4f9e26b8 100644 --- a/resources/factions/syria_2011.json +++ b/resources/factions/syria_2011.json @@ -56,7 +56,9 @@ "preset_groups": [ "SA-5/S-200", "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "SA-11", "SA-17", diff --git a/resources/factions/syria_2012.json b/resources/factions/syria_2012.json index df54bada..06076bc9 100644 --- a/resources/factions/syria_2012.json +++ b/resources/factions/syria_2012.json @@ -57,7 +57,9 @@ "preset_groups": [ "SA-5/S-200", "SA-2/S-75", + "SA-2/S-75 V-759/5V23", "SA-3/S-125", + "SA-3/S-125 V-601P/5V27", "SA-6", "SA-11", "SA-10/S-300PS", diff --git a/resources/groups/HQ-2.yaml b/resources/groups/HQ-2.yaml new file mode 100644 index 00000000..d10213b7 --- /dev/null +++ b/resources/groups/HQ-2.yaml @@ -0,0 +1,9 @@ +name: HQ-2 +tasks: + - MERAD +units: + - SAM P19 "Flat Face" SR (SA-2/3) + - SAM SA-2 S-75 "Fan Song" TR + - SAM HQ-2 LN SM-90 +layouts: + - 4 Launcher Site diff --git a/resources/groups/SA-2_high_digit_sam.yaml b/resources/groups/SA-2_high_digit_sam.yaml new file mode 100644 index 00000000..944e8938 --- /dev/null +++ b/resources/groups/SA-2_high_digit_sam.yaml @@ -0,0 +1,9 @@ +name: SA-2/S-75 V-759/5V23 +tasks: + - MERAD +units: + - SAM P19 "Flat Face" SR (SA-2/3) + - SAM SA-2 S-75 "Fan Song" TR + - SAM SA-2 (V759) LN SM-90 +layouts: + - 6 Launcher Site diff --git a/resources/groups/SA-3_high_digit_sam.yaml b/resources/groups/SA-3_high_digit_sam.yaml new file mode 100644 index 00000000..8df4a365 --- /dev/null +++ b/resources/groups/SA-3_high_digit_sam.yaml @@ -0,0 +1,9 @@ +name: SA-3/S-125 V-601P/5V27 +tasks: + - MERAD +units: + - SAM P19 "Flat Face" SR (SA-2/3) + - SAM SA-3 S-125 "Low Blow" TR + - SAM SA-3 (V-601P) LN 5P73 +layouts: + - 4 Launcher Site diff --git a/resources/units/ground_units/5p73 V-601P ln.yaml b/resources/units/ground_units/5p73 V-601P ln.yaml new file mode 100644 index 00000000..9993ea43 --- /dev/null +++ b/resources/units/ground_units/5p73 V-601P ln.yaml @@ -0,0 +1,4 @@ +class: Launcher +price: 6 +variants: + SAM SA-3 (V-601P) LN 5P73: null diff --git a/resources/units/ground_units/HQ_2_Guideline_LN.yaml b/resources/units/ground_units/HQ_2_Guideline_LN.yaml new file mode 100644 index 00000000..d6545502 --- /dev/null +++ b/resources/units/ground_units/HQ_2_Guideline_LN.yaml @@ -0,0 +1,4 @@ +class: Launcher +price: 8 +variants: + SAM HQ-2 LN SM-90: null diff --git a/resources/units/ground_units/SA-14 Strela-3 manpad.yaml b/resources/units/ground_units/SA-14 Strela-3 manpad.yaml new file mode 100644 index 00000000..5eeb362b --- /dev/null +++ b/resources/units/ground_units/SA-14 Strela-3 manpad.yaml @@ -0,0 +1,5 @@ +class: Manpad +spawn_weight: 1 +price: 0 +variants: + SAM SA-14 Strela-3 manpad: null diff --git a/resources/units/ground_units/SA-24 Igla-S manpad.yaml b/resources/units/ground_units/SA-24 Igla-S manpad.yaml new file mode 100644 index 00000000..16501992 --- /dev/null +++ b/resources/units/ground_units/SA-24 Igla-S manpad.yaml @@ -0,0 +1,5 @@ +class: Manpad +spawn_weight: 1 +price: 0 +variants: + SAM SA-24 Igla-S manpad: null diff --git a/resources/units/ground_units/S_75M_Volhov_V759.yaml b/resources/units/ground_units/S_75M_Volhov_V759.yaml new file mode 100644 index 00000000..f6996b16 --- /dev/null +++ b/resources/units/ground_units/S_75M_Volhov_V759.yaml @@ -0,0 +1,4 @@ +class: Launcher +price: 8 +variants: + SAM SA-2 (V759) LN SM-90: null diff --git a/resources/units/ground_units/polyana-d4m1 cp.yaml b/resources/units/ground_units/polyana-d4m1 cp.yaml new file mode 100644 index 00000000..ebc2eff8 --- /dev/null +++ b/resources/units/ground_units/polyana-d4m1 cp.yaml @@ -0,0 +1,4 @@ +class: CommandPost +price: 14 +variants: + Polyana-D4M1 C2 node: null