Home › Lua API › RiverManager

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

RiverManager

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

Community reference for this object: RiverManager (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
CanBeFlooded RiverManager.CanBeFlooded(x: integer/Plot, y?: integer) → boolean
args: x — Plot index (named plotIndex / plotID in the scripts). (inferred)
gameplay yes ↗ 0x5bb6e0 0x5bc620
EnumerateRivers RiverManager.EnumerateRivers() → nil gameplay yes ↗ 0x5bb780 0x5bc6c0
GetFloodplainLocation RiverManager.GetFloodplainLocation(eRiver?: number) → number, number (or nothing) gameplay yes ↗ 0x5bb960 0x5bc8a0
GetFloodplainPlots RiverManager.GetFloodplainPlots(eRiver?: number) → nil gameplay yes ↗ 0x5bba30 0x5bc970
GetNumFloodableRivers RiverManager.GetNumFloodableRivers() → number gameplay yes ↗ 0x5bbbd0 0x5bcb10
GetNumFloods RiverManager.GetNumFloods() → number gameplay yes ↗ 0x5bbc40 0x5bcb80
GetNumRivers RiverManager.GetNumRivers() → number gameplay yes ↗ 0x5bbcb0 0x5bcbf0
GetRiverByID RiverManager.GetRiverByID(arg1?: number) (or nothing) gameplay yes ↗ 0x5bbd20 0x5bcc60
GetRiverByIndex RiverManager.GetRiverByIndex(uiIndex?: number) gameplay yes ↗ 0x5bbdd0 0x5bcd10
GetRiverForFloodplain RiverManager.GetRiverForFloodplain(x: integer/Plot, y?: integer) → number (or nothing)
args: x — A plot coordinate (named x / y / plotX / plotY in the scripts). (inferred); y — A plot coordinate (named x / y / plotX / plotY in the scripts). (inferred)
returns: The scripts pass the result to RiverManager.GetFloodplainPlots (parameter eRiver). (inferred)
gameplay yes ↗ 0x5bbe30 0x5bcd70
GetRiverIDAtIndex RiverManager.GetRiverIDAtIndex(uiIndex?: number) → number gameplay yes ↗ 0x5bbed0 0x5bce10
GetRiverIndexByID RiverManager.GetRiverIndexByID(arg1?: number) → number gameplay yes ↗ 0x5bbf60 0x5bcea0
GetRiverName RiverManager.GetRiverName(x: integer/Plot, y?: integer) → nil/string (or nothing)
args: x — A Plot object (the scripts pass a variable named pPlot).
gameplay yes ↗ 0x5bbff0 0x5bcf30
GetRiverNameByType RiverManager.GetRiverNameByType(arg1?: number) gameplay yes ↗ 0x5bc0f0 0x5bd030
GetRiverType RiverManager.GetRiverType(x: integer/Plot, y?: integer) → number gameplay yes ↗ 0x5bc1e0 0x5bd120
GetRiverTypeAtIndex RiverManager.GetRiverTypeAtIndex(uiIndex?: number) → number gameplay yes ↗ 0x5bc2f0 0x5bd230
GetRiverTypes RiverManager.GetRiverTypes(x: integer/Plot, y?: integer) → number[] (or nothing)
args: x — Plot index (named plotIndex / plotID in the scripts). (inferred)
gameplay yes ↗ 0x5bc380 0x5bd2c0
IsFlooded RiverManager.IsFlooded(x: integer/Plot, y?: integer) → number, number, boolean gameplay yes ↗ 0x5bc500 0x5bd440