api.lua:
58: made reload work for mutliple types of ammunition.
76: made fire function take spread and pellet value.
89: fixed bullets falling being slightly above the crosshair.
100: fire bullets for every pellet, and do spread. doing mutiple bullets here instead of mutiple fire() keeps the sound from sounding multiple times.
165: fixed burst guns getting destroyed when empty.
159: remove splash_fire, use mutliple pellets in gun def.
198-212: pass pellet and spread defs.
205: not sure what this was, it isn't an actual method and causes crash. works fine without.
236: non-automatic weapons would only shoot once, as their interval[name] would not increase with time.
remaining lines: passing defs and giving default values.
I think the other files are fairily readable, so I won't document those changes unless needed.