Corpses (vehicle) are a royal pain:
a) Most “catch”/intercept shots that go anywhere near them;
b) Most do so over a much larger area than they should
c) Units make no attempt to go around or avoid corpses when it comes to shooting at targets on the other side of them
d) Opposite of what would be expected, units closer to a corpse are more disadvantaged that those further away due to the minute chance of a far-away shot going by the corpse and hitting the proper target.
e) We still don’t have a ressurector!
If you want to change the collision volume I suggest the following:
collisionVolumeType = box;
collisionVolumeOffsets = 0 0 0; //or whatever
collisionVolumeScales = 32 32 64; //or whatever
collisionVolumeTest = 1; //or whatever; 0 = discrete (checks projectile position only each frame), 1 = continuous (ray traces)
A caveat to collision volumes: just because a shot collides with a feature doesn’t mean it will damage it (there’s a different behavior for units, but that’s another story). To damage an feature, the shot needs enough AoE to reach the target’s center. All weapons with more than 8 AoE will do at least a little damage as well assuming they hit within they hit within the feature’s radius (use the radius tag to set this).
There’s also a Lua function Spring.SetFeatureCollisionVolumeData, but I haven’t tested it.
I seem to remember there being a feature tag in OTA which determined the % of shots hitting a feature would actually be stopped, ie only 25% of shots colliding with the feature would detonate, rest would pass through as if it weren’t there (useful for trees, bushes, plants, fences… etc). Does this exist in Spring?
As a note, smallarms currently ignore features for hit detection. Forests were just too random with infantry/MGs otherwise.
Speaking of which, we should also convert all unit hitspheres into boxes and other logical shapes besides circles.