Buildings & City

Buildings

All 27 city buildings with their full level-by-level upgrade progression. Read the cost, build time, power, prerequisites, and building-specific bonuses of any level.

Buildings that cannot be upgraded, such as the Hero Hall, are in Facilities.


Types

Building

FieldTypeDescription
idstringStable identifier
namestringDisplay name
categoryBuildingCategory'Military', 'Inner City', or 'Entertainment'
imgstring?Path to the building's icon
fireCrystalImgstring?Path to the Fire Crystal icon, if the building has one
descriptionstring?What the building does
maxLevelLabelstringLabel of the last level, such as "FC 10"
levelsBuildingLevel[]Every level, in order

BuildingLevel

FieldTypeDescription
idstringStable identifier
labelstringLevel label, such as "30", "30-1", "FC 1", or "FC 1-1"
ordernumberPosition of the level in the progression
tier'standard' | 'fireCrystal'Whether this is a standard or a Fire Crystal level
fcStagenumber?Fire Crystal stage. 0 for the 30-1 to 30-4 levels. Fire Crystal levels only
fcSubLevelnumber?Sub-level inside a stage. Omitted on a stage base row
prerequisitesBuildingRequirement[]?Buildings and levels required first
costResource[]Resources needed to build the level
buildTimeSecondsnumberBuild time in seconds
powernumberPower of the level
developmentIndexnumberScore the level adds toward the SvS Wish Station event
rallyCapacitynumber?Rally troop capacity
marchCapacitynumber?March troop capacity
trainingCapacitynumber?Troops trained at once
trainingSpeedBonusPercentnumber?Set on every standard level, then only on Fire Crystal stage base rows
researchSpeedBonusPercentnumber?Research speed bonus
infirmaryCapacitynumber?Set on every standard level, then only on Fire Crystal stage base rows
allyAssistsnumber?Alliance assists
allyHelpTimeSecondsnumber?Alliance help time in seconds
reinforceCapacitynumber?Reinforcement capacity
storehouseCapacitynumber?Protected resource capacity
barricadeDurabilitynumber?City defense durability
troopDeploymentCapacitynumber?Troop deployment capacity

A bonus field is present only on the buildings that have that stat.

BuildingRequirement

FieldTypeDescription
buildingstringName of the required building
levelnumber | stringRequired level, such as 10 or "FC 2"

Resource

FieldTypeDescription
namestringResource or furniture name
countnumberAmount needed
itemIdstring?Matching id in Items
pricePerItemnumber?Price of one furniture piece. Entertainment building costs only

Wood, Coal, Iron, Meat, Fire Crystals, and Refined Fire Crystals resolve to the items wood, coal, iron, meat, fire-crystal, and refined-fire-crystal. Furniture costs resolve to a Furniture item.


Factory

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

buildings() // all 27 buildings
buildings(source) // wrap a pre-filtered array

Filters

MethodSignatureDescription
byCategorybyCategory(category: BuildingCategory)Buildings in Military (11), Inner City (7), or Entertainment (9).

Terminal methods

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

Examples

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

const furnace = buildings().find('furnace')
furnace?.maxLevelLabel // "FC 10"
furnace?.levels.length // 80

// The 11 military buildings
buildings().byCategory('Military').get()

// Training capacity of an Infantry Camp at FC 1
const camp = buildings().findByName('Infantry Camp')
camp?.levels.find((level) => level.label === 'FC 1')?.trainingCapacity // 234

// Ally assists at Embassy level 1
buildings().find('embassy')?.levels[0].allyAssists // 1

Notes

Level shape

Most buildings have 80 levels. These are standard levels 1 to 30, then 50 Fire Crystal entries: 30-1 to 30-4, then FC 1 to FC 9 (each a base row plus four sub-levels FC N-1 to FC N-4), and FC 10 alone as the max level. Fire Crystal levels add Fire Crystals to the cost from FC 1 and Refined Fire Crystals from FC 5-1. Furnace, Embassy, Command Center, the three Camps, and Infirmary have this shape.

Other buildings have a different length.

BuildingsLevelsNotes
Research Center, Storehouse30No Fire Crystal tier. fireCrystalImg is omitted.
Barricade10Last numeric level is the max level.
War Academy46Starts at FC 1 with no cost. No standard tier.
Hunter's Hut, Sawmill, Coal Mine, Iron Mine31Levels 1 to 30, then one bonus FC 1 level with no Fire Crystal cost.
Clinic, Cookhouse, Shelter11Levels 1 to 10, then one bonus FC 1 level.
The nine Entertainment buildings1A single level. maxLevelLabel is "1".

Derived Fire Crystal prerequisites

Each Fire Crystal level needs the previous level of the same building, so the package derives prerequisites for that range. The entry names the building itself.

  • A tier base row (FC N) requires the last sub-level of the previous tier (FC (N-1)-4).
  • The first sub-level (FC N-1) requires the base row of the same tier (FC N).
  • Each later sub-level (FC N-2 to FC N-4) requires the one before it.
  • The pre-Fire-Crystal stage (30-1 to 30-4) chains from standard level 30.
  • FC 1-1 is the exception. It requires standard level 30 directly, because there is no tier 0 base.

Command Center Fire Crystal levels also have a cross-building gate on Furnace and Embassy. The three Camps and Infirmary have a Furnace-only gate.

Entertainment buildings

The nine Entertainment buildings have no upgrade path. A Furnace Fire Crystal level gates each one (FC 3, FC 4, or FC 5, depending on the building). Their cost entries are furniture pieces and carry a pricePerItem. Every level has troopDeploymentCapacity. None has a published portrait, so img is omitted on these nine, which is why Building.img is optional.

Development index

Every level has a developmentIndex. It is the score the level adds toward the SvS Wish Station event.

Shelter

Shelter is one entry, even though a player can build up to eight. The Furnace prerequisites text refers to numbered instances ("Shelter 1", "Shelter 3") as plain strings that are not linked to this entry.


Next steps

Previous
Image assets