mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Fix some edge-cases wrt SetUnlimitedFuel
This commit is contained in:
parent
a6a872eebb
commit
e6e557c18a
@ -103,7 +103,7 @@ class AircraftBehavior:
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Activate AI unlimited fuel for all flights at startup
|
# 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(SetUnlimitedFuelCommand(True))
|
||||||
|
|
||||||
group.points[0].tasks.append(OptReactOnThreat(react_on_threat))
|
group.points[0].tasks.append(OptReactOnThreat(react_on_threat))
|
||||||
|
|||||||
@ -15,15 +15,19 @@ from dcs.task import (
|
|||||||
from game.ato import FlightType
|
from game.ato import FlightType
|
||||||
from game.theater import NavalControlPoint
|
from game.theater import NavalControlPoint
|
||||||
from game.utils import nautical_miles, feet
|
from game.utils import nautical_miles, feet
|
||||||
from game.settings import Settings
|
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
|
|
||||||
class JoinPointBuilder(PydcsWaypointBuilder):
|
class JoinPointBuilder(PydcsWaypointBuilder):
|
||||||
def add_tasks(self, waypoint: MovingPoint) -> None:
|
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:
|
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:
|
if self.flight.is_helo:
|
||||||
waypoint.tasks.append(OptFormation.rotary_wedge())
|
waypoint.tasks.append(OptFormation.rotary_wedge())
|
||||||
|
|||||||
@ -23,7 +23,12 @@ class RaceTrackBuilder(PydcsWaypointBuilder):
|
|||||||
|
|
||||||
# Unlimited fuel option : disable at racetrack start. 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:
|
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):
|
if not isinstance(flight_plan, PatrollingFlightPlan):
|
||||||
flight_plan_type = flight_plan.__class__.__name__
|
flight_plan_type = flight_plan.__class__.__name__
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user