If you have a lot more combos and animations than you currently have, I don't think a fix to your current code is going to be the best solution. There's a limit to the number of "if, otherwise if, otherwise" you can have before the code becomes unmanageable. I think you may need to write an entire new animation manager that is better suited for your game.
I can think of a few good ways this problem can be solved.. so I can't really guess what solution TheIndieStation or FillerGames had in mind. I had a similar problem earlier (in fact, mentioned in
a recent thread in this forum). Your problem is harder than mine. I only had a lot of animations. It sounds like you have a lot of animations -and- a lot of key combos. In any case, my solution had three components:
1. A separate module that detects key combinations and maps each one to an action (kick, run, etc.)
2. A separate module that maps each action to an effect, based on the current animation (e.g. what happens when you kick and are in the air)
3. On top of that, you would also need something to check if a transition from one animation to another is possible. The default animation manager uses a list... but for something like you're describing, I think a graph that explicitly states which animation can lead to another would be necessary. I don't know how many different animations you're planning on, but if it's long enough there's a good chance you would need exceptions to a simple hierarchy.
Not sure if that would be the best way to organize the code, since I've never made a fighting game with multiple combos. It's just one way I can imagine a series of guides about the solution.