A 38-year-old man is in critical condition after an 18-year-old driver struck the pedestrian who "appeared" to have a gun, a San Antonio police report said.