mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
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:
parent
38f4b27d10
commit
93f3e81cfc
@ -27,8 +27,6 @@ class Builder(FormationAttackBuilder[EscortFlightPlan, FormationAttackLayout]):
|
|||||||
hold = builder.hold(self._hold_point())
|
hold = builder.hold(self._hold_point())
|
||||||
join = builder.join(self.package.waypoints.join)
|
join = builder.join(self.package.waypoints.join)
|
||||||
split = builder.split(self.package.waypoints.split)
|
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(
|
return FormationAttackLayout(
|
||||||
@ -43,7 +41,7 @@ class Builder(FormationAttackBuilder[EscortFlightPlan, FormationAttackLayout]):
|
|||||||
split=split,
|
split=split,
|
||||||
refuel=refuel,
|
refuel=refuel,
|
||||||
nav_from=builder.nav_path(
|
nav_from=builder.nav_path(
|
||||||
split.position,
|
refuel.position,
|
||||||
self.flight.arrival.position,
|
self.flight.arrival.position,
|
||||||
self.doctrine.ingress_altitude,
|
self.doctrine.ingress_altitude,
|
||||||
),
|
),
|
||||||
|
|||||||
@ -181,8 +181,6 @@ class FormationAttackBuilder(IBuilder[FlightPlanT, LayoutT], ABC):
|
|||||||
hold = builder.hold(self._hold_point())
|
hold = builder.hold(self._hold_point())
|
||||||
join = builder.join(self.package.waypoints.join)
|
join = builder.join(self.package.waypoints.join)
|
||||||
split = builder.split(self.package.waypoints.split)
|
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(
|
return FormationAttackLayout(
|
||||||
@ -199,7 +197,7 @@ class FormationAttackBuilder(IBuilder[FlightPlanT, LayoutT], ABC):
|
|||||||
split=split,
|
split=split,
|
||||||
refuel=refuel,
|
refuel=refuel,
|
||||||
nav_from=builder.nav_path(
|
nav_from=builder.nav_path(
|
||||||
split.position,
|
refuel.position,
|
||||||
self.flight.arrival.position,
|
self.flight.arrival.position,
|
||||||
self.doctrine.ingress_altitude,
|
self.doctrine.ingress_altitude,
|
||||||
),
|
),
|
||||||
|
|||||||
@ -105,9 +105,11 @@ class Builder(CapBuilder[TarCapFlightPlan, TarCapLayout]):
|
|||||||
start, end = builder.race_track(orbit0p, orbit1p, patrol_alt)
|
start, end = builder.race_track(orbit0p, orbit1p, patrol_alt)
|
||||||
|
|
||||||
refuel = None
|
refuel = None
|
||||||
|
nav_from_origin = orbit1p
|
||||||
|
|
||||||
if self.package.waypoints is not None:
|
if self.package.waypoints is not None:
|
||||||
refuel = builder.refuel(self.package.waypoints.refuel)
|
refuel = builder.refuel(self.package.waypoints.refuel)
|
||||||
|
nav_from_origin = refuel.position
|
||||||
|
|
||||||
return TarCapLayout(
|
return TarCapLayout(
|
||||||
departure=builder.takeoff(self.flight.departure),
|
departure=builder.takeoff(self.flight.departure),
|
||||||
@ -115,7 +117,7 @@ class Builder(CapBuilder[TarCapFlightPlan, TarCapLayout]):
|
|||||||
self.flight.departure.position, orbit0p, patrol_alt
|
self.flight.departure.position, orbit0p, patrol_alt
|
||||||
),
|
),
|
||||||
nav_from=builder.nav_path(
|
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_start=start,
|
||||||
patrol_end=end,
|
patrol_end=end,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user