Lock shooting animation easier than before.

Also managed to get some of the shooting logic out of other areas and
more local to shoot().