Difference between revisions of "Ruleset Reference (OpenXcom)"
m (→Items) |
m (Minor changes) |
||
(80 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | A reference of all the customizable values of everything in a [[Rulesets (OpenXcom)|ruleset]]. Some guidelines: | + | A reference of all the customizable values of everything in a [[Rulesets (OpenXcom)|ruleset]] for the current stable version (1.0) of OpenXcom. For the current nightly versions (with the advanced features currently in development) check [[Ruleset Reference Nightly (OpenXcom)|Ruleset Reference Nightly]]. |
+ | |||
+ | Some guidelines: | ||
* If a value is omitted from the ruleset, the default is used. You cannot omit ''required'' values. | * If a value is omitted from the ruleset, the default is used. You cannot omit ''required'' values. | ||
* Text strings (eg. names) are represented by string IDs from the [[Translations (OpenXcom)|language files]] | * Text strings (eg. names) are represented by string IDs from the [[Translations (OpenXcom)|language files]] | ||
Line 6: | Line 8: | ||
* World coordinates are represented in degrees (see [[WORLD.DAT]]). | * World coordinates are represented in degrees (see [[WORLD.DAT]]). | ||
* Money amounts (prices, costs, etc.) are represented in dollars. | * Money amounts (prices, costs, etc.) are represented in dollars. | ||
+ | * All paths are '''case sensitive'''! If your ruleset uses external files, make sure that they named properly as described in ruleset. | ||
Items are ordered as they come in the ruleset. To override this, you can specify a ''listOrder''. You can find the default listOrders in [[Ruleset List Order (OpenXcom)|Ruleset List Order]]. | Items are ordered as they come in the ruleset. To override this, you can specify a ''listOrder''. You can find the default listOrders in [[Ruleset List Order (OpenXcom)|Ruleset List Order]]. | ||
Line 75: | Line 78: | ||
|- | |- | ||
| '''missionZones''' | | '''missionZones''' | ||
− | | List of "rectangles" (''[lon1, lat1, lon2, lat2]'') defining the mission zones for this region. | + | | List of "rectangles" (''[lon1, lat1, lon2, lat2]'') defining the mission zones for this region. Mission zones are waypoints for UFO trajectories. |
| - | | - | ||
|- | |- | ||
Line 101: | Line 104: | ||
|- | |- | ||
| '''spriteShape''' | | '''spriteShape''' | ||
− | | Sprite ID from [[BASEBITS.PCK]] used to draw the facility's outer shape in the Basescape and UFOpaedia. | + | | Sprite ID from [[BASEBITS.PCK]] used to draw the facility's outer shape in the Basescape and UFOpaedia. While under construction usess sprite of this value +3 instead.For 1x1 range 0-29 (empty to grav shield/hyperwave decoder) works, 30 causes drawing bug and shows as another planned facility (but un-bugs when built). |
| -1 | | -1 | ||
|- | |- | ||
| '''spriteFacility''' | | '''spriteFacility''' | ||
− | | Sprite ID from [[BASEBITS.PCK]] used to draw the facility's contents in the Basescape and UFOpaedia. Drawn on top of '''spriteShape'''. | + | | Sprite ID from [[BASEBITS.PCK]] used to draw the facility's contents in the Basescape and UFOpaedia. Drawn on top of '''spriteShape'''. For 1x1 range 0-33 (non-transparent empty to Skyranger) works, 34+ causes '''crash'''. |
| -1 | | -1 | ||
|- | |- | ||
Line 133: | Line 136: | ||
|- | |- | ||
| '''buildTime''' | | '''buildTime''' | ||
− | | Amount of days it takes for this facility to be built. | + | | Amount of days it takes for this facility to be built. With 0 builds instantly and doesn't generate message. |
| 0 | | 0 | ||
|- | |- | ||
Line 145: | Line 148: | ||
|- | |- | ||
| '''personnel''' | | '''personnel''' | ||
− | | Amount of personnel (soldiers, | + | | Amount of personnel (soldiers, scientists, engineers) these quarters can contain. |
| 0 | | 0 | ||
|- | |- | ||
Line 185: | Line 188: | ||
|- | |- | ||
| '''fireSound''' | | '''fireSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|GEO.CAT]] played when the base defense fires. |
| -1 | | -1 | ||
|- | |- | ||
| '''hitSound''' | | '''hitSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|GEO.CAT]] played when the base defense hits a target. |
| -1 | | -1 | ||
|- | |- | ||
Line 243: | Line 246: | ||
| Amount of soldiers this craft can carry. | | Amount of soldiers this craft can carry. | ||
| 0 | | 0 | ||
+ | |- | ||
+ | | '''maxItems''' | ||
+ | | Amount of items this craft can carry. | ||
+ | | 80 | ||
|- | |- | ||
| '''vehicles''' | | '''vehicles''' | ||
Line 290: | Line 297: | ||
| '''battlescapeTerrainData''' | | '''battlescapeTerrainData''' | ||
| [[#Terrains|Terrain]] associated to this craft in Battlescape missions. | | [[#Terrains|Terrain]] associated to this craft in Battlescape missions. | ||
+ | | - | ||
+ | |- | ||
+ | | '''deployment''' | ||
+ | | Custom positions for the unit deployment in the craft, listed as: ''[x, y, z, facing]'' | ||
+ | If not specified, units are placed on empty spots from top-left to bottom-right facing top-right. | ||
| - | | - | ||
|} | |} | ||
Line 312: | Line 324: | ||
|- | |- | ||
| '''sound''' | | '''sound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|GEO.CAT]] played when this weapon fires. |
| -1 | | -1 | ||
|- | |- | ||
Line 320: | Line 332: | ||
|- | |- | ||
| '''range''' | | '''range''' | ||
− | | Maximum range of this weapon in dogfights (in | + | | Maximum range of this weapon in dogfights (in kilometers, range in dogfights is 8× this value). |
| 0 | | 0 | ||
|- | |- | ||
Line 344: | Line 356: | ||
|- | |- | ||
| '''rearmRate''' | | '''rearmRate''' | ||
− | | Amount of ammo restored every 30 mins while the craft is [[Rearming]] in base. If specified, | + | | Amount of ammo restored every 30 mins while the craft is [[Rearming]] in base. If specified, '''clip'''s are spent depending on their '''clipSize'''. If the '''clipSize''' of the specified ammo is 0, no '''clip'''s are spent. |
| 1 | | 1 | ||
|- | |- | ||
Line 437: | Line 449: | ||
* 9 - [[Small Launcher]] | * 9 - [[Small Launcher]] | ||
* 10 - [[Blaster Launcher]] | * 10 - [[Blaster Launcher]] | ||
− | for modders: the bulletsprite needs to be put into the extraSprites type "Projectiles" the bulletsprite can contain up to 35 3x3 images | + | for modders: the bulletsprite needs to be put into the extraSprites type "Projectiles" the bulletsprite can contain up to 35 3x3 images. The corresponding file id is 35*[bulletSprite] |
| -1 | | -1 | ||
|- | |- | ||
| '''fireSound''' | | '''fireSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|BATTLE.CAT]] played when this weapon fires. |
| -1 | | -1 | ||
|- | |- | ||
| '''hitSound''' | | '''hitSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|BATTLE.CAT]] played when this weapon hits a target. |
| -1 | | -1 | ||
|- | |- | ||
Line 451: | Line 463: | ||
| Sprite ID from [[SMOKE.PCK]] used to draw the weapon's "hit explosion". | | Sprite ID from [[SMOKE.PCK]] used to draw the weapon's "hit explosion". | ||
'''NOTE''': Do not define this value for melee/psi weapons, they use [[HIT.PCK]] and therefore meleeAnimation instead. | '''NOTE''': Do not define this value for melee/psi weapons, they use [[HIT.PCK]] and therefore meleeAnimation instead. | ||
+ | '''NOTE''': Explosive style weapons (Damage type: smoke, incendiary, stun, & High Explosive) use [[X1.PCK]] and should always be set to 0. | ||
| 0 | | 0 | ||
|- | |- | ||
Line 477: | Line 490: | ||
* 8 - Acid | * 8 - Acid | ||
* 9 - Smoke | * 9 - Smoke | ||
− | '''NOTE:''' A damage type other than 0-9 will | + | '''NOTE:''' A damage type other than 0-9 will do nothing. |
| 0 | | 0 | ||
|- | |- | ||
Line 524: | Line 537: | ||
* 7 - [[Motion Scanner]] | * 7 - [[Motion Scanner]] | ||
* 8 - [[Mind Probe]] | * 8 - [[Mind Probe]] | ||
− | * 9 - [[Electro-flare]] | + | * 9 - [[Psi-Amp]] |
− | * | + | * 10 - [[Electro-flare]] |
+ | * 11 - Corpse | ||
| 0 | | 0 | ||
|- | |- | ||
| '''twoHanded''' | | '''twoHanded''' | ||
− | | Is this weapon two-handed? | + | | Is this weapon two-handed? If true, incurs an accuracy penalty if used with both hands occupied. Note that the handsprite of a twoHanded item is also drawn at a slightly different position than a one handed item. |
| false | | false | ||
|- | |- | ||
| '''waypoint''' | | '''waypoint''' | ||
− | | Does this weapon use waypoints? (eg. [[Blaster Launcher]]) | + | | Does this weapon use waypoints? (eg. [[Blaster Launcher]]). Can also be used to make ammo items use the waypoint system. |
| false | | false | ||
|- | |- | ||
Line 662: | Line 676: | ||
|- | |- | ||
| '''meleeSound''' | | '''meleeSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|BATTLE.CAT]] played when this weapon attacks a target with melee. |
| 39 | | 39 | ||
|- | |- | ||
| '''meleeHitSound''' | | '''meleeHitSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|BATTLE.CAT]] played when this weapon HITS a target with melee. |
| -1 | | -1 | ||
|- | |- | ||
Line 706: | Line 720: | ||
| '''sprite''' | | '''sprite''' | ||
| Sprite ID from [[INTERWIN.DAT]] used to draw this UFO in the dogfight view and UFOpaedia. | | Sprite ID from [[INTERWIN.DAT]] used to draw this UFO in the dogfight view and UFOpaedia. | ||
+ | don't try to add more images if you don't want to punch yourself in the face - use modsprite | ||
| -1 | | -1 | ||
+ | |- | ||
+ | | '''modSprite''' | ||
+ | | Filename used to draw this UFO in the dogfight view and UFOpaedia. | ||
+ | | - | ||
|- | |- | ||
| '''damageMax''' | | '''damageMax''' | ||
Line 817: | Line 836: | ||
| List of map blocks (see below) that are used for generating a map. | | List of map blocks (see below) that are used for generating a map. | ||
| - | | - | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| '''roadTypeOdds''' | | '''roadTypeOdds''' | ||
Line 881: | Line 896: | ||
| -1 | | -1 | ||
|} | |} | ||
+ | |||
+ | *'''frequency''' defines the odds of the map appearing on the map | ||
+ | ** The value assigned (default: 1) is used in ''x/n'', which defines the probability of being chosen. | ||
+ | ** ''x'' is the integer defined for the map block's frequency and ''n'' is the combined total of probabilities for all the map types combined. | ||
+ | ** This property can only be used in type 0 map blocks. | ||
+ | *'''maxCount''' is the maximum number of times it can be used. | ||
+ | ** The value assigned is also used in ''x/n'' to determine the probability of being chosen. | ||
+ | ** Each use reduces ''x'' by -1, with the caveat that being used as a Landing Zone type will not reduce the x value since it could result in no available Landing Zones. | ||
+ | ** This property can only be used in type 0 map blocks. | ||
+ | * '''hemisphere''' only applies to UFO missions, not Terror ones. | ||
+ | *'''width/length''' defines the size of the map | ||
+ | ** be aware that the mapview "width"-label is the openxcom ruleset length parameter | ||
+ | ** be aware that the mapview "length"-label is the openxcom ruleset width parameter | ||
+ | |||
+ | ==== Guidelines/Tips ==== | ||
+ | * All maps with an XCOM/Alien craft require at least one type 1 map block. This map block can only contain ground tiles (no walls or objects), otherwise the game will crash or the walls/objects will be removed. | ||
+ | * All Terror terrains (listed under STR_TERROR_MISSION) require at least 1 map block of '''Types''' 2, 3 and 4 (for a total of 3 maps, which are required to place roads) and the corresponding '''roadTypeOdds''' added to the ruleset. | ||
+ | * If there isn't any map blocks designed as roads since you want to keep your terrain 'random', this can be circumvented by designating all 10x10 map blocks, excluding the one(s) used for the XCOM craft, as either '''Type''' 2, 3 and 4 and by defining their '''subType''' to 0. The game will then randomly choose between the map blocks for each type used in the roads, making them map more random. | ||
=== Armor === | === Armor === | ||
Line 917: | Line 950: | ||
| '''weight''' | | '''weight''' | ||
| Physical weight of the armor when worn | | Physical weight of the armor when worn | ||
− | | | + | | 0 |
|- | |- | ||
| '''stats''' | | '''stats''' | ||
Line 941: | Line 974: | ||
| '''drawingRoutine''' | | '''drawingRoutine''' | ||
| Drawing routine used to put together the body parts in the unit's '''spriteSheet''': | | Drawing routine used to put together the body parts in the unit's '''spriteSheet''': | ||
− | * 0 = [[Soldier]], [[Sectoid | + | * 0 = [[Soldier]], [[Sectoid]] |
* 1 = [[Floater]] | * 1 = [[Floater]] | ||
* 2 = [[HWP]] | * 2 = [[HWP]] | ||
Line 951: | Line 984: | ||
* 8 = [[Silacoid]] | * 8 = [[Silacoid]] | ||
* 9 = [[Celatid]] | * 9 = [[Celatid]] | ||
+ | * 10 = [[Muton]] | ||
| 0 | | 0 | ||
|- | |- | ||
Line 1,106: | Line 1,140: | ||
|- | |- | ||
| '''deathSound''' | | '''deathSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|BATTLE.CAT]] played when this unit dies. |
| -1 | | -1 | ||
|- | |- | ||
| '''aggroSound''' | | '''aggroSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|BATTLE.CAT]] played when this unit aggros. |
| -1 | | -1 | ||
|- | |- | ||
| '''moveSound''' | | '''moveSound''' | ||
− | | Sound ID from [[ | + | | Sound ID from [[#Extra_Sounds|BATTLE.CAT]] played when this unit moves. |
| -1 | | -1 | ||
|- | |- | ||
| '''intelligence''' | | '''intelligence''' | ||
− | | Intelligence of this unit's AI. The higher the value, the longer this unit remembers player troops. | + | | Intelligence of this unit's AI. The higher the value, the longer this unit remembers player troops between turns. |
| 0 | | 0 | ||
|- | |- | ||
| '''aggression''' | | '''aggression''' | ||
− | | Aggression of this unit's AI. The higher the value, the more ruthless the unit. | + | | Aggression of this unit's AI. The higher the value, the more ruthless the unit, the more likely to make a frontal assault. Less aggressive units tend to set up ambushes. |
+ | Vanilla values are: | ||
+ | * 0 = mostly passive | ||
+ | * 1 = balanced | ||
+ | * 2 = mostly aggresive | ||
| 0 | | 0 | ||
+ | |- | ||
+ | | '''energyRecovery''' | ||
+ | | Energy recovered by the unit each turn (needs verification) | ||
+ | | 40 (?) | ||
|- | |- | ||
| '''specab''' | | '''specab''' | ||
| Special ability of this unit: | | Special ability of this unit: | ||
* 0 = None | * 0 = None | ||
− | * 1 = [[Cyberdisc|Explodes on Death]] | + | * 1 = [[Cyberdisc|Explodes on Death]] (Requires '''power''' and '''blastRadius''' properties to be set on the corpse) |
* 2 = [[Bio-Drone|Burns Floor]] | * 2 = [[Bio-Drone|Burns Floor]] | ||
* 3 = [[Zombie|Respawns on Death]] | * 3 = [[Zombie|Respawns on Death]] | ||
Line 1,168: | Line 1,210: | ||
but of course, not all races have all ranks, so the "fill in" rank would be listed multiple times (see ethereals). | but of course, not all races have all ranks, so the "fill in" rank would be listed multiple times (see ethereals). | ||
| - | | - | ||
+ | |- | ||
+ | | '''retaliation''' | ||
+ | | retaliation enables/disables the race for retaliation missions. | ||
+ | | ''True'' | ||
+ | |- | ||
|} | |} | ||
Line 1,212: | Line 1,259: | ||
|} | |} | ||
+ | Notes: | ||
+ | * '''terrains''' can also be used with UFOs, with the game using instead the listed terrain rather than the location of the UFO on Geoscape. | ||
==== Deployment Data ==== | ==== Deployment Data ==== | ||
Line 1,224: | Line 1,273: | ||
|- | |- | ||
| '''lowQty''' | | '''lowQty''' | ||
− | | | + | | Minimum quantity of aliens to spawn on beginner/experienced. |
| 0 | | 0 | ||
|- | |- | ||
| '''highQty''' | | '''highQty''' | ||
− | | | + | | Minimum quantity of aliens to spawn on superhuman. (minimum quantity for veteran/genius is the median of this and the previous value) |
| 0 | | 0 | ||
|- | |- | ||
| '''dQty''' | | '''dQty''' | ||
− | | | + | | Delta in Quantity. ie: random number of aliens to spawn on top of the minimum (all difficulties). |
| 0 | | 0 | ||
|- | |- | ||
Line 1,287: | Line 1,336: | ||
|- | |- | ||
| '''getOneFree''' | | '''getOneFree''' | ||
− | | List of "bonus" research projects that may be granted when completing this project (for example, alien medics will give you information on other alien races). | + | | List of "bonus" research projects that may be granted when completing this project (for example, alien medics will give you information on other alien races). Only applies to living aliens. |
| - | | - | ||
|- | |- | ||
Line 1,475: | Line 1,524: | ||
|- | |- | ||
| '''timer''' | | '''timer''' | ||
− | | How long after the previous wave should this wave arrive? | + | | How long after the previous wave should this wave arrive? (in minutes) |
| 0 | | 0 | ||
|- | |- | ||
Line 1,483: | Line 1,532: | ||
This is a list of item level probabilities, with a number between 0 and 2 representing an item level from plasma pistols to heavy plasmas, as defined in the deployments, expressing a 10% probability for that item level being used. | This is a list of item level probabilities, with a number between 0 and 2 representing an item level from plasma pistols to heavy plasmas, as defined in the deployments, expressing a 10% probability for that item level being used. | ||
+ | |||
+ | 0 = first set (plasma pistol/clip) | ||
+ | 1 = second set (plasma rifle/clip) | ||
+ | 2 = third set (heavy plasma/clip) | ||
For example: | For example: | ||
Line 1,488: | Line 1,541: | ||
would represent a 60% chance for pistols, 30% rifles, and 10% heavy weapons.<br> | would represent a 60% chance for pistols, 30% rifles, and 10% heavy weapons.<br> | ||
Note that the order does not matter, but the length DOES. each line MUST have 10 digits. | Note that the order does not matter, but the length DOES. each line MUST have 10 digits. | ||
+ | |||
+ | The above can be confusing. There are 10 fields; each number represents 10%.<br> | ||
+ | There are six instances of '0'. 6x10% = 60% chance of plasma pistol<br> | ||
+ | There are three instances of '1'. 3x10% = 30% chance of plasma rifle<br> | ||
+ | There is only one instance of '2'. 1x10% = 10% chance of heavy plasma<br> | ||
Each line represents a month after the beginning of the game, and there is no limit to the number defined.<br> | Each line represents a month after the beginning of the game, and there is no limit to the number defined.<br> | ||
Line 1,534: | Line 1,592: | ||
1: Resources/Bunny/Bunny01.bmp | 1: Resources/Bunny/Bunny01.bmp | ||
2: Resources/Bunny/Bunny02.gif | 2: Resources/Bunny/Bunny02.gif | ||
+ | |||
+ | Further example: (takes advantage of the ability to drop numerous images into a single folder that will then behave as a sprite sheet) | ||
+ | |||
+ | - type: GIANTBUNNY.PCK | ||
+ | width: 32 | ||
+ | height: 40 | ||
+ | files: | ||
+ | 0: Resources/Bunny/sprite/ | ||
+ | (The folder "/sprite/" is required to make this work. Files within will be numbered sequential from the number defined above. "0" in this case.) | ||
=== Extra Sounds === | === Extra Sounds === | ||
Line 1,620: | Line 1,687: | ||
'''health'''<br> | '''health'''<br> | ||
'''throwing''' | '''throwing''' | ||
− | | One or more stat ranges are ANDed together for success. Each range has a minVal and maxVal. Use YAML standard tilde (~) to indicate null. | + | | One or more stat ranges are ANDed together for success. Each range has a minVal and maxVal. Use YAML standard tilde (~) to indicate null. ((~) = 0 as minvalue; (~) =255 as maxvalue) |
| - | | - | ||
|} | |} |
Latest revision as of 10:41, 28 July 2023
A reference of all the customizable values of everything in a ruleset for the current stable version (1.0) of OpenXcom. For the current nightly versions (with the advanced features currently in development) check Ruleset Reference Nightly.
Some guidelines:
- If a value is omitted from the ruleset, the default is used. You cannot omit required values.
- Text strings (eg. names) are represented by string IDs from the language files
- Numerical IDs (used for sprites, sounds, etc.) start at 0, not 1.
- Boolean (yes/no) values are represented by true/false.
- World coordinates are represented in degrees (see WORLD.DAT).
- Money amounts (prices, costs, etc.) are represented in dollars.
- All paths are case sensitive! If your ruleset uses external files, make sure that they named properly as described in ruleset.
Items are ordered as they come in the ruleset. To override this, you can specify a listOrder. You can find the default listOrders in Ruleset List Order.
Countries
Defines one of the funding nations, listed in "countries:". They're used for activity graphs and player scoring.
Value | Description | Default |
---|---|---|
type | String ID of the country name. | required |
fundingBase | Country's base funding, in thousands. The starting funding can be anywhere between 1x and 2x the base funding. | 0 |
fundingCap | Country's funding cap, in thousands. Once a country reaches this maximum, it will no longer increase its funding. | 0 |
labelLon
labelLat |
Longitude and latitude coordinates of the country's label on the globe. This label is only shown when the globe is zoomed in and "detail" is turned on. | 0.0
0.0 |
areas | List of "rectangles" on the globe defined as [lon1 lat1 lon2 lat2]. Any activity within these areas counts towards the country's graph activity and affects their opinion of the player. | - |
Regions
Defines one of the world regions, listed in "regions:". They're used for base placement, activity graphs and mission spawning.
Value | Description | Default |
---|---|---|
type | String ID of the region name. | required |
cost | Amount of money spent building an X-COM base in this region (first base is free). | 0 |
areas | List of "rectangles" on the globe defined as [lon1, lat1, lon2, lat2]. Any activity within these areas counts towards the region's graph activity. | - |
cities | List of cities belonging to this region. They will be displayed on the globe and used for terror site missions. Each city is defined by their lon and lat coordinates and a name string ID. | - |
regionWeight | Weight of this region when selecting regions for alien missions. | 0 |
missionWeights | Weighted list of the different mission types for this region (eg. STR_ALIEN_RESEARCH: 14). | - |
missionZones | List of "rectangles" ([lon1, lat1, lon2, lat2]) defining the mission zones for this region. Mission zones are waypoints for UFO trajectories. | - |
missionRegion | Spawn mission in this region instead (used for regions without land). | - |
Base Facilities
Defines one of the facilities that can be built in an X-COM base, listed in "facilities:".
Value | Description | Default |
---|---|---|
type | String ID of the facility name. | required |
requires | List of topics (string IDs) that must be researched to unlock this facility. If none are specified, this facility is unlocked from the start. | - |
spriteShape | Sprite ID from BASEBITS.PCK used to draw the facility's outer shape in the Basescape and UFOpaedia. While under construction usess sprite of this value +3 instead.For 1x1 range 0-29 (empty to grav shield/hyperwave decoder) works, 30 causes drawing bug and shows as another planned facility (but un-bugs when built). | -1 |
spriteFacility | Sprite ID from BASEBITS.PCK used to draw the facility's contents in the Basescape and UFOpaedia. Drawn on top of spriteShape. For 1x1 range 0-33 (non-transparent empty to Skyranger) works, 34+ causes crash. | -1 |
lift | Is this facility an Access Lift? All base facilities must be connected to the lift. | false |
hyper | Is this facility a Hyperwave Decoder? Displays extra information for detected UFOs. Only valid for radar facilities. | false |
mind | Is this facility a Mind Shield? Reduces the chance of UFOs finding your base. Does not stack. | false |
grav | Is this facility a Grav Shield? Doubles the power of your base defenses. Does not stack. | false |
size | Size of the facility, in grid units. Every facility is square, so a size of 1 means 1x1, 2 means 2x2, etc. Bigger facilities are made up of multiple sprites, for example a 2x2 facility will use 4 sprites for spriteShape and 4 sprites for spriteFacility (top-left, top-right, bottom-left, bottom-right). | 1 |
buildCost | Amount of money spent to build this facility in the base. | 0 |
buildTime | Amount of days it takes for this facility to be built. With 0 builds instantly and doesn't generate message. | 0 |
monthlyCost | Amount of money spent monthly for the maintenance of this facility. | 0 |
storage | Amount of storage space (for items) this facility provides. See Base Stores. | 0 |
personnel | Amount of personnel (soldiers, scientists, engineers) these quarters can contain. | 0 |
aliens | Amount of live aliens this facility can contain. Only checked if the alienContainmentLimitEnforced option is enabled. | 0 |
crafts | Amount of X-COM craft this facility can contain. | 0 |
labs | Amount of lab space this facility provides for research projects. | 0 |
workshops | Amount of workshop space this facility provides for manufacture projects. | 0 |
psiLabs | Amount of soldier space this facility provides for psionic training. | 0 |
radarRange | Maximum radar detection range of this facility, in nautical miles. | 0 |
radarChance | Chance (0-100%) of this radar detecting a UFO that enters its range. | 0 |
defense | Offensive power provided by this base defense against attacking UFOs. | 0 |
hitRatio | Chance (0-100) of the base defense hitting an attacking UFO. | 0 |
fireSound | Sound ID from GEO.CAT played when the base defense fires. | -1 |
hitSound | Sound ID from GEO.CAT played when the base defense hits a target. | -1 |
mapName | Map associated to this facility in Battlescape base defenses. | - |
Crafts
Defines one of the X-COM crafts that go on interception missions, listed in "crafts:".
Value | Description | Default |
---|---|---|
type | String ID of the craft name. | required |
requires | List of topics (string IDs) that must be researched to unlock this craft. If none are specified, this craft is unlocked from the start. | - |
sprite | Sprite ID from BASEBITS.PCK used to draw this craft in the Basescape and from INTICON.PCK used to draw the damage indicator in dogfights.
modders: the corresponding extrasprite file id for BASEBITS.PCK is sprite+33 INTICON.PCK contains a minimized icon id=sprite the file id for the dogfight image is sprite+11 |
-1 |
fuelMax | Maximum amount of fuel this craft can carry. Crafts use up fuel based on their speed while travelling. | 0 |
damageMax | Maximum amount of damage this craft can take. If this amount is exceeded, the craft is destroyed. | 0 |
speedMax | Maximum speed in nautical miles. Crafts travel at max speed when flying and half speed when patrolling. | 0 |
accel | Aceeleration value shown in the UFOpaedia. | 0 |
weapons | Amount of craft weapons this craft can equip. The UI can only display a max of 2 weapons. | 0 |
soldiers | Amount of soldiers this craft can carry. | 0 |
maxItems | Amount of items this craft can carry. | 80 |
vehicles | Amount of vehicles this craft can carry. | 0 |
costBuy | Amount of money spent for purchasing this craft. If set to 0, the craft will not be available in the Purchase/Recruit screen. | 0 |
costRent | Amount of money spent monthly for renting this craft. If set to 0, the craft is not on rental and won't count towards base maintenance. | 0 |
costSell | Amount of money gained for selling this craft. | 0 |
refuelItem | Item required for refuelling this craft. If no item is specified, the craft uses human fuel. | 0 |
repairRate | Amount of damage restored every hour while Repairing in base. | 1 |
refuelRate | Amount of fuel restored every 30 mins while Refueling in base. If specified, a refuelItem is spent each time. | 1 |
radarRange | Detection range of the craft's radar in nautical miles. Every craft radar has a 100% detection chance. | 600 |
transferTime | Number of hours it takes to purchase/transfer this craft to a base. | 0 |
score | Score lost when this craft is destroyed. | 0 |
spacecraft | Can this craft go to Cydonia? | false |
battlescapeTerrainData | Terrain associated to this craft in Battlescape missions. | - |
deployment | Custom positions for the unit deployment in the craft, listed as: [x, y, z, facing]
If not specified, units are placed on empty spots from top-left to bottom-right facing top-right. |
- |
Craft Weapons
Defines one of the weapons equipped by X-COM craft for shooting down UFOs, listed in "craftWeapons:".
Value | Description | Default |
---|---|---|
type | String ID of the weapon name. | required |
sprite | Sprite ID from BASEBITS.PCK used to draw the weapon in the Basescape and from INTICON.PCK used to draw the weapon in dogfights.
modders: the corresponding extrasprites file id for INTICON.PCK is sprite+5 and sprite+48 for BASEBITS.PCK |
-1 |
sound | Sound ID from GEO.CAT played when this weapon fires. | -1 |
damage | Amount of damage this weapon does to enemy UFOs. | 0 |
range | Maximum range of this weapon in dogfights (in kilometers, range in dogfights is 8× this value). | 0 |
accuracy | Chance (0-100%) of each shot hitting the enemy UFO. | 0 |
reloadCautious | Time this weapon takes to fire between each shot in Cautious Mode. | 0 |
reloadStandard | Time this weapon takes to fire between each shot in Standard Mode. | 0 |
reloadAggressive | Time this weapon takes to fire between each shot in Aggressive Mode. | 0 |
ammoMax | Maximum amount of ammo this weapon can carry. | 0 |
rearmRate | Amount of ammo restored every 30 mins while the craft is Rearming in base. If specified, clips are spent depending on their clipSize. If the clipSize of the specified ammo is 0, no clips are spent. | 1 |
projectileType | Type of the weapon projectile, used for the projectile sprite in dogfights:
|
2 |
projectileSpeed | Speed of the weapon projectile in dogfights. | 0 |
launcher | String ID of the item required to equip this weapon. | - |
clip | String ID of the item required to rearm this weapon. | - |
Items
Defines the Geoscape and Battlescape properties of an item that can be stored in X-COM bases, listed in "items:".
Value | Description | Default |
---|---|---|
type | String ID of the internal item name. | required |
name | String ID of the displayed item name, for cases where it's different from the internal name. If omitted, type is used. | - |
requires | List of topics (string IDs) that must be researched to unlock this item. If none are specified, this item is unlocked from the start. Soldiers can only use unlocked items in the Battlescape. | - |
size | Space occupied by this item in Base Stores. Can be a decimal value. | 0.0 |
costBuy | Amount of money spent for purchasing this item. If set to 0, this item will not be available in the Purchase/Recruit screen. | 0 |
costSell | Amount of money gained for selling this item. | 0 |
transferTime | Number of hours it takes to purchase/transfer this item to a base. | 24 |
weight | Weight occupied by this item in a soldier's inventory. | 999 |
bigSprite | Sprite ID from BIGOBS.PCK used to draw this item in a soldier's inventory and UFOpaedia. | -1 |
floorSprite | Sprite ID from FLOOROB.PCK used to draw this item on the floor of a Battlescape tile. | -1 |
handSprite | Sprite ID from HANDOB.PCK used to draw this item on a soldier's hand in the Battlescape.
modders: each handobject needs 8 images (8 directions) define the extrasprites accordingly |
120 |
bulletSprite | Sprite ID from BulletSprites.png used to draw this weapon's projectile on the Battlescape:
for modders: the bulletsprite needs to be put into the extraSprites type "Projectiles" the bulletsprite can contain up to 35 3x3 images. The corresponding file id is 35*[bulletSprite] |
-1 |
fireSound | Sound ID from BATTLE.CAT played when this weapon fires. | -1 |
hitSound | Sound ID from BATTLE.CAT played when this weapon hits a target. | -1 |
hitAnimation | Sprite ID from SMOKE.PCK used to draw the weapon's "hit explosion".
NOTE: Do not define this value for melee/psi weapons, they use HIT.PCK and therefore meleeAnimation instead. NOTE: Explosive style weapons (Damage type: smoke, incendiary, stun, & High Explosive) use X1.PCK and should always be set to 0. |
0 |
power | Average damage of the weapon, in most cases it will be +-50% this value. | 0 |
strengthApplied | Add the attacking unit's strength to this weapon's damage. | false |
compatibleAmmo | List of string IDs of the ammo items that can be loaded on this weapon. If none are specified, the weapon doesn't need ammo. | - |
damageType | What type of damage does this weapon do:
NOTE: A damage type other than 0-9 will do nothing. |
0 |
tuAuto
accuracyAuto |
The percentage (0-100%) of Time Units (from the soldier's total) required to fire an Auto Shot. If 0, the weapon does not have an Auto Shot.
The base accuracy (0-100%) applied to a soldier's Firing Accuracy when firing an Auto Shot. |
0
0 |
tuSnap
accuracySnap |
The percentage (0-100%) of Time Units (from the soldier's total) required to fire a Snap Shot. If 0, the weapon does not have a Snap Shot.
The base accuracy (0-100%) applied to a soldier's Firing Accuracy when firing a Snap Shot. |
0
0 |
tuAimed
accuracyAimed |
The percentage (0-100%) of Time Units (from the soldier's total) required to fire an Aimed Shot. If 0, the weapon does not have an Aimed Shot.
The base accuracy (0-100%) applied to a soldier's Firing Accuracy when firing an Aimed Shot. |
0
0 |
tuMelee
accuracyMelee |
The percentage (0-100%) of Time Units (from the soldier's total) required to do a melee attack (Hit). If 0, the weapon does not have a melee attack.
The base accuracy (0-100%) applied to a soldier's Melee Accuracy when doing a melee attack. |
0
0 |
clipSize | The amount of ammo stored in each weapon clip. If -1 is specified, this weapon has infinite ammo. | 0 |
battleType | Defines the weapon's behavior in the Battlescape:
|
0 |
twoHanded | Is this weapon two-handed? If true, incurs an accuracy penalty if used with both hands occupied. Note that the handsprite of a twoHanded item is also drawn at a slightly different position than a one handed item. | false |
waypoint | Does this weapon use waypoints? (eg. Blaster Launcher). Can also be used to make ammo items use the waypoint system. | false |
fixedWeapon | Is this weapon fixed? (it's part of a unit, eg. tanks and terrorist units) | false |
invWidth | Item width in a soldier's inventory (in grid units). | 1 |
invHeight | Item height in a soldier's inventory (in grid units). | 1 |
painKiller | Amount of painkillers contained in a Medi-Kit. | 0 |
heal | Amount of heal's contained in a Medi-Kit. | 0 |
stimulant | Amount of stimulants contained in a Medi-Kit. | 0 |
woundRecovery | Amount of Fatal Wounds treated by each heal of a Medi-Kit. | 0 |
healthRecovery | Amount of Health recovered by each heal of a Medi-Kit. | 0 |
stunRecovery | Amount of Stun removed by each stimulant of a Medi-Kit. | 0 |
energyRecovery | Amount of Energy recovered by each stimulant of a Medi-Kit. | 0 |
tuUse | Amount of Time Units required to use this item (for non-offensive items). It's a flat rate if flatRate is true, otherwise it's a percentage (0-100%). | 0 |
recoveryPoints | Score gained for recovering this alien artifact. | 0 |
armor | How much damage is needed to destroy this item on the ground. | 20 |
recover | Is this item recoverable? (gets transported to the X-COM base on mission success) | true |
turretType | Sprite ID from TANKS.PCK of the turret to assign to this tank:
|
-1 |
liveAlien | Does this item represent a live alien? (counts towards Alien Containment) | false |
blastRadius | Size of the projectile explosions. 0 for no explosion. -1 to automatically calculate based on weapon power and damage type (actual blastRadius currently is capped due Explosion calculations). | -1 |
flatRate | If true, then TU costs for this weapon are a flat rate (instead of a percentage of unit TUs). | false |
arcingShot | Does this weapon fire in an arc? | false |
attraction | Represents how likely an alien is to pick up this item. Values below 5 will be ignored (by design). | 0 |
maxRange | Maximum range at which this weapon can operate. | 200 |
aimRange | Maximum effective range with this weapon before which range-based dropoff occurs. | 200 |
snapRange | Maximum effective range with snap shot before which range-based dropoff occurs. (ufoextender accuracy only) | 15 |
autoRange | Maximum effective range with auto shot before which range-based dropoff occurs. (ufoextender accuracy only) | 7 |
minRange | Range-based dropoff will work in reverse for ranges below this. | 0 |
dropoff | The value by which the accuracy lowers for each tile after (or before) the thresholds above. | 2 |
bulletSpeed | How much faster (or slower, if you use a negative number) is a projectile fired from this weapon compared to the average. | 0 |
autoShots | How many auto shots does this weapon fire. | 3 |
shotgunPellets | Number of projectiles fired per unit of ammunition. (note: due to engine limitations it is currently impossible to draw multiple projectiles in flight.) | 0 |
zombieUnit | String ID of the unit used for zombification (eg. Chrysallids turn units into Zombies). | none |
meleeSound | Sound ID from BATTLE.CAT played when this weapon attacks a target with melee. | 39 |
meleeHitSound | Sound ID from BATTLE.CAT played when this weapon HITS a target with melee. | -1 |
meleeAnimation | Sprite ID from HIT.PCK played when this weapon attacks a target with melee. | 0 |
meleePower | Damage this weapon will do when using melee. This only applies to Firearms, and is only available as stun damage. For normal melee weapons, use regular power and damage types. | 0 |
LOSRequired | Does this item require line of sight? (only applies to mind probes and psi-amps) | false |
skillApplied | Is melee skill applied to the accuracy of an attack made with this object? | true |
UFOs
Defines one of the UFOs that invade Earth, listed in "ufos:".
Value | Description | Default |
---|---|---|
type | String ID of the UFO name. | required |
size | String ID of the UFO size. | STR_VERY_SMALL |
sprite | Sprite ID from INTERWIN.DAT used to draw this UFO in the dogfight view and UFOpaedia.
don't try to add more images if you don't want to punch yourself in the face - use modsprite |
-1 |
modSprite | Filename used to draw this UFO in the dogfight view and UFOpaedia. | - |
damageMax | Maximum amount of damage this UFO can take. If the UFO takes 50% damage, it crash lands. If it takes 100% damage, it is destroyed. | 0 |
speedMax | Maximum speed in nautical miles. | 0 |
accel | Aceeleration value shown in the UFOpaedia. | 0 |
power | Damage power of this UFO's weapon in dogfights. | 0 |
range | Maximum range of this UFO's weapon in dogfights (in meters). | 0 |
score | Score gained when this UFO is destroyed, or half this score if it crash lands. | 0 |
reload | Time the UFO's weapon takes to fire between each shot. | 0 |
breakOffTime | Minimum amount of time for the UFO to be able to break off of a dogfight. | 0 |
battlescapeTerrainData | Terrain associated to this UFO in Battlescape missions. | required |
Inventory Sections
Defines one of the sections of the Battlescape inventory (eg. Backpack), listed in "invs:".
Value | Description | Default |
---|---|---|
type | String ID of the inventory name. | required |
x
y |
Pixel coordinates of this section on the inventory screen. | 0
0 |
type | Type of this section:
|
0 |
slots | List of the grid slots ([x, y]) that this section is composed of. For example, to make a 2x2 section, you would have [0, 0] [0, 1] [1, 0] [1, 1]. | - |
costs | List of Time Units costs to move an item from this section to another one (eg. STR_BACKPACK: 16 means it will cost 16 TUs to move an item from this section to the Backpack). | - |
Terrains
Defines one of the terrains used to generate a Battlescape map, listed in "terrains:".
Value | Description | Default |
---|---|---|
name | String ID of the terrain name. | required |
largeBlockLimit | Maximum amount of large blocks that can be used on map generation. | 0 |
textures | List of Geoscape textures that correspond to this terrain. | - |
hemisphere | Geoscape hemisphere associated with this terrain:
|
0 |
mapDataSets | List of filenames (each with matching MCD/PCK/TAB files) that contain the tiles of this terrain. | - |
mapBlocks | List of map blocks (see below) that are used for generating a map. | - |
roadTypeOdds | Odds as a % of generating each type of road (E-W Road, N-S Road, Crossing) odds for crossing are: 100 - EW - NS. | [0 0] |
civilianTypes | List of units to use as civilians for this mission. | [MALE_CIVILIAN, FEMALE_CIVILIAN] |
Map Blocks
Value | Description | Default |
---|---|---|
name | Filename of the map. | required |
width | Width of this map block in Battlescape grid units. | 0 |
length | Length of this map block in Battlescape grid units. | 0 |
height | Height of this map block in Battlescape grid units. | 1 |
type | Type of this map block:
|
-1 |
subType | Sub-type of this map block (see type). | -1 |
frequency | Frequency of this block in a map. | 1 |
maxCount | Maximum amount of times this block can be used in a map. If -1 there is no limit. | -1 |
- frequency defines the odds of the map appearing on the map
- The value assigned (default: 1) is used in x/n, which defines the probability of being chosen.
- x is the integer defined for the map block's frequency and n is the combined total of probabilities for all the map types combined.
- This property can only be used in type 0 map blocks.
- maxCount is the maximum number of times it can be used.
- The value assigned is also used in x/n to determine the probability of being chosen.
- Each use reduces x by -1, with the caveat that being used as a Landing Zone type will not reduce the x value since it could result in no available Landing Zones.
- This property can only be used in type 0 map blocks.
- hemisphere only applies to UFO missions, not Terror ones.
- width/length defines the size of the map
- be aware that the mapview "width"-label is the openxcom ruleset length parameter
- be aware that the mapview "length"-label is the openxcom ruleset width parameter
Guidelines/Tips
- All maps with an XCOM/Alien craft require at least one type 1 map block. This map block can only contain ground tiles (no walls or objects), otherwise the game will crash or the walls/objects will be removed.
- All Terror terrains (listed under STR_TERROR_MISSION) require at least 1 map block of Types 2, 3 and 4 (for a total of 3 maps, which are required to place roads) and the corresponding roadTypeOdds added to the ruleset.
- If there isn't any map blocks designed as roads since you want to keep your terrain 'random', this can be circumvented by designating all 10x10 map blocks, excluding the one(s) used for the XCOM craft, as either Type 2, 3 and 4 and by defining their subType to 0. The game will then randomly choose between the map blocks for each type used in the roads, making them map more random.
Armor
Defines a Battlescape unit's armor as well as visual representation (so every unit has an armor), listed in "armors:".
Value | Description | Default |
---|---|---|
type | String ID of the armor name. | required |
spriteSheet | Sprite sheet from UNITS used to draw a unit wearing this armor. | - |
spriteInv | Sprite used for the Inventory Backgrounds of a unit wearing this armor. | - |
corpseBattle | List of string IDs of the corpse items generated when a unit wearing this armor is killed (one per unit tile) on the Battlescape. | - |
corpseGeo | String ID of the corpse item associated with this unit on the Geoscape. | - |
storeItem | String ID of the item that represents this armor in Base Stores for equipping. | - |
weight | Physical weight of the armor when worn | 0 |
stats | like soldier stats (see below) but these are treated as stat bonuses for wearing the specific armor. | - |
frontArmor | Protection provided on the front of the unit. | 0 |
sideArmor | Protection provided on the sides of the unit. | 0 |
rearArmor | Protection provided on the rear of the unit. | 0 |
underArmor | Protection provided under the unit (eg. from explosions). | 0 |
drawingRoutine | Drawing routine used to put together the body parts in the unit's spriteSheet: | 0 |
movementType | Type of movement provided by this armor:
it also defines the body of an tank (32-images) in your spriteSheet or the change in sprites while flying using a flying armour see: TANKS.PCK, XCOM_2.PCK |
0 |
damageModifier | List of decimal damage modifiers (1.0 = 100%) this armor applies to each damage type (see Items section) received. Modifiers must be specified for all damage types, in this order:
|
- 1.0 |
size | Size of the unit wearing this armor, in Battlescape grid units. Every unit is square, so a size of 2 means 2x2. | 1 |
loftempsSet | List of LOFTEMPS IDs (one per unit tile, so a 1x1 unit has 1, a 2x2 unit has 4, etc.) used to represent a unit wearing this armor in 3D space. | - |
loftemps | loftemps is a deprecated option that only works for 1x1 sized units. | - |
Player Units (Soldiers)
Defines a soldier recruited by X-COM, listed in "soldiers:". Currently only one soldier unit type (XCOM) is supported.
Unit stats are represented as follows:
- tu
- stamina
- health
- bravery (always a multiple of 10)
- reactions
- firing
- throwing
- strength
- psiStrength
- psiSkill
- melee (not visible)
Value | Description | Default |
---|---|---|
type | String ID of the soldier name. | required |
minStats | Minimum values used to generate the soldier's Starting Stats. In this case, psiSkill is treated as the initial stat (not generated). | - |
maxStats | Maximum values used to generate the soldier's Starting Stats. In this case, psiSkill is treated as the minimum value for the first month of psi training (actual value is 100%-150%). | - |
statCaps | Maximum stats this soldier can gain through Experience. NOTE: A stat will still go over the limit once, and then will no longer increase (see Regarding Caps). | - |
armor | String ID of the armor this soldier uses by default. | - |
standHeight | Height of this soldier when standing. | 0 |
kneelHeight | Height of this soldier when kneeling. | 0 |
floatHeight | Distance between the bottom of this unit and the ground. | 0 |
AI Units (Aliens/Civilians)
Defines an alien (enemy) or civilian (neutral) unit, listed in "units:". Every different alien rank is a different unit, since they have completely different stats. Unit stats are represented as follows:
- tu
- stamina
- health
- bravery (always a multiple of 10)
- reactions
- firing
- throwing
- strength
- psiStrength
- psiSkill
- melee (not visible)
Value | Description | Default |
---|---|---|
type | String ID of the unit name. | required |
race | String ID of the unit race (for alien units). | - |
rank | String ID of the unit rank (for alien units). | - |
stats | Battlescape stats of this unit. | - |
armor | String ID of the armor this unit uses by default. | - |
standHeight | Height of this unit when standing. | 0 |
floatHeight | Distance between the bottom of this unit and the ground. | 0 |
value | Score this unit is worth. | 0 |
deathSound | Sound ID from BATTLE.CAT played when this unit dies. | -1 |
aggroSound | Sound ID from BATTLE.CAT played when this unit aggros. | -1 |
moveSound | Sound ID from BATTLE.CAT played when this unit moves. | -1 |
intelligence | Intelligence of this unit's AI. The higher the value, the longer this unit remembers player troops between turns. | 0 |
aggression | Aggression of this unit's AI. The higher the value, the more ruthless the unit, the more likely to make a frontal assault. Less aggressive units tend to set up ambushes.
Vanilla values are:
|
0 |
energyRecovery | Energy recovered by the unit each turn (needs verification) | 40 (?) |
specab | Special ability of this unit:
|
0 |
spawnUnit | String ID of the unit used to respawn on death (eg. Zombies respawn as Chrysallids). | - |
livingWeapon | Is this unit a living weapon? (only attacks with a fixedWeapon) | false |
Alien Races
Defines a race used in Alien Missions, listed in "alienRaces:". Heavily tied with deployment data.
Value | Description | Default |
---|---|---|
id | String ID of the alien race name. | required |
members | Alien crew associated with this alien race (eg. race units + terrorist units), defined by a list of unit string IDs. Order here will define rank in terms of deployment. generally speaking the order is:
but of course, not all races have all ranks, so the "fill in" rank would be listed multiple times (see ethereals). |
- |
retaliation | retaliation enables/disables the race for retaliation missions. | True |
Alien Deployments
Defines a Battlescape deployment data used in Alien Missions (such as alien and map configurations), listed in "alienDeployments:".
Value | Description | Default |
---|---|---|
type | String ID of the deployment name. | required |
width | Width of the Battlescape map in grid units. | 0 |
length | Length of the Battlescape map in grid units. | 0 |
height | Vertical height of the Battlescape map in grid units. | 0 |
terrains | list of string IDs of the terrain to choose from to generate this map. This is not used for UFO sites where the terrain comes from the Geoscape. | - |
shade | Shade of the map (0-15, where 0 is full daytime and 15 is full nighttime). This is not used for UFO sites where the shade comes from the Geoscape. | 0 |
nextStage | String ID of the next deployment stage to use after this one, for multi-stage missions. | - |
data | List of deployment data for each alien rank on this mission (see below). | - |
Notes:
- terrains can also be used with UFOs, with the game using instead the listed terrain rather than the location of the UFO on Geoscape.
Deployment Data
Value | Description | Default |
---|---|---|
alienRank | Rank associated with this deployment data, as defined by the order of the race in question (see above) | required |
lowQty | Minimum quantity of aliens to spawn on beginner/experienced. | 0 |
highQty | Minimum quantity of aliens to spawn on superhuman. (minimum quantity for veteran/genius is the median of this and the previous value) | 0 |
dQty | Delta in Quantity. ie: random number of aliens to spawn on top of the minimum (all difficulties). | 0 |
percentageOutsideUfo | Percentage (0-100%) of aliens to spawn outside in UFO sites. | 0 |
itemSets | Three lists (one for each alien technology level) of items (string IDs) for the aliens to equip. | required |
Research
Defines a research topic that X-COM scientists can investigate, listed in "research:".
Value | Description | Default |
---|---|---|
name | String ID of the research project's name (or item, if a lookup is defined). | required |
lookup | String ID of the research project's display name and UFOPaedia article reference. | - |
cost | Number of man hours (on average) required to complete this project. | 0 |
points | Score earned for completing this project. | 0 |
needItem | Does this project require an item of the same name? | false |
dependencies | List of research projects that can unlock access to this one. If the full list is researched, or if one of the projects on the list "unlocks" this one, it becomes available. | - |
unlocks | List of research projects unlocked, regardless of other dependencies, but not requirements, by completing this project (for example, any live alien unlocks "alien origins"). | - |
requires | List of research projects unilaterally required before this project can be unlocked (for example, "the martian solution" will not even be considered for unlocking until AFTER "alien origins" is completed). | - |
getOneFree | List of "bonus" research projects that may be granted when completing this project (for example, alien medics will give you information on other alien races). Only applies to living aliens. | - |
Manufacture
Defines a manufacture project that X-COM engineers can produce, listed in "manufacture:".
Value | Description | Default |
---|---|---|
name | String ID of the manufacturing project's name (and the item it produces). | required |
category | String ID of the manufacturing project's category. | - |
requires | List of topics (string IDs) that must be researched to unlock this project. If none are specified, this project is unlocked from the start. | - |
space | Amount of Workshop space required to begin this project. | 0 |
time | Number of man hours (on average) required per item. | 0 |
cost | Monetary deduction per item manufactured. | 0 |
requiredItems | List of items required and consumed per item manufactured. | - |
producedItems | List of items produced per each item consumed. If not specified, defaults to 1 item with the same string ID as the manufacture. | 1 |
UFOpaedia Article
Defines an article in the in-game UFOpaedia, listed in "ufopaedia:".
Value | Description | Default |
---|---|---|
id | String ID of the article name. This must match the ID of the object associated with this article, if applicable. | required |
title | String ID of the article title. If omitted, the id is used. | - |
type_id | Type of this article:
|
0 |
section | String ID of the UFOpaedia section this article belongs in. | - |
requires | List of topics (string IDs) that must be researched to unlock this article. If none are specified, this article is unlocked from the start. | - |
image_id | Filename of the background image displayed on this article, if applicable. | - |
text | String ID of the description displayed on this article. | - |
text_width | Maximum width of the text displayed, only applicable to Text & Image articles. | 0 |
rect_stats | Rectangle (x, y, width, height) of the stats text on the screen, only applicable to Craft articles. | 0 |
rect_text | Rectangle (x, y, width, height) of the description text on the screen, only applicable to Craft articles. | 0 |
weapon | String ID of the weapon, only applicable to HWP articles. | - |
UFO Trajectories
Defines a trajectory carried out by an UFO during an alien mission, listed in "ufoTrajectories:".
Value | Description | Default |
---|---|---|
id | String ID of the trajectory name. | required |
groundTimer | Amount of seconds for the UFO to spend on Ground waypoints. | 0 |
waypoints | List of waypoints for the UFO to traverse, defined as [zone, altitude, speed]. zone: Globe zone where the waypoint is located.
speed: UFO speed after reaching this waypoint, as a percentage (0-100%) of its maximum speed. |
- |
Alien Missions
Defines an alien mission carried out by UFOs on the Geoscape, listed in "alienMissions:".
Value | Description | Default |
---|---|---|
type | String ID of the mission type. | required |
points | Score allocated to aliens for successfully completing this mission. | 0 |
raceWeights | List of alien races likely to carry out this mission, and the % chance of them being allocated to this mission, listed by "number of months after game beginning". | required |
waves | List of UFO waves to spawn as this mission progresses, as described below. | required |
Waves
Value | Description | Default |
---|---|---|
ufo | String ID of the UFO to spawn. | required |
count | Number of UFOs to spawn. | 0 |
trajectory | String ID of the trajectory for this UFO to use when entering Earth's atmosphere. | required |
timer | How long after the previous wave should this wave arrive? (in minutes) | 0 |
Alien Item Levels
This is a list of item level probabilities, with a number between 0 and 2 representing an item level from plasma pistols to heavy plasmas, as defined in the deployments, expressing a 10% probability for that item level being used.
0 = first set (plasma pistol/clip) 1 = second set (plasma rifle/clip) 2 = third set (heavy plasma/clip)
For example:
[ 2, 0, 0, 0, 0, 0, 0, 1, 1, 1 ]
would represent a 60% chance for pistols, 30% rifles, and 10% heavy weapons.
Note that the order does not matter, but the length DOES. each line MUST have 10 digits.
The above can be confusing. There are 10 fields; each number represents 10%.
There are six instances of '0'. 6x10% = 60% chance of plasma pistol
There are three instances of '1'. 3x10% = 30% chance of plasma rifle
There is only one instance of '2'. 1x10% = 10% chance of heavy plasma
Each line represents a month after the beginning of the game, and there is no limit to the number defined.
OpenXCom will use the most recently available item level in the event the game goes on forever.
Extra Sprites
Adds or replaces sprites in an existing X-COM image file, listed in "extraSprites:".
Value | Description | Default |
---|---|---|
type | Filename of the original/new image to modify. | required |
width
height |
Size of the sprite(s) in pixels. | 0
0 |
singleImage | Is the image file just a single sprite (true) or a spritesheet (false)? | false |
subX
subY |
Size of the subdivision in pixels. If a subdivision is specified, then the image file is divided into chunks to form the sprites (eg. spritesheets). | 0
0 |
files | List of the new sprites to add/replace, listed as spriteID: filename. | - |
Example:
- type: GIANTBUNNY.PCK width: 32 height: 40 files: 0: Resources/Bunny/Bunny00.png 1: Resources/Bunny/Bunny01.bmp 2: Resources/Bunny/Bunny02.gif
Further example: (takes advantage of the ability to drop numerous images into a single folder that will then behave as a sprite sheet)
- type: GIANTBUNNY.PCK width: 32 height: 40 files: 0: Resources/Bunny/sprite/
(The folder "/sprite/" is required to make this work. Files within will be numbered sequential from the number defined above. "0" in this case.)
Extra Sounds
Adds or replaces sounds in an existing X-COM sound file, listed in "extraSounds:".
Value | Description | Default |
---|---|---|
type | ID of the original sound file to modify:
|
required |
files | List of the new sounds to add/replace, listed as soundID: filename. | - |
Example:
- type: BATTLE.CAT files: 55: Resources/Sounds/sample.wav
Extra Strings
Adds or replaces text strings in an existing OpenXcom language file, listed in "extraStrings:".
Value | Description | Default |
---|---|---|
type | Filename of the original language file to modify, sans extension. | required |
strings | List of the new strings to add/replace, listed as stringID: text. | - |
Example:
- type: en-US strings: STR_SNIPER_RIFLE: Sniper Rifle STR_SNIPER_RIFLE_CLIP: Sniper Rifle Clip - type: en-GB strings: STR_SNIPER_RIFLE: Sniper Rifle STR_SNIPER_RIFLE_CLIP: Sniper Rifle Clip - type: de strings: STR_SNIPER_RIFLE: Scharfschützengewehr STR_SNIPER_RIFLE_CLIP: Scharfschützengewehrmunition - type: ru strings: STR_SNIPER_RIFLE: Снайперская винтовка STR_SNIPER_RIFLE_CLIP: Магазин к снайп. винтовке
StatStrings
Statstrings are used for automatically renaming soldiers. They are case sensitive and they are processed in the order in which they are specified.
Value | Description | Default |
---|---|---|
string | String to add to name. | required |
psiStrength psiSkill |
One or more stat ranges are ANDed together for success. Each range has a minVal and maxVal. Use YAML standard tilde (~) to indicate null. ((~) = 0 as minvalue; (~) =255 as maxvalue) | - |
Example:
statStrings: - string: "x" psiStrength: [~, 30] - string: "P" psiStrength: [80, ~] - string: "p" psiStrength: [60, 79] - string: "K" psiSkill: [60, ~] - string: "k" psiSkill: [30, 59] - string: "b" bravery: [60, ~] - string: "c" bravery: [~, 10] - string: "w" strength: [~, 25] - string: "Snpr" firing: [60, ~] reactions: [60, ~] - string: "M" firing: [70, ~] - string: "m" firing: [60, 69] - string: "Sct" reactions: [50, ~] tu: [60, ~] - string: "R" reactions: [60, ~] - string: "r" reactions: [50, 59]
References
<references />