Allow skynet properties override and improve dead unit handling

Now the user can override special skynet properties from the unit.yaml of the main Radar of the sam site. Which unit needs these overrides can be looked up over here: https://github.com/walder/Skynet-IADS/blob/develop/skynet-iads-source/skynet-iads-supported-types.lua

- fixed wrong exclusion of groups with the first unit dead but still able to participate
- added some exception handling in the lua script for groups which skynet is not able to control. preventing scripting errors
This commit is contained in:
RndName
2022-04-06 12:41:52 +02:00
parent 4664a7bbd4
commit 004bcce58e
6 changed files with 109 additions and 24 deletions

View File

@@ -1,5 +1,4 @@
from __future__ import annotations
from collections import defaultdict
import logging
import os
@@ -15,6 +14,7 @@ from dcs.triggers import TriggerStart
from game.ato import FlightType
from game.plugins import LuaPluginManager
from game.theater import TheaterGroundObject
from game.theater.iadsnetwork.iadsrole import IadsRole
from game.utils import escape_string_for_lua
from .aircraft.flightdata import FlightData
@@ -142,6 +142,10 @@ class LuaGenerator:
iads_type = coalition.get_or_create_item(node.iads_role.value)
iads_element = iads_type.add_item()
iads_element.add_key_value("dcsGroupName", node.dcs_name)
if node.iads_role in [IadsRole.SAM, IadsRole.SAM_AS_EWR]:
# add additional SkynetProperties to SAM Sites
for property, value in node.properties.items():
iads_element.add_key_value(property, value)
for role, connections in node.connections.items():
iads_element.add_data_array(role, connections)