I managed to get the 'legs' functioning nicely, it sortof works like an enhanced version of smooth 8 way movement now.
The next challenge is going to be interesting... what I want is to have the torso always look at the mouse pointer. That part is simple, I've already put it in. The more complicated bit is to orientate the legs after a certain rotation.
If you think about your body, you can turn your upper body about 90 degrees before you have to move your feet and change orientation completely. This is what I'm trying to emulate - the upper body will hit a certain angle then the legs will move to compensate.
The way I have my legs set up is using a single sprite with one angle (default 0, right). I borrowed Intrepids's cap on rotation to test this out and have edited it to a point where it uses a new system. A second object is used to set the outright orientation while the legs smoothly work round a circle to match the angle. WASD keys are assigned a number - meaning that they can be added/subtracted to give unique numbers for each direction. This allows diagonal movement aswell. So when you press W for example, the second object looks directly at the vector 0, -1 (vertically up) and the legs will then smoothly rotate to face upwards from whichever direction they were previously facing. This is done by having events for each number (which is stored in a private variable in the leg sprite) which tell it what action should happen.
It's still in a simple stage but here's a cap so it might be easier to understand. I think I'm still running .91 and not the latest unstable, so it should be ok for most.
If anyone can suggest ways to make this more efficient (it looks rather messy to me) or any theories on implementation I'd love to hear them