I can literally do all this already. Except the crouching animation but I have made it so it's impossible to crouch under bricks though.
You can't do the "change datablock preferences like how we did with movements" part. He may have worded it poorly but he's referring to the .setMax_Speed functions on a player. It would be nice to have a few more of those, like runforce, jumpforce, and mass. This isn't something we can do with scripts, and not even something that's possible with just a server sided dll.
That's changing hitboxes. Code uses %player.isCrouched() so you do 2.1x damage when crouched. Do we really want that if they really are not crouching?
That is something that can be changed though.