Fix layout for TARCAP, Escort, and strike-like.

If there's a refuel point, nav from that, not from the patrol end/split.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1749.
This commit is contained in:
Dan Albert 2022-11-19 13:01:43 -08:00
parent 38f4b27d10
commit 93f3e81cfc
3 changed files with 7 additions and 9 deletions

View File

@ -27,9 +27,7 @@ class Builder(FormationAttackBuilder[EscortFlightPlan, FormationAttackLayout]):
hold = builder.hold(self._hold_point())
join = builder.join(self.package.waypoints.join)
split = builder.split(self.package.waypoints.split)
refuel = None
if self.package.waypoints.refuel is not None:
refuel = builder.refuel(self.package.waypoints.refuel)
refuel = builder.refuel(self.package.waypoints.refuel)
return FormationAttackLayout(
departure=builder.takeoff(self.flight.departure),
@ -43,7 +41,7 @@ class Builder(FormationAttackBuilder[EscortFlightPlan, FormationAttackLayout]):
split=split,
refuel=refuel,
nav_from=builder.nav_path(
split.position,
refuel.position,
self.flight.arrival.position,
self.doctrine.ingress_altitude,
),

View File

@ -181,9 +181,7 @@ class FormationAttackBuilder(IBuilder[FlightPlanT, LayoutT], ABC):
hold = builder.hold(self._hold_point())
join = builder.join(self.package.waypoints.join)
split = builder.split(self.package.waypoints.split)
refuel = None
if self.package.waypoints.refuel is not None:
refuel = builder.refuel(self.package.waypoints.refuel)
refuel = builder.refuel(self.package.waypoints.refuel)
return FormationAttackLayout(
departure=builder.takeoff(self.flight.departure),
@ -199,7 +197,7 @@ class FormationAttackBuilder(IBuilder[FlightPlanT, LayoutT], ABC):
split=split,
refuel=refuel,
nav_from=builder.nav_path(
split.position,
refuel.position,
self.flight.arrival.position,
self.doctrine.ingress_altitude,
),

View File

@ -105,9 +105,11 @@ class Builder(CapBuilder[TarCapFlightPlan, TarCapLayout]):
start, end = builder.race_track(orbit0p, orbit1p, patrol_alt)
refuel = None
nav_from_origin = orbit1p
if self.package.waypoints is not None:
refuel = builder.refuel(self.package.waypoints.refuel)
nav_from_origin = refuel.position
return TarCapLayout(
departure=builder.takeoff(self.flight.departure),
@ -115,7 +117,7 @@ class Builder(CapBuilder[TarCapFlightPlan, TarCapLayout]):
self.flight.departure.position, orbit0p, patrol_alt
),
nav_from=builder.nav_path(
orbit1p, self.flight.arrival.position, patrol_alt
nav_from_origin, self.flight.arrival.position, patrol_alt
),
patrol_start=start,
patrol_end=end,