Fix fixed wing squadrons retreating to FARPs.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1615

(cherry picked from commit 35900c2350d56ae7354e842dd914dcef7923c973)
This commit is contained in:
Dan Albert 2021-11-06 16:53:55 -07:00
parent a188f7b7e5
commit d1e50a5bbe

View File

@ -3,17 +3,13 @@ from __future__ import annotations
import logging import logging
from collections import Iterable from collections import Iterable
from dataclasses import dataclass, field from dataclasses import dataclass, field
from typing import ( from typing import Optional, Sequence, TYPE_CHECKING
TYPE_CHECKING,
Optional,
Sequence,
)
from faker import Faker from faker import Faker
from game.settings import AutoAtoBehavior, Settings from game.settings import AutoAtoBehavior, Settings
from gen.ato import Package from gen.ato import Package
from gen.flights.flight import FlightType, Flight from gen.flights.flight import Flight, FlightType
from gen.flights.flightplan import FlightPlanBuilder from gen.flights.flightplan import FlightPlanBuilder
from .pilot import Pilot, PilotStatus from .pilot import Pilot, PilotStatus
from ..utils import meters from ..utils import meters
@ -265,6 +261,8 @@ class Squadron:
return distance_to_target <= self.aircraft.max_mission_range return distance_to_target <= self.aircraft.max_mission_range
def operates_from(self, control_point: ControlPoint) -> bool: def operates_from(self, control_point: ControlPoint) -> bool:
if not control_point.can_operate(self.aircraft):
return False
if control_point.is_carrier: if control_point.is_carrier:
return self.operating_bases.carrier return self.operating_bases.carrier
elif control_point.is_lha: elif control_point.is_lha: