Skip to content

Commit

Permalink
Make theater refuelling flight plan on-station time configurable base…
Browse files Browse the repository at this point in the history
…d on the desired mission duration (#3375)

This PR 
- Addresses #1511 by setting the tanker on-station time to the desired
mission duration + 30 minutes
- Elaborate on what the desired mission duration setting does in the
Settings UI.
  • Loading branch information
zhexu14 committed Apr 14, 2024
1 parent 75f9042 commit dc3d1b0
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
1 change: 1 addition & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Saves from 11.x are not compatible with 12.0.0.
* **[Campaign]** Fixed double counting of parked aircraft kills when DCS reports multiple kill events.
* **[Campaign]** Fixed error where frontline units are not re-deployed when multiple control points were captured in one turn or when control points are captured "out of order" using air-assault missions.
* **[Cheat Menu]** Re-deploy frontline units when using cheats to capture control points, so that cheats behave the same way as capturing a control point in-mission.
* **[Flight Planning]** Theater refuelling flight plans (those not tied to a particular package) will remain on station for a longer period, specifically the desired mission duration + 30 minutes. By default, this increases the on-station time from 1 hour to 1.5 hours.
* **[UI]** Naval control points (carriers, LHAs) can no longer be moved onto land.


Expand Down
8 changes: 7 additions & 1 deletion game/ato/flightplans/theaterrefueling.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@ def builder_type() -> Type[Builder]:

@property
def patrol_duration(self) -> timedelta:
return timedelta(hours=1)
# Add 30 minutes to desired_player_mission_duration as TOTs for flights
# can sit up to this time. This extension means the tanker remains on
# station for the flights' return.
return (
self.flight.coalition.game.settings.desired_player_mission_duration
+ timedelta(minutes=30)
)


class Builder(IBuilder[TheaterRefuelingFlightPlan, PatrollingLayout]):
Expand Down
6 changes: 6 additions & 0 deletions game/settings/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,12 @@ class Settings:
default=timedelta(minutes=60),
min=30,
max=150,
detail=(
"Period of time after the start of a turn where "
"there is coverage by one or more CAP flight(s), "
"refuelling flights not tied to a specific package are on station, "
"and other flights have their TOTs."
),
)

# Performance
Expand Down

0 comments on commit dc3d1b0

Please sign in to comment.