Changed Coordinate System to float to better support diagonal movement
and some other minor cleanups