I have been trying to fix this setup for a while. I finally made wall climbing and jumping function how I wanted except that if you hold 'W' and move down to fall off the side of a sprite the gravity angle does not change and you ending up falling to the left or right side of the screen rather than drop down.
I've tried setting the gravity angle to change when falling on the last 'Else'; however, that makes jumping up the side of a wall impossible. I've attached my setup below to this post.
Update: I've been able to prevent this using an invisible sprite at the bottom of sprites that can you wall climb against that sets your gravity angle on collision. It seems like a messy solution though and I'd like to try for something better.