function getRagdoll(ENTITY* entity, VECTOR* velSpeed)
{
VECTOR vAng;
var vStrength = 1.2;
...
...
...
while (1)
{
ang_for_bone(vAng, entity, "bHips");
pXent_addtorquelocal(bHips, vector(-vAng.z*vStrength*time_step, vAng.y*time_step, 0));
ang_for_bone(vAng, entity, "bRLeg");
pXent_addtorquelocal(bRLeg, vector(-vAng.z*vStrength*time_step, 0, 0));
ang_for_bone(vAng, entity, "bLLeg");
pXent_addtorquelocal(bLLeg, vector(-vAng.z*vStrength*time_step, 0, 0));
ent_bonereset_all(entity); // resets all bones of the current pose
ent_bonerotate(entity,"bHead", bHead.pan); ent_bonemove(entity,"bHead", vector(bHead.x,bHead.y,bHead.z-75));
ent_bonerotate(entity,"bBody", bBody.pan); ent_bonemove(entity,"bBody", vector(bBody.x,bBody.y,bBody.z-30));
ent_bonerotate(entity,"bHips", bHips.pan); ent_bonemove(entity,"bHips", vector(bHips.x,bHips.y,bHips.z+15));
ent_bonerotate(entity,"bRArm", bRArm.pan); ent_bonemove(entity,"bRArm", vector(bRArm.x+55,bRArm.y,bRArm.z-50));
ent_bonerotate(entity,"bLArm", bLArm.pan); ent_bonemove(entity,"bLArm", vector(bLArm.x-55,bLArm.y,bLArm.z-50));
ent_bonerotate(entity,"bRLeg", bRLeg.pan); ent_bonemove(entity,"bRLeg", vector(bRLeg.x+15,bRLeg.y,bRLeg.z+60));
ent_bonerotate(entity,"bLLeg", bLLeg.pan); ent_bonemove(entity,"bLLeg", vector(bLLeg.x-15,bLLeg.y,bLLeg.z+60));
wait(1);
}
}