Best way to implement a local m1 system

I’ve been creating an m1 system for my game and right now each weapon uses Roblox tools.
Should I create an individual local script for every weapon and have it under the original or create a base local script that stores every local function in which I can draw from through determining the weapon a player has out when a key bind is pressed? It seems to be more organized for me but is it more optimized?