shotguns already work, just use fof with shots. what he means is a suppressed fire mode, kinda like an m16. pulling the trigger would fire up to x number of shots, after which the weapon needs to go though a reload/cooldown/recharge/whatever cycle. this way you can do rapid fire super weapons and still maintain balence. it also lets you simulate weapon overheating/jamming.
the way id implement it would use fire wait for your actual rate of fire, $Min Reps: and $Max Reps: will set up the number of times the weapon will fire before going into a delay cycle, it will be a random number between min and max or if only max is used it would be fixed to that value. then youd have a $delay cycle, the amount of time your weapon is locked. if you stop firing before reaching the luckup threshold it would incrementally reverse the shot counter over time, but that seems a little to complex for some.
what id like is corcscrew to work with non homing and primary weapons, used in conjuction with particle spew you could get some unreal2 style railgun effects.