diff --git a/changelog.md b/changelog.md index 550408ab..e4f9e743 100644 --- a/changelog.md +++ b/changelog.md @@ -27,6 +27,7 @@ * **[Plugins]** Support for Carsten's Arty Spotter script * **[Modding]** Added support for SK-60 mod (v1.2.1) * **[Mission Generation]** Introducing the Armed Recon flight plan, i.e. CAS against any Theater Ground Object +* **[Doctrine]** Ability to customize the startup time allocated to the player ## Fixes * **[UI/UX]** A-10A flights can be edited again diff --git a/game/ato/flightplans/flightplan.py b/game/ato/flightplans/flightplan.py index e6c19d31..c1a51085 100644 --- a/game/ato/flightplans/flightplan.py +++ b/game/ato/flightplans/flightplan.py @@ -255,7 +255,9 @@ class FlightPlan(ABC, Generic[LayoutT]): def estimate_startup(self) -> timedelta: if self.flight.start_type is StartType.COLD: if self.flight.client_count: - return timedelta(minutes=10) + return timedelta( + minutes=self.flight.coalition.game.settings.player_startup_time + ) else: # The AI doesn't seem to have a real startup procedure. return timedelta(minutes=2) diff --git a/game/settings/settings.py b/game/settings/settings.py index 9db6d082..25a03de3 100644 --- a/game/settings/settings.py +++ b/game/settings/settings.py @@ -308,6 +308,20 @@ class Settings: default=2, detail="Creates a randomized altitude offset for airplanes.", ) + + player_startup_time: int = bounded_int_option( + "Player startup time", + page=CAMPAIGN_DOCTRINE_PAGE, + section=GENERAL_SECTION, + default=10, + min=0, + max=100, + detail=( + "The startup time allocated to player flights (default : 10 minutes, AI is 2 minutes). " + "Takes effect after the next turn. " + ), + ) + # Doctrine Distances Section airbase_threat_range: int = bounded_int_option( "Airbase threat range (NM)", @@ -415,6 +429,7 @@ class Settings: "range is defined in the helicopter's yaml specification." ), ) + # Pilots and Squadrons ai_pilot_levelling: bool = boolean_option( "Allow AI pilot leveling",