Table of Contents
Overview
<AdventureDesc> defines the properties and behavior of an adventure.
Starting Ship Classes
An adventure has some control over the set of starting ship classes to offer the player and the location (the star system) where the player will start the game. The following properties are available:
startingShipCriteria= This property is a type criteria that selects the set of ship classes to offer the player at the beginning of the game. If omitted, all ship classes are available.
include10StartingShips= This property is used for backwards compatibility with version 1.0 of the game. If set to true the adventure will offer player ship classes that do not match the startingShipCriteria property if and only if the player ship class is defined in an extension of apiVersion < 12.
See: include10StartingShips tag
startingMap= [Version 1.2+] If defined, this property specifies the UNID of the default <SystemMap> to use for the player. This property is used in conjunction with the startingMap= property on a SystemMap.
Normally, all SystemMaps are automatically loaded at the beginning of the game. If, however, you wish to change the topology based on which player ship class is chosen, you may use the following technique:
If a player ship class defines a startingMap= property, then the given map is loaded; otherwise, if the AdventureDesc defines a startingMap= property, then that map is loaded. Regardless, no other SystemMap with the startingMap=“true” property is loaded.
startingSystem= If defined, this property specifies the nodeID of the system where the player should start.
startingPos= If defined, this property specified a named object where the player should start.
Constants
An adventure may alter many engine constants to change the behavior of the game. The <Constants> element on the adventure may have 0 or more of the following sub-elements:
<ArmorDamageAdj>
This sub-element specifies the intrinsic damage adjustment of armor at a given level to each damage type. You may have one of these sub-elements for each level you wish to modify. It must have the following parameters:
level= The level of the armor being modified.
damageAdj= The damage adjustment for each damage type. This may be specified as a comma-separated list of damage adjustments for each damage type (in order) or a list of damage type and damage adjustment pairs:
**damageAdj=“laser:100; kinetic:50;”
Any damage types not specified default to 100. However, if you omit an entire level, the level will be set to engine defaults.
<ShieldDamageAdj>
This sub-element specifies the intrinsic damage adjustment of shields at a given level to each damage type. It follows the same syntax as <ArmorDamageAdj>.