From 9f3f9ad8081e4b236eeab9986b6fc5d62edc05d5 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 9 Oct 2022 17:37:55 -0700 Subject: [PATCH] Don't allow helicopters at non-FARP FOBs. Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2378. --- changelog.md | 2 ++ game/theater/controlpoint.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index 615994c4..d96bc1c3 100644 --- a/changelog.md +++ b/changelog.md @@ -52,6 +52,8 @@ Saves from 5.x are not compatible with 6.0. * **[Mission Generation]** Fixed an issue where SEAD/DEAD/BAI flights fired all missiles / bombs against a single unit in a group instead of targeting the whole group. * **[Mission Generation]** Fixed adding additional mission types for a squadron causing error messages when the mission type is not supported by the aircraft type by default * **[Mission Generation]** AAA ground units now spawn correctly at the frontline +* **[Modding]** Loadouts with invalid weapons (typically new DCS weapons not yet available in Liberation) will be ignored rather than causing an error. +* **[Squadrons]** Helicopter squadrons can no longer be assigned to FOBs that are not FARPs. * **[UI]** Fixed and issue where the liberation main exe was still running after application close. * **[UI]** Disable player slots for non-flyable aircraft. diff --git a/game/theater/controlpoint.py b/game/theater/controlpoint.py index 31871c29..583b164d 100644 --- a/game/theater/controlpoint.py +++ b/game/theater/controlpoint.py @@ -1433,7 +1433,10 @@ class Fob(ControlPoint): return len(self.helipads) def can_operate(self, aircraft: AircraftType) -> bool: - return aircraft.helicopter + # FOBs and FARPs are the same class, distinguished only by non-FARP FOBs having + # zero parking. + # https://github.com/dcs-liberation/dcs_liberation/issues/2378 + return aircraft.helicopter and self.total_aircraft_parking > 0 @property def heading(self) -> Heading: