Things accomplished so far:
1. Added hooks in the Action Strip Python API for MatchBone and Multiply mode.
2. Created some basic actions for attack, defend, walking and running. As I'm doing it on my laptop, they are bare bones. I'll have to use one of my nicer workstations for making some really nice actions. This is just enough to get it working.
3. Fixed the orders system so commanders can publish different orders from the ones they were following. Also, fixed the cascade that Actors use to determine what to do.
4. Created a new series of tables in the database to accomodate all of the information you need in order to do character animation: armatures and mesh objects for proxy replacement, ones that contain the information on walk and run cycles, and the ones that determine which Actions you've created within Blender go with which Actor activities.
5. Coded the creation of those tables into the BP initialization code.
The way I have it set up, you can create any number of Actions for each activity (one will do if you're lazy like me), then assign each a decimal likelihood, per Actor type. When it comes time to build the animation, BP will choose from the available actions, using the likelihood factor to determine how often each is chosen.