(CNN) Long Beach police on Monday charged a 77-year-old retirement home resident with killing a veteran firefighter who responded to a predawn blaze at the facility.

Capt. Dave Rosa, 45, a 17-year department veteran, was fatally shot Monday during a call about an explosion at the senior residential facility, Long Beach Fire Chief Mike Duree said. A second firefighter, Ernesto Torres, was also shot but is expected to make a full recovery at St. Mary Medical Center, Duree said.

Thomas Kim was charged with murder, two counts of attempted murder and arson. He was being held on $2 million bail, according to Long Beach Police Chief Robert Luna. A handgun was recovered at the scene, Luna said.

Kim was initially taken into custody Monday morning as a person of interest, the police chief said.

A third person, an elderly male resident, was also shot, Luna said. He is in stable but critical condition, Luna said.

The shooting happened around 4 a.m. Monday when the fire department responded to reports that occupants of a senior living facility smelled gas, authorities said. As the fire units neared the scene, they noticed that windows were blown out near a unit and the sprinkler system was in operation.

Fire units said they knocked down the initial fire, but minutes later, they received reports of shots fired, authorities said.

Rosa leaves behind a wife and two sons, ages 25 and 16.

"This is a tough day, a tough day," said Duree, visibly shaken and choking back tears.

"We show up to do our job. Firefighters deal with fire, not bullets," Long Beach police Sgt. Brad Johnson said. "It's a sad time in Long Beach history to have firefighters injured just responding to their job."