id: has to be unique. Also determinates the order.DEPRECATED. DO NOT USE.
noProjectile: if true, client will not create a projectile object (only cosmetic)
cooldown: number of ticks until you can shoot again
cooldown2: number of ticks to reload the gun after clip is empty
projectileSpeed: distance per tick
pseudoProjectileSpeed: hitscan weapons have infinite speed. On client side, we still display a projectile, using this speed. Also, setting this makes the weapon a hitscan weapon.
predict: if true, client predicts this weapon immediately when you shoot it. If false, only shows after server tells you that you shot. Usually true for hitscan weapons.
dmg: obvious
clipSize: obvious
pickUpSize: how much ammo you gain when you pick up this weapon
reloadSound: name of the sound that plays on reload
shootSound: name of the sound that play on shot
knockback: how much the weapon will get knocked to the top / back when shooting (purely cosmetic) per shot
knockbackMax: how much the weapon will get knocked to the top / back max (knockbacks stack, when shooting multiple times, before prev knockback animation finished)
impactWallSound: name of the sound that play on hit wall
spreadMinZoom: the absolute minimal possible spread that you can have
spreadMin: the absolute minimal possible spread when youre not zooming
spreadMax: the spread you have after you just shot
zoomSpreadMod: multiplier for spread while youre zooming