Goose Creek police charged a man Thursday in connection with the December shooting death of a 23-year-old man in the Beverly Hills subdivision.

David Chavis, 43, is accused of firing the shots that fatally wounded Darrel R. Allen, of Goose Creek, Capt. John Grainger said. Chavis is charged with murder.

On Dec. 13, Allen was found dead, blood smeared over his chest, crumpled inside a 2013 Nissan Altima that wrecked outside a vacant home at 201 Lindy Creek Road, police said.

Neighbors spotted the vehicle partially in a ditch about 1 a.m., police said. They reported seeing a flash of light from inside the vehicle, but told police they assumed it came from a cellphone.

Upon closer inspection, investigators found Allen lying on the passenger-side floor with his head under the dashboard, a police report stated.

The car smelled of marijuana and a bag filled with a white powder was found lying outside the car’s passenger side, police said.

Chavis walked into the police department about six hours later with a gunshot wound to his right arm and a story that painted him to be a victim, police said.

Chavis told police that Allen shot him, and that he turned that same gun on his attacker in self-defense.

Police charged Chavis with possession of a firearm by a person convicted of a violent felony.

Chavis changed his story after investigators located a second gun that was used to kill Allen, an arrest affidavit states. A witness reported seeing Chavis dispose of that gun after the shooting, police said.

Police have not released details on a possible motive. Grainger declined to comment on Chavis’ line of thinking surrounding the shooting.

Chavis was convicted on a first-degree burglary charge in 1994, and sentenced to 15 years in prison on strong arm robbery charges in 1996.

He also has convictions for drug possession, assault and battery of a high and aggravated nature, disorderly conduct, receiving stolen goods, failure to stop for blue lights, crack cocaine possession, purse snatching and cocaine possession, according to State Law Enforcement Division records.

Chavis was being held at the Berkeley County jail pending a bond hearing.