mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Revert "Fix for orbit's broken stop condition"
ED fixed the bug. This reverts commit 73ee2ba4c0308f5dc00be27a1c1586c4696fda71.
This commit is contained in:
parent
d65fbf299c
commit
5db82f733f
@ -1,25 +0,0 @@
|
|||||||
from dcs import Mission
|
|
||||||
from dcs.action import SetFlag
|
|
||||||
from dcs.condition import TimeAfter
|
|
||||||
from dcs.task import ControlledTask
|
|
||||||
from dcs.triggers import TriggerOnce, Event
|
|
||||||
|
|
||||||
from game.ato import Package
|
|
||||||
|
|
||||||
|
|
||||||
def create_stop_orbit_trigger(
|
|
||||||
orbit: ControlledTask, package: Package, mission: Mission, elapsed: int
|
|
||||||
) -> None:
|
|
||||||
orbit.stop_if_user_flag(id(package), True)
|
|
||||||
orbits = [
|
|
||||||
x
|
|
||||||
for x in mission.triggerrules.triggers
|
|
||||||
if x.comment == f"StopOrbit{id(package)}"
|
|
||||||
]
|
|
||||||
if not any(orbits):
|
|
||||||
stop_trigger = TriggerOnce(Event.NoEvent, f"StopOrbit{id(package)}")
|
|
||||||
stop_condition = TimeAfter(elapsed)
|
|
||||||
stop_action = SetFlag(id(package))
|
|
||||||
stop_trigger.add_condition(stop_condition)
|
|
||||||
stop_trigger.add_action(stop_action)
|
|
||||||
mission.triggerrules.triggers.append(stop_trigger)
|
|
||||||
@ -4,7 +4,6 @@ from dcs.point import MovingPoint
|
|||||||
from dcs.task import ControlledTask, OptFormation, OrbitAction
|
from dcs.task import ControlledTask, OptFormation, OrbitAction
|
||||||
|
|
||||||
from game.ato.flightplans.loiter import LoiterFlightPlan
|
from game.ato.flightplans.loiter import LoiterFlightPlan
|
||||||
from ._helper import create_stop_orbit_trigger
|
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
|
|
||||||
@ -23,10 +22,8 @@ class HoldPointBuilder(PydcsWaypointBuilder):
|
|||||||
return
|
return
|
||||||
push_time = self.flight.flight_plan.push_time
|
push_time = self.flight.flight_plan.push_time
|
||||||
self.waypoint.departure_time = push_time
|
self.waypoint.departure_time = push_time
|
||||||
elapsed = int((push_time - self.elapsed_mission_time).total_seconds())
|
loiter.stop_after_time(
|
||||||
loiter.stop_after_time(elapsed)
|
int((push_time - self.elapsed_mission_time).total_seconds())
|
||||||
# What follows is some code to cope with the broken 'stop after time' condition
|
)
|
||||||
create_stop_orbit_trigger(loiter, self.package, self.mission, elapsed)
|
|
||||||
# end of hotfix
|
|
||||||
waypoint.add_task(loiter)
|
waypoint.add_task(loiter)
|
||||||
waypoint.add_task(OptFormation.finger_four_close())
|
waypoint.add_task(OptFormation.finger_four_close())
|
||||||
|
|||||||
@ -12,7 +12,6 @@ from dcs.task import (
|
|||||||
|
|
||||||
from game.ato import FlightType
|
from game.ato import FlightType
|
||||||
from game.ato.flightplans.patrolling import PatrollingFlightPlan
|
from game.ato.flightplans.patrolling import PatrollingFlightPlan
|
||||||
from ._helper import create_stop_orbit_trigger
|
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
|
|
||||||
@ -58,11 +57,7 @@ class RaceTrackBuilder(PydcsWaypointBuilder):
|
|||||||
racetrack = ControlledTask(orbit)
|
racetrack = ControlledTask(orbit)
|
||||||
self.set_waypoint_tot(waypoint, flight_plan.patrol_start_time)
|
self.set_waypoint_tot(waypoint, flight_plan.patrol_start_time)
|
||||||
loiter_duration = flight_plan.patrol_end_time - self.elapsed_mission_time
|
loiter_duration = flight_plan.patrol_end_time - self.elapsed_mission_time
|
||||||
elapsed = int(loiter_duration.total_seconds())
|
racetrack.stop_after_time(int(loiter_duration.total_seconds()))
|
||||||
racetrack.stop_after_time(elapsed)
|
|
||||||
# What follows is some code to cope with the broken 'stop after time' condition
|
|
||||||
create_stop_orbit_trigger(racetrack, self.package, self.mission, elapsed)
|
|
||||||
# end of hotfix
|
|
||||||
waypoint.add_task(racetrack)
|
waypoint.add_task(racetrack)
|
||||||
|
|
||||||
def configure_refueling_actions(self, waypoint: MovingPoint) -> None:
|
def configure_refueling_actions(self, waypoint: MovingPoint) -> None:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user