Home › Lua API › PlayerTechs

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

PlayerTechs

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

Community reference for this object: PlayerTechs (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
CanResearch PlayerTechs:CanResearch(eTech: integer[TechTypes]) → boolean
args: eTech — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b4ef0 0x6b5470
CanTriggerBoost PlayerTechs:CanTriggerBoost(arg1: integer) → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6b4f50 0x6b54d0
ChangeCurrentResearchProgress PlayerTechs:ChangeCurrentResearchProgress(xChange?: any) → boolean gameplay yes ↗ 0x6f6840 —
GetResearchCost PlayerTechs:GetResearchCost(eTech: integer[TechTypes]) → number
args: eTech — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b4fc0 0x6b5540
GetResearchPath PlayerTechs:GetResearchPath(target: number/string[TechTypes]) → number[] (or nothing)
args: target — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6b5030 0x6b55b0
GetResearchProgress UI state: PlayerTechs:GetResearchProgress(eCivic?: integer[TechTypes]) → FixedPointT<8>
gameplay state: PlayerTechs:GetResearchProgress(eTech?: integer[TechTypes]) → FixedPointT<8>
args: eCivic — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b5200 —
GetResearchQueue PlayerTechs:GetResearchQueue() → number[]
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6b5210 0x6b5790
GetResearchingTech UI state: PlayerTechs:GetResearchingTech() → number
gameplay state: PlayerTechs:GetResearchingTech() → number (TechTypes)
✓ called in the game: 1 value(s) as documented
returns: Key of a row of the Technologies table: the scripts look it up with GameInfo.Technologies[result].
ui-cache, gameplay yes ↗ 0x6b52f0 0x6b5870
GetScienceYield UI state: PlayerTechs:GetScienceYield() → number
gameplay state: PlayerTechs:GetScienceYield() → number (FixedPoint)
✓ called in the game: 1 value(s) as documented
ui-cache, gameplay yes ↗ 0x6b5340 0x6b58c0
GetScienceYieldToolTip PlayerTechs:GetScienceYieldToolTip(arg1?: any, arg2?: any) → string
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6b53c0 —
GetTurnsLeft UI state: PlayerTechs:GetTurnsLeft() → number
gameplay state: PlayerTechs:GetTurnsLeft() → number
✓ called in the game: 1 value(s) as documented
ui-cache, gameplay yes ↗ 0x6b53d0 0x6b5950
GetTurnsToResearch UI state: PlayerTechs:GetTurnsToResearch(arg1?: number) → number
gameplay state: PlayerTechs:GetTurnsToResearch(eTech?: number) → number
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b5420 0x6b59a0
HasBoostBeenTriggered UI state: PlayerTechs:HasBoostBeenTriggered(arg1: integer) → boolean
gameplay state: PlayerTechs:HasBoostBeenTriggered(eTech: integer[TechTypes]) → boolean
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b54a0 0x6b5a20
HasTech UI state: PlayerTechs:HasTech(arg1: integer) → boolean
gameplay state: PlayerTechs:HasTech(eTech: integer[TechTypes]) → boolean
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b5510 0x6b5a90
IsResearchingTech PlayerTechs:IsResearchingTech(eTech: integer[TechTypes]) → boolean
args: eTech — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b5580 0x6b5b00
IsTechRevealed PlayerTechs:IsTechRevealed(eTech: integer) → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6b55e0 0x6b5b60
ResearchQueue PlayerTechs.ResearchQueue() → table, function
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b5650 0x6b5bd0
ResearchQueueAux PlayerTechs:ResearchQueueAux()
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6b56b0 0x6b5c30
ReverseBoost PlayerTechs:ReverseBoost(eTech: integer[TechTypes]) (or nothing)
args: eTech — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
gameplay yes ↗ 0x6f6d50 0x6f7490
SetResearchProgress ★ PlayerTechs:SetResearchProgress(eTech?: integer[TechTypes], iNewValue?: any) → boolean
args: eTech — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
gameplay yes ↗ 0x6f6da0 —
SetResearchingTech PlayerTechs:SetResearchingTech(eTech: table[TechTypes], arg2?: number) → 1 values ⚠
args: eTech — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
gameplay yes ↗ 0x6f6db0 0x6f74f0
SetTech PlayerTechs:SetTech(eTech: integer[TechTypes], bValue: boolean) (or nothing)
args: eTech — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index). The scripts pass its; bValue — A boolean flag (true/false).
gameplay yes ↗ 0x6f6fc0 0x6f7700
TriggerBoost PlayerTechs:TriggerBoost(eTech: integer[TechTypes], eSource: integer[BoostSource]) (or nothing)
args: eTech — Index of a row of the Technologies table (the value of GameInfo.Technologies[...].Index).
gameplay yes ↗ 0x6f7020 0x6f7760

Notes (★)

SetResearchProgress

Sets the research progress of a technology; returns whether it was applied.