Yes, families is the key since you have multiple objects. Otherwise you'll have to cleverly and with elbow grease put in some clever events. And you'll eventually run out of free events that Construct 3 allows you to have before you have to upgrade.
One other approach I use but will also be event heavy is one sprite, multiple animations, and frames within each animation. You'll still need events to check which ammo type or weapon type is used in order to do your work. Shotgun spray for example would act differently than a laser beam, etc..., well in theory.
I made a weapon one time that had a random bullet type coming out of it from an RPG, to MP5, to Shotgun to grenade (frag, cyro, acid, gas), etc..., it was a lot of fun but a lot of planning to execute.
I make a lot of sci-fi game environments and use weather patterns to affect projectile performance but don't get me started... I am a Business Intelligence / Data Science professor by day so thinking up all kinds of data, variables, etc.., is my zone.