He decreased the damage of the default gun from 30 to 20 and replaced the sounds.
He didn't rename a single datablock.
So what it does is it overwrites the entire gun just to have lower damage and different sounds.
And no, sadly I'm not that good of a coder. All I did was replace the damage and the sounds, and for some reason it overwrites the Weapon_Gun file.
It overwrites Weapon_Gun because it's trying to use the same datablock names.