Weapon Switching - I can switch guns, but how do I fire from each one?

You can do this by overriding the Shoot function in the children of BPWeaponMaster.

Then the logic would work like so:

You can make classes like BPWeaponPistolMaster that inherit from BPWeaponMaster and have all your pistols inherit from that class instead of BPWeaponMaster. Then in BPWeaponPistolMaster, you could override this function to fire pistol ammo and not have to do it for every pistol manually.