as long as DeleteBall is called from the OnRep function of the CurrentAmmo variable, something like that should work, although i wouldn’t use toggle visibility. instead i would use set visibility, just in case the visibility effect goes out of sync with the ammo state. also, i wouldn’t use a multi gate for this, i would put the static meshes into an array, and use foreach loop to set the visibility. maybe DeleteBall should be renamed to HideBall, so its more descriptive of what its actually doing.
im not sure what the BulletRemoval variable is for, but it seems like a redundant copy of the CurrentAmmo.