diff --git a/game/missiongenerator/aircraft/aircraftbehavior.py b/game/missiongenerator/aircraft/aircraftbehavior.py index 3bc5c6cb..2dd3d1ea 100644 --- a/game/missiongenerator/aircraft/aircraftbehavior.py +++ b/game/missiongenerator/aircraft/aircraftbehavior.py @@ -103,7 +103,7 @@ class AircraftBehavior: ) # Activate AI unlimited fuel for all flights at startup - if ai_unlimited_fuel: + if ai_unlimited_fuel and not (flight.state.is_at_ip or flight.state.in_combat): group.points[0].tasks.append(SetUnlimitedFuelCommand(True)) group.points[0].tasks.append(OptReactOnThreat(react_on_threat)) diff --git a/game/missiongenerator/aircraft/waypoints/joinpoint.py b/game/missiongenerator/aircraft/waypoints/joinpoint.py index 18a78568..36724470 100644 --- a/game/missiongenerator/aircraft/waypoints/joinpoint.py +++ b/game/missiongenerator/aircraft/waypoints/joinpoint.py @@ -15,15 +15,19 @@ from dcs.task import ( from game.ato import FlightType from game.theater import NavalControlPoint from game.utils import nautical_miles, feet -from game.settings import Settings from .pydcswaypointbuilder import PydcsWaypointBuilder class JoinPointBuilder(PydcsWaypointBuilder): def add_tasks(self, waypoint: MovingPoint) -> None: - # Unlimited fuel option : disable at join. Must be first option to work. + # Unlimited fuel option : disable at racetrack start. Must be first option to work. if self.flight.squadron.coalition.game.settings.ai_unlimited_fuel: - waypoint.tasks.insert(0, SetUnlimitedFuelCommand(False)) + if waypoint.tasks and isinstance( + waypoint.tasks[0], SetUnlimitedFuelCommand + ): + waypoint.tasks[0] = SetUnlimitedFuelCommand(False) + else: + waypoint.tasks.insert(0, SetUnlimitedFuelCommand(False)) if self.flight.is_helo: waypoint.tasks.append(OptFormation.rotary_wedge()) diff --git a/game/missiongenerator/aircraft/waypoints/racetrack.py b/game/missiongenerator/aircraft/waypoints/racetrack.py index 62f52dd5..5473dbdb 100644 --- a/game/missiongenerator/aircraft/waypoints/racetrack.py +++ b/game/missiongenerator/aircraft/waypoints/racetrack.py @@ -23,7 +23,12 @@ class RaceTrackBuilder(PydcsWaypointBuilder): # Unlimited fuel option : disable at racetrack start. Must be first option to work. if self.flight.squadron.coalition.game.settings.ai_unlimited_fuel: - waypoint.tasks.insert(0, SetUnlimitedFuelCommand(False)) + if waypoint.tasks and isinstance( + waypoint.tasks[0], SetUnlimitedFuelCommand + ): + waypoint.tasks[0] = SetUnlimitedFuelCommand(False) + else: + waypoint.tasks.insert(0, SetUnlimitedFuelCommand(False)) if not isinstance(flight_plan, PatrollingFlightPlan): flight_plan_type = flight_plan.__class__.__name__