From 2c21644a2c1b073b8eb46302b410766a04ad193e Mon Sep 17 00:00:00 2001 From: RndName Date: Sun, 12 Dec 2021 01:15:46 +0100 Subject: [PATCH] Add Easy Communication Setting allow to enforce the mission setting for easy communication implements #1425 --- changelog.md | 1 + game/missiongenerator/forcedoptionsgenerator.py | 6 ++++++ game/settings/settings.py | 9 +++++++++ 3 files changed, 16 insertions(+) diff --git a/changelog.md b/changelog.md index f5c876c7..93f71cd9 100644 --- a/changelog.md +++ b/changelog.md @@ -7,6 +7,7 @@ Saves from 5.x are not compatible with 6.0. * **[Engine]** Support for DCS DCS 2.7.8.16140 and newer, including the HTS. * **[Mission Generation]** Added an option to fast-forward mission generation until the point of first contact (WIP). * **[Flight Planning]** Added the ability to plan tankers for recovery on package flights. AI does not plan. +* **[Mission Generation]** Add Option to enforce the Easy Communication setting for the mission ## Fixes diff --git a/game/missiongenerator/forcedoptionsgenerator.py b/game/missiongenerator/forcedoptionsgenerator.py index 0e5be7bc..017331db 100644 --- a/game/missiongenerator/forcedoptionsgenerator.py +++ b/game/missiongenerator/forcedoptionsgenerator.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() diff --git a/game/settings/settings.py b/game/settings/settings.py index 9517d1e1..0764daa5 100644 --- a/game/settings/settings.py +++ b/game/settings/settings.py @@ -138,6 +138,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,