=====Overview===== 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: [[http://neurohack.com/transcendence/forums/viewtopic.php?f=5&t=5400#p49424|include10StartingShips tag]] **startingMap=** **[Version 1.2+]** If defined, this property specifies the UNID of the default [[]] 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 **** element on the adventure may have 0 or more of the following sub-elements: ====== 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. ====== This sub-element specifies the intrinsic damage adjustment of shields at a given level to each damage type. It follows the same syntax as .