Buildings Data
Base-building and production structures. A compact table defining building types, upgrade levels, production rates, and tech-tree effects.
Table Structure
Source
TableDataManager.building_map
Struct
GeneralBuildingTable (value type)
Key Type
int — unique building ID
Records
84 entries (building types × upgrade levels)
The building table is the smallest of the extracted data tables. It defines the base structures that players construct and upgrade. Each record represents a building at a specific upgrade level, meaning the 84 records cover relatively few building types with multiple levels each.
BuildingType Values
| Value | Name | Description |
|---|---|---|
0 | None | Default / unset |
1 | CommandCenter | Central hub; unlocks other buildings and features |
2 | MineralProduction | Mineral production — generates minerals over time |
3 | MineralStorage | Mineral storage — increases mineral capacity |
4 | GasProduction | Gas production — generates gas over time |
5 | GasStorage | Gas storage — increases gas capacity |
6 | OilProduction | Oil production — generates oil over time |
7 | OilStorage | Oil storage — increases oil capacity |
8 | SupplyDepot | Supply depot |
9 | Barracks | Barracks |
10 | Factory | Factory |
11 | Armory | Armory |
12 | Academy | Academy |
13 | ScienceFacility | Science facility |
14 | AllienceCanter | Alliance center (note: typo in game code — should be "AllianceCenter") |
Key Fields
Building stats| Field | Type | Notes |
|---|---|---|
ID | int | Primary key; unique per building-level combination |
eBuildType | BuildingType | Type of building (see table above); offset 0xC |
iLevel | int | Upgrade level for this record |
OwnedEffectTypes | PropertyType[] | Array of stat/effect types this building provides; offset 0x80 |
OwnedEffectValues | float[] | Array of effect magnitudes corresponding to OwnedEffectTypes; offset 0x88 |
iPaymentID | int | Payment/currency type identifier for upgrade cost; offset 0x40 |
iCost | int | Cost amount to upgrade to this level; offset 0x44 |
iBuildTime | int | Build/upgrade duration in seconds; offset 0x30 |
iCenterLevel | int | Command Center level required to build/upgrade; offset 0x70 |
Open Questions
- The BuildingType enum has 15 values (0–14). With 84 records across 14 non-None types, that averages 6 levels per type — how many levels does each type actually have?
- How do OwnedEffectTypes/OwnedEffectValues arrays interact with ship stats — are they global modifiers or mode-specific?
- What are the distinct
iPaymentIDvalues used — do different building types require different currency types? - Is there a building dependency tree beyond the
iCenterLevelrequirement? - Do production buildings (Mineral, Gas, Oil) have offline accumulation caps tied to their storage counterparts?