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:

  1. Use oil_absorbent to bind a fresh spill.
  2. Use broom to 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:

  • CreateOilSpill
  • RemoveOilSpill
  • GetOilSpills