From 2ed85792b94bae14feb678b4e749dfc11a4f0bf1 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 3 Jun 2023 16:04:16 +0200 Subject: [PATCH] Split full-strength start from squadron aircraft limits --- game/settings/settings.py | 4 +--- game/theater/start_generator.py | 1 + qt_ui/windows/newgame/QNewGameWizard.py | 3 ++- .../newgame/WizardPages/QGeneratorSettings.py | 17 +++++++++++++++-- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/game/settings/settings.py b/game/settings/settings.py index 941e97e5..acdeade4 100644 --- a/game/settings/settings.py +++ b/game/settings/settings.py @@ -258,9 +258,7 @@ class Settings: PILOTS_AND_SQUADRONS_SECTION, default=False, detail=( - "If set, squadrons will not be able to exceed a maximum number of aircraft " - "(configurable), and the campaign will begin with all squadrons at full strength " - "given enough room at the base." + "If set, squadrons will not be able to buy more aircraft than the configured maximum." ), ) diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index 50df8295..e4dc9c84 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -49,6 +49,7 @@ class GeneratorSettings: no_player_navy: bool no_enemy_navy: bool tgo_config: TgoConfig + squadrons_start_full: bool @dataclass diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 7b30cbad..35d693b5 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -84,6 +84,7 @@ class NewGameWizard(QtWidgets.QWizard): no_player_navy=self.field("no_player_navy"), no_enemy_navy=self.field("no_enemy_navy"), tgo_config=campaign.load_ground_forces_config(), + squadrons_start_full=self.field("squadrons_start_full") ) mod_settings = ModSettings( a4_skyhawk=self.field("a4_skyhawk"), @@ -143,7 +144,7 @@ class NewGameWizard(QtWidgets.QWizard): g.settings.set_plugin_option("herculescargo", True) self.generatedGame.begin_turn_0( - squadrons_start_full=settings.enable_squadron_aircraft_limits + squadrons_start_full=generator_settings.squadrons_start_full ) super(NewGameWizard, self).accept() diff --git a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py index 9bc97f4a..d8055048 100644 --- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py +++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py @@ -54,6 +54,8 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.registerField("no_player_navy", self.no_player_navy) self.no_enemy_navy = QtWidgets.QCheckBox() self.registerField("no_enemy_navy", self.no_enemy_navy) + self.squadrons_start_full = QtWidgets.QCheckBox() + self.registerField("squadrons_start_full", self.squadrons_start_full) generatorLayout = QtWidgets.QGridLayout() generatorLayout.addWidget(QtWidgets.QLabel("No Aircraft Carriers"), 1, 0) @@ -65,13 +67,23 @@ class GeneratorOptions(QtWidgets.QWizardPage): generatorLayout.addWidget(QtWidgets.QLabel("No Enemy Navy"), 4, 0) generatorLayout.addWidget(self.no_enemy_navy, 4, 1) + label = QtWidgets.QLabel("Squadrons start at full capacity") + label.setToolTip( + "Campaign will start with all squadrons at full strength " + "given enough room at the airfield in question.\n" + "Each squadron's capacity can be defined during Air Wing Configuration." + ) + generatorLayout.addWidget(label, 5, 0) + generatorLayout.addWidget(self.squadrons_start_full, 5, 1) + generatorLayout.addWidget(QtWidgets.QWidget(), 6, 0) + self.player_budget = BudgetInputs("Player starting budget", DEFAULT_BUDGET) self.registerField("starting_money", self.player_budget.starting_money) - generatorLayout.addLayout(self.player_budget, 5, 0) + generatorLayout.addLayout(self.player_budget, 7, 0) self.enemy_budget = BudgetInputs("Enemy starting budget", DEFAULT_BUDGET) self.registerField("enemy_starting_money", self.enemy_budget.starting_money) - generatorLayout.addLayout(self.enemy_budget, 6, 0) + generatorLayout.addLayout(self.enemy_budget, 8, 0) generatorSettingsGroup.setLayout(generatorLayout) @@ -195,6 +207,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.no_lha.setChecked(s.get("no_lha", False)) self.no_player_navy.setChecked(s.get("no_player_navy", False)) self.no_enemy_navy.setChecked(s.get("no_enemy_navy", False)) + self.squadrons_start_full.setChecked(s.get("squadron_start_full", False)) self.a4_skyhawk.setChecked(s.get("a4_skyhawk", False)) self.a6a_intruder.setChecked(s.get("a6a_intruder", False))