Right, didn't get much of a chance to do much on this today, but I took a quick look at the LD class, and it looks like it
may be subclassable for this purpose.
For the animations, it doesn't seem like there's any way to directly add animations for a custom weapon, but I'm going to get in touch with the I44 team to see if they'll share their knowledge on how to check if a unit is standing, crouching or prone. If I can get that sussed, I may have a somewhat hacky method of introducing the custom anim to a unit without toying with the main config.cpp/bin. I'll update as I go.
As for the maths involved in getting positions, it shouldn't be too much of a problem; just some trig. I'm loathe to base it on hits, though, since I'm thinking of, among other things, an example where you need a picture of, say, three officers. I'd much rather a distance check of the projectile in flight,since that would mean you don't need to "snipe" one of the guys, or shoot at the ground between them. Though it is, as you say, worth looking into.
edit:Right then. Haven't had much time to devote, but have come to a couple of conclusions (feel free to correct me on any of these).
The half-baked idea I had for getting a custom static anim in is a bust. It hadn't occurred to me until tonight that since there would be no way to class the anim as a combat action, there'd be no way to bring up the "iron sights". Or "fire" the camera, for that matter. So, I'll just have to work around the current animations. No biggie, it's just an aesthetic thing.
The LD is effectively not workable for this purpose. While there's a nifty resource that goes into how the LD target can be used in various ways, there's still no way to detect a "fired" status. If we stretch, we could use a player action or radio trigger, but that's clunky at best, imho.
So the way I figure, using a "bullet" would probably be our best bet, with a fast loop checking against a list of mission targets, as outlined in my previous post. I'll see what I can figure out if I find some time.