Home › Lua API › CityBuildQueue

Available out of the box. Usable from Lua in the unmodified game.

CityBuildQueue

40 methods. Symbol/current columns are function addresses (RVA) of the native wrapper.

Community reference for this object: CityBuildQueue (Sukrit Tan, external).

Signatures are recovered from the game code. ⚠ = partly understood (arguments may be missing or approximate). ? after a name = optional argument. Types: integer/number are Lua numbers, enum-typed arguments show the C++ type in brackets. Two signatures mean the method is registered separately for the UI and the gameplay state and each wrapper was decoded on its own. "same code as" in the Symbol column means the compiler merged identical functions: those methods share one wrapper and cannot be told apart by address.

Method Signature Where Reference Symbol Current
AddProgress CityBuildQueue:AddProgress(xProgress?: number) (or nothing) gameplay yes ↗ 0x6c9530 0x6c9bf0
CanProduce UI state: CityBuildQueue:CanProduce(eProductionHash: table[HashID], arg2: table, arg3: table)
gameplay state: CityBuildQueue.CanProduce() (or nothing)
args: arg2 — A boolean flag (true/false).; arg3 — A boolean flag (true/false).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x68b400 0x68b9e0
CheckActiveProduction ★ CityBuildQueue:CheckActiveProduction() (or nothing) gameplay yes ↗ 0x6c95c0 0x6c9c60
CreateBuilding CityBuildQueue:CreateBuilding(arg1?: number, x: integer/Plot, y?: integer) → boolean gameplay yes ↗ 0x6c95f0 0x6c9c90
CreateDistrict CityBuildQueue:CreateDistrict(arg1?: number, x: integer/Plot, y?: integer) → boolean gameplay yes ↗ 0x6c96c0 0x6c9d60
CreateIncompleteBuilding CityBuildQueue:CreateIncompleteBuilding(arg1?: number, x: integer/Plot, y?: integer, arg4?: integer) → boolean
args: x — Plot index (plot:GetIndex()). (inferred)
gameplay yes ↗ 0x6c9780 0x6c9e20
CreateIncompleteDistrict CityBuildQueue:CreateIncompleteDistrict(arg1?: number, x: integer/Plot, y?: integer, arg4?: integer) → boolean
args: x — Plot index (plot:GetIndex()). (inferred)
gameplay yes ↗ 0x6c9870 0x6c9f10
CurrentlyBuilding CityBuildQueue:CurrentlyBuilding() → nil/string/string gameplay yes ↗ 0x6c9960 0x6ca000
FinishProgress CityBuildQueue:FinishProgress() (or nothing) gameplay yes ↗ 0x6c9b30 0x6ca1d0
GetAt CityBuildQueue:GetAt(uiIndex?: number) → string (or nothing)
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68b840 0x68be20
GetAvailableProductionTypes CityBuildQueue.GetAvailableProductionTypes() (or nothing) gameplay yes ↗ 0x6c95a0 0x6ca200
GetBuildingCost CityBuildQueue:GetBuildingCost(arg1: string/number[BuildingTypes]) → number
args: arg1 — Index of a row of the Buildings table (the value of GameInfo.Buildings[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68be30 0x68c410
GetBuildingProgress CityBuildQueue:GetBuildingProgress(arg1: string/number[BuildingTypes]) → number
args: arg1 — Index of a row of the Buildings table (the value of GameInfo.Buildings[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68bea0 0x68c480
GetCity CityBuildQueue:GetCity() → City
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x68bf10 0x68c4f0
GetConstructionPlot CityBuildQueue:GetConstructionPlot(eBuilding: string/number[BuildingTypes]) → number
args: eBuilding — Index of a row of the Buildings table (the value of GameInfo.Buildings[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68bf50 0x68c530
GetConstructionsAtLocation CityBuildQueue:GetConstructionsAtLocation(x: integer/Plot, y?: integer) → number[]
args: x — Plot index (named plotIndex / plotID in the scripts). (inferred)
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68bfc0 0x68c5a0
GetCurrentProductionTypeHash CityBuildQueue:GetCurrentProductionTypeHash() → number
✓ called in the game: 1 value(s) as documented
returns: Hash of a row of the Buildings table: the scripts look it up with GameInfo.Buildings[result].
ui-cache yes ↗ 0x68c0e0 0x68c6c0
GetCurrentProductionTypeModifier CityBuildQueue:GetCurrentProductionTypeModifier() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x68c130 0x68c710
GetDistrictCost CityBuildQueue:GetDistrictCost(arg1: string/number[DistrictTypes]) → number
args: arg1 — Index of a row of the Districts table (the value of GameInfo.Districts[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c180 0x68c760
GetDistrictProgress CityBuildQueue:GetDistrictProgress(arg1: string/number[DistrictTypes]) → number
args: arg1 — Index of a row of the Districts table (the value of GameInfo.Districts[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c1f0 0x68c7d0
GetNumEntriesOfProductionTypeHash CityBuildQueue:GetNumEntriesOfProductionTypeHash(eUnit: string/number[UnitTypes]) → number
args: eUnit — Index of a row of the Units table (the value of GameInfo.Units[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c260 0x68c840
GetPreviousProductionTypeHash CityBuildQueue:GetPreviousProductionTypeHash() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x68c2d0 0x68c8b0
GetProductionYield CityBuildQueue:GetProductionYield() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x68c320 0x68c900
GetProjectCost CityBuildQueue:GetProjectCost(arg1: string/number[ProjectTypes]) → number
args: arg1 — Index of a row of the Projects table (the value of GameInfo.Projects[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c370 0x68c950
GetProjectProgress CityBuildQueue:GetProjectProgress(arg1: string/number[ProjectTypes]) → number
args: arg1 — Index of a row of the Projects table (the value of GameInfo.Projects[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c3e0 0x68c9c0
GetSize CityBuildQueue:GetSize() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x68c450 0x68ca30
GetTurnsLeft UI state: CityBuildQueue:GetTurnsLeft(arg1: string/number, arg2?: number) → number
gameplay state: CityBuildQueue.GetTurnsLeft() (or nothing)
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x68c4a0 0x68ca80
GetUnitArmyCost CityBuildQueue:GetUnitArmyCost(arg1: string/number[UnitTypes]) → number
args: arg1 — Index of a row of the Units table (the value of GameInfo.Units[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c600 0x68cbe0
GetUnitCorpsCost CityBuildQueue:GetUnitCorpsCost(arg1: string/number[UnitTypes]) → number
args: arg1 — Index of a row of the Units table (the value of GameInfo.Units[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c670 0x68cc50
GetUnitCost CityBuildQueue:GetUnitCost(arg1: string/number[UnitTypes]) → number
args: arg1 — Index of a row of the Units table (the value of GameInfo.Units[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c6e0 0x68ccc0
GetUnitProgress CityBuildQueue:GetUnitProgress(arg1: string/number[UnitTypes]) → number
args: arg1 — Index of a row of the Units table (the value of GameInfo.Units[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x68c750 0x68cd30
GetUnitResourceCost CityBuildQueue:GetUnitResourceCost(eUnit: string/number[UnitTypes], eMilitaryFormation: string/number[MilitaryFormationTypes]) → number
args: eUnit — Index of a row of the Units table (the value of GameInfo.Units[...].Index).; eMilitaryFormation — Value of the MilitaryFormationTypes enum (a type index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x73cfd0 0x73d910
HasBeenPlaced UI state: CityBuildQueue:HasBeenPlaced(eBuilding: string/number[BuildingTypes]) → boolean
gameplay state: CityBuildQueue:HasBeenPlaced(arg1: number/string, arg2?: number) → boolean (or nothing)
args: eBuilding — Index of a row of the Buildings table (the value of GameInfo.Buildings[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x68c7c0 0x68cda0
HasBuildingBeenPlaced CityBuildQueue:HasBuildingBeenPlaced(arg1?: number) → boolean gameplay yes ↗ 0x6c9cc0 0x6ca380
HasBuildingProductionProgress CityBuildQueue:HasBuildingProductionProgress(arg1?: any, arg2?: number) → boolean ⚠ gameplay yes ↗ 0x6c9d40 0x6ca400
HasDistrictBeenPlaced CityBuildQueue:HasDistrictBeenPlaced(arg1?: number) → boolean gameplay yes ↗ 0x6c9dc0 0x6ca480
HasDistrictProductionProgress CityBuildQueue:HasDistrictProductionProgress(arg1?: any, arg2?: number) → boolean ⚠ gameplay yes ↗ 0x6c9e40 0x6ca500
HasProductionProgress UI state: CityBuildQueue:HasProductionProgress(eBuilding: string/number[BuildingTypes]) → boolean
gameplay state: CityBuildQueue:HasProductionProgress(arg1: number/string, arg2?: number) → boolean (or nothing)
args: eBuilding — Index of a row of the Buildings table (the value of GameInfo.Buildings[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x68c830 0x68ce10
RemoveBuilding CityBuildQueue:RemoveBuilding(eBuilding: number/string[BuildingTypes]) (or nothing)
args: eBuilding — Index of a row of the Buildings table (the value of GameInfo.Buildings[...].Index).
gameplay yes ↗ 0x6ca020 0x6ca6e0
RemoveDistrict CityBuildQueue:RemoveDistrict(eDistrict: District) (or nothing) gameplay yes ↗ 0x6ca070 0x6ca730

Notes (★)

CheckActiveProduction

Kills the game when called in the tester's game.