This is my understanding of how animations are called:
Bridge script lists all animations used by all crew on that specific bridge
Character script lists specific animations used by specific crew member, and links to:
(bridge)Medium/Small/LargeAnimation script...
I think this is the key script, as it 'calls' the specific animation movement... i.e., triggers open/close door, and links crewmember movement to specific chair animation. I know this because I've got anim doors to work. and as can see from above, have chair and crew anims - just not synched together

. It might be the frame timing of my animation is wrong, and all I need to do is lengthen it. Will try that, but in the meantime....
Example from ENAMediumAnimations:
def ENATurnAtCTowardsCaptain(pCharacter):
kAM = App.g_kAnimationManager
kAM.LoadAnimation ("data/animations/ENA_face_capt_C.nif", "ENA_face_capt_C")
kAM.LoadAnimation ("data/animations/ENA_chair_C_face_capt.nif", "ENA_chair_C_face_capt")
pSet = App.g_kSetManager.GetSet("bridge")
pBridge = pSet.GetObject("bridge")
pBridgeNode = pBridge.GetAnimNode()
pCharacter = App.CharacterClass_Cast(pCharacter)
pSequence = App.TGSequence_Create()
pOpenEyes = Bridge.Characters.CommonAnimations.EyesOpenMouthClosed(pCharacter)
pSequence.AddAction(pOpenEyes)
pAction = App.TGAnimAction_Create(pCharacter.GetAnimNode(), "ENA_face_capt_C", 0, 0, 1)
pSequence.AddAction(pAction, pOpenEyes)
pAction = App.TGAnimAction_Create(pBridgeNode, "ENA_chair_C_face_capt", 0, 0)
pSequence.AddAction(pAction, pOpenEyes)
return pSequencewhere 'face' is the character anim move and 'chair' is the chair (doh) anim. There are usually two separate Turn codes, one towards captain, and a reverse.
Hope that helps
