You could do it like this:
var reloading = false
func shoot():
if not reloading:
$AnimatedSprite.play("shoot")
func reload():
reloading = true
$AnimatedSprite.play("reload")
reloading = false
Now you can shoot and reload as much as you want, but the reloading won't be disturbed by shooting.