Browse docs
Oil Spills
Persistent oil spill creation, spread behavior, cleanup requirements, and public integration points.
System overview
Sky Fire Job includes a persistent oil spill system with:
- Server-authoritative spill creation
- Database persistence
- Vehicle-origin spill creation
- Splash spread from moving vehicles
- Bound and cleaned spill states
- Item-gated cleanup validation
Spills are stored in sky_fire_oil_spills and reloaded on resource start.
Cleanup flow
The default workflow is:
- Use
oil_absorbentto bind a fresh spill. - Use
broomto sweep a bound spill.
Cleanup access can require:
- A firefighter job
- On-duty status
- Correct cleanup item
- Valid interaction distance
Absorbent minigame
The latest implementation replaces a simple timed absorbent action with an interactive spreading minigame. Firefighters must visibly cover the spill before the server accepts the bind phase.
This keeps item validation, distance checks, duty checks, and final state changes server-authoritative.
Spill spread
Moving vehicles can splash fresh spills and create smaller secondary puddles. The splash system uses configurable values for:
- Minimum speed
- Low, medium, and high speed tiers
- Splash count
- Spread radius
- Cooldown
- Wear reduction of the source spill
Public integrations
Other resources can create, remove, or list spills through supported exports:
CreateOilSpillRemoveOilSpillGetOilSpills