Okay, got something for y'all - the basic hit indicator is implemented, with a globally-defined threshold. Here are two examples of it in action, both with the damage threshold for glancing defined at 5% of the damage required to crash land the ship (2.5% of total damage capacity):
The first image is against an Envoy, 1000 HP, going up against a Gatling Lascannon, which can do 3-6 damage per hit, less than the threshold of 25 (1000 / 2 * 5%) - all hits should be glancing, so the gat doesn't tell you much information about the ship's total health. If you used something that does 30-40 damage, some hits would be glancing, some not, so you can guess at the total HP if you didn't know it before.
The second image is against a Gov't Fusion Cruiser, 30 armor, so my craft's Bulldog Cannon does nothing - we see the message for no damage.
Here are the necessary items defined in the ruleset:
ufoGlancingHitThreshold: 5
extraStrings:
- type: en-US
strings:
STR_UFO_HIT_NO_DAMAGE: "BOUNCED OFF THE HULL!"
STR_UFO_HIT_GLANCING: "GLANCING HIT!"
Edit: I've successfully exposed firing sound per ufo to ruleset, only need to define fireSound: on a ufo based on what you've added through extraSounds to GEO.CAT. It defaults to the original sound, so the vanilla compatibility is preserved. Looking at the beam size comes next! Source can be found
here.