Buildings
List
DefaultBuildingTypes
SettlementFortifications
SettlementBarracks
SettlementTrainingFields
SettlementGuardHouse
SettlementTaxOffice
SettlementWarehouse
SettlementMason
SettlementSiegeWorkshop
SettlementWaterworks
SettlementCourthouse
SettlementMarketplace
SettlementRoadsAndPaths
SettlementDailyHousing
SettlementDailyTrainMilitia
SettlementDailyFestivalAndGames
SettlementDailyIrrigation
CastleFortifications
CastleBarracks
CastleTrainingFields
CastleGuardHouse
CastleCastallansOffice
CastleSiegeWorkshop
CastleCraftmansQuarters
CastleFarmlands
CastleGranary
CastleMason
CastleRoadsAndPaths
CastleDailySlackenGarrison
CastleDailyRaiseTroops
CastleDailyDrills
CastleDailyIrrigation
Current build project
Progress percent
Days to complete
Building level/tier
0 1 2 3
Walls start from 1
int tier = BuildingHelper.GetTierOfBuilding(building.BuildingType, settlement.Town)
int building.CurrentLevel
Current Construction Cost

Construction cost at level
Building progress
How much is built?

Is daily/default project?

bool building.BuildingType.IsDailyProject (1.3+)
bool building.BuildingType.IsDefaultProject (1.2.12)
Reserve
int settlement.Town.BoostBuildingProcess
Add gold from the player to the Reserve:
BuildingHelper.BoostBuildingProcessWithGold(int gold, Town town);
Code
Start to build new building
public static void AddBuildingToQueueStart(Town town, Building newBuilding)
{
// Check if building is already first
if (town.BuildingsInProgress.Count > 0 && town.BuildingsInProgress.Peek() == newBuilding) return; // Already first, do nothing
// Remove the building if it exists elsewhere in the queue
var tempList = town.BuildingsInProgress.ToList();
tempList.Remove(newBuilding);
// Clear and rebuild queue with new building at start
town.BuildingsInProgress.Clear();
town.BuildingsInProgress.Enqueue(newBuilding);
foreach (Building building in tempList)
{
town.BuildingsInProgress.Enqueue(building);
}
}