Adjust flightplans for escorts

This commit is contained in:
Raffson
2022-11-12 23:13:23 +01:00
parent 3f79fa5b9d
commit 2270300177
4 changed files with 52 additions and 6 deletions

View File

@@ -1,13 +1,15 @@
from __future__ import annotations
import random
from dataclasses import dataclass
from typing import TYPE_CHECKING
from typing import TYPE_CHECKING, Optional
from dcs import Point
from game.ato.flightplans.waypointbuilder import WaypointBuilder
from game.flightplan import IpZoneGeometry, JoinZoneGeometry
from game.flightplan.refuelzonegeometry import RefuelZoneGeometry
from game.utils import nautical_miles
if TYPE_CHECKING:
from game.ato import Package
@@ -18,6 +20,7 @@ if TYPE_CHECKING:
class PackageWaypoints:
join: Point
ingress: Point
initial: Point
split: Point
refuel: Point
@@ -32,6 +35,10 @@ class PackageWaypoints:
coalition,
).find_best_ip()
hdg = package.target.position.heading_between_point(ingress_point)
dist = nautical_miles(random.random() * 2 + 7).meters
initial_point = package.target.position.point_from_heading(hdg, dist)
join_point = JoinZoneGeometry(
package.target.position,
origin.position,
@@ -51,6 +58,7 @@ class PackageWaypoints:
return PackageWaypoints(
WaypointBuilder.perturb(join_point),
ingress_point,
initial_point,
WaypointBuilder.perturb(join_point),
refuel_point,
)