File overview: skin

From Starsector Wiki
Jump to navigation Jump to search

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
Icon check temp.png
Only up to date for version 0.95.1a. 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