Home › Lua API › PlayerCulture

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

PlayerCulture

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

Community reference for this object: PlayerCulture (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
CanChangeGovernment PlayerCulture:CanChangeGovernment(eGovernment: string/number[GovernmentTypes]) → boolean
args: eGovernment — Index of a row of the Governments table (the value of GameInfo.Governments[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6abd90 0x6ac2e0
CanChangeGovernmentAtAll PlayerCulture:CanChangeGovernmentAtAll() → boolean
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6abe00 0x6ac350
CanPolicyBeSlotted PlayerCulture:CanPolicyBeSlotted(ePolicy: string/number[PolicyTypes]) → boolean
args: ePolicy — Index of a row of the Policies table (the value of GameInfo.Policies[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x741550 0x741e90
CanProgress PlayerCulture:CanProgress(eCivic: integer[CivicTypes]) → boolean
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6abe50 0x6ac3a0
CanSlotPolicy PlayerCulture:CanSlotPolicy(ePolicy: string/number[PolicyTypes], iSlotIndex?: number) → boolean
args: ePolicy — Index of a row of the Policies table (the value of GameInfo.Policies[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6abeb0 0x6ac400
CanTriggerBoost PlayerCulture:CanTriggerBoost(arg1: integer) → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6abf50 0x6ac4a0
ChangeCurrentCulturalProgress PlayerCulture:ChangeCurrentCulturalProgress(xChange?: any) → boolean gameplay yes ↗ 0x6f0490 —
CivicCompletedThisTurn PlayerCulture:CivicCompletedThisTurn() → boolean
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6abfc0 0x6ac510
CivicUnlocksGovernment PlayerCulture:CivicUnlocksGovernment(eCivic: integer[CivicTypes]) → boolean
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ac010 0x6ac560
ClearPolicySlot PlayerCulture:ClearPolicySlot(iSlotIndex: integer) → boolean gameplay yes ↗ 0x6f04f0 0x6f0c30
GetAnarchyEndTurn PlayerCulture:GetAnarchyEndTurn() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6ac070 0x6ac5c0
GetAnarchyTurns PlayerCulture:GetAnarchyTurns(eGovernment: integer[GovernmentTypes]) → number
args: eGovernment — Index of a row of the Governments table (the value of GameInfo.Governments[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6ac0c0 0x6ac610
GetAutoThemedBuilding PlayerCulture:GetAutoThemedBuilding() → number
✓ called in the game: 1 value(s) as documented
returns: Index of a database row (compared with row.Index).
ui-cache yes ↗ 0x6ac130 0x6ac680
GetCivicCompletedThisTurn PlayerCulture:GetCivicCompletedThisTurn() → number
✓ called in the game: 1 value(s) as documented
ui-cache, gameplay yes ↗ 0x6ac180 0x6ac6d0
GetCivicPath PlayerCulture:GetCivicPath(target: number/string[CivicTypes]) → number[] (or nothing)
args: target — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ac1d0 0x6ac720
GetCivicQueue PlayerCulture:GetCivicQueue() → number[]
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6ac3a0 0x6ac8f0
GetCostToUnlockPolicies PlayerCulture:GetCostToUnlockPolicies() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6ac520 0x6aca70
GetCulturalProgress PlayerCulture:GetCulturalProgress(eCivic?: integer[CivicTypes]) → FixedPointT<8>
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ac570 —
GetCultureCost PlayerCulture:GetCultureCost(eCivic: integer[CivicTypes]) → number
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6ac580 0x6acad0
GetCultureYield UI state: PlayerCulture:GetCultureYield() → number
gameplay state: PlayerCulture:GetCultureYield() → number (FixedPoint)
✓ called in the game: 1 value(s) as documented
ui-cache, gameplay yes ↗ 0x6ac5f0 0x6acb40
GetCultureYieldToolTip PlayerCulture:GetCultureYieldToolTip(arg1?: any, arg2?: any) → string
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ac660 —
GetCurrentGovernment PlayerCulture:GetCurrentGovernment() → number
✓ called in the game: 1 value(s) as documented
returns: Key of a row of the Governments table: the scripts look it up with GameInfo.Governments[result].
ui-cache yes ↗ 0x6ac670 0x6acbc0
GetEnactPolicyCost PlayerCulture:GetEnactPolicyCost(arg1: string/number) → number (the wrapper calls a stub that returns a constant (0, 1, false or a table of zeros))
args: arg1 — A database row hash (named …Hash in the scripts). (inferred)
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ac6c0 0x6acc10
GetExtraTradeRouteTourismModifier PlayerCulture:GetExtraTradeRouteTourismModifier() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6ac730 0x6acc80
GetFlatBonus PlayerCulture:GetFlatBonus(arg1: integer[GovernmentBonusTypes]) → number
args: arg1 — Value of the GovernmentBonusTypes enum (a type index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ac780 0x6accd0
GetGreatWorksInCity PlayerCulture:GetGreatWorksInCity(arg1?: number)
args: arg1 — Id of a city (named cityID in the scripts). (inferred)
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ac7f0 0x6acd40
GetIncrementingBonus PlayerCulture:GetIncrementingBonus(arg1: integer) → number (the wrapper calls a stub that returns a constant (0, 1, false or a table of zeros))
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6aca00
same code as GetIncrementingBonusIncrement
0x6acf50
GetIncrementingBonusIncrement PlayerCulture:GetIncrementingBonusIncrement(arg1: integer) → number (the wrapper calls a stub that returns a constant (0, 1, false or a table of zeros))
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6aca00
same code as GetIncrementingBonus
0x6acf50
GetIncrementingBonusInterval PlayerCulture:GetIncrementingBonusInterval(arg1: integer) → number (the wrapper calls a stub that returns a constant (0, 1, false or a table of zeros))
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6aca70
same code as GetIncrementingBonusTurnsUntilNext
0x6acfc0
GetIncrementingBonusTurnsUntilNext PlayerCulture:GetIncrementingBonusTurnsUntilNext(arg1: integer) → number (the wrapper calls a stub that returns a constant (0, 1, false or a table of zeros))
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6aca70
same code as GetIncrementingBonusInterval
0x6acfc0
GetLifetimeCulture PlayerCulture:GetLifetimeCulture() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6acae0 0x6ad030
GetNumPoliciesUnlocked PlayerCulture:GetNumPoliciesUnlocked() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6acb50 0x6ad0a0
GetNumPolicySlots UI state: PlayerCulture:GetNumPolicySlots() → number
gameplay state: PlayerCulture:GetNumPolicySlots() → number
✓ called in the game: 1 value(s) as documented
ui-cache, gameplay yes ↗ 0x6acba0 0x6ad0f0
GetNumPolicySlotsOpen PlayerCulture:GetNumPolicySlotsOpen() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6acbf0 0x6ad140
GetPolicyToUnlock PlayerCulture:GetPolicyToUnlock(eBuilding: integer[BuildingTypes]) → number
args: eBuilding — Index of a row of the Buildings table (the value of GameInfo.Buildings[...].Index).
✓ exists at runtime (not called)
returns: Key of a row of the Policies table: the scripts look it up with GameInfo.Policies[result]. (inferred)
ui-cache, gameplay yes ↗ 0x712380 0x712bf0
GetProgressingCivic UI state: PlayerCulture:GetProgressingCivic() → number
gameplay state: PlayerCulture:GetProgressingCivic() → number (CivicTypes)
✓ called in the game: 1 value(s) as documented
returns: Key of a row of the Civics table: the scripts look it up with GameInfo.Civics[result].
ui-cache, gameplay yes ↗ 0x6acc40 0x6ad190
GetSlotPolicy UI state: PlayerCulture:GetSlotPolicy(iSlotIndex?: number) → number
gameplay state: PlayerCulture:GetSlotPolicy(iSlotIndex: integer) → number (PolicyTypes)
✓ exists at runtime (not called)
returns: Key of a row of the Policies table: the scripts look it up with GameInfo.Policies[result].
ui-cache, gameplay yes ↗ 0x6acc90 0x6ad1e0
GetSlotType PlayerCulture:GetSlotType(iSlotIndex?: number) → number
✓ exists at runtime (not called)
returns: Key of a row of the GovernmentSlots table: the scripts look it up with GameInfo.GovernmentSlots[result].
ui-cache yes ↗ 0x6acd10 0x6ad260
GetStaycationers PlayerCulture:GetStaycationers() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6acd90 0x6ad2e0
GetTourismAt PlayerCulture:GetTourismAt(iPlotIndex: integer) → number
args: iPlotIndex — Plot index (named plotIndex / plotID in the scripts). (inferred)
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6acde0 0x6ad330
GetTourismTooltipAt PlayerCulture:GetTourismTooltipAt(iPlotIndex?: number) → string
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ace50 0x6ad3a0
GetTouristsAt PlayerCulture:GetTouristsAt(iPlotIndex: integer) → number
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6acf50 0x6ad4a0
GetTouristsFrom PlayerCulture:GetTouristsFrom(ePlayer: integer[PlayerTypes]) → number
args: ePlayer — Id of a player (as in Players[id]).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6acfc0 0x6ad510
GetTouristsFromTooltip PlayerCulture:GetTouristsFromTooltip(ePlayer?: number) → string
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad030 0x6ad580
GetTouristsTo PlayerCulture:GetTouristsTo() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6ad130 0x6ad680
GetTurnsLeft PlayerCulture:GetTurnsLeft() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6ad180 0x6ad6d0
GetTurnsLeftOnCurrentCivic PlayerCulture:GetTurnsLeftOnCurrentCivic() → number gameplay yes ↗ 0x6f0800 0x6f0f40
GetTurnsToProgressCivic PlayerCulture:GetTurnsToProgressCivic(arg1?: number) → number
✓ exists at runtime (not called)
returns: A turn number (the scripts name the result turn). (inferred)
ui-cache yes ↗ 0x6ad1d0 0x6ad720
GetTurnsUntilDominant PlayerCulture:GetTurnsUntilDominant(ePlayer?: number) → number
✓ exists at runtime (not called)
ui-cache yes ↗ 0x7415c0 0x741f00
GetTurnsUntilVictory PlayerCulture:GetTurnsUntilVictory() → number
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x741640 0x741f80
GovernmentChangeConsidered PlayerCulture:GovernmentChangeConsidered() → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad250 0x6ad7a0
GovernmentChangeMade PlayerCulture:GovernmentChangeMade() → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad2a0 0x6ad7f0
HasBoostBeenTriggered UI state: PlayerCulture:HasBoostBeenTriggered(arg1: integer) → boolean
gameplay state: PlayerCulture:HasBoostBeenTriggered(eCivic: integer[CivicTypes]) → boolean
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6ad2f0 0x6ad840
HasCivic UI state: PlayerCulture:HasCivic(eCivic: integer) → boolean
gameplay state: PlayerCulture:HasCivic(eCivic: integer[CivicTypes]) → boolean
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6ad360 0x6ad8b0
IsAutoThemedEligible PlayerCulture:IsAutoThemedEligible(arg1?: number) → boolean
args: arg1 — Hash of a row of the Buildings table (the scripts pass GameInfo.Buildings[...].Hash). (inferred)
✓ exists at runtime (not called)
ui-cache yes ↗ 0x741690 0x741fd0
IsCivicRevealed PlayerCulture:IsCivicRevealed(eCivic: integer) → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad3d0 0x6ad920
IsDominantOver UI state: PlayerCulture:IsDominantOver(ePlayer: integer[PlayerTypes]) → boolean
gameplay state: PlayerCulture:IsDominantOver(ePlayer: integer) → boolean
args: ePlayer — Id of a player (as in Players[id]).
✓ exists at runtime (not called)
ui-cache, gameplay — 0x6ad440 0x6ad990
IsEverAutoThemable PlayerCulture:IsEverAutoThemable(eBuilding: integer[BuildingTypes]) → boolean
args: eBuilding — Index of a row of the Buildings table (the value of GameInfo.Buildings[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x741710 0x742050
IsGovernmentUnlocked UI state: PlayerCulture:IsGovernmentUnlocked(eGovernment: string/number[GovernmentTypes]) → boolean
gameplay state: PlayerCulture:IsGovernmentUnlocked(eGovernment: integer[GovernmentTypes]) → boolean
args: eGovernment — Index of a row of the Governments table (the value of GameInfo.Governments[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6ad4a0 0x6ad9f0
IsInAnarchy PlayerCulture:IsInAnarchy() → boolean
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x6ad510 0x6ada60
IsPolicyActive UI state: PlayerCulture:IsPolicyActive(ePolicy: string/number[PolicyTypes]) → boolean
gameplay state: PlayerCulture:IsPolicyActive(ePolicy: integer[PolicyTypes]) → boolean
args: ePolicy — Index of a row of the Policies table (the value of GameInfo.Policies[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6ad560 0x6adab0
IsPolicyBanned PlayerCulture:IsPolicyBanned(ePolicy: string/number[PolicyTypes]) → boolean
args: ePolicy — Index of a row of the Policies table (the value of GameInfo.Policies[...].Index).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x741770 0x7420b0
IsPolicyObsolete UI state: PlayerCulture:IsPolicyObsolete(ePolicy: string/number[PolicyTypes]) → boolean
gameplay state: PlayerCulture:IsPolicyObsolete(ePolicy: integer[PolicyTypes]) → boolean
args: ePolicy — Index of a row of the Policies table (the value of GameInfo.Policies[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6ad5d0 0x6adb20
IsPolicyUnlocked UI state: PlayerCulture:IsPolicyUnlocked(ePolicy: string/number[PolicyTypes]) → boolean
gameplay state: PlayerCulture:IsPolicyUnlocked(ePolicy: integer[PolicyTypes]) → boolean
args: ePolicy — Index of a row of the Policies table (the value of GameInfo.Policies[...].Index).
✓ exists at runtime (not called)
ui-cache, gameplay yes ↗ 0x6ad640 0x6adb90
PolicyChangeMade PlayerCulture:PolicyChangeMade() → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad6b0 0x6adc00
RequestChangeGovernment PlayerCulture:RequestChangeGovernment(arg1: string/number) → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad700 0x6adc50
RequestClearSlot PlayerCulture:RequestClearSlot(iSlotIndex?: number) → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad770 0x6adcc0
RequestEnactPolicy PlayerCulture:RequestEnactPolicy(arg1: string/number, arg2?: number) → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad7f0 0x6add40
RequestPolicyChanges PlayerCulture:RequestPolicyChanges(kClear?: table, kAdd?: table) → boolean
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ad890 0x6adde0
Reset PlayerCulture:Reset() (or nothing) gameplay — 0x6f0b00 0x6f1240
ReverseBoost PlayerCulture:ReverseBoost(eCivic: integer[CivicTypes]) (or nothing)
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
gameplay yes ↗ 0x6f0b20 0x6f1260
SetCivic PlayerCulture:SetCivic(eCivic: integer[CivicTypes], bValue: boolean) (or nothing)
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index). The scripts pass its index.; bValue — A boolean flag (true/false).
gameplay yes ↗ 0x6f0b70 0x6f12b0
SetCivicCompletedThisTurn PlayerCulture:SetCivicCompletedThisTurn(bNewValue: boolean) (or nothing)
args: bNewValue — A boolean flag (true/false).
gameplay yes ↗ 0x6f0bd0 0x6f1310
SetCulturalProgress PlayerCulture:SetCulturalProgress(eCivic?: integer[CivicTypes], iNewValue?: any) → boolean
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
gameplay yes ↗ 0x6f0c20 —
SetCurrentGovernment PlayerCulture:SetCurrentGovernment(eGovernment: integer[GovernmentTypes]) → boolean
args: eGovernment — Index of a row of the Governments table (the value of GameInfo.Governments[...].Index). The scripts pass its i
gameplay yes ↗ 0x6f0c30 0x6f1370
SetGovernmentChangeConsidered PlayerCulture:SetGovernmentChangeConsidered(bNewValue: boolean) (or nothing)
args: bNewValue — A boolean flag (true/false).
✓ exists at runtime (not called)
ui-cache yes ↗ 0x6ade10 0x6ae360
SetProgressingCivic PlayerCulture:SetProgressingCivic(eCivic: table[CivicTypes], arg2?: number) → 1 values ⚠
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
gameplay yes ↗ 0x6f0c90 0x6f13d0
TriggerBoost PlayerCulture:TriggerBoost(eCivic: integer[CivicTypes], eSource: integer[BoostSource]) (or nothing)
args: eCivic — Index of a row of the Civics table (the value of GameInfo.Civics[...].Index).
gameplay yes ↗ 0x6f0ea0 0x6f15e0
UnlockGovernment PlayerCulture:UnlockGovernment(eGovernment: integer[GovernmentTypes]) (or nothing)
args: eGovernment — Index of a row of the Governments table (the value of GameInfo.Governments[...].Index). The scripts pass its i
gameplay yes ↗ 0x6f0f00 0x6f1640
UnlockPolicy PlayerCulture:UnlockPolicy(ePolicy: integer[PolicyTypes]) (or nothing)
args: ePolicy — Index of a row of the Policies table (the value of GameInfo.Policies[...].Index).
gameplay yes ↗ 0x6f0f50 0x6f1690