Server authoritative
The client sends intentions; the server traces every projectile and resolves the outcome.
Live specifications generated from the same F# records the simulation uses to resolve every shot.
The client sends intentions; the server traces every projectile and resolves the outcome.
Shotgun pellets travel and hit independently; maximum damage assumes every pellet connects.
Each shot carries a penetration budget consumed by world geometry. The wall is part of the equation.
Hits are resolved per body region; headshots apply a damage multiplier.
Figures are implementation values, not promises of realism. Spread values are angular offsets used by the simulation. Damage does not include target-region multipliers or material loss.