player isn't being launched in x direction after wall run and i don't know why

What is the expected behaviour of what you are trying to do, compared to what its doing?

You may also need to normalize your direction vector before it goes into the Dot Product.

(B-A) → Normalize