I do an include player and include weapon and include camera in the main.c so they are all seperated and easily transfered to each game. Then in the weapon file i think you could use a c_trace to have the arrow go to your target, maybe event_shoot from the wiki
Also there are tutorials in AUM for each weapon type with examples.