working climb logic (2d)