mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
26 lines
928 B
Python
26 lines
928 B
Python
from abc import ABC
|
|
from datetime import timedelta
|
|
|
|
from game.utils import Speed, knots, Distance, meters
|
|
from .patrolling import PatrollingFlightPlan, PatrollingLayout
|
|
|
|
|
|
class RefuelingFlightPlan(PatrollingFlightPlan[PatrollingLayout], ABC):
|
|
@property
|
|
def patrol_duration(self) -> timedelta:
|
|
return self.flight.coalition.game.settings.desired_tanker_on_station_time
|
|
|
|
@property
|
|
def patrol_speed(self) -> Speed:
|
|
# TODO: Could use self.flight.unit_type.preferred_patrol_speed(altitude).
|
|
if self.flight.unit_type.patrol_speed is not None:
|
|
return self.flight.unit_type.patrol_speed
|
|
# ~280 knots IAS at 21000.
|
|
return knots(400)
|
|
|
|
@property
|
|
def engagement_distance(self) -> Distance:
|
|
# TODO: Factor out a common base of the combat and non-combat race-tracks.
|
|
# No harm in setting this, but we ought to clean up a bit.
|
|
return meters(0)
|