Networking - Client can't affect a variable

So I’m making a bow and arrow wich needs to work in multiplayer and I can get both the server and clients to shoot the arrow and all clients+server can see the arrow, but only the server can use the “charge” feature of it.

On top is the “charging” and I’ve printed out all of those variables and they work on both the client and server, but when its used after the “has authority” only the server can actually draw the bow correctly. Whenever a client shoots, the vector says 0.0.0. Nothing of the “charging” is replicated but it seem to work on both client and server and I don’t know if they need to be replicated, and if that would even make a difference. How do I make sure the client also can fire the arrow properly by changing the arrow power variable?

I’ve made the arrow timer also run on the server, but not replicated, it seem to work, but I need to figure out how to send the “last arrow spawned” variable to the client as well as the power