Home › Lua API › Cities

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

Cities

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

Community reference for this object: Cities (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
DestroyCity Cities:DestroyCity(plot: integer/Plot) (or nothing) gameplay yes ↗ 0x6c6480 0x6c6b50
GetCityInPlot Cities.GetCityInPlot(x: integer/Plot, y?: integer) → City
args: y — Plot y coordinate (plot:GetY()).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x686f90 0x687570
GetPlotPurchaseCity Cities.GetPlotPurchaseCity(plot: integer/Plot) → City
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x687060 0x687640
GetPlotWorkingCity Cities.GetPlotWorkingCity(plot: integer/Plot) → City
args: plot — Plot index (plot:GetIndex()). (inferred)
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6870f0 0x6876d0
IsCityInPlot Cities.IsCityInPlot(x: integer/Plot, y?: integer) → boolean gameplay yes ↗ 0x6c6700 0x6c6dd0