diff --git a/changelog.md b/changelog.md index d3a47c33..a555379c 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,7 @@ Saves from 5.x are not compatible with 6.0. ## Features/Improvements +* **[Engine]** Support for DCS 2.7.12.23362 with the new units (technicals & EWR) and the ACLS & Link4 * **[Mission Generation]** Added an option to fast-forward mission generation until the point of first contact (WIP). * **[Mission Generation]** Added performance option to not cull IADS when culling would effect how mission is played at target area. * **[Mission Generation]** Reworked the ground object generation which now uses a new layout system diff --git a/game/missiongenerator/tgogenerator.py b/game/missiongenerator/tgogenerator.py index d235c5bf..98d9be6e 100644 --- a/game/missiongenerator/tgogenerator.py +++ b/game/missiongenerator/tgogenerator.py @@ -18,11 +18,19 @@ from dcs.action import DoScript, SceneryDestructionZone from dcs.condition import MapObjectIsDead from dcs.country import Country from dcs.point import StaticPoint - +from dcs.ships import ( + CVN_71, + CVN_72, + CVN_73, + CVN_75, + Stennis, +) from dcs.statics import Fortification from dcs.task import ( ActivateBeaconCommand, ActivateICLSCommand, + ActivateLink4Command, + ActivateACLSCommand, EPLRS, FireAtPoint, OptAlarmState, @@ -385,7 +393,10 @@ class GenericCarrierGenerator(GroundObjectGenerator): ) tacan_callsign = self.tacan_callsign() icls = next(self.icls_alloc) - self.activate_beacons(ship_group, tacan, tacan_callsign, icls) + link4 = None + if carrier_type in [Stennis, CVN_71, CVN_72, CVN_73, CVN_75]: + link4 = self.radio_registry.alloc_uhf() + self.activate_beacons(ship_group, tacan, tacan_callsign, icls, link4) self.add_runway_data( brc or Heading.from_degrees(0), atc, tacan, tacan_callsign, icls ) @@ -414,7 +425,11 @@ class GenericCarrierGenerator(GroundObjectGenerator): @staticmethod def activate_beacons( - group: ShipGroup, tacan: TacanChannel, callsign: str, icls: int + group: ShipGroup, + tacan: TacanChannel, + callsign: str, + icls: int, + link4: Optional[RadioFrequency] = None, ) -> None: group.points[0].tasks.append( ActivateBeaconCommand( @@ -428,6 +443,11 @@ class GenericCarrierGenerator(GroundObjectGenerator): group.points[0].tasks.append( ActivateICLSCommand(icls, unit_id=group.units[0].id) ) + if link4 is not None: + group.points[0].tasks.append( + ActivateLink4Command(int(link4.mhz), group.units[0].id) + ) + group.points[0].tasks.append(ActivateACLSCommand(unit_id=group.units[0].id)) def add_runway_data( self, diff --git a/requirements.txt b/requirements.txt index e3ce4d89..df0dda39 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32,7 +32,7 @@ pluggy==1.0.0 pre-commit==2.17.0 py==1.11.0 pydantic==1.9.0 --e git+https://github.com/pydcs/dcs@04248fa93573029ee76db6c30f62140dfa4a58c8#egg=pydcs +-e git+https://github.com/pydcs/dcs@f5ac226def0b327a742347177bcb800a60fb11f8#egg=pydcs pyinstaller==4.9 pyinstaller-hooks-contrib==2022.1 pyparsing==3.0.7 diff --git a/resources/units/ground_units/FPS-117 Dome.yaml b/resources/units/ground_units/FPS-117 Dome.yaml new file mode 100644 index 00000000..7283ee42 --- /dev/null +++ b/resources/units/ground_units/FPS-117 Dome.yaml @@ -0,0 +1,4 @@ +class: EarlyWarningRadar +price: 30 +variants: + EWR AN/FPS-117 Radar (domed): null \ No newline at end of file diff --git a/resources/units/ground_units/FPS-117.yaml b/resources/units/ground_units/FPS-117.yaml new file mode 100644 index 00000000..2288a53a --- /dev/null +++ b/resources/units/ground_units/FPS-117.yaml @@ -0,0 +1,4 @@ +class: EarlyWarningRadar +price: 30 +variants: + EWR AN/FPS-117 Radar: null \ No newline at end of file diff --git a/resources/units/ground_units/HL_B8M1.yaml b/resources/units/ground_units/HL_B8M1.yaml new file mode 100644 index 00000000..3137c39e --- /dev/null +++ b/resources/units/ground_units/HL_B8M1.yaml @@ -0,0 +1,5 @@ +class: Artillery +price: 10 +role: Multiple-Launch Rocket System +variants: + MLRS HL with B8M1 80mm: {} \ No newline at end of file diff --git a/resources/units/ground_units/HL_DSHK.yaml b/resources/units/ground_units/HL_DSHK.yaml new file mode 100644 index 00000000..5dd2f177 --- /dev/null +++ b/resources/units/ground_units/HL_DSHK.yaml @@ -0,0 +1,5 @@ +class: Recon +price: 4 +role: Recon +variants: + Scout HL with DSHK 12.7mm: {} \ No newline at end of file diff --git a/resources/units/ground_units/HL_KORD.yaml b/resources/units/ground_units/HL_KORD.yaml new file mode 100644 index 00000000..8b5b630a --- /dev/null +++ b/resources/units/ground_units/HL_KORD.yaml @@ -0,0 +1,5 @@ +class: Recon +price: 4 +role: Recon +variants: + Scout HL with KORD 12.7mm: {} \ No newline at end of file diff --git a/resources/units/ground_units/HL_ZU-23.yaml b/resources/units/ground_units/HL_ZU-23.yaml new file mode 100644 index 00000000..7dee3526 --- /dev/null +++ b/resources/units/ground_units/HL_ZU-23.yaml @@ -0,0 +1,4 @@ +class: AAA +price: 6 +variants: + SPAAA HL with ZU-23: null \ No newline at end of file diff --git a/resources/units/ground_units/tt_B8M1.yaml b/resources/units/ground_units/tt_B8M1.yaml new file mode 100644 index 00000000..87e83ced --- /dev/null +++ b/resources/units/ground_units/tt_B8M1.yaml @@ -0,0 +1,5 @@ +class: Artillery +price: 10 +role: Multiple-Launch Rocket System +variants: + MLRS LC with B8M1 80mm: {} \ No newline at end of file diff --git a/resources/units/ground_units/tt_DSHK.yaml b/resources/units/ground_units/tt_DSHK.yaml new file mode 100644 index 00000000..b0aad905 --- /dev/null +++ b/resources/units/ground_units/tt_DSHK.yaml @@ -0,0 +1,5 @@ +class: Recon +price: 4 +role: Recon +variants: + Scout LC with DSHK 12.7mm: {} \ No newline at end of file diff --git a/resources/units/ground_units/tt_KORD.yaml b/resources/units/ground_units/tt_KORD.yaml new file mode 100644 index 00000000..b50b59ee --- /dev/null +++ b/resources/units/ground_units/tt_KORD.yaml @@ -0,0 +1,5 @@ +class: Recon +price: 4 +role: Recon +variants: + Scout LC with KORD 12.7mm: {} \ No newline at end of file diff --git a/resources/units/ground_units/tt_ZU-23.yaml b/resources/units/ground_units/tt_ZU-23.yaml new file mode 100644 index 00000000..6d8fde11 --- /dev/null +++ b/resources/units/ground_units/tt_ZU-23.yaml @@ -0,0 +1,4 @@ +class: AAA +price: 6 +variants: + SPAAA LC with ZU-2: null \ No newline at end of file