Gunshot Residue (GSR)
The GSR system provides a realistic way to track and analyze firearm discharge history on suspects.
🧪 What is GSR?
Gunshot Residue (GSR) consists of trace chemical particles deposited on the hands, clothing, and hair of an individual when they discharge a firearm. In this system, GSR is a persistent state that can be tested by law enforcement.
📋 Key Features
⏱️ Realistic Persistence
GSR doesn't disappear instantly. It remains on the suspect for a configurable duration (default: 30 minutes), allowing officers to catch suspects even well after a shooting has occurred.
🧼 Cleaning Logic
Suspects can attempt to remove GSR by washing themselves.
- Water Cleaning: Standing in water (pool, ocean, lake) will trigger a cleaning prompt.
- Time-Based Decay: Residue naturally wears off over time as the suspect moves and interacts with the world.
📦 Field Testing (GSR Kit)
Officers can use a GSR Test Kit item to perform a field test on a suspect.
- Interaction: Use the item near a suspect to trigger an animation and progress bar.
- Results: Immediate notification indicating if the suspect is "Positive" or "Negative" for gunshot residue.
⚙️ Configuration
You can customize the GSR behavior in shared/config.lua:
Config.Residue = {
enabled = true,
allowCleaningInWater = true,
cleaningDuration = 5000, -- Time to clean in water (ms)
testDuration = 3000, -- Time to perform the field test (ms)
}