primary flight dead => escort RTB

Make sure trigger isn't activated when split flag was already set to true
This commit is contained in:
Raffson 2022-12-02 15:04:21 +01:00
parent 243ded448d
commit b9c62bc44a
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
2 changed files with 8 additions and 3 deletions

View File

@ -6,7 +6,7 @@ from functools import cached_property
from typing import Any, Dict, List, TYPE_CHECKING from typing import Any, Dict, List, TYPE_CHECKING
from dcs.action import AITaskPush from dcs.action import AITaskPush
from dcs.condition import FlagIsTrue from dcs.condition import FlagIsTrue, GroupDead, Or, FlagIsFalse
from dcs.country import Country from dcs.country import Country
from dcs.mission import Mission from dcs.mission import Mission
from dcs.terrain.terrain import NoParkingSlotError from dcs.terrain.terrain import NoParkingSlotError
@ -114,9 +114,15 @@ class AircraftGenerator:
flight, country, dynamic_runways flight, country, dynamic_runways
) )
self.unit_map.add_aircraft(group, flight) self.unit_map.add_aircraft(group, flight)
if package.primary_task == FlightType.STRIKE: if (
package.primary_task == FlightType.STRIKE
and package.primary_flight is not None
):
splittrigger = TriggerOnce(Event.NoEvent, f"Split-{id(package)}") splittrigger = TriggerOnce(Event.NoEvent, f"Split-{id(package)}")
splittrigger.add_condition(FlagIsTrue(flag=f"split-{id(package)}")) splittrigger.add_condition(FlagIsTrue(flag=f"split-{id(package)}"))
splittrigger.add_condition(Or())
splittrigger.add_condition(FlagIsFalse(flag=f"split-{id(package)}"))
splittrigger.add_condition(GroupDead(package.primary_flight.group_id))
for flight in package.flights: for flight in package.flights:
if flight is not package.primary_flight: if flight is not package.primary_flight:
splittrigger.add_action(AITaskPush(flight.group_id, 1)) splittrigger.add_action(AITaskPush(flight.group_id, 1))

View File

@ -1,7 +1,6 @@
from dcs.point import MovingPoint from dcs.point import MovingPoint
from dcs.task import OptECMUsing, OptFormation, RunScript from dcs.task import OptECMUsing, OptFormation, RunScript
from game.utils import mach, Distance
from .pydcswaypointbuilder import PydcsWaypointBuilder from .pydcswaypointbuilder import PydcsWaypointBuilder