diff --git a/changelog.md b/changelog.md index 082c7b6f..f35928d6 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,7 @@ # Retribution 1.0.0 ## Features/Improvements +* **[Engine]** Support for DCS v2.8.0.32066. * **[Mission Generation]** Add option to configure the maximum front-line length in settings * **[Mission Generation]** Variable flight-size (2/3/4-ship) for BAI/ANTISHIP/DEAD/STRIKE/BARCAP/CAS/OCA/AIR-ASSAULT (main) missions diff --git a/game/ato/ai_flight_planner_db.py b/game/ato/ai_flight_planner_db.py index 111450d6..b0387d40 100644 --- a/game/ato/ai_flight_planner_db.py +++ b/game/ato/ai_flight_planner_db.py @@ -116,6 +116,7 @@ from dcs.planes import ( Tu_95MS, WingLoong_I, Yak_40, + MB_339A, ) from dcs.unittype import FlyingType @@ -298,6 +299,7 @@ CAS_CAPABLE = [ F_86F_Sabre, C_101CC, L_39ZA, + MB_339A, UH_1H, A_20G, Ju_88A4, @@ -462,6 +464,7 @@ STRIKE_CAPABLE = [ F_86F_Sabre, C_101CC, L_39ZA, + MB_339A, B_17G, A_20G, Ju_88A4, @@ -583,6 +586,7 @@ RUNWAY_ATTACK_CAPABLE = [ F_86F_Sabre, C_101CC, L_39ZA, + MB_339A, B_17G, A_20G, Ju_88A4, diff --git a/game/radio/radios.py b/game/radio/radios.py index 2299d281..44d0772e 100644 --- a/game/radio/radios.py +++ b/game/radio/radios.py @@ -256,6 +256,19 @@ RADIOS: List[Radio] = [ RadioRange(MHz(225), MHz(400), kHz(25), Modulation.AM), ), ), + # MB-339A + Radio( + "AN/ARC-150(V)2", + (RadioRange(MHz(225), MHz(400), kHz(25), Modulation.AM),), + ), + Radio( + "SRT-651/N", + ( + RadioRange(MHz(30), MHz(88), kHz(25), Modulation.AM), + RadioRange(MHz(118), MHz(174), kHz(25), Modulation.AM), + RadioRange(MHz(225), MHz(400), kHz(25), Modulation.AM), + ), + ), ] diff --git a/requirements.txt b/requirements.txt index 004e116c..225e0318 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32,7 +32,7 @@ pluggy==1.0.0 pre-commit==2.20.0 py==1.11.0 pydantic==1.10.2 --e git+https://github.com/pydcs/dcs@16ea5d01c57a395ea5868630615c8a42dd2ea1a9#egg=pydcs +-e git+https://github.com/pydcs/dcs@0824591bd9b770a43dda312c5d3cb88ea51bd4aa#egg=pydcs pyinstaller==5.6.1 pyinstaller-hooks-contrib==2022.11 pyparsing==3.0.9 diff --git a/resources/customized_payloads/MB-339A.lua b/resources/customized_payloads/MB-339A.lua new file mode 100644 index 00000000..673b3b03 --- /dev/null +++ b/resources/customized_payloads/MB-339A.lua @@ -0,0 +1,174 @@ +local unitPayloads = { + ["name"] = "MB-339A", + ["payloads"] = { + [1] = { + ["name"] = "Retribution CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "{LR25_ARF8M3_HEI}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{LR25_ARF8M3_HEI}", + ["num"] = 2, + }, + [3] = { + ["CLSID"] = "{MB339_DEFA553_R}", + ["num"] = 7, + }, + [4] = { + ["CLSID"] = "{MB339_DEFA553_L}", + ["num"] = 4, + }, + [5] = { + ["CLSID"] = "{Mk82SNAKEYE}", + ["num"] = 3, + }, + [6] = { + ["CLSID"] = "{Mk82SNAKEYE}", + ["num"] = 8, + }, + [7] = { + ["CLSID"] = "{FUEL-TIP-ELLITTIC-L}", + ["num"] = 1, + }, + [8] = { + ["CLSID"] = "{FUEL-TIP-ELLITTIC-R}", + ["num"] = 10, + }, + }, + ["tasks"] = { + [1] = 31, + }, + }, + [2] = { + ["displayName"] = "Retribution OCA/Runway", + ["name"] = "Retribution OCA/Runway", + ["pylons"] = { + [1] = { + ["CLSID"] = "{FUEL-TIP-ELLITTIC-R}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{FUEL-TIP-ELLITTIC-L}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{BLU107B_DURANDAL}", + ["num"] = 9, + }, + [4] = { + ["CLSID"] = "{BLU107B_DURANDAL}", + ["num"] = 2, + }, + [5] = { + ["CLSID"] = "{BLU107B_DURANDAL}", + ["num"] = 8, + }, + [6] = { + ["CLSID"] = "{BLU107B_DURANDAL}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "", + ["num"] = 7, + }, + [8] = { + ["CLSID"] = "", + ["num"] = 4, + }, + }, + ["tasks"] = { + [1] = 34, + }, + }, + [3] = { + ["displayName"] = "Retribution OCA/Aircraft", + ["name"] = "Retribution OCA/Aircraft", + ["pylons"] = { + [1] = { + ["CLSID"] = "", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "", + ["num"] = 2, + }, + [3] = { + ["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}", + ["num"] = 7, + }, + [4] = { + ["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}", + ["num"] = 4, + }, + [5] = { + ["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}", + ["num"] = 3, + }, + [6] = { + ["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}", + ["num"] = 8, + }, + [7] = { + ["CLSID"] = "{FUEL-TIP-ELLITTIC-L}", + ["num"] = 1, + }, + [8] = { + ["CLSID"] = "{FUEL-TIP-ELLITTIC-R}", + ["num"] = 10, + }, + }, + ["tasks"] = { + [1] = 31, + [2] = 34, + }, + }, + [4] = { + ["displayName"] = "Retribution Strike", + ["name"] = "Retribution Strike", + ["pylons"] = { + [1] = { + ["CLSID"] = "", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "", + ["num"] = 2, + }, + [3] = { + ["CLSID"] = "", + ["num"] = 7, + }, + [4] = { + ["CLSID"] = "", + ["num"] = 4, + }, + [5] = { + ["CLSID"] = "{7A44FF09-527C-4B7E-B42B-3F111CFE50FB}", + ["num"] = 3, + }, + [6] = { + ["CLSID"] = "{7A44FF09-527C-4B7E-B42B-3F111CFE50FB}", + ["num"] = 8, + }, + [7] = { + ["CLSID"] = "{FUEL-TIP-ELLITTIC-L}", + ["num"] = 1, + }, + [8] = { + ["CLSID"] = "{FUEL-TIP-ELLITTIC-R}", + ["num"] = 10, + }, + }, + ["tasks"] = { + [1] = 31, + [2] = 32, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "MB-339A", +} +return unitPayloads diff --git a/resources/factions/italy_1990.json b/resources/factions/italy_1990.json index 20ae409b..3b6e6695 100644 --- a/resources/factions/italy_1990.json +++ b/resources/factions/italy_1990.json @@ -12,6 +12,7 @@ "F-104S Starfighter", "F-104S Starfighter A/G", "C-130", + "MB-339A", "Tornado IDS", "UH-1H Iroquois" ], diff --git a/resources/factions/pmc_us.json b/resources/factions/pmc_us.json index 9fec0f28..1da1fdfb 100644 --- a/resources/factions/pmc_us.json +++ b/resources/factions/pmc_us.json @@ -6,6 +6,7 @@ "aircrafts": [ "A-4E Skyhawk", "C-101CC Aviojet", + "MB-339A", "Mi-8MTV2 Hip", "SA 342M Gazelle", "UH-1H Iroquois" diff --git a/resources/ui/units/aircrafts/banners/MB-339A_24.jpg b/resources/ui/units/aircrafts/banners/MB-339A_24.jpg new file mode 100644 index 00000000..14b3cacc Binary files /dev/null and b/resources/ui/units/aircrafts/banners/MB-339A_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/MB-339A_24.jpg b/resources/ui/units/aircrafts/icons/MB-339A_24.jpg new file mode 100644 index 00000000..55af9c4b Binary files /dev/null and b/resources/ui/units/aircrafts/icons/MB-339A_24.jpg differ diff --git a/resources/units/aircraft/MB-339A.yaml b/resources/units/aircraft/MB-339A.yaml new file mode 100644 index 00000000..2d1aa8f6 --- /dev/null +++ b/resources/units/aircraft/MB-339A.yaml @@ -0,0 +1,19 @@ +description: # from wiki + The MB-339 was developed during the 1970s in response to an Italian Air Force requirement that sought a replacement + for the service's existing fleet of Aermacchi MB-326s. Its design was derived from that of the MB-326, rather than + a new design, and thus the two aircraft share considerable similarities in terms of their design. Aermacchi had + found that the MB-339 was capable of satisfying all of the specified requirements while being the most affordable + option available. The maiden flight of the MB-339 took place on 12 August 1976; the first production aircraft were + delivered two years later. +introduced: 1979 +manufacturer: Aermacchi +origin: Italy +price: 9 +role: Light Attack +gunfighter: true +variants: + MB-339A: {} +kneeboard_units: "metric" +radios: + intra_flight: AN/ARC-150(V)2 + inter_flight: SRT-651/N \ No newline at end of file