shells: add LE/APHE/EQKE (mirroring AP/HE/HCHE blast radii) and FLCH (0.6km)

Also dropped the docstring's shell-count/standard-ratio stats, they'd
just go stale again the next time this list changes.
This commit is contained in:
Dominik Moritz Roth 2026-08-09 17:55:56 +02:00
parent c273f57435
commit 90a26b3f85

View File

@ -1,11 +1,9 @@
"""Shell (ammunition) types and their known properties.
From High Command's field reference. Blast radius is None where unknown,
5 of 12 shells (42%) are "standard" (available without special unlock/
research), and all three shells with a known blast radius are standard
ones; the rest are still unmeasured. Feeds into the firing-solution
calculator later (ordnance choice affects what's needed to make a shot
count, e.g. AP required for underground supply caches per the typewriter).
From High Command's field reference. Blast radius is None where unknown.
Feeds into the firing-solution calculator later (ordnance choice affects
what's needed to make a shot count, e.g. AP required for underground
supply caches per the typewriter).
"""
from __future__ import annotations
@ -16,8 +14,12 @@ from enum import Enum
class Shell(Enum):
# description blast_radius_km standard
AP = ("Armor-piercing", 0.05, True)
LE = ("Light explosive", 0.05, True) # same blast radius as AP
HE = ("High-explosive fragmentation", 0.25, True)
APHE = ("Armor-piercing high-explosive", 0.25, True) # same blast radius as HE
HCHE = ("High-capacity bursting charge", 0.50, True)
EQKE = ("Earthquake charge", 0.50, True) # same blast radius as HCHE
FLCH = ("Flechette", 0.60, True)
STAR = ("Illumination star", None, True)
SMK = ("White phosphorus smoke", None, True)
MSTD = ("Mustard (YX) blister agent", None, False)