I'm trying not to give a line-by-line reply because those are annoying. So here's a counter-rant.
Yes, any system that simulates projectiles properly will become complex. But your system will still be unnecessarily complex to begin with, because there is no rationale for dividing body parts into a fixed set of areas, especially when you use height as the sole determinant in a 3D body system. Trying to shoehorn all possible situations into that system will yield problems even with current gameplay situations.
I brought up parabolic arcs because you claimed your system would model those realistically, which it can't. Okay, parabolas are hard, I grant that. But as I already explained, your system can't even handle simple, common situations like marksdwarves shooting (with straight-line trajectories) from towers at steep angles. You can't glibly say "MOST of the time" and dismiss 90% of all encounters (depending on one's play style, naturally).
The angle of impact doesn't only affect chances of hitting organs within a body part, it also affects what body parts are going to get hit. For example. A humanoid shot from directly above will almost certainly get struck in the head or shoulders, because his lower body is rarely wider than his shoulders. Simple scalar weighting cannot solve this -- you would basically have to include a trig function of angle as a weighting factor (let me know if you this is gibberish to you), and that function would have to be handcrafted for every single body part in every body template.
Now that we've done that, we have to account for rare, unheard-of situations like getting shot in the back, i.e. horizontal angles, which requires an additional trig function for every body part. And these functions aren't just "3sin(theta)," they are piecewise monstrosities that will takes ages to construct.
It's interesting that you mention starting points and directions of wound paths, because that approach (i.e. using body part positioning) will apply outside of the body as well. What you're doing is trying to use one system for external impacts, and another for internal impacts, when in fact it can ALL be handled by one system -- one that should be able to use relative part sizes and positions in conjunction with direction of impact to generate a rough wounding silhouette on the fly. Unless you're suggesting having miniature 1-7s for organs within each body part, in which case I give up.
Ok, there is only 1 example that I can think of in which my system would produce an unlikely result. That is a dwarf many z-levels down shooting up across a very few squares (so shooting at a target which is far higher than itself. My system would result (probably) in the guy at the top being hit in the head. However, the example with the dwarf on top of a tower shooting down is simulated properly. He is most likely to hit in the head or high torso. If the target was further away from the tower, he would be more likely to be hit in the chest or feet. Also, is it even possible for dwarves to shoot from towers at steep angles? As far as I knew, the height of the tower dictates the minimum distance away that they can shoot, so a 2 z level high tower would only be able to shoot at a target 2 squares away from the wall. I didn't glibly say MOST of the time
.
As for you talking about making a trig function, I think you are missing the fact that the game does not SHOW the angle that an arrow enters the dwarf. That is all down to imagination. I don't see how a random wound line wouldn't perform basically the same (at least on the surface) as a carefully calculated line. If the worst comes to the worst, you could simply see if the dwarf's target is above or below the dwarf, and alter the rules accordingly, to change the type of arc. And the reason that I divided the body parts into heights was to enable the arrow to hit a realistic area. I mean, if Toady's current system represents heights better than this, you could simply apply the height principal to the arrow and use Toady's height system. It doesn't have to be divided into 7s, but I do think it has to be divided, to allow for realistic projectiles.
And getting shot in the back is the same as getting shot in the front in my system, I'll grant you, but does it really matter? it isn't like the player can tell the orientation of an object anyway, and if you could, you could easily adjust the system to incorporate the direction the character was facing.
Oh, and one thing I forgot to mention as a possibility would be to have it so that the 1-7 system also dictates some randomization in range, so basically the computer selects a number between, say 2 and 5, which dictates how long the arrow remains in each state. a 5 would mean it would move a total of 35 squares and a 2 would mean 14. Just a thought.
I also don't see how Toady would incorporate body part positioning into his simulation of external impacts from projectiles. I have a feeling (but I could well be wrong) that it will be more along the lines of "select body part randomly, with weighting placed on larger parts, draw random wound line from there". Which is all well and good, but does not incorporate ranges at all. So you could shoot a guy from point blank range and you would have greater chance of hitting his MASSIVE left testicle than his head. But then again that is based on a few assumptions.
Ok, seeing as how I seem to be getting flak for suggesting a practical solution to the problem, here it is. Perhaps someone else has a better suggestion than mine.
- Range should affect where an arrow hits (or possibly just the randomness)
- Skill should have an effect on the effect of range (so skilled archers perform better than poor archers over longer ranges)
- Projectiles should travel in arcs
Also, is it just me or do most of my threads turn into vast, unscalable walls of text mere minutes after their creation? :3