Two Classes For Replication

So I have a class for my gun. On my client, when I call the :Fire method, it will draw the bullet and add all the flash effects, but also reduce the ammo count locally. For other clients, when I call the same :Fire method, it will draw the bullet and all the flash effects, but there will be a check right before reducing the ammo count to make sure if that client actually owns that weapon.

I don’t know if using the same object for replication and for the owning client with checks on when to do what depending on the scenario bad practice or not. Should I have two classes instead? One that deals with the visuals and another that deals with the background type issues such as ammo count?