Updated shotLocationVisitor to handle missing shots correctly