# Body Armor

Body armor is passive round equipment. It does not occupy a weapon slot, and it is removed during round reset along with other round-scoped passive equipment.

Current gameplay behavior:

- Detectives spawn with body armor.
- Body armor can also be purchased through the shop when available.
- Body armor reduces incoming damage by 30% before health is applied.
- The reduction applies to `bullet`, `explosion`, and `prop` damage.
- The reduction does not apply to `melee`, `fire`, `fall`, `drowning`, `stomp`, or generic world damage.
- A damage source can bypass armor entirely by applying the `ignore_armor` damage tag.
- Certain weapons can bypass armor on headshot via a per-weapon `IgnoreBodyArmorOnHeadshot` flag in `WeaponData`.
- Deagle and M24 currently use that headshot bypass flag.

Implementation notes:

- Mitigation happens in `BodyArmorComponent.PreDamageTaken`, not after damage is applied. This lets armor affect lethal calculations correctly.
- Passive round equipment cleanup is centralized through `RoundEquipmentService`, so future non-weapon-slot items can participate without inventing one-off reset logic.
