From 8a7e43ef428f9bd64cadc9485c195badb8a15dba Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 8 Sep 2020 16:43:47 -0700 Subject: [PATCH] Also dedup ATC frequencies. Some airports on the Syria map share ATC frequencies. --- game/operation/operation.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/game/operation/operation.py b/game/operation/operation.py index 7e75a305..d8d63de6 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -127,30 +127,31 @@ class Operation: self.defenders_starting_position = self.to_cp.at def generate(self): - # Dedup beacon frequencies, since some maps have more than one beacon - # per frequency. + # Dedup beacon/radio frequencies, since some maps have some frequencies + # used multiple times. beacons = load_beacons_for_terrain(self.game.theater.terrain.name) - unique_beacon_frequencies: Set[RadioFrequency] = set() + unique_map_frequencies: Set[RadioFrequency] = set() for beacon in beacons: - unique_beacon_frequencies.add(beacon.frequency) + unique_map_frequencies.add(beacon.frequency) if beacon.is_tacan: if beacon.channel is None: logging.error( f"TACAN beacon has no channel: {beacon.callsign}") else: self.tacan_registry.reserve(beacon.tacan_channel) - for frequency in unique_beacon_frequencies: - self.radio_registry.reserve(frequency) for airfield, data in AIRFIELD_DATA.items(): if data.theater == self.game.theater.terrain.name: - self.radio_registry.reserve(data.atc.hf) - self.radio_registry.reserve(data.atc.vhf_fm) - self.radio_registry.reserve(data.atc.vhf_am) - self.radio_registry.reserve(data.atc.uhf) + unique_map_frequencies.add(data.atc.hf) + unique_map_frequencies.add(data.atc.vhf_fm) + unique_map_frequencies.add(data.atc.vhf_am) + unique_map_frequencies.add(data.atc.uhf) # No need to reserve ILS or TACAN because those are in the # beacon list. + for frequency in unique_map_frequencies: + self.radio_registry.reserve(frequency) + # Generate meteo if self.environment_settings is None: self.environment_settings = self.envgen.generate()