This is an fps project that endeavors use extendable scripts and resources to handle weapons cleanly.
To make a weapon:
Create a new weaponresource Set the model, recoil curves and other data. Go to the player scene, find the weaponhandler node, and drop your new resource into the weaponlist array.