Skin files allow variations on existing ships to be created quickly. They also have niche uses for providing the player with ships that change from the skin into the base hull when restored. Use a variant if only need to vary modular weapon loadouts. Some things cannot be changed via skins and will necessitate a new ship entry, such as the location of engines or weapon mounts (individual engines or weapon mounts can be disabled in a skin file OK).
Skin files are very similar to .ship files being written in starsector's loose JSON and dealing with many of the same things however they have some specific elements to remove things from the originating ship hull, from the originating .ship file. Removal occurs before adding things so it is OK to remove something built-in & put a different one in that mount, such as weapons or wings.
Skin file example[]
Here is an example of all of the potential valid fields for a .skin file, know as of circa Jan 2022
{
"baseHullId":"example",
"skinHullId":"exampleSkin",
# Everything below is optional
"tags":["roider_bp"],
"coversColor":"255,255,255,255",
"spriteName":"graphics/ships/colossus/colossus2_pather.png",
"hullName":"Example",
"hullDesignation":"Frigate",
"manufacturer":"Low Tech",
"tech":"Low Tech", # alternate for "manufacturer"
"fleetPoints":5, # causes "fpMod" to be ignored
"fpMod":2, # added to base hull's fleet points
"restoreToBaseHull":true, # default false
"fighterBays":0,
"ordnancePoints":30, # breaks variant compatibility with base hull
"baseValue":10000,
"baseValueMult":1,
"descriptionId":"exampleSkin",
"descriptionPrefix":"Prefix text.\n\n\"Two lines down in quotes.\"",
"systemId":"flares",
"removeWeaponSlots":[], # ids; breaks variant compatibility with base hull
"removeEngineSlots":[], # indices, as engine slots have no id in the .ship file; first indice is 0
"removeBuiltInMods":[], # ids; breaks variant compatibility with base hull
"removeBuiltInWings":[], # wing ids; breaks variant compatibility with base hull
"removeBuiltInWeapons":[], # weapon slot ids; breaks variant compatibility with base hull
"removeHints":[],
"addHints":[],
"builtInMods":[], # ids; breaks variant compatibility with base hull
"builtInWings":[], # wing ids; breaks variant compatibility with base hull
"builtInWeapons":{
"WS 001":"lightmg",
"WS 002":"lightmg"
},
"weaponSlotChanges":{ # breaks variant compatibility with base hull
"WS 001":{
"angle": 0,
"arc": 210,
"mount": "TURRET",
"size": "SMALL",
"type": "BUILT_IN"
},
"WS 002":{
"angle": 0,
"arc": 210,
"mount": "TURRET",
"size": "SMALL",
"type": "BUILT_IN"
},
},
"engineSlotChanges":{
"0":{
"width": 0,
"length": 210,
"angle": 210,
"style": "LOW_TECH",
},
"1":{
"width": 0,
"length": 210,
"angle": 210,
"style": "LOW_TECH",
}
}
}
Skin file specific JSON elements[]
baseHullId[]
- This links the skin to it's originating ship hull, by ShipID. String
skinHullId[]
- This is the ID of this skin, that is used in place of a ShipID in variant files or other places where a ShipID would be used. String
restoreToBaseHull[]
- This defines the Restore behaviour. False will remove added d-mods & restore to this skin file. True will remove d-mods & restore to the originating ship. Defaults to False. Boolean
baseValueMult[]
- Applies a multiplier to the base ship value. Can be a decimal, to lower the value. Number
removeHints[]
addHints[]
removeWeaponSlots[]
- Removes a weapon mount. References the mount by weapon mount ID
removeEngineSlots[]
- Removes an engine node. References the node by engine node ID
removeBuiltInMods[]
- Removes hullmods built into the originating ship. References the hullmod by hullmodID
removeBuiltInWeapons[]
- Removes a built-in weapon from a mount, leaving the mount free for other modular or built-in weapons. References the mount by weapon mount ID
removeBuiltInWings[]
- References WingID
weaponSlotChanges[]
- New definitions for existing weapon slots. Cannot change the location
engineSlotChanges[]
- New definitions for existing engine nodes. Cannot change the location
Only up to date for version 0.95.1. It is likely still broadly correct but not verified for the most up to date data yet. Please double check the Version History.
---
Return to Modding