Re: know when player is crouch
You'll want to look for any code that uses PossibleStates.Crouch inside of ControlScripts.cs. It's called quite a few times depending on the situation, so you'll need to comb through it to see which ones you should alter for your needs.