ship_data.csv
ship_data.csv is a file of .csv format. While possible to edit with a text editor, it is highly advised to use appropriate tools for .csv format to prevent errors.
If you plan on editing .csv, please visit Required Tools page and use one of the appropriate tools.
A .ship flie and a ship_data.csv entry contain all of the information directly about a ship. The more commonly balance tweaked information is in the ship_data.csv while the less commonly edited information is in the .ship file. It is formatted as a comma delimited CSV file.
ship_data.csv is always located inside data/hulls/. If csv is in wrong location or with wrong name game will not read data in it.
Elements
At the very top of ship_data.csv, you will see a list of categories. Going from left to right, the function of each are explained in table bellow.
Type Column legend (Not all types used by every csv)
- String (ID) - this is unique ID for this separate ship, system, hullmod and so on depending on file. It most important String for most csvs and files. It how game finds things in first place. Changing ID means changing it in all other connected files, usually manually. Do ID right when you first setup entry, and try to keep it same going forward.
- String (Any) - freeform text, usually names, descriptions or designations. Usually will not get used anywhere outside UI.
- String (Keys) - these text fields accept only predefined values, either ids (of ships, shipsystems and other things) or some special key. Case sensitive. If you want to enter multiple keys in cell they need to be separated by comma (e.g
COMBAT, CARRIER) Note that not all key columns can accept multiple values. - Number (int) - accepts whole numbers. Correspond to some
intvalue in API. - Number (float) - accepts decimal numbers. Correspond to some
floatvalue in API. For decimals in.csvwhole and decimal part separated by dot (e.g.1.2) - Boolean - TRUE or FALSE, tells what something is true or false, used for major grouping of things which can only be one or another thing in game engine.
Example column based on Wolf Frigate from vanilla.
| Column name | Example | Type | Description |
|---|---|---|---|
| name | Wolf | String (Any) | Player-friendly in-game display name of the ship. This isn't the internal name for the ship. |
| id | wolf | String (ID) | Internal ID used to reference this ship in the corresponding .shipfile, .variant files and campaign scripts. This must be unique across the mod, vanilla files and any other mods active. For this reason it is highly recommended to add some form of unique prefix such as myuniquemod_shipid. Case sensitive. |
| designation | Frigate | String (Any) | The ship designation to show in game as flawor. Not the same as hullsize which is defined in .ship. Does not affect gameplay. Unused for wings which use values from wing_data.csv instead. |
| tech/manufacturer | High Tech | String (Any) | Used to show who "created" the ship, also used for sorting in codex. |
| system id | displacer | String (Keys) | Ship system for this ship. Must match the id of a ship system in the ship_systems.csv |
| fleet pts | 5 | Number (int) | Abstract number denoting how powerful the ship is. Used for when two AI fleets clash in the campaign and for determining maximum total abstract fleet power for randomly generated fleet doctrines. Unused for fighters. |
| hitpoints | 1500 | Number (float) | Determines the ship's Hull Integrity value |
| armor rating | 150 | Number (float) | Determines the ship's Armor Rating value |
| max flux | 2250 | Number (float) | Determines the ship's Flux Capacity value |
| 8/6/5/4% | 1875 | Number (float) | Unused by game. Theoretically the "ideal" ratio between flux dissipation and capacity per hullsize (e.g a frigate with 1k cap should have 80 diss). Can be used as base for further balancing. |
| flux dissipation | 150 | Number (float) | Determines the ship's Flux Dissipation value |
| ordnance points | 55 | Number (int) | Determines the ship's Ordnance Points value |
| fighter bays | Number (int) | Determines the ship's number of fighter bays. Note that 6 bays is the maximum safe number. 7 won't break the game but will cause graphical quirks on some resolutions and 8 or more will break things. |
|
| max speed | 150 | Number (float) | Determines the ship's Maximum speed. |
| acceleration | 130 | Number (float) | Determines the ship's Acceleration. Lower values mean longer acceleration time, while higher values mean shorter acceleration time. |
| deceleration | 100 | Number (float) | Determines the ship's Deceleration. Lower values mean longer deceleration time, while higher values mean shorter deceleration time. |
| max turn rate | 60 | Number (float) | Determines the maximum rate a which a ship can turn. This is also used by Axial Rotation hullmod to set the rotation speed for stations. |
| turn acceleration | 120 | Number (float) | Determines how fast a ship reaches is maximum turn rate after beginning a turn. |
| mass | 200 | Number (float) | Determines how "heavy" a ship is. Used when calculating damage from collisions with other vessels or asteroids. Also affects how much the ship is moved from weapons with an Impact value, such as Graviton Beam. Ships with higher mass will deal more damage to smaller vessels/asteroids in collisions, and take less damage as well. In the case of stations or other ships with modules then the mass of the base ship plus all module "ships" is added together. |
| shield type | FRONT | String (Keys) | Determines what type of defense the ship has. Possible values are NONE, OMNI, FRONT or PHASE, based on the ShieldAPI. Note what defensive systems like Canister Flak and Damper Field use PHASE value together with system id in defence id column to assign. |
| defense id | String (Keys) | ID of the Alternate defense systems to use instead of a shield, such as a phase cloak system. Only meaningful if shield type is set to PHASE. Custom build ship systems can be inserted here. Can be left blank unless using PHASE in shield type. Possible entries are valid ship system IDs. | |
| shield arc | 150 | Number (float) | Determines the maximum coverage of the ship's shield in degrees. |
| shield upkeep | 0.4 | Number (float) | Flux per second cost incurred when the shields are raised. Denoted as a decimal multiplier of the ship's base flux dissipation rate e.g 0.5 means the flux per second cost is half of its dissipation, 0.1 means the flux per second cost is one-tenth of its dissipation. |
| shield efficiency | 0.7 | Number (float) | Determines how much damage shields take. Denoted as how much flux will be generated by 1 point of damage. 0.5 would mean that shields take half damage from the weapon impacting it, while 1.0 would mean that shields take full damage from the weapon impacting it. |
| phase cost | Number (float) | Determines wow much flux is generated per second by the ship's Phase Cloak (if it has one) when it activated, as a fraction of base flux capacity. Numbers to two decimal places such as 0.04 are normal. |
|
| phase upkeep | Number (float) | How much flux is generated per second by the ship's Phase Cloak (if it has one) during use as a fraction of base flux capacity. Numbers to two decimal places such as 0.04 are normal. | |
| min crew | 15 | Number (float) | Determines the ship's skeleton crew requirment. |
| max crew | 30 | Number (float) | Determines the ship's maximum crew. |
| cargo | 50 | Number (float) | Determins the amount of cargo the ship can carry. Unused for wings. |
| fuel | 20 | Number (float) | Determines the amount of fuel the ship can carry. Unused for wings. |
| fuel/ly | 1 | Number (float) | The amount of fuel a ship consumes per lightyear when travelling in hyperspace and when using Emergency Burn. Unused for wings. |
| range | 20 | Number (float) | Unused by game. For comparing potential travel range with other ships. |
| max burn | 10 | Number (float) | Determines the ship's burn speed. |
| base value | 12000 | Number (float) | The amount of base credits the ship costs in the campaign. Unused for wings which use values in wing data csv instead. |
| cr %/day | 10 | Number (float) | How much Combat readiness is recovered per day out of combat. |
| CR to deploy | 20 | Number (float) | Reduction to combat readiness after combat from being deployed. |
| peak CR sec | 180 | Number (float) | Determines the ship's Peak Performance Time; how long the ship can stay in combat before combat readiness begins to decay, in seconds. It is possible to remove CR loss by leaving both peak CR sec & CR loss/sec values blank, which has uses for stations. Unused for wings. |
| CR loss/sec | 0.25 | Number (float) | How much combat readiness the ship loses per second after peak performance time runs out. It is possible to remove CR loss by leaving both peak CR sec & CR loss/sec values blank, which is uses for stations. Unused for wings. |
| supplies/rec | 5 | Number (float) | Determines the required supplies to recover after being deployed in combat. Also sets ship's Deployment Point (DP) cost. |
| supplies/mo | 5 | Number (float) | Determines supplies ship consumes per month as maintenance. |
| c/s | Number (float) | Unused by game For comparing logistics with other ships. cargo/supplies per month | |
| c/f | Number (float) | Unused by game. For comparing logistics with other ships. cargo/fuel per ly | |
| f/s | Number (float) | Unused by game. For comparing logistics with other ships. fuel/supplies per month | |
| f/f | Number (float) | Unused by game. For comparing logistics with other ships. max fuel/fuel per ly (same as range) | |
| crew/s | Number (float) | Unused by game. For comparing logistics with other ships. crew/supplies per month | |
| crew/f | Number (float) | Unused by game. For comparing logistics with other ships. crew/fuel per ly | |
| hints | String (Keys) | These 'hints' change the way the game treats this ship in various ways. These refer to ShipHullSpecAPI.ShipTypeHints. See the Hints section below for more information. |
|
| tags | hightech_bp, merc, ind | String (Keys + Any) | Tags are strings used to attach additional data to ships. They often used to define what faction knows a ship (see .faction - "knownHulls"), but also for interaction with other game systems. While there are some tags already used by game, you can create new ones by just adding them in csv. For more information on already existing tags see the Tags section below. |
| logistics n/a reason | String (Any) | Text to show instead of "Logistical Data" section in Codex/ship stats. Used to hide "Logistical Data". | |
| codex variant id | String (Keys) | ID of ship variant to be shown as base hull in codex. Usually left empty. | |
| rarity | Number (float) | Multiplies the base chance for the ship to appear in the market. A value of '1' causes the ship to spawn normally. '0.5' means the ship will appear in markets only half as frequently, and 2 will make twice as common. If left empty defaults to value of 1. |
|
| breakProb | 0.5 | Number (float) | Value from 0 to 1 - represents the chance that ship will explode into pieces when destroyed. Value of 0 means it will never shatter, value of 1 means it will always shatter. Shattered ships can only be recovered by spending S-points. |
| minPieces | 2 | Number (float) | The minimum number of pieces the ship will shatter into, if it shatters |
| maxPieces | 2 | Number (float) | The maximum number of pieces the ship will shatter into, if it shatters |
| travel drive | String (Keys) | Can be used to specify custom system for travel drive - Defaults to "traveldrive" if not specified System must perform the same basic function in the same basic way: - Toggleable, same/extremely similar speed bonus, etc - Mainly useful for setting up custom sounds and visuals for the system |
|
| number | 200 | Number (int) | This impacts the sorting display of ships within a market. I.E. ships will be sorted based on hull size and then based on this number field. |
Hints
These refer to the ShipHullSpecAPI.ShipTypeHints enum, the Possible values are:
| Hint | Description |
|---|---|
| FREIGHTER | Marks the ship as a freighter for the purposes of fleet spawning |
| TANKER | Marks the ship as a tanker for the purposes of fleet spawning |
| LINER | Marks the ship as a liner / transport for the purposes of fleet spawning |
| TRANSPORT | Marks the ship as a transport for the purposes of fleet spawning |
| CIVILIAN | Marks the ship as civilian; civilian ships do not count against the DP limits for some skills, among other things. Also changes AI behaviour to make the ship more timid |
| CARRIER | Changes AI behaviour to primarily fight using its fighters |
| COMBAT | Changes AI behaviour regarding the CARRIER hint, making the ship more willing to get involved in frontline combat |
| NO_AUTO_ESCORT | Changes AI behaviour regarding the CARRIER hint, making the ship not send it's fighters out to escort other ships |
| UNBOARDABLE | Makes the ship unrecoverable. Overridden by the "auto_rec" tag if the player has the automated ships skill |
| STATION | Marks the ship as a station, locking it in place and removing its ability to move. Also makes the ship spawn at the midpoint of the map when deployed. |
| SHIP_WITH_MODULES | Marks the ship as having modules, required if you want the ship to have modules |
| MODULE | Marks the ship as a module |
| HIDE_IN_CODEX | Hides the ship from the codex |
| UNDER_PARENT | Makes the ship render under its parent ship, if it is a module |
| INDEPENDENT_ROTATION | Allows the ship to rotate independently from its parent ship, if it is a module |
| ALWAYS_PANIC | Changes AI behaviour, making the ship always dump missiles as if it is panicking |
| WEAPONS_FRONT_TO_BACK | Changes tiebreaker for weapon render order to be distance from front of ship (front weapons go below rear ones) instead of distance from ship spine. |
| WEAPONS_BACK_TO_FRONT | Reverse behaviour to WEAPONS_FRONT_TO_BACK. Changes tiebreaker for weapon render order to be distance from rear of ship (rear weapons go below front ones) instead of distance from ship spine. |
| DO_NOT_SHOW_MODULES_IN_FLEET_LIST | Makes it so the ship's modules are not rendered in the various fleet displays |
| RENDER_ENGINES_BELOW_HULL | Makes it so the ship's engines render below the hull |
| NEVER_DODGE_MISSILES | Changes AI behaviour, preventing the ship from attempting to dodge a missile |
| MISSILE_HARDPOINTS_ROTATE | Allows missile hardpoints to rotate |
| NO_NEURAL_LINK | Prevents the "neural link" and "neural integrator" hullmods from being installed on the ship |
| PHASE | Marks the ship as a phase ship |
| PLAY_FIGHTER_OVERLOAD_SOUNDS | Enables overload sounds if the ship is a fighter |
Tags
Tags are strings used to attach additional data to ships.
They often used to define what faction knows a ship (see .faction - "knownHulls"), but also for interaction with other game systems. While there are some tags already used by game, you can create new ones by just adding them in csv.
For example, adding "myfactiontag" in ship_data.csv tags will allow you then to reference this tag in .faction instead of adding knows ships one by one.
| Tag | Description |
|---|---|
| no_dealer | Blocks the ship from being purchaseable from the arms dealer bar event |
| restricted | Prevent ship from being available for arms dealer bar events (but not ones using player blueprints), removes it from simulator and mission refit and doesn't show it in escape menu, To be used for things not meant to be available by player. |
| no_sell | Prevents the hull from appearing in markets |
| req_military | Prevents the hull from appearing in civilian markets |
| rare_bp | Allows the hull to appear as a single blueprint |
| kanta_gift | Allows this hull's blueprint to be used as a gift to earn kanta's favour |
| no_bp_drop | Prevents the blueprint from being dropped in raids |
| base_bp | Adds this hull to the base pool of blueprints |
| hightech_bp | Adds this hull to the high-tech blueprint pack |
| midline_bp | Adds this hull to the midline blueprint pack |
| lowtech_bp | Adds this hull to the low-tech blueprint pack |
| pirate_bp | Adds this hull to the pirate blueprint pack |
| LP_bp | Adds this hull to the luddic path blueprint pack |
| LC_bp | Adds this hull to the luddic church blueprint pack |
| special_allows_system_use | Allows the ship's system to be used while its non-phase / shield special ability is on |
| system_allows_special_use | Allows the ship's non phase / shield special ability to be used while its shield is on |
| hist1t, hist2t, hist3t | Allows the historian bar event to spawn this blueprint. The number denotes which donation tier the player must be on before it starts appearing |
| auto_rec | Allows the ship to be recovered if the player has the automated ships skill. Must be used in conjunction with the UNBOARDABLE hint |
| codex_unlockable | Makes it so that the player must first encounter this ship for it to be visible in the codex |
| no_autofit | Prevents autofit from working on this ship; it will directly copy a variant instead |
| module_hull_bar_only | If the ship is a module, this hides the flux bar |
| automated | A secondary way of indicating that a ship is automated |
| full_cr_recovery | Makes the ship instantly recover to 100% CR after every fight |
| no_auto_penalty | Makes the ship not use any automated ship points. Must be used in conjunction with the automated hullmod or tag |
| limited_tooltip_if_locked | Shows a limited tooltip if the player has not unlocked the ship's codex entry |
| monster | Used for checking what items available to turn in to Zunya Glamor-Rotanev as Shroud related after that interaction is unlocked |
| dweller | Marks the ship as a dweller ship |
| dweller_timid, dweller_cautious, dweller_aggressive, dweller_reckless | Overrides the ship's personality if it is a dweller ship |
| dweller_vortex | Marks the ship as a shrouded vortex for AI creation |
| dweller_ejecta | Marks the ship as a shrouded ejecta for AI creation |
| no_armor_schematic | Prevents an armour schematic from being drawn when the player is locked into the ship |
| center_diamond_on_hull_center | |
| no_battle_salvage | Prevents all post-battle salvage from dropping |
| threat | Marks the ship as a threat ship |
| threat_timid, threat_cautious, threat_aggressive, threat_reckless | Overrides the ship's personality if it is a threat ship |
| threat_hive | Marks the ship as a hive unit equivalent |
| threat_overseer | Marks the ship as an overseer unit equivalent |
| threat_fabricator | Marks the ship as a fabricator equivalent |
| threat_combat | Marks the ship as a line / assault unit equivalent |
| threat_skirmish | Marks the ship as a skirmish unit equivalent |