> For the complete documentation index, see [llms.txt](https://cylexdev.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cylexdev.gitbook.io/docs/cylex_mdt/features/incidents.md).

# Incidents

Incident reports: charges, suspects, and evidence

Build incident reports with multi-suspect charge sheets, auto-calculated totals, evidence links, and a tab-based workspace for multiple open cases.

The Incidents page is the operational core of the MDT. Every arrest, traffic stop, robbery, and scene response gets documented here as a structured report with a permanent case number. Reports support multiple officers, suspects, victims, vehicles, evidence links, and penal code charges — and every financial and custodial total calculates automatically as you add charges, so you never have to do the math manually.

### Report list and status filters <a href="#d4d38c71-ab90-45f1-8898-bd8082fee76d" id="d4d38c71-ab90-45f1-8898-bd8082fee76d"></a>

The incidents list shows all reports your department has created, with columns for case number, date, title, suspects, lead officer, priority, and status. Use the search bar to filter by title, location, or officer. The status filter tabs narrow the list to:

{% tabs %}
{% tab title="All" %}
Every report regardless of status.
{% endtab %}

{% tab title="Open" %}
Active reports still being worked.
{% endtab %}

{% tab title="Under Investigation" %}
Reports with active investigative work in progress.
{% endtab %}

{% tab title="Closed" %}
Completed reports that have been resolved.
{% endtab %}

{% tab title="Archived" %}
Reports moved to long-term storage.
{% endtab %}
{% endtabs %}

### Tab-based workspace <a href="#f5531ecd-5fcc-4d6a-ad31-3d01cce7b30c" id="f5531ecd-5fcc-4d6a-ad31-3d01cce7b30c"></a>

Reports open as browser-style tabs at the top of the page. You can have multiple incident reports open simultaneously and switch between them without losing your work. Click **Add Tab** to open an additional report alongside existing ones, just like browser tabs. This is especially useful when cross-referencing a related case while writing a new report.

### Creating a new report <a href="#id-0c37dc7d-a44b-4e44-8c08-c8cdfc3613fe" id="id-0c37dc7d-a44b-4e44-8c08-c8cdfc3613fe"></a>

Click **New Report** to open a blank incident report form.

{% stepper %}
{% step %}

### Fill in the incident information

Complete the core fields in the **Incident Information** section:

* **Report Title** — a descriptive name for the incident
* **Case Number** — auto-generated; you can override it if needed
* **Date & Time** — when the incident occurred
* **Location** — street address or postal code (placeholder: *Vinewood Blvd, LS*)
* **Incident Type** — select from the configured list.
* **Priority** — Critical, High, Medium, or Low
* **Felony Class** — Infraction, Misdemeanor, Class C Felony, Class B Felony, or Class A Felony
* **Damage Estimate** — estimated property or financial damage

All required fields are validated on submit. Missing fields surface inline error messages such as **Date is required**, **Location is required**, and **Incident type must be selected**.
{% endstep %}

{% step %}

### Assign officers

In the **Assigned Officers** section, type a name into **Search officer...** to find and add every officer who was on scene. You can add as many officers as needed — the report tracks them all for accountability.
{% endstep %}

{% step %}

### Add victims and witnesses

Use the **Victims / Witnesses** section to search the citizen database and attach anyone who was involved but not charged. Search by typing a name into **Search citizen...**. Each person is linked directly to their citizen profile.
{% endstep %}

{% step %}

### Add involved vehicles

The **Vehicles Involved** section lets you attach vehicles two ways:

* **Identify Vehicle** — uses the in-game integration to detect a nearby vehicle automatically. The tooltip reads *Detects nearby vehicle via in-game integration*.
* **Add Manually** — enter the plate, vehicle model (e.g. *Adder, Zentorno...*), color, and registered owner by name.

You can also attach a **Vehicle Note** to any involved vehicle.
{% endstep %}

{% step %}

### Add evidence

The **Evidence** section lets you attach photo evidence by URL. Click **Add** and paste an image URL with an optional description. To view items seized at the physical evidence locker, click **Open Evidence** to open the case evidence popup — this is read-only from the MDT; items can only be added or removed at the in-world evidence stash terminal.
{% endstep %}

{% step %}

### Add suspects and charges

See the suspects and charges section below for the full workflow.
{% endstep %}

{% step %}

### Add tags, templates, and linked reports

Before submitting:

* **Tags** — attach colored tags from your department's tag library for fast filtering. Click **Add Tag** and search the tag list.
* **Templates** — apply a saved description template to pre-fill the report description. Select one from the template picker to load it instantly.
* **Linked Reports** — link related case numbers by searching **by report title or location...**. Linked reports appear in a **Linked Reports** panel and can be opened directly from the current report.
  {% endstep %}

{% step %}

### Submit the report

Click **Submit Report** to save. The report is assigned its final case number and appears in the incidents list. You can continue editing after submission — click **Update Report** to save changes.
{% endstep %}
{% endstepper %}

### Suspects and charges <a href="#b2e2097b-b033-4d45-b312-ae4e68088106" id="b2e2097b-b033-4d45-b312-ae4e68088106"></a>

The charges system is the most powerful part of the report builder. Every time you add a charge, the four running totals update automatically.

{% stepper %}
{% step %}

### Add a suspect

Click **Add Suspect** and search by citizen name. The suspect is pulled from the citizen database and added to the report. You can add multiple suspects to a single report.
{% endstep %}

{% step %}

### Select charges

Under each suspect, click **Add Charges** to open the charge selector. Search the penal code by charge name or category, then select all applicable charges. Click **Add Charges** to apply them to the suspect.

Each charge carries:

* **Fine** — monetary penalty in `$`
* **Sentence** — jail time in months
* **Warrant Time** — how long an arrest warrant stays active (in minutes per charge; set to `0` for unlimited)
* **Community Service** — hours assigned

The available charge categories are: Violent Crimes, Property Crimes, Drug Offenses, White Collar, Traffic, Weapons, and Other.
{% endstep %}

{% step %}

### Review auto-calculated totals

As you add charges, four totals update at the bottom of each suspect's section:

| Total                 | Description                              |
| --------------------- | ---------------------------------------- |
| **Total Fine**        | Sum of all charge fines for this suspect |
| **Total Sentence**    | Sum of all jail sentences                |
| **Warrant Time**      | Combined warrant countdown duration      |
| **Community Service** | Combined community service hours         |

The maximum fine is `$10,000,000` and the maximum sentence is `9,999` months.
{% endstep %}

{% step %}

### Add suspect notes

Below each suspect's charge list, you can type **Suspect-specific notes** to record additional context about that individual's involvement.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Marking a suspect as **Wanted** in the report triggers a BOLO with the warrant countdown derived from the total warrant time of their charges. This appears on every officer's dashboard wanted list immediately.
{% endhint %}

### Incident types <a href="#id-9fcba853-e143-4b8c-9655-644da6333759" id="id-9fcba853-e143-4b8c-9655-644da6333759"></a>

The incident type dropdown is populated from `Config.IncidentTypes` in `editable/config.lua`. The default types are:

```lua
Config.IncidentTypes = {
    'Armed Robbery',
    'Bank Robbery',
    'Drug Trafficking',
    'Grand Theft Auto',
    'Aggravated Assault',
    'Kidnapping',
    'Homicide',
    'Burglary',
    'Traffic Accident',
    'Other',
}
```

Add or remove entries from this table to match your server's penal code structure.

### Report statuses and lifecycle <a href="#id-669a3210-5496-4454-88f1-d3c813634eb0" id="id-669a3210-5496-4454-88f1-d3c813634eb0"></a>

<details>

<summary>Changing a report's status</summary>

Open any report and click **Change Status** to move it through its lifecycle. The four statuses are:

* **Open** — the report is active and being updated
* **Under Investigation** — active investigative work is ongoing
* **Closed** — the case is resolved
* **Archived** — the report is preserved for record-keeping but no longer active

Closing a file displays a **File Closed** indicator and switches the report to **Read Only** view mode to prevent accidental edits.

</details>

<details>

<summary>Deleting a report</summary>

Open any report and click **Change Status** to move it through its lifecycle. The four statuses are:

* **Open** — the report is active and being updated
* **Under Investigation** — active investigative work is ongoing
* **Closed** — the case is resolved
* **Archived** — the report is preserved for record-keeping but no longer active

Closing a file displays a **File Closed** indicator and switches the report to **Read Only** view mode to prevent accidental edits.

</details>

{% hint style="danger" %}
Deleting a report is permanent. All suspect records, charge totals, linked evidence, and officer assignments attached to that report are also removed. Archive the report instead if you need to preserve the record.
{% endhint %}
