@godotDcoding said:
I took a quick look, but nothing's jumping out at me.
Suggestion: Set some break points and step through in debug mode. Watch to see if any animation variables are getting values you're not expecting.
Thank you for this because it helped me figure out what the problem was. The AnimationPlayer doesn't update the frame until the next run through process, so it was seeing that the animation was already set to "climb" and stopping the animation before it could update on the next frame.
I solved the issue by adding a new boolean and having the animation, itself, switch it on at an arbitrary point early in the animation and then having the shooting function switch it off.
Thanks, all, for the help!