five-on-it / packages/sim/src/shields
packages/sim/src/shields
The ballistic shield (C18, the SWAT team's point officer): a slab of armour carried in front, a character flag (Character.shield). A bullet (a hitscan weapon's shot, weapons.ts) that comes at its bearer from within SHIELD.arc of where they face (their aim) is stopped by it: the hit is recorded, flagged blocked, and takes nothing (damage.ts' applyDamage). A blast, a blow, a dart, a fire or gas is no bullet and hurts as it would, and so does a bullet from the side or from behind: flank the shield, or blow it up. Its weight slows its bearer to SHIELD.pace (gear.ts' gearPace). Lying down (stunned, knocked over, dead) or seated, nobody holds a shield up. The flag is hashed with the character and carried by the snapshots (the client draws the slab).