diff --git a/changelog.md b/changelog.md index 3e21ea25..624e4ff3 100644 --- a/changelog.md +++ b/changelog.md @@ -5,6 +5,7 @@ Saves from 5.0.0 are not compatible with 5.1.0 ## Features/Improvements * **[Engine]** Support for DCS DCS 2.7.8.16140 and newer, including the HTS. +* **[Mission Generation]** Add Option to enforce the Easy Communication setting for the mission ## Fixes diff --git a/game/settings/settings.py b/game/settings/settings.py index 80d6a0b4..1070fc06 100644 --- a/game/settings/settings.py +++ b/game/settings/settings.py @@ -137,6 +137,15 @@ class Settings: MISSION_RESTRICTIONS_SECTION, default=True, ) + + easy_communication: Optional[bool] = choices_option( + "Easy Communication", + page=DIFFICULTY_PAGE, + section=MISSION_RESTRICTIONS_SECTION, + choices={"Player preference": None, "Enforced on": True, "Enforced off": False}, + default=None, + ) + battle_damage_assessment: Optional[bool] = choices_option( "Battle damage assessment", page=DIFFICULTY_PAGE, diff --git a/gen/forcedoptionsgen.py b/gen/forcedoptionsgen.py index 0e5be7bc..017331db 100644 --- a/gen/forcedoptionsgen.py +++ b/gen/forcedoptionsgen.py @@ -25,6 +25,11 @@ class ForcedOptionsGenerator: self.game.settings.external_views_allowed ) + def _set_easy_communication(self) -> None: + self.mission.forced_options.easy_communication = ( + self.game.settings.easy_communication + ) + def _set_labels(self) -> None: # TODO: Fix settings to use the real type. # TODO: Allow forcing "full" and have default do nothing. @@ -51,6 +56,7 @@ class ForcedOptionsGenerator: def generate(self) -> None: self._set_options_view() self._set_external_views() + self._set_easy_communication() self._set_labels() self._set_unrestricted_satnav() self._set_battle_damage_assessment()