> For the complete documentation index, see [llms.txt](https://lng.gitbook.io/lng-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lng.gitbook.io/lng-docs/companion-mod/basics/profiles-lngcompanion-apexmissions-mastermissions-json.md).

# profiles\LNGCompanion\ApexMissions\MasterMissions.json

***

#### 📻 `MasterMissions.json` Overview

The `MasterMissions.json` file controls the Apex City Dispatch System. These are repeatable, dynamic PvE missions that spawn around the city. When players complete these missions, they are rewarded with high-tier loot drops and directly contribute to healing the City's Core Health.

***

#### ⚙️ Global Dispatch Settings

These settings control the server-wide radio announcements that guide players to the missions.

| **Property**                   | **Type** | **Description**                                                                        |
| ------------------------------ | -------- | -------------------------------------------------------------------------------------- |
| `ConfigVersion`                | `Int`    | Do not change. Used internally by the mod to track data wipes.                         |
| `DispatchRadioIntervalSeconds` | `Int`    | How often (in seconds) the Dispatch Radio broadcasts available missions to the server. |
| `DispatchRadioTitle`           | `String` | The UI header text for the broadcast message.                                          |
| `DispatchRadioPrefix`          | `String` | The prefix placed before the actual mission text (e.g., `"Intel: "`).                  |

***

#### 🚀 Mission Configuration Variables

Each object inside the `Missions` array represents a unique event. Here is the breakdown of every variable you can configure.

**Identity & Location**

| **Setting**                   | **Type** | **Description**                                                                  |
| ----------------------------- | -------- | -------------------------------------------------------------------------------- |
| `MissionID`                   | `String` | Unique internal identifier (e.g., `"POLICE_SIEGE"`). Do not use spaces.          |
| `MissionName` / `Description` | `String` | The UI display text players see on their screen/radio.                           |
| `TriggerPosX / Y / Z`         | `Float`  | The exact center coordinates where the mission takes place.                      |
| `TriggerRadius`               | `Float`  | How close players must get to activate the mission.                              |
| `TriggerCooldown`             | `Float`  | Time (in seconds) before this specific mission can spawn again after completion. |

**Mechanics & Mission Types**

| **Setting**                 | **Type** | **Description**                                                                                                 |
| --------------------------- | -------- | --------------------------------------------------------------------------------------------------------------- |
| `MissionType`               | `String` | The logic driving the event. *(See Quick Guide below for details)*.                                             |
| `ToxicGasClassname`         | `String` | Spawns a hazard (like `"Grenade_ChemGas"`) in the zone to force players to use NBC gear. Leave `""` for no gas. |
| `TargetInteractClass`       | `String` | The physical object players must interact with for `DELIVER` or `DEFEND` missions.                              |
| `RequiredTool`              | `String` | Specific tool needed in hands to interact (if applicable).                                                      |
| `RequiredItems` / `Amounts` | `Array`  | A list of items (and exact quantities) the player must turn in.                                                 |
| `KillCountRequired`         | `Int`    | How many target creatures must be killed to win.                                                                |
| `DefendDurationSeconds`     | `Int`    | How long the player must hold the zone to win.                                                                  |

**AI Hordes & Spawning**

| **Setting**            | **Type** | **Description**                                                               |
| ---------------------- | -------- | ----------------------------------------------------------------------------- |
| `TargetCreatures`      | `Array`  | Specific AI classnames that count toward the `KillCountRequired`.             |
| `WaveCreatures`        | `Array`  | AI classnames that will continuously spawn to harass the player.              |
| `BossCreatures`        | `Array`  | Elite/Heavy AI classnames spawned during the event.                           |
| `MaxActiveZombies`     | `Int`    | The absolute cap on how many AI can be alive in this zone at once.            |
| `SpawnRadius`          | `Float`  | Distance from the trigger center where the AI physically spawn.               |
| `SpawnIntervalSeconds` | `Int`    | How often (in seconds) the system tries to spawn new AI to replace dead ones. |

**Rewards & Cleanup**

| **Setting**           | **Type** | **Description**                                                                                         |
| --------------------- | -------- | ------------------------------------------------------------------------------------------------------- |
| `CoreHealthReward`    | `Int`    | Amount of health instantly granted to the Apex City Core upon victory.                                  |
| `LootPayload`         | `Array`  | List of reward objects. Includes `ItemName`, `DropChance` (e.g., `1.0` = 100%, `0.1` = 10%), and `Qty`. |
| `CleanupDelaySeconds` | `Int`    | Time before dead bodies and event objects are deleted.                                                  |
| `CleanupBlacklist`    | `Array`  | Item classnames strictly ignored by the cleanup sweep (usually high-tier loot).                         |

***

#### 💡 Quick Guide: Understanding Mission Types

The `MissionType` variable dictates how players actually complete the event. You must configure the variables to match the type!

1. `"CLEAR"`: A hunting mission. The player must kill a specific number (`KillCountRequired`) of the specific AI listed in `TargetCreatures`.
2. `"DELIVER"`: A supply run. The player must bring the exact items listed in `RequiredItems` (in the exact `RequiredItemAmounts`) and deposit them into the `TargetInteractClass` object.
3. `"DEFEND"`: A holdout mission. The player must stay near the `TargetInteractClass` for the exact time listed in `DefendDurationSeconds` while surviving the `WaveCreatures`.

***

#### 💻 Example Configuration

Below is a heavily condensed snippet showing one `"CLEAR"` mission and one `"DELIVER"` mission.

JSON

```
{
    "ConfigVersion": 9,
    "DispatchRadioIntervalSeconds": 1200,
    "DispatchRadioTitle": "Apex City Dispatch",
    "DispatchRadioPrefix": "Intel: ",
    "Missions": [
        {
            "MissionID": "POLICE_SIEGE",
            "MissionName": "Apex Police Station Siege",
            "MissionDescription": "Clear the armored infected to secure the armory.",
            "MissionType": "CLEAR",
            "TriggerPosX": 12478.62,
            "TriggerPosY": 8.23,
            "TriggerPosZ": 11066.12,
            "TriggerRadius": 50.0,
            "SpawnRadius": 15.0,
            "TargetCreatures": [ "ZmbM_PolicemanFat" ],
            "KillCountRequired": 150,
            "WaveCreatures": [ "ZmbM_PolicemanFat", "Horror2_fat" ],
            "MaxActiveZombies": 20,
            "SpawnIntervalSeconds": 2,
            "TriggerCooldown": 1800.0,
            "CoreHealthReward": 15,
            "LootPayload": [
                { "ItemName": "Gem_1", "DropChance": 1.0, "Qty": 2 },
                { "ItemName": "LNG_Card_Gun_Rare_1", "DropChance": 0.89, "Qty": 1 }
            ]
        },
        {
            "MissionID": "HOSPITAL_OUTBREAK",
            "MissionName": "Hospital Outbreak",
            "MissionDescription": "Deliver medical supplies to the triage center.",
            "MissionType": "DELIVER",
            "TriggerPosX": 13077.08,
            "TriggerPosY": 8.59,
            "TriggerPosZ": 11554.86,
            "TriggerRadius": 50.0,
            "SpawnRadius": 15.0,
            "ToxicGasClassname": "Grenade_ChemGas",
            "TargetInteractClass": "Land_jmc_stag_supplycrate_y",
            "RequiredItems": [ "Stim_Blood", "KCG_M_Bandage" ],
            "RequiredItemAmounts": [ 10, 5 ],
            "KillCountRequired": 0,
            "WaveCreatures": [ "CTAPOCTA_nurse", "CTAPOCTA_medic" ],
            "MaxActiveZombies": 20,
            "SpawnIntervalSeconds": 2,
            "TriggerCooldown": 1800.0,
            "CoreHealthReward": 10,
            "LootPayload": [
                { "ItemName": "Med_kit", "DropChance": 1.0, "Qty": 1 }
            ]
        }
    ]
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://lng.gitbook.io/lng-docs/companion-mod/basics/profiles-lngcompanion-apexmissions-mastermissions-json.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
