Feature: Penetration chance in the armor shot card

Shows the chance a shot penetrates in the dynamic armor shot card, right-aligned on the shot's result line.

- Penetration varies by ±5% (the same randomisation the armor highlighter shader uses), so the chance is the share of that range where the shot's final outcome is a penetration
- Re-runs the existing shot calculation at different penetration values, so spaced armor, HEAT gap losses and ricochets are taken into account
- For ricochets the chance is shown on the ricocheted shot's line; HE splashes don't count as penetrations
- Adds the `shot_card.stats.penetration_chance` string

Fixes #342
This commit is contained in:
Mark Greene committed 2026-10-08 18:00:57 +13:00
1 parent 7234c39ad8
commit fbdfa2c063
3 files changed
+74 -15

No files matched your search

@@ -43,6 +43,7 @@ export type Shot = {
containsGaps: boolean;
damage: number;
splashRadius?: number;
penetrationChance?: number;
in: {
surfaceNormal: Vector3;