Webster, N.Y. - Police say William Spengler was angry and armed to kill.
He had a rifle, shotgun, handgun and 400 rounds of ammunition.
He set a trap for firefighters, according to police, and was waiting to start shooting when the first firetruck responded to a fire he set on Lake Road in Webster Christmas Eve morning.
Police say what Spengler didn't expect, was for police to respond to the fire.
It is routine in Webster for police to respond to fire calls.
In fact, Webster Police Officer Mark Reed was first to arrive, even before the fire trucks. He was calling in an update about the fire when he heard the shots.
Police say Reed's actions "prevented further loss of life" during the ambush on Christmas Eve morning.
Reed saw firefighters arrive and heard the popping sounds, not realizing at first they were gunshots. Then he saw three firefighters drop to the ground after being shot.
Reed then ran to his patrol car and grabbed his rifle. He fired six rounds at the suspect. Police say by "engaging the suspect" Reed prevented "further loss of life."
At a news conference Monday morning, Chief Gerald Pickering said Officer Reed's quick response "directly impacted" the actions of the gunman William Spengler.
Police say Spengler used nearly 60 rounds during the shooting. He was later found dead on the beach after committing suicide with his weapons and more than 400 rounds near him.
Police are also crediting Sgt. Kevin Hall of the Webster Police Department for setting up a shield to protect the wounded firefighters.
Webster Police Officer Shaun Welch and Irondequoit Police Officer Doug Pollock were also credited for their actions that day. They set up a perimeter near the waterfront as police searched for the suspect.
West Webster Firefighter and Webster Police Lieutenant Michael Chiapperini and firefighter Tomasz Kaczowka died in the shooting.
Two other firefighters, Theordore Scardino and Joseph Hofstetter, were also shot. Both men were released from Strong Hospital over the weekend.