## Target selector: picks which enemy to aim at. import enemy_tracker type TargetMode* = enum tmClosest, ## nearest enemy tmWeakest, ## lowest energy (finisher) tmBestGun ## future — alias to closest for now proc selectTarget*(et: EnemyTracker, selfX, selfY: float, mode: TargetMode = tmClosest): int = ## Returns enemy bot ID. Falls back to 1v1 naturally when 1 alive. let alive = et.allAlive() if alive.len == 0: return -1 if alive.len == 1: return alive[0].id let chosen = case mode of tmWeakest: et.weakest() else: et.closestTo(selfX, selfY) # tmClosest + tmBestGun result = chosen.id