Events, Items & Account

Skins

Look up the 215 cosmetic skins of the game: avatar frames, nameplates, name cards, and march, city, and teleport skins. Each skin lists its source and the stat bonus it grants.

Functional items are in Items.


Type

Skin

FieldTypeDescription
idstringUnique slug, as in Items. Several names repeat across types
namestringDisplay name
imgstring?Path to the skin icon, relative to images/
skinTypeSkinTypeOne of 8 skin types
descriptionstringText of the skin. It ends with the bonus when there is one
bonusSkinBonus?The stat bonus. Not set when the skin grants none
sourcesstring[]Where the skin comes from

SkinBonus

FieldTypeDescription
statstringStat name, such as Troops Defense
statKeystringStable key, such as troops-defense
valuestringDisplay string, such as +2%
amountnumberParsed amount, such as 2
unit'percent' | 'flat'Whether amount is a percent or a flat value

Skin types

Skin typeSkins
Avatar Frame77
March Skin53
City Skin41
Nameplate20
Name Card12
Teleport Skin6
Chat4
Chief Profile2

Factory

import { skins } from 'whiteout-survival-data'

skins() // all 215 skins
skins(source) // wrap a pre-filtered array

Filters

MethodSignatureDescription
bySkinTypebySkinType(skinType: SkinType)Filter to one skin type.
import { skins } from 'whiteout-survival-data'

skins().bySkinType('Avatar Frame').count() // 77

Terminal methods

MethodReturnsDescription
.get()Skin[]All results
.first()Skin | undefinedFirst result
.find(id)Skin | undefinedFind by id
.findByName(name)Skin | undefinedCase-insensitive exact name match
.search(query)Skin[]Case-insensitive partial name match
.count()numberNumber of results

Examples

import { skins } from 'whiteout-survival-data'

// A skin with a stat bonus
const frame = skins().find('abundance-scent')
frame?.bonus
// { stat: 'Troops Defense', statKey: 'troops-defense', value: '+2%', amount: 2, unit: 'percent' }
frame?.sources // ['Thanksgiving Event Pack']

// Skins that grant no stat bonus
skins()
  .get()
  .filter((skin) => skin.bonus === undefined).length // 39

Notes

bonus is set on 176 of the 215 skins. The value is a string, so use amount and unit to add bonuses up.

Every description follows one pattern, Grants the [X <Skin Type>] (<duration>). The duration is too inconsistent to model as a field. It can be Permanent, 30 day, or a breakdown by rank such as Permanent/7 days/3 days with its own list of conditions. The duration stays in the free-text description.

The skins tundra-adventure and wing-of-the-icy-wind keep their ids and icons. Their names are Tundra Adventurer and Wings of the Icy Wind.


Known gaps

Skins without icons or bonuses

The 24 skins added most recently have no img, because no icon exists for them yet.

A few City Skins, such as Frost Sphere VI, have a long domain bonus text for an area effect on nearby allies. That text does not reduce to one stat and value, so it stays in description only and the skin has no bonus.


Next steps

  • See Items for functional items such as resources, chests, and speedups
  • Browse Events for events that give skins as rewards
  • Try the Buffs calculator to add skin bonuses to your totals
Previous
Items