I’ve looked into it recently again and this is how you fix it:
You will require mdlvis (
Mdlvis: model edition/creation, animation and UV Mapping) and lots of time
First
Open the model in mdlvis and open the tab Module > Sequence Editor
From here notice 2 important things on the UI
1. On the top right of the UI there is drop box named Current Sequence (by default set on « all line »)
2. At the bottom the UI there is an animation bar and On its right a box named Frame.
If you select an animation (or sequence), let’s say « Stand » you will see that the bar gets updated (zoomed in actually) for this specific animation.
Stand starts at frame 3333 and finishes at frame 6000. Which means the frames from 0 to 5999 are not used.
The other animation after Stand starts at 8000 and finishes at 9000, which means the frames from 6001 to 7999 are also not used.
This is why this model cannot play all its animations in-game, there are to many unused frames.
Second:
To remove these unused frames you’ll have to select them and « cut » them.
The selection is a bit tricky follow these steps: Select again the « all line » sequence. In the Frame box (next to the sequence bar) enter the start value of the frames you want to cut.
Let’s say you want to remove the unused frames 0 to 3300 (I still keep about 33 unused frames between animations just in case):
Type in the box 0, press enter, then press + hold shift and type 3300. Press enter again and release shift. If done right you’ll see the selected frames in the sequence bar (they appear grey).
From there go to the Tab Frames > Cut Frame to remove these.
Voilà, now repeat the process between each animation and you’ll save a ton of frames and all of them will be playable in wc3 (you won’t see all of them in the editor though, but no worries they’re accessible in-game)
When you get the idea it’s pretty simple but very time-consuming.
BEFORE STARTING I suggest checking all the animations and removing duplicate as they are many
I hope this helps!