Fixed collision logic. It was not running movement logic if there was a collision, when it obviously needed to continue moving. This is why it would get stuck sometimes.