Also you will have to do some trig as the x,y,z offset values will change as the unit faces different directions
well, not really...as long as you use the firing unit as the reference for the particle (by placing the unit name at the very end of the drop array), the drop effects are created at a point relative to the object, not the standard map x,y,z. So if you set it up to appear at [0,1,1.5] it would always appear one meter in front of the unit, 1.5 meters above the ground, regardless of orientation. But (and a big one at that), this way it would only work for the hieght you set, so if the unit went prone, the smoke would still appear at 1.5 meters...
There is a way to place the drop effects at the muzzle by defining some line in the addon's config.cpp file. I don't know how myself, but perhaps someone with experience in cpp editing could help...(I could use this info as well)
It would look a lot better, and take a lot less scripting to do.
-Grendel