"""Ranges of enemy detectors with a safety buffer. This is considered a dictionary for enemy detectors due to the safety buffer. Friendly detectors will not be in range if they use these values. """ from typing import Dict, Union from sc2.ids.effect_id import EffectId from sc2.ids.unit_typeid import UnitTypeId as UnitID DETECTOR_RANGES: Dict[Union[EffectId, UnitID], float] = { # technically it's their range + radius + 1 (for safety) # Protoss UnitID.OBSERVER: 11 + 0.5 + 1, UnitID.OBSERVERSIEGEMODE: 13.75 + 0.5 + 1, UnitID.PHOTONCANNON: 11 + 1.125 + 1, # Terran UnitID.RAVEN: 11 + 0.625 + 1, UnitID.MISSILETURRET: 11 + 1.125 + 1, EffectId.SCANNERSWEEP: 13 + 0 + 1, # Zerg UnitID.OVERSEER: 11 + 1 + 1, UnitID.OVERSEERSIEGEMODE: 13.75 + 1 + 1, UnitID.SPORECRAWLER: 11 + 0.875 + 1, }