Hull mods.csv

From Starsector Wiki
Jump to navigation Jump to search

This page is about modding starsector. If you are looking for in-game information on Hullmods then please refer to the Hullmod page.

Description

A hullmod script and a Hull_mods.csv combine to contain all of the information directly about a hullmod. Modded Hull_mods.csv is expected in location \Starsector\mods\ExampleMod\data\hullmods\Hull_mods.csv . The more commonly balance tweaked information is in the Hull_mods.csv while the less commonly edited information is in the script. Hull_mods.csv is formatted comma delimited csv format.

Example

name,id,tier,rarity,tech/manufacturer,tags,uiTags,base value,unlocked,hidden,hiddenEverywhere,cost_frigate,cost_dest,cost_cruiser,cost_capital,script,desc,short,sprite
Accelerated Shields,advancedshieldemitter,0,,,"defensive, shields",Shields,3000,,,,3,6,9,15,data.hullmods.AcceleratedShieldEmitter,Increases the turn rate of the ship's shields by %s and the rate at which the shields are raised by %s.,Increases shield turn rate and extension speed.,graphics/hullmods/accelerated_shields.png

Elements

At the very top of Hull_mods.csv, you will see a list of categories. Going from left to right, the function of each will be described:

name

The human-readable name of the hullmod that is displayed in-game. The internal game engine name for the hullmod is the id.

id

ID used by the game engine. Must be unique. Highly recommended to add a unique modder prefix of some kind to avoid conflicts.

rarity

Integer between 0 and 1 inclusive with higher being rarer.

tags

Mostly for autofit. Comma delimited strings. Not guaranteed to be an exhaustive list.

  • carrierDamageAlways: dmod meant for carriers
  • civ: For being recognized as a civilian package.
  • civ_package: only used to detect civilian-packaged hullmods for Escort and Assault Package.
  • civOnly: same as civ
  • damage: group it as a dmod
  • damageStruct: if dmod take structural damage, add more weighting for dmods that affects structure
  • defensive:
  • destroyedDamageAlways
  • dmod
  • engines
  • fighterBayDamage
  • merc
  • no_build_in: prevents the hullomd from being built-in.
  • no_drop: prevents dropping the hullmod in raids or salvages.
  • no_drop_salvage: perhaps prevent salvages... at least within the open-source code. Want to use no_drop.
  • non_phase
  • notAuto
  • notCiv
  • notPhase
  • offensive
  • peak_time
  • phaseDamage
  • req_spaceport: makes hullmod require functioning spaceport to be able to fit it to a ship.
  • reqShields
  • shields
  • special
  • weapons

uiTags

Hullmod tags for refit screen. Comma delimited strings.

  • Defenses
  • Engines
  • Fighters
  • Logistics
  • Requires Dock
  • Shields
  • Special
  • Support
  • Weapons

base value

Base price in credits. Number.

unlocked

Determines if this hullmod is unlock by player by default at the start of the game. Boolean TRUE / FALSE

hidden

If TRUE then this hullmod cannot be obtained by player but is visible on ships. Boolean TRUE / FALSE

hiddenEverywhere

If TRUE then this hullmod cannot be obtained by player and also is not visible on ships. Boolean TRUE / FALSE

tech/manufacturer

Determines if the hullmod appears in the refit screen under a distinct tech/manufacturer tab. Can be left blank to be in the default Common tab, just like all vanilla hullmods. String

cost_frigate

OP cost of fitting this hullmod per this ship size. Integer

cost_dest

OP cost of fitting this hullmod per this ship size. Integer

cost_cruiser

OP cost of fitting this hullmod per this ship size. Integer

cost_capital

OP cost of fitting this hullmod per this ship size. Integer

script

Path to hullmod's script. Follows Starsector's general path guidelines

Loose scripts

Relative path in full stop delimited format, without the file type, relative to the starsector core folder or the mod base folder. For example the vanilla hullmod AcceleratedShieldEmitter has a loose script in folder \starsector-core\data\ with name AcceleratedShieldEmitter.java so it's entry in the script path of Hull_mods.csv is data.hullmods.AcceleratedShieldEmitter

Compiled code

Relative path in full stop delimited format. For example, the vanilla hullmod ECMPackage has a compiled script inside the Starsector jar file with fully qualified path com.fs.starfarer.api.impl.hullmods with name ECMPackage so its entry in the script path of Hull_mods.csv is com.fs.starfarer.api.impl.hullmods.ECMPackage. To learn how this script is coded, I can navigate into the Starsector\starsector-core\starfarer.api.zip\com\fs\starfarer\api\impl\hullmods\ECMPackage.

desc

Description you see in-game. String

short

Short description, not used in game. String

sprite

Relative path to hullmod's icon sprite file from the core Starsector folder or the mod base folder. For example Accelerated Shields icon sprite is located in \Starsector\starsector-core\graphics\hullmods\accelerated_shields.png so it's entry for sprite in the Hull-mods.csv is graphics/hullmods/accelerated_shields.png


Icon cross.png
At least two versions out of date. Last verified for version 0.9.1. Please refer to Version History and update this page.


Return to: Modding