Beginners question on replication (client can't change variable)

I made an actor called projectile that when it collides with the player, it should change its health. My game has 2 players, the server and the client. Inside the player blueprint it is created a widget called ‘BloodScreen’ that indicates a visual effect that the player got hit. To know which player got hit with the projectile I made a branch that checks if the ‘BloodScreen’ owner is the same as the owner of the player actor. If true, change the health. The problem is if the client is the one being hit, after the branch only the client runs the code and he can’t change variables, so I’m not sure how to proceed. Below is blueprint of what I tried, but the variable does not change for the server, only the client.

It seems that when the server is hit, the variable is changed to all players.

this doesnt really belong on the projectile, consider in future the projectile may want to hit enemies or world targets.

you can use the inbuilt ApplyDamage if you want and then inside the FirstPersonCharacter On AnyDamage you can multicast the ‘bloodscreen’ this way you wont even need checks as only the firstpersoncharacter will have a playercontroller owners.

To set the health just do it on server and make it Replicated