Home › Lua API › UnitManager

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

UnitManager

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

Community reference for this object: UnitManager (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
CanFormMilitaryFormation UnitManager.CanFormMilitaryFormation(ePlayer?: number, eDomain?: number, eMilitaryFormation?: number, pkUnit: Unit) → boolean
args: ePlayer — Id of a player (the scripts name the argument playerID / owner). (inferred); eMilitaryFormation — A constant from the Lua table MilitaryFormationTypes.; pkUnit — A Unit object (the scripts pass a variable named pUnit).
gameplay yes ↗ 0x7005a0 0x700cf0
CanStartCommand UnitManager:CanStartCommand(arg1?: number, arg2: table, arg3?: any) → boolean
args: arg1 — A Unit object (the scripts pass a variable named pUnit).; arg2 — A constant from the Lua table UnitCommandTypes.
ui-cache yes ↗ 0x6bfae0 0x6c0060
CanStartOperation UnitManager:CanStartOperation(arg1: string/number[TypeHash], arg2: MapPlot, arg3: table, arg4?: number) → boolean
args: arg2 — A constant from the Lua table UnitOperationTypes.
ui-cache yes ↗ 0x6bfe10 0x6c0390
ChangeMovesRemaining UnitManager:ChangeMovesRemaining(xDelta?: number) (or nothing) gameplay yes ↗ 0x7006c0 0x700e10
FinishMoves UnitManager:FinishMoves() (or nothing) gameplay yes ↗ 0x700740 0x700e90
GetAbilitySummaries UnitManager.GetAbilitySummaries(arg1?: number) → string ui-cache yes ↗ 0x6c0180 0x6c0700
GetActivityType UnitManager:GetActivityType() → number (or nothing) ui-cache yes ↗ 0x6c02d0 0x6c0850
GetCommandHelpText UnitManager.GetCommandHelpText(arg1?: number, arg2?: number, arg3: Unit) → string
args: arg2 — Id of a player. (inferred)
ui-cache yes ↗ 0x6c0320 0x6c08a0
GetCommandResults UnitManager:GetCommandResults(arg1?: number, arg2: table, arg3?: any) → boolean ui-cache yes ↗ 0x6c0460 0x6c09e0
GetCommandTargets UnitManager:GetCommandTargets(arg1?: number, arg2: table) → 1 values (or nothing) ⚠
args: arg2 — A constant from the Lua table UnitCommandTypes.
ui-cache yes ↗ 0x6c0790 0x6c0d10
GetEstablishInCityTime UnitManager:GetEstablishInCityTime(arg1: City) → number (or nothing) ui-cache yes ↗ 0x6c0980 0x6c0f00
GetMoveToPath UnitManager:GetMoveToPath(arg1?: number) → number[], number[], number[] (or nothing)
args: arg1 — A Unit object (the scripts pass a variable named pUnit). (inferred)
ui-cache, gameplay yes ↗ 0x6c0a00 0x6c0f80
GetMoveToPathEx UnitManager:GetMoveToPathEx(arg1?: number) → number (or nothing)
args: arg1 — Id of a unit (named unitID in the scripts). (inferred)
ui-cache yes ↗ 0x6c0cc0 0x6c1240
GetOperationConfirmationText UnitManager.GetOperationConfirmationText(eOperation?: number, pkUnit: Unit) → string/nil (or nothing) ui-cache yes ↗ 0x6c16a0 0x6c1c20
GetOperationDetailText UnitManager.GetOperationDetailText(eOperation?: number, pkUnit: Unit, pkPlot: MapPlot) ui-cache yes ↗ 0x6c1790 0x6c1d10
GetOperationTargets UnitManager:GetOperationTargets(arg1: string/number[TypeHash], arg2: table) → 1 values (or nothing) ⚠
args: arg2 — A constant from the Lua table UnitOperationTypes.
ui-cache yes ↗ 0x6c18c0 0x6c1e40
GetOperationTypeName UnitManager:GetOperationTypeName(arg1?: number) → nil/string gameplay yes ↗ 0x700a40 0x701190
GetOwnerName UnitManager:GetOwnerName() → nil/string (or nothing) gameplay yes ↗ 0x700b30 0x701280
GetQueuedDestination UnitManager:GetQueuedDestination() → number/nil ui-cache yes ↗ 0x6c1a40 0x6c1fc0
GetReachableMovement UnitManager:GetReachableMovement(arg1?: number)
args: arg1 — Id of a unit (named unitID in the scripts). (inferred)
ui-cache yes ↗ 0x6c1ae0 0x6c2060
GetReachableTargets UnitManager:GetReachableTargets(arg1?: any) (or nothing)
args: arg1 — Id of a unit (named unitID in the scripts). (inferred)
ui-cache yes ↗ 0x6c1c60 0x6c21e0
GetReachableZonesOfControl UnitManager:GetReachableZonesOfControl(arg1?: boolean)
args: arg1 — Id of a unit (named unitID in the scripts). (inferred)
ui-cache yes ↗ 0x6c2060 0x6c25e0
GetResultProbability UnitManager.GetResultProbability(arg1?: number, arg2: Unit, arg3: MapPlot) → number (or nothing) ui-cache yes ↗ 0x6c21c0 —
GetTimeToComplete UnitManager.GetTimeToComplete(eOperation?: number, pkUnit: Unit) → number (or nothing) ui-cache yes ↗ 0x6c2360 0x6c28e0
GetTravelTime UnitManager:GetTravelTime(arg1: City) → number (or nothing) ui-cache yes ↗ 0x6c23f0 0x6c2970
GetTypeName UI state: UnitManager:GetTypeName(eType?: number) → string
gameplay state: UnitManager:GetTypeName() → nil/string (or nothing)
args: eType — Id of a unit (named unitID in the scripts). (inferred)
ui-cache, gameplay yes ↗ 0x6c2470 0x6c29f0
GetUnit UnitManager.GetUnit(arg1?: number, arg2?: number) → Unit (or nothing) ⚠
args: arg1 — Id of a player (the scripts name the argument playerID / owner). (inferred); arg2 — Id of a unit (named unitID in the scripts). (inferred)
ui-cache, gameplay yes ↗ 0x6c2540 0x6c2ac0
GetUnitArmyMaintenance UnitManager.GetUnitArmyMaintenance(arg1: string/number) → number ui-cache yes ↗ 0x6c2640 0x6c2bc0
GetUnitCorpsMaintenance UnitManager.GetUnitCorpsMaintenance(arg1: string/number) → number ui-cache yes ↗ 0x6c2710 0x6c2c90
GetUnitMaintenance UnitManager.GetUnitMaintenance(arg1: string/number) → number ui-cache yes ↗ 0x6c27e0 0x6c2d60
GetUnitTypeBaseLifespan UnitManager.GetUnitTypeBaseLifespan(arg1?: number) → number ui-cache yes ↗ 0x6c2850 0x6c2dd0
InitUnit UnitManager.InitUnit(ePlayer: Player[PlayerTypes], arg2: number/string, arg3?: number, arg4?: any[HksObject]) → Unit (or nothing)
args: ePlayer — Id of a player (as in Players[id]).; arg2 — A string.; arg3 — A number.; arg4 — A number.
gameplay yes ↗ 0x700d30 0x701480
InitUnitValidAdjacentHex UnitManager.InitUnitValidAdjacentHex(ePlayer: Player[PlayerTypes], arg2: number/string, arg3?: number, arg4?: number, arg5?: number) → 1 values (or nothing) ⚠
args: ePlayer — Id of a player (as in Players[id]).; arg2 — A string.; arg3 — A plot coordinate (named x / y / plotX / plotY in the scripts). (inferred); arg4 — A plot coordinate (named x / y / plotX / plotY in the scripts). (inferred) …
gameplay yes ↗ 0x700e70 0x7015c0
IsUnit UnitManager.IsUnit() → boolean ui-cache yes ↗ 0x6c28b0 0x6c2e30
Kill UnitManager:Kill(arg1?: boolean) (or nothing)
args: arg1 — A Unit object (the scripts pass a variable named pUnit).
gameplay yes ↗ 0x701030 0x701780
MoveUnit UnitManager:MoveUnit(x: integer/Plot, y?: integer) (or nothing) gameplay yes ↗ 0x7010b0 0x701800
PlaceUnit UnitManager:PlaceUnit(x: integer/Plot, y?: integer) (or nothing)
args: x — A Unit object (the scripts pass a variable named pUnit).; y — Plot x coordinate (plot:GetX()).
gameplay yes ↗ 0x701130 0x701880
ReportActivation UnitManager:ReportActivation(arg1: number/string) (or nothing)
args: arg1 — A Unit object (the scripts pass a variable named pUnit).
gameplay yes ↗ 0x7011b0 0x701900
RequestCommand UnitManager:RequestCommand(arg1?: number, arg2: table) (or nothing)
args: arg2 — A constant from the Lua table UnitCommandTypes.
ui-cache yes ↗ 0x6c2910 0x6c2e90
RequestCommandImmediate UnitManager:RequestCommandImmediate(arg1?: number, arg2: table) (or nothing) ui-cache yes ↗ 0x6c2a70 0x6c2ff0
RequestOperation UnitManager:RequestOperation(arg1: string/number[TypeHash], arg2: table) (or nothing)
args: arg2 — A constant from the Lua table UnitOperationTypes.
ui-cache yes ↗ 0x6c2bd0 0x6c3150
RestoreMovement UnitManager:RestoreMovement() (or nothing) gameplay yes ↗ 0x701310 0x701a60
RestoreMovementToFormation UnitManager:RestoreMovementToFormation() (or nothing) gameplay yes ↗ 0x701350 0x701aa0
RestoreUnitAttacks UnitManager:RestoreUnitAttacks() (or nothing) gameplay yes ↗ 0x701390 0x701ae0
WakeUnit UnitManager:WakeUnit() (or nothing) gameplay yes ↗ 0x7013d0 0x701b20