Configurable BARCAP patrol duration in settings

This commit is contained in:
Raffson 2024-12-24 05:05:21 +01:00
parent 1a628888f7
commit 0e1f2e4185
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
3 changed files with 12 additions and 2 deletions

View File

@ -18,7 +18,7 @@ class BarCapFlightPlan(PatrollingFlightPlan[PatrollingLayout]):
@property
def patrol_duration(self) -> timedelta:
return self.flight.coalition.doctrine.cap_duration
return self.flight.coalition.game.settings.desired_barcap_mission_duration
@property
def patrol_speed(self) -> Speed:

View File

@ -171,7 +171,7 @@ class TheaterState(WorldState["TheaterState"]):
# Plan enough rounds of CAP that the target has coverage over the expected
# mission duration.
mission_duration = game.settings.desired_player_mission_duration.total_seconds()
barcap_duration = coalition.doctrine.cap_duration.total_seconds()
barcap_duration = game.settings.desired_barcap_mission_duration.total_seconds()
barcap_rounds = math.ceil(mission_duration / barcap_duration)
battle_postitions: Dict[ControlPoint, BattlePositions] = {

View File

@ -214,6 +214,16 @@ class Settings:
),
)
# CAMPAIGN DOCTRINE
desired_barcap_mission_duration: timedelta = minutes_option(
"Desired BARCAP on-station time",
page=CAMPAIGN_DOCTRINE_PAGE,
section=GENERAL_SECTION,
default=timedelta(minutes=60),
min=30,
max=150,
detail="Implicitly determines the number of BARCAPs planned by taking the mission duration"
" and dividing it by the desired on-station time.",
)
desired_awacs_mission_duration: timedelta = minutes_option(
"Desired AWACS on-station time",
page=CAMPAIGN_DOCTRINE_PAGE,