Re: Leg dismemberment only when facing Left??...
Well, I haven't done this in quite a while.
Anyway,
First thing I see is sprite size inconsistency.
If you have an animated sprite (000,001, etc.) then it is highly recommended to have consistent size, say, a 10x10px sprite on all frames.
This is a must because there is a variable called 'SpriteOffset' that is used to determine the 'center of gravity' of the sprite, thus, if you will set it right for the first frame (SpriteOffset is X/2 Y/2 of the sprite size (Except some special occasions), so for the 10x10px example, the SpriteOffset will be 5x5), on the second frame the 'center of gravity' and the actual position of the sprite may shift due to the size of the sprite being different.
For example, if your 000 sprite is 10x10px (5x5 SpriteOffset), and the 001 sprite is 12x10px, when animated you will see a shift of 2px on the X axis due to the fact that 5x5 is not the center for the 001 sprite.
So once you get the sprite sizes corrected, you will need to set the correct SpriteOffsets (Remember, X/2 Y/2).
You might see some factions with offset variables like X=1.5 Y=1.5, and although these will not crash your game, they will actually contribute to nothing at all because there really isn't a thing such as 'half a pixel'... It's like 'half an atom' and that doesn't really work (Well, technically it does... But not in this scenario), so try keeping the variables as wholes (for example: If you have a 13x13px sprite, just set it to 6x6 or 7x7).
The second problem I see is JointOffsets.
Joint offsets are used to determine the point on the sprite which will be the fixed rotation point.
To set correct jointOffsets, you must first set correct SpriteOffsets.
When setting JointOffsets, be aware the the SpriteOffset you set will be the X=0/Y=0 values of the JointOffset.
For example, on a 10x10px sprite the SpriteOffset will be X=5/Y=5, a JointOffset with X=0/Y=0 values will set the rotation point to the center of the sprite.
And finally the ParentOffsets on the attachables.
ParentOffsets determine the position of the object on the parent (i.e. The position of the head/leg/arm on the body).
Another thing to be aware of the X/Y axis in Cortex Command are reversed.
That means that on the X axis, anything LEFT of the center will be a positive value and anything RIGHT of the center will be negative.
Same goes for the Y axis, anything UP is negative, anything DOWN is positive.
Although there are some variables (Like X axis on some ParentOffsets) where that doesn't apply and the values behave like they should.
By the way your actor is quite larger than standard actor size so that does make it a little bit more difficult to get all the offsets correct.
Also the fact that it is larger and the arms are longer, the position of the hand is incorrect and I couldn't really recall what needs to be done to shift it's position.
But since you don't need the hand it doesn't matter.
Attachment:
Adjoint Mage.rte.rar
Please look through the sprite files and the 3 offset variables and try to understand exactly what I did there.
The body shape is quite weird so I might have set the leg offsets quite as you intended them.
You can edit the ParentOffset values on the body for better results.
Also, you should add at least one more frame to the leg sprite animation for walking to look a little bit more natural.
I hope this is understandable enough and helps you with future mod making.