[HEAVY WIP] Ports TG's gun code.
Just making a PR atm, nothing else to see here folks.