mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
parent
5f1f2b34b7
commit
f979a0c23d
@ -30,6 +30,7 @@
|
|||||||
* **[Mission Generation]** Avoid aircraft from being assigned to helicopter parking spots, resulting into air starts that usually crash.
|
* **[Mission Generation]** Avoid aircraft from being assigned to helicopter parking spots, resulting into air starts that usually crash.
|
||||||
* **[Mission Generation]** Use stacking algorithm to create vertical separation between flights spawning mid-mission over their departure, usually resulting into mid-air collisions.
|
* **[Mission Generation]** Use stacking algorithm to create vertical separation between flights spawning mid-mission over their departure, usually resulting into mid-air collisions.
|
||||||
* **[Mission Generation]** Fixed all callsigns being "Enfield 1-1" on dedicated servers.
|
* **[Mission Generation]** Fixed all callsigns being "Enfield 1-1" on dedicated servers.
|
||||||
|
* **[Mission Generation]** Fixed AI ferry flights for helicopters when transferring to a FOB/FARP.
|
||||||
|
|
||||||
# Retribution 1.0.1 (hotfix)
|
# Retribution 1.0.1 (hotfix)
|
||||||
* **[Mission Generation]** Fix serialization issue when STRIKE flight has no escorts
|
* **[Mission Generation]** Fix serialization issue when STRIKE flight has no escorts
|
||||||
|
|||||||
@ -29,7 +29,6 @@ from dcs.unitgroup import FlyingGroup
|
|||||||
from game.ato import Flight, FlightType
|
from game.ato import Flight, FlightType
|
||||||
from game.ato.flightplans.aewc import AewcFlightPlan
|
from game.ato.flightplans.aewc import AewcFlightPlan
|
||||||
from game.ato.flightplans.theaterrefueling import TheaterRefuelingFlightPlan
|
from game.ato.flightplans.theaterrefueling import TheaterRefuelingFlightPlan
|
||||||
from game.dcs.aircrafttype import AircraftType
|
|
||||||
|
|
||||||
|
|
||||||
class AircraftBehavior:
|
class AircraftBehavior:
|
||||||
|
|||||||
@ -29,6 +29,7 @@ from game.settings import Settings
|
|||||||
from game.theater.controlpoint import (
|
from game.theater.controlpoint import (
|
||||||
Airfield,
|
Airfield,
|
||||||
ControlPoint,
|
ControlPoint,
|
||||||
|
Fob,
|
||||||
)
|
)
|
||||||
from game.unitmap import UnitMap
|
from game.unitmap import UnitMap
|
||||||
from .aircraftpainter import AircraftPainter
|
from .aircraftpainter import AircraftPainter
|
||||||
@ -201,6 +202,14 @@ class AircraftGenerator:
|
|||||||
self.use_client,
|
self.use_client,
|
||||||
).configure()
|
).configure()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
wpt = group.waypoint("LANDING")
|
||||||
|
if flight.is_helo and isinstance(flight.arrival, Fob) and wpt:
|
||||||
|
hpad = self.helipads[flight.arrival].units.pop(0)
|
||||||
|
wpt.helipad_id = hpad.id
|
||||||
|
wpt.link_unit = hpad.id
|
||||||
|
self.helipads[flight.arrival].units.append(hpad)
|
||||||
|
|
||||||
return group
|
return group
|
||||||
|
|
||||||
def _reserve_frequencies_and_tacan(self, ato: AirTaskingOrder) -> None:
|
def _reserve_frequencies_and_tacan(self, ato: AirTaskingOrder) -> None:
|
||||||
|
|||||||
@ -247,16 +247,18 @@ class FlightGroupSpawner:
|
|||||||
def _generate_at_cp_helipad(self, name: str, cp: ControlPoint) -> FlyingGroup[Any]:
|
def _generate_at_cp_helipad(self, name: str, cp: ControlPoint) -> FlyingGroup[Any]:
|
||||||
try:
|
try:
|
||||||
helipad = self.helipads[cp]
|
helipad = self.helipads[cp]
|
||||||
except IndexError as ex:
|
except IndexError:
|
||||||
raise NoParkingSlotError()
|
raise NoParkingSlotError()
|
||||||
|
|
||||||
group = self._generate_at_group(name, helipad)
|
group = self._generate_at_group(name, helipad)
|
||||||
|
|
||||||
if self.start_type is not StartType.COLD:
|
if self.start_type is StartType.WARM:
|
||||||
group.points[0].type = "TakeOffParkingHot"
|
group.points[0].type = "TakeOffParkingHot"
|
||||||
|
hpad = helipad.units[0]
|
||||||
for i in range(self.flight.count):
|
for i in range(self.flight.count):
|
||||||
group.units[i].position = helipad.units[i].position
|
group.units[i].position = hpad.position
|
||||||
group.units[i].heading = helipad.units[i].heading
|
group.units[i].heading = hpad.heading
|
||||||
|
group.units[i].parking_id = str(i + 1)
|
||||||
return group
|
return group
|
||||||
|
|
||||||
def dcs_start_type(self) -> DcsStartType:
|
def dcs_start_type(self) -> DcsStartType:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user