update shoot func