Multiplayer data

The **Multiplayer mode data** file is a text file containing gameplay information for a Multiplayer level, including a localized level description, what types of powerups should appear in the level, and how frequently they should appear.

The multiplayer mode data file should be named `multi_mode_<levelname>.txt`. For example, a level named `Sub Rosa.mp` would have a multiplayer mode data file named `multi_mode_Sub Rosa.txt`

Note that OLMod is required for multiplayer mode data to be used for custom levels. While the unmodified version of Overload uses these files internally, it does not provide a way to load them from external files.

## Syntax

The first line of the file must always be `MULTIPLAYER_DATA`. The last line must be `MULTIPLAYER_DATA_END`.

Comments start with `//` and continue to the end of the line.

## Basic Information

### Level Description

Level description text is written on one line, like this:

```
$desc_english Custom Level Description

```

Descriptions can be included in the following languages:

* English (`$desc_english`)
* Spanish (`$desc_spanish`)
* French (`$desc_french`)
* German (`$desc_german`)
* Russian (`$desc_russian`)

Note that level description text is not currently shown in game for multiplayer levels. Level description text is optional; the level will still work if description text for any or all languages are omitted.

### Music

The following line specifies a music track to play in the level:

```
$music;trackname

```

where `trackname` is the editor name of a music track. Refer to Music (level editor) for a list of available tracks.

## Primary Weapons

The primary weapons that appear in an Overload multiplayer game are determined by a **weapon pool**. This can be configured by specifying the size of the weapon pool, and the weightings of each primary weapon type.

The size of the primary weapon pool depends on the number of players in the game, and is specified by the following lines:

```
$weapon_count2;<count>
$weapon_count8;<count>

```

If there are two players, the first value will be used; if there are eight players, the second value will be used. For any other player count, Overload will linearly interpolate between these two values to choose the number of weapons to spawn. (Note that the interpolation is "clamped", which means more than eight players will *not* increase the number of weapons any further.)

The primary weapon counts are then followed by a list of weapons and their weightings, as follows:

```
$weapon;<type>;<weight>

```

**Type**: The name of the primary weapon type, in capitals. Valid values are IMPULSE, CYCLONE, REFLEX, CRUSHER, DRILLER, FLAK, THUNDERBOLT, and LANCER.

**Weight**: The weighting of the primary weapon. This value must be greater than zero for the weapon to be included in the weapon pool. Omitting this value will also exclude the weapon from the weapon pool.

At the beginning of a multiplayer game, Overload will create a primary weapon pool of the size specified by the level. It will then search through the weapon list, finding the weapon with the highest positive weighting (if there is a tie, it will pick between the tied weapons at random). This weapon is added to the pool, and its weighting is decreased by 1.0. Overload repeats this process until either the weapon pool is full, or there are no remaining weapons with positive non-zero weightings, whichever happens first.

This primary weapon pool then effectively becomes the weapons that appear in the level. One of each of the weapons in the pool is spawned in the level (this may result in multiple weapons of the same type, if that weapon had a weighting higher than 1.0). From then on, further primary weapons are only spawned when they are removed from the level, which occurs when a player dies while carrying that weapon and does not drop the weapon in their "spew". A new copy of that primary weapon will be spawned between 30 and 60 seconds later.

## Secondary Weapons

Overload handles secondary weapons, or missiles, differently from primary weapons. It does not attempt to strictly limit the number in circulation; rather, it spawns a certain number at the beginning of the game, and then at predetermined intervals for the remainder of the match. The specific missile to spawn is chosen randomly from a weighted pool.

This can be configured using the following lines:

```
$missile_count;<count>
$missile_frequency;<interval>

```

**Count**: The number of missiles spawned into the level at the beginning of the game.

**Interval**: The base time, in seconds, between subsequent missile spawns. The actual time varies depending on the number of players in the game and the powerup "overall frequency" setting.

This is followed by a list of secondary weapons and their weightings, as follows:

```
$missile;<type>;<weight>

```

**Type**: The name of the secondary weapon type, in capitals. Valid values are FALCON, HUNTER, MISSILE\_POD, CREEPER, NOVA, DEVASTATOR, TIMEBOMB, and VORTEX.

**Weight**: The weighting of the secondary weapon. This value must be greater than zero for the weapon to be included in the weapon pool. Omitting this value will also exclude the weapon from the weapon pool.

When Overload spawns a secondary weapon (whether at the beginning of a game or at subsequent intervals), it generates a random number which is then mapped to a weapon from the weighted secondary weapon pool. A missile with a weight of 2.0 is twice as likely to be chosen as a missile with a weight of 1.0, and four times as likely as a missile with a weight of 0.5; but unlike the primary weapon pool, having a weight of 1.0 or less does not guarantee two or more copies of a given missile will not spawn at the same time.

## Basic Powerups (OLMod only)

OLMod allows the frequency of armor, energy and ammunition powerups to be configured in a similar manner to secondary weapons. These powerups do not spawn at the beginning of the game, but can appear periodically after that.

Spawn frequency can be configured using the following line:

```
$basic_frequency;<interval>

```

**Interval**: The base time, in seconds, between subsequent basic powerup spawns. The actual time varies depending on the number of players in the game and the powerup "overall frequency" setting.

This is followed by a list of basic powerups and their weightings, as follows:

```
$basic;<type>;<weight>

```

**Type**: The name of the powerup type, in capitals. Valid values are HEALTH, ENERGY, AMMO, and ALIENORB.

**Weight**: The weighting of the powerup type. This value must be greater than zero for the powerup to be spawned. Omitting this value will also prevent the powerup from spawning.

Spawn randomization for basic powerups works the same way as for secondary weapons.

## Super Powerups

Super powerups are special powerups that either grant a large number of copies of a missile, or powerful temporary effects such as invulnerability. They typically spawn infrequently, and a warning siren sounds 10 seconds before they appear.

Spawn frequency can be configured using the following line:

```
$super_frequency;<interval>

```

**Interval**: The base time, in seconds, between subsequent super powerup spawns. The actual time is adjusted by the powerup "super frequency" setting.

This is followed by a list of super powerups and their weightings, as follows:

```
$super;<type>;<weight>

```

**Type**: The name of the super powerup type, in capitals. Valid values are FALCON, HUNTER, MISSILE\_POD, CREEPER, NOVA, DEVASTATOR, TIMEBOMB, VORTEX, CLOAK, OVERDRIVE, and INVULNERABILITY.

**Weight**: The weighting of the powerup type. This value must be greater than zero for the powerup to be spawned. Omitting this value will also prevent the powerup from spawning.

Spawn randomization for super powerups works the same way as for secondary weapons.