goals.div/raw and story.div simply contain the combination of all individual story goals, such as GMTK_EMOTES.txt and EMOTEBOW.txt. I can't say why both exist; maybe one gets activated in GM mode and one in campaign/story mode.
The reason it does not work, is that CharacterSetAnimationOverride
only works for looping animations. Looping animations either end in "_Loop", or are explicitly marked as "looping animation" in the animation list
Bow_01 is not a looping animation, which is why CharacterSetAnimationOverride does not work with it. The fact that it did, was a bug in the API.
To understand where this change comes from, some background:
* Scripters that just start out (and that included me) usually have a tendency to just try something out and when it works, they run with it. Looping a non-looping animation is one of those things. In the mean time we have better review processes in place, but reviews still can't catch everything.
* A looping animation has a lead-in animation, then a looping part that seamlessly connects from end to start and to both the lead-in and lead-out, and finally a lead-out. A non-looping animation does not have this, and can look jarring if it is looped anyway.
The result is that when the animators played/looked at the game to see how their various animations were used, they sometimes saw that non-looping animations were set to loop. This made their work look bad, because random people playing the game would blame any visual imperfections stemming from this on them, rather on the scripter that took a shortcut (the scripter should have requested a looping version from the animation department). Hence, the API was changed to no longer play non-looping animations, so that this shortcut would no longer work and the animators' work would only be used in the way intended.
Now, as to how to solve the issue with that mod:
* You can play non-looping animations with the PlayAnimation
* This call will play the animation, and once it's finished it will throw an event
* You can then catch
this event, check whether the character still has the status
, and if so, play the animation again.