Home › Lua API › MapFeatureManager

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

MapFeatureManager

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

Community reference for this object: MapFeatureManager (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
CanSufferEruption MapFeatureManager.CanSufferEruption(x: integer/Plot, y?: integer) → boolean
args: x — Plot index (named plotIndex / plotID in the scripts). (inferred)
gameplay yes ↗ 0x5b9710 0x5ba650
GetNamedVolcanoes MapFeatureManager.GetNamedVolcanoes() → string gameplay yes ↗ 0x5b97b0 0x5ba6f0
GetNumActiveVolcanoes MapFeatureManager.GetNumActiveVolcanoes() → number gameplay yes ↗ 0x5b9bd0 0x5bab10
GetNumEruptions MapFeatureManager.GetNumEruptions() → number gameplay yes ↗ 0x5b9c40 0x5bab80
GetNumNaturalWonderVolcanoes MapFeatureManager.GetNumNaturalWonderVolcanoes() → number gameplay yes ↗ 0x5b9cb0 0x5babf0
GetNumNormalVolcanoes MapFeatureManager.GetNumNormalVolcanoes(bMustBeNamed?: boolean) → number gameplay yes ↗ 0x5b9d20 0x5bac60
GetNumVolcanoes MapFeatureManager.GetNumVolcanoes() → number gameplay yes ↗ 0x5b9db0 0x5bacf0
GetPercentVolcanoesActive MapFeatureManager.GetPercentVolcanoesActive() → number gameplay yes ↗ 0x5b9e20 0x5bad60
GetTotalVolcanoes MapFeatureManager.GetTotalVolcanoes() → number gameplay yes ↗ 0x5b9e90 0x5badd0
GetVolcanoName MapFeatureManager.GetVolcanoName(x: integer/Plot, y?: integer) → nil/string (or nothing)
args: x — A Plot object (the scripts pass a variable named pPlot).
gameplay yes ↗ 0x5b9f00 0x5bae40
GetVolcanoNameByType MapFeatureManager.GetVolcanoNameByType(arg1?: number) gameplay yes ↗ 0x5b9ff0 0x5baf30
GetVolcanoType MapFeatureManager.GetVolcanoType(x: integer/Plot, y?: integer) → number gameplay yes ↗ 0x5ba0e0 0x5bb020
GetVolcanoTypeAtIndex MapFeatureManager.GetVolcanoTypeAtIndex(uiIndex?: number) → number gameplay yes ↗ 0x5ba180 0x5bb0c0
IsActiveVolcano MapFeatureManager.IsActiveVolcano(x: integer/Plot, y?: integer) → boolean
args: x — A Plot object (the scripts pass a variable named pPlot).
gameplay yes ↗ 0x5ba220 0x5bb160
IsAffectedByEruption MapFeatureManager.IsAffectedByEruption(x: integer/Plot, y?: integer) → boolean, number, number gameplay yes ↗ 0x5ba2c0 0x5bb200
IsVolcano MapFeatureManager.IsVolcano(x: integer/Plot, y?: integer) → boolean
args: x — A Plot object (the scripts pass a variable named pPlot).
gameplay yes ↗ 0x5ba3c0 0x5bb300
IsVolcanoErupting MapFeatureManager.IsVolcanoErupting(x: integer/Plot, y?: integer) → boolean, number, number
args: x — A Plot object (the scripts pass a variable named pPlot).
gameplay yes ↗ 0x5ba460 0x5bb3a0