Build the read-only Body Locations tree for the Combat tab: each zone
with its body parts, each part with its hit locations, and per-location
protection totals computed as natural base + equipped armor for every
aspect (blunt/edged/piercing/fire). The armor contribution comes from the
actor's worn armor aggregated onto the body structure (see aggregateArmor);
natural protectionBase is left untouched, so the sum is the effective
protection shown per location. Pure — no Foundry dependency.
Build the read-only Body Locations tree for the Combat tab: each zone with its body parts, each part with its hit locations, and per-location protection totals computed as natural base + equipped armor for every aspect (blunt/edged/piercing/fire). The armor contribution comes from the actor's worn armor aggregated onto the body structure (see
aggregateArmor); naturalprotectionBaseis left untouched, so the sum is the effective protection shown per location. Pure — no Foundry dependency.