some refactoring of player shooting