Skip to main content

Skin Strings

Version History

Build VersionChange DateChange TypeDescription
6760422025-06-21stableCurrent version

Overview

The skin_strings.lua file contains auto-generated localization strings for character skin quotes and item names in Don't Starve Together. This file is automatically generated by the export_accountitems.lua script and provides the localized text content for all cosmetic skins in the game.

Usage Example

-- Access a character's skin quote
local quote = STRINGS.SKIN_QUOTES.wilson_formal
-- Returns: "I hate parties."

-- Access a skin's display name
local name = STRINGS.SKIN_NAMES.wilson_formal
-- Returns: "The Gentleman Scientist"

-- Access item type descriptions
local type_desc = STRINGS.SKIN_DESCRIPTIONS.TYPE.CHARACTER
-- Returns: "Character"

String Tables

STRINGS.SKIN_QUOTES

Status: stable

Description: Contains character-specific quotes for each skin variation. These quotes appear when players inspect or interact with characters wearing specific skins.

Structure:

STRINGS.SKIN_QUOTES = {
[character_skin_id] = "Quote text"
}

Parameters:

  • character_skin_id (string): Unique identifier combining character name and skin theme
  • Quote text (string): Localized quote displayed for the skin

Key Patterns:

  • Character names: wilson, willow, wolfgang, wendy, wx78, wickerbottom, woodie, wes, waxwell, wathgrithr, webber, winona, warly, wormwood, wurt, walter, wanda
  • Skin themes: formal, gladiator, victorian, shadow, rose, nature, lunar, ice, survivor, ancient
  • Special variants: _d (damaged), _p (pristine)

Example:

-- Character skin quotes
STRINGS.SKIN_QUOTES.wilson_formal = "I hate parties."
STRINGS.SKIN_QUOTES.willow_ancient = "Sometimes the old ways need to crash and burn to make way for the new."
STRINGS.SKIN_QUOTES.wolfgang_gladiator = "You will kneel before might of Wolfgang!"

STRINGS.SKIN_NAMES

Status: stable

Description: Contains display names for all cosmetic skins in the game, including character skins, item skins, and special cosmetic items.

Structure:

STRINGS.SKIN_NAMES = {
[skin_id] = "Display Name"
}

Categories:

  • Character Skins: Named skin variations for playable characters
  • Item Skins: Cosmetic variants for tools, weapons, armor, and structures
  • Pet Skins: Appearance modifications for companion creatures
  • Special Items: Unique cosmetic elements and accessories

Example:

-- Character skin names
STRINGS.SKIN_NAMES.wilson_formal = "The Gentleman Scientist"
STRINGS.SKIN_NAMES.willow_ancient = "The Firestarter"

-- Item skin names
STRINGS.SKIN_NAMES.spear_poison = "Venomous Spear"
STRINGS.SKIN_NAMES.armor_grass_woven = "Woven Grass Armor"

-- Pet skin names
STRINGS.SKIN_NAMES.chester_snow = "Snow Chester"
STRINGS.SKIN_NAMES.glommer_flower = "Flower Glommer"

STRINGS.SKIN_DESCRIPTIONS.TYPE

Status: stable

Description: Provides localized descriptions for different skin categories and types used in the game's UI.

Available Types:

  • BASE: Head/Base character modifications
  • BEEFALO: Beefalo mount clothing and accessories
  • CHARACTER: Character skin variations
  • CLOTHING: Wearable cosmetic items
  • CRAFTABLE: Cosmetic variants of craftable items
  • EMOJI: Emoticon expressions
  • EMOTE: Character emote animations
  • LOADING: Loading screen images
  • MYSTERYBOX: Mystery box containers
  • PET: Companion creature modifications
  • PLAYERPORTRAIT: Player avatar portraits
  • PROFILEFLAIR: Profile decoration icons

Example:

-- Skin type descriptions
STRINGS.SKIN_DESCRIPTIONS.TYPE.CHARACTER = "Character"
STRINGS.SKIN_DESCRIPTIONS.TYPE.CLOTHING = "Clothing"
STRINGS.SKIN_DESCRIPTIONS.TYPE.EMOTE = "Emote"

STRINGS.SKIN_DESCRIPTIONS.ITEM

Status: stable

Description: Contains localized names for specific items that can have skin variations applied to them.

Categories Include:

  • Tools: Axes, pickaxes, shovels, hammers
  • Weapons: Spears, swords, staffs
  • Armor: Protective equipment variants
  • Structures: Buildings and constructions
  • Containers: Storage items and chests
  • Lighting: Torches, lanterns, fire pits
  • Furniture: Decorative and functional items

Example:

-- Item descriptions for skinnable objects
STRINGS.SKIN_DESCRIPTIONS.ITEM.AXE = "Axe"
STRINGS.SKIN_DESCRIPTIONS.ITEM.SPEAR = "Spear"
STRINGS.SKIN_DESCRIPTIONS.ITEM.CHEST = "Chest"
STRINGS.SKIN_DESCRIPTIONS.ITEM.FIREPIT = "Fire Pit"

Character Skin Patterns

Character Identifiers

All character skins follow the pattern: [character]_[theme]

Available Characters:

  • wilson - Wilson the Gentleman Scientist
  • willow - Willow the Firestarter
  • wolfgang - Wolfgang the Strongman
  • wendy - Wendy the Mournful
  • wx78 - WX-78 the Soulless Automaton
  • wickerbottom - Wickerbottom the Librarian
  • woodie - Woodie the Lumberjack
  • wes - Wes the Silent
  • waxwell - Maxwell the Puppet Master
  • wathgrithr - Wigfrid the Performance Artist
  • webber - Webber the Indigestible
  • winona - Winona the Handywoman
  • warly - Warly the Culinarian
  • wormwood - Wormwood the Verdant
  • wurt - Wurt the Marsh Dweller
  • walter - Walter the Fearless
  • wanda - Wanda the Timekeeper

Common Skin Themes

Universal Themes (available for most characters):

  • formal - Formal/elegant clothing
  • gladiator - Combat/arena themed
  • victorian - Victorian era styling
  • shadow - Dark/corrupted appearance
  • rose - Rose/romantic themed
  • nature - Natural/forest themed
  • lunar - Moon/celestial themed
  • ice - Winter/cold themed
  • survivor - Post-apocalyptic/rugged
  • ancient - Historical/archaeological
  • masquerade - Masquerade ball themed
  • yule - Holiday/winter celebration

Character-Specific Themes:

  • walter_detective - Detective outfit for Walter
  • warly_chef - Chef uniform for Warly
  • wathgrithr_valkyrie - Valkyrie armor for Wigfrid
  • wx78_retro - Retro styling for WX-78

Integration Points

Mod Support

Mods can extend the skin strings system by adding entries to the string tables:

-- Add custom skin quotes
STRINGS.SKIN_QUOTES = STRINGS.SKIN_QUOTES or {}
STRINGS.SKIN_QUOTES.mymod_character_custom = "My custom quote!"

-- Add custom skin names
STRINGS.SKIN_NAMES = STRINGS.SKIN_NAMES or {}
STRINGS.SKIN_NAMES.mymod_item_variant = "Custom Item Skin"

UI Integration

The skin strings are used throughout the game's user interface:

  • Character selection screens
  • Inventory item tooltips
  • Skin preview panels
  • Market/store displays
  • Achievement descriptions

Auto-Generation Process

Source: export_accountitems.lua

Generation Method:

  1. Reads skin definitions from game data
  2. Extracts quote and name information
  3. Formats into Lua string table structure
  4. Writes to skin_strings.lua file

Update Frequency: Generated with each game build that includes new skins

Common Usage Patterns

Accessing Character Quotes

-- Get quote for specific character skin
local function GetSkinQuote(character, skin_theme)
local skin_id = character .. "_" .. skin_theme
return STRINGS.SKIN_QUOTES[skin_id]
end

-- Example usage
local quote = GetSkinQuote("wilson", "formal")
print(quote) -- "I hate parties."

Displaying Skin Names

-- Format skin name for UI display
local function FormatSkinName(base_name, skin_id)
local skin_name = STRINGS.SKIN_NAMES[skin_id]
if skin_name then
return base_name .. " - " .. skin_name
end
return base_name
end

-- Example
local display_name = FormatSkinName("Wilson", "wilson_formal")
print(display_name) -- "Wilson - The Gentleman Scientist"

Validating Skin Availability

-- Check if skin has localized strings
local function HasSkinStrings(skin_id)
return STRINGS.SKIN_NAMES[skin_id] ~= nil or
STRINGS.SKIN_QUOTES[skin_id] ~= nil
end

-- Usage
if HasSkinStrings("wilson_formal") then
-- Skin is properly localized
end