Help understand RPCs (client to server calls)

Thanks for the suggestion BiggestSmile, I do check for authority in the real code (the above is a contrived example of the issue).

I managed to get it to work with what feels like a crummy workaround: I moved the server function to the Character and the weapon calls that one when it does not have authority (which in turn calls the weapon function to apply the changes :\ ).

I doubt this is the proper solution, and I’m far from understanding why this is happening