mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
26 lines
839 B
Python
26 lines
839 B
Python
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)
|