From 06e0d82d8b33cb6f9c30ff1cf78baae345e2006a Mon Sep 17 00:00:00 2001 From: 332FG Raven <332fg.raven@gmail.com> Date: Mon, 22 Apr 2024 14:54:08 -0700 Subject: [PATCH] Support for restricted payloads --- dcs/flyingunit.py | 4 ++++ tests/missions/payload.restrictions.miz | Bin 0 -> 27619 bytes tests/test_mission.py | 17 +++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 tests/missions/payload.restrictions.miz diff --git a/dcs/flyingunit.py b/dcs/flyingunit.py index cc5379d2..5cc2e652 100644 --- a/dcs/flyingunit.py +++ b/dcs/flyingunit.py @@ -46,6 +46,7 @@ def __init__( self.radio: Optional[AircraftRadioPresets] = None self.hardpoint_racks = True self.addpropaircraft = dict(_type.property_defaults) if _type.property_defaults else None + self.payload_restricted: Optional[Dict[int, Dict[int, str]]] = None def load_from_dict(self, d): super(FlyingUnit, self).load_from_dict(d) @@ -71,6 +72,7 @@ def load_from_dict(self, d): self.radio = d.get("Radio") self.hardpoint_racks = d.get("hardpoint_racks", None) self.addpropaircraft = d.get("AddPropAircraft") + self.payload_restricted = d["payload"].get("restricted", None) return True def set_parking(self, parking_slot: ParkingSlot): @@ -227,6 +229,8 @@ def dict(self): d["callsign"] = self.callsign_dict if self.radio: d["Radio"] = self.radio + if self.payload_restricted is not None: + d["payload"]["restricted"] = self.payload_restricted return d diff --git a/tests/missions/payload.restrictions.miz b/tests/missions/payload.restrictions.miz new file mode 100644 index 0000000000000000000000000000000000000000..78808be55f6d8692b8b1b6a3c893a064f9df2e85 GIT binary patch literal 27619 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 None: no_unit = m.find_unit(non_existing_unit_name, red_coalition) self.assertIsNone(no_unit) + + def test_payload_restrictions(self) -> None: + m = Mission() + m.load_file("tests/missions/payload.restrictions.miz") + + country_name = "USA" + coal_name = str(dcs.action.Coalition.Blue.value) + + self.assertIsNotNone(m.coalition[coal_name].country(country_name).plane_group[0].units[0].payload_restricted) + + m.save("missions/saved.payload.restrictions.miz") + + m2 = Mission() + m2.load_file("missions/saved.payload.restrictions.miz") + + self.assertDictEqual(m.coalition[coal_name].country(country_name).plane_group[0].units[0].payload_restricted, + m2.coalition[coal_name].country(country_name).plane_group[0].units[0].payload_restricted)