Your format looks good. I’m assuming those are all vanilla groups. Be aware, when you add the “ammo” flag you’re adding it to the entire item_group, or overwriting what was there. This is probably an unintended consequence and will yield results you don’t expect. To get around this, you could nest them inside another group. So it’d be “guns_shotgun_rare” [ group: RV_shotguns", 100] and then rv_shotguns whould be the entry you have above.
edit: sorry for the sloppy psuedo code, I’m tired and too lazy to do it right.
edit2: don’t make it 100 percent chance if it’s going into a distribution, I think that’ll bork things. Collections are ok though.