Descr engine skeleton.txt
Unlike descr_skeleton.txt this file is used by the game even when packed animations are present.
Format is :
type ballista anim idle data/animations/engine/ballista_idle.CAS -evt:data/animations/engine/ballista_idle.evt anim idle_to_moving data/data/animations/engine/ballista_idle2move.CAS -evt:data/animations/engine/ballista_idle2move.evt
the type - ballista in that example is the name that needs to be used in descr_engines.txt at:
Adding New Skeleton
You can add a new skeleton by copying whole section and changing the type name at the start eg:
do the same for the dying one as well.
This might not allow you to make a new animation - though you could possibly use the existing ones for different points in the engines fire cycle. You can also use it to add unique sounds for one particular unit using the new skeleton.
Relationship to Sounds Files
The sounds the engine uses when firing are set in descr_sounds_units_anims.txt new events can be added to that file. The events are called by the .evt files referenced in this file. They are actually just text files with a silly file name!
For instance ballista_recovery.evt just has some comments and:
event SOUND ANIM_BALLISTAE_RECOVER 0 0
so if you make newballista_recovery.evt with contents
event SOUND ANIM_NEWBALLISTAE_RECOVER 0 0
it will read ANIM_NEWBALLISTAE_RECOVER entry in the sound file (assuming you have added one there!)