How to create custom scripted ENT with ragdoll-like properties/physics?

I need to create a ENT which is ragdoll-like and spawn it on PrimaryAttack . The model (a snake) is done and works if spqwned in sandbox. It works if I create a “prop_ragdoll”. The reason I dont want to use prop_ragdoll is, that I need the Entity to move, detect distance between itself an players etc. In short, I need it to have a Think method. Is there a way to do this?