From 72d83e2fe40234423ceb719714108c8b88736fb9 Mon Sep 17 00:00:00 2001 From: Kangwook Lee Date: Sat, 7 Aug 2021 04:33:49 +0900 Subject: [PATCH] Reorganize setting fields to match UI --- game/settings.py | 68 +++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/game/settings.py b/game/settings.py index e76e0816..77251972 100644 --- a/game/settings.py +++ b/game/settings.py @@ -16,78 +16,80 @@ class AutoAtoBehavior(Enum): @dataclass class Settings: + version: Optional[str] = None # Difficulty settings + # AI Difficulty player_skill: str = "Good" enemy_skill: str = "Average" - ai_pilot_levelling: bool = True enemy_vehicle_skill: str = "Average" - map_coalition_visibility: ForcedOptions.Views = ForcedOptions.Views.All - labels: str = "Full" - only_player_takeoff: bool = True # Legacy parameter do not use - night_disabled: bool = False - external_views_allowed: bool = True - supercarrier: bool = False - generate_marks: bool = True - manpads: bool = True - version: Optional[str] = None player_income_multiplier: float = 1.0 enemy_income_multiplier: float = 1.0 + invulnerable_player_pilots: bool = True + # Mission Difficulty + night_disabled: bool = False + manpads: bool = True + # Mission Restrictions + labels: str = "Full" + map_coalition_visibility: ForcedOptions.Views = ForcedOptions.Views.All + external_views_allowed: bool = True + # Campaign management + # General + restrict_weapons_by_date: bool = False + disable_legacy_aewc: bool = True + disable_legacy_tanker: bool = True + # Pilots and Squadrons + ai_pilot_levelling: bool = True #: Feature flag for squadron limits. enable_squadron_pilot_limits: bool = False - #: The maximum number of pilots a squadron can have at one time. Changing this after #: the campaign has started will have no immediate effect; pilots already in the #: squadron will not be removed if the limit is lowered and pilots will not be #: immediately created if the limit is raised. squadron_pilot_limit: int = 12 - #: The number of pilots a squadron can replace per turn. squadron_replenishment_rate: int = 4 - - default_start_type: str = "Cold" - - # Mission specific - desired_player_mission_duration: timedelta = timedelta(minutes=60) - - # Campaign management + # HQ Automation automate_runway_repair: bool = False automate_front_line_reinforcements: bool = False automate_aircraft_reinforcements: bool = False - automate_front_line_stance: bool = True - restrict_weapons_by_date: bool = False - disable_legacy_aewc: bool = True - disable_legacy_tanker: bool = True - generate_dark_kneeboard: bool = False - invulnerable_player_pilots: bool = True auto_ato_behavior: AutoAtoBehavior = AutoAtoBehavior.Default auto_ato_player_missions_asap: bool = True + automate_front_line_stance: bool = True + reserves_procurement_target: int = 10 - # Performance oriented - perf_red_alert_state: bool = True + # Mission Generator + # Gameplay + supercarrier: bool = False + generate_marks: bool = True + generate_dark_kneeboard: bool = False + never_delay_player_flights: bool = False + default_start_type: str = "Cold" + # Mission specific + desired_player_mission_duration: timedelta = timedelta(minutes=60) + # Performance perf_smoke_gen: bool = True perf_smoke_spacing = 1600 + perf_red_alert_state: bool = True perf_artillery: bool = True perf_moving_units: bool = True perf_infantry: bool = True perf_destroyed_units: bool = True - reserves_procurement_target: int = 10 - # Performance culling perf_culling: bool = False perf_culling_distance: int = 100 perf_do_not_cull_carrier = True - # LUA Plugins system - plugins: Dict[str, bool] = field(default_factory=dict) - # Cheating show_red_ato: bool = False enable_frontline_cheats: bool = False enable_base_capture_cheat: bool = False - never_delay_player_flights: bool = False + # LUA Plugins system + plugins: Dict[str, bool] = field(default_factory=dict) + + only_player_takeoff: bool = True # Legacy parameter do not use @staticmethod def plugin_settings_key(identifier: str) -> str: