Overview
Immersive P320 adds a low-chance periodic check while carrying a P320 so it can fire unexpectedly from a holster/pocket.
When a discharge happens, it consumes ammo, plays the shot sound, and usually applies damage/bleeding to the carrier.
Use this page as the canonical reference for your shipped settings.json keys and behavior.
Requirements
- The base P320 mod must be loaded.
- Server/session must run this mod so the discharge script executes where characters are simulated.
Configuration
On first run, the mod creates:
Profile/ImmersiveP320/settings.json
Edit this file while the server is stopped, then restart so changes apply.
Default Config
{
"probability": 0.001,
"damage": 8.0,
"checkIntervalMs": 15000
}
Settings
probability
Chance per check as a 0..1 fraction.
0.001= 0.1% per check0.01= 1% per check- Values are clamped between
0and1
damage
Base damage value applied on discharge.
- Also drives flinch behavior (script enforces enough impact for reaction effects)
- Higher values increase lethality/severity
checkIntervalMs
Time between random discharge checks, in milliseconds.
- Lower values = more frequent checks
- Script clamps extremely low/high values for stability:
- minimum effective interval:
500 - maximum effective interval:
600000
- minimum effective interval:
Gameplay notes
- Discharge checks only apply when the weapon is on the character but not currently equipped in hand.
- A discharge requires available ammo (magazine/chamber); no ammo means no shot.
- The effect is designed as rare, high-tension unpredictability rather than constant punishment.
- Bleeding is commonly applied to thigh/calf zones after a discharge, adding medical pressure.
Troubleshooting
| Issue | Things to check |
|---|---|
| No random discharge events | Confirm base P320 mod is loaded and this mod is active server-side. |
| Events feel too frequent/too rare | Re-check probability as a fraction (0.001 is 0.1%, not 0.1). |
| Config not appearing | Ensure the profile path is writable and run once with mod enabled. |
| JSON parse problems | Keep strict JSON formatting (no trailing commas/comments). |