diff --git a/game/ato/flightplans/airassault.py b/game/ato/flightplans/airassault.py index 8d40c5a7..14da523b 100644 --- a/game/ato/flightplans/airassault.py +++ b/game/ato/flightplans/airassault.py @@ -190,7 +190,7 @@ class Builder(FormationAttackBuilder[AirAssaultFlightPlan, AirAssaultLayout]): divert=builder.divert(self.flight.divert), bullseye=builder.bullseye(), hold=None, - join=builder.join(ingress.position), + join=builder.join(self.package.waypoints.ingress), split=builder.split(self.flight.arrival.position), refuel=None, custom_waypoints=list(), diff --git a/game/missiongenerator/aircraft/waypoints/airassaultingress.py b/game/missiongenerator/aircraft/waypoints/airassaultingress.py index 23e1d5b8..aaef92b1 100644 --- a/game/missiongenerator/aircraft/waypoints/airassaultingress.py +++ b/game/missiongenerator/aircraft/waypoints/airassaultingress.py @@ -1,7 +1,7 @@ from dcs.point import MovingPoint -from dcs.task import Expend, WeaponType, CarpetBombing, OptROE +from dcs.task import Expend, WeaponType, CarpetBombing -from game.ato.flightwaypointtype import FlightWaypointType +from game.ato.flightplans.airassault import AirAssaultLayout from game.utils import feet, knots from pydcs_extensions.hercules.hercules import Hercules from .pydcswaypointbuilder import PydcsWaypointBuilder @@ -12,14 +12,14 @@ class AirAssaultIngressBuilder(PydcsWaypointBuilder): self.register_special_ingress_points() air_drop = self.group.units[0].unit_type in [Hercules] if air_drop: - waypoint.speed = knots(230).meters_per_second + waypoint.speed = knots(200).meters_per_second waypoint.speed_locked = True waypoint.ETA_locked = False - tgt = self.flight.flight_plan.package.target.position - for wpt in self.flight.flight_plan.waypoints: - if wpt.waypoint_type == FlightWaypointType.TARGET_GROUP_LOC: - tgt = wpt.position - break + tgt = self.flight.package.target.position + layout = self.flight.flight_plan.layout + assert isinstance(layout, AirAssaultLayout) + heading = layout.ingress.position.heading_between_point(tgt) + tgt = tgt.point_from_heading(heading, feet(6000).meters) bombing = CarpetBombing( tgt, weapon_type=WeaponType.Bombs, diff --git a/resources/units/aircraft/Hercules.yaml b/resources/units/aircraft/Hercules.yaml index 4aa54eea..dfa83ec1 100644 --- a/resources/units/aircraft/Hercules.yaml +++ b/resources/units/aircraft/Hercules.yaml @@ -12,6 +12,9 @@ max_range: 1000 cabin_size: 24 # It should have more but we do not want so much for CTLD to be possible variants: C-130J-30 Super Hercules: {} +altitudes: + cruise: 10000 + combat: 1000 radios: intra_flight: AN/ARC-164 inter_flight: AN/ARC-164