SetupMove is called before the engine process movements. This allows us to override the players movement.
See Game Movement for an explanation on the move system.
Make drowning even more entertaining:
Disable the player's ability to jump by removing a key from CMoveData: