Custom Campaigns
================
.. note::
Booleans in XMLs need to be either ``True``, ``true``, ``False`` or ``false``.
Custom Campaigns can be loaded into the game by defining events via XML files. These provide you with everything that was made to make the internal campaigns.
All Attributes
--------------
Settings
^^^^^^^
===================== ============= ============
Name Data Type Description
===================== ============= ============
Name string | The name that will be given the campaign on the
| menu.
BarracudaAllowed boolean | Whether Barracuda and Caliburn can be selected in the
| campaign.
CustomShipsAllowed boolean | Whether Custom Ships can be selected in the campaign.
Video string | The relative path to a video file to use for the campaign
| graphic.
FallbackTexture string | The relative path to a PNG image to use for the campaign
| graphic. Only used if a video file isn't provided or available.
===================== ============= ============
Group
^^^^^
===================== ============= ============
Name Data Type Description
===================== ============= ============
PointsToUnlock integer | How many points the player needs to unlock the group.
===================== ============= ============
Frontend
^^^^^^^^
===================== ============= ============
Name Data Type Description
===================== ============= ============
Name string | The name that will be displayed in the event list.
| menu.
Description string | Currently unused.
===================== ============= ============
Awards
^^^^^^^
===================== ============= ============
Name Data Type Description
===================== ============= ============
BronzeValue float | The value needed to obtain a bronze medal. For instance, enter ``3``
| to award the player a bronze medal for coming in 3rd place.
SilverValue float | The value needed to obtain a silver medal. For instance, enter ``2``
| to award the player a silver medal for coming in 2nd place.
GoldValue float | The value needed to obtain a gold medal. For instance, enter ``1``
| to award the player a gold medal for coming in 1st place.
PlatinumValue float | The value needed to obtain a platinum medal. For instance, enter `1`
| to award the player a platinum medal for coming in 1st place when
| playing in hard mode.
EasyScore float | The target score when in easy mode. Used in gamemodes
| such as Eliminator.
HardScore float | The target score when in hard mode. Used in gamemodes
| such as Eliminator.
===================== ============= ============
Mode
^^^^
.. note::
Any parsed attributes that aren't one of the ones listed below will be treated as a custom gamemode attribute. These allow gamemodes that have a static integer declared and then enter the variables name and the value they want it set to.
===================== ============= ============
Name Data Type Description
===================== ============= ============
Gamemode string | The name of the gamemode to load for the event.
ModernPhysics boolean | Whether 2280 should be used for the event.
FloorHugger boolean | Whether floor hugger should be used for the event.
| Overrides 2280.
SpeedClass string | The speed class to use for the event. ``Toxic``, ``Apex``, ``Halberd``,
| ``Spectre`` or ``Zen``
===================== ============= ============
Level
^^^^^
Level is part of the levels element which takes multiple level attributes. Providing more then one level attribute will automatically setup a tournament.
===================== ============= ============
Name Data Type Description
===================== ============= ============
Name string | The name of the track to load.
===================== ============= ============
Modifiers
^^^^^^^^^
===================== ============= ============
Name Data Type Description
===================== ============= ============
Hardcore boolean | Whether double damage should be enabled.
Weapons boolean | Whether weapons should be enabled.
Mirror boolean | Whether mirror mode should be enabled.
Hyperspeed boolean | Whether hyper speed should be enabled.
Extralaps integer | The number of additional laps for the event.
ForcePlayerShip boolean | Whether to force the player ship using the ForcedPlayerShip
| setting below.
ForceAiShip boolean | Whether to force the ai ship using the ForcedAiShip
| setting below.
ForcedPlayerShip string | The name of the ship to force the player to fly.
ForcedAiShip string | The name of the ship to force the Ai to fly.
ForcedPlayerLivery integer | When forcing a player ship, the index of the livery to
| force.
ForcedPlayerScheme integer | When forcing a player ship, the index of the livery
| scheme to force.
BlockShipSet string | **Supports multiiple attributes**. When set, will unlock all
| ship sets and then use every BlockShipSet entry to
| blacklist ship sets that you don't want to be selected.
| Valid options are ``Standard``, ``Drag``, ``Drift``, ``Survival`` and
| ``Custom``
===================== ============= ============
Ai
^^^^^^^^^
===================== ============= ============
Name Data Type Description
===================== ============= ============
Count boolean | The number of AI ships to spawn.
UseSpeedMult boolean | Whether the speed multiplier below will be used.
SpeedMult boolean | Optional top speed multiplier for the AI.
Difficulty boolean | The difficulty level to use for the AI. Valid options are ``Novice``,
| ``Experienced``, ``Expert``, ``Elite`` and ``Hardcore``.
| Hard mode will force this to ``Hardcore``
===================== ============= ============
Example
-------
This example is a re-creation of the Reflex campaign from the game. This is an older XML file and doesn't include every attribute listed above, but serves fine as a full example of a campaign. Some attributes have also been changed over the years. It's reccomended you use this as a structure reference only.
.. code-block:: xml