Home › Lua API › CityCulturalIdentity

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

CityCulturalIdentity

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

Community reference for this object: CityCulturalIdentity (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
GetCityIdentityPressures CityCulturalIdentity:GetCityIdentityPressures() → table{CityOwner: number, CityID: number, IdentityPressureTotal: number, IdentityPressureFromOwnership: number, IdentityPressureFromPopulation: number, IdentityPressureFromAges: number, …}[]
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x707aa0 0x708310
GetConversionOutcome CityCulturalIdentity:GetConversionOutcome() → number
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0xd8
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x707f80 0x7087f0
GetGovernorIdentityPressures CityCulturalIdentity:GetGovernorIdentityPressures() → table{CityOwner: number, CityID: number, GovernorOwner: number, IdentityPressureFromGovernor: number}[]
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x707fd0 0x708840
GetIdentitySourcesBreakdown CityCulturalIdentity:GetIdentitySourcesBreakdown() → table
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0xbc, Cache::City::CulturalIdentity::m_kValues+0xb8, Cache::City::CulturalIdentity::m_kValues+0xb4, Cache::City::CulturalIdentity::m_kValues+0xa8, Cache::City::CulturalIdentity::m_kValues+0xa4 …
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x7082c0 0x708b30
GetIdentitySourcesDetailedBreakdown CityCulturalIdentity:GetIdentitySourcesDetailedBreakdown() → nil
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0x60, Cache::City::Instance::m_kValues+0x20
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x708bf0 0x709460
GetLoyalty CityCulturalIdentity:GetLoyalty() → number
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0x8
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x70a6c0 0x70af30
GetLoyaltyLevel CityCulturalIdentity:GetLoyaltyLevel() → number
✓ called in the game: 1 value(s) as documented
returns: Key of a row of the LoyaltyLevels table: the scripts look it up with GameInfo.LoyaltyLevels[result].
ui-cache yes ↗ 0x70a720 0x70af90
GetLoyaltyPerTurn CityCulturalIdentity:GetLoyaltyPerTurn() → number
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0x10
✓ called in the game: 1 value(s) as documented
returns: A turn number (the scripts name the result turn). (inferred)
ui-cache yes ↗ 0x70a770 0x70afe0
GetLoyaltyPerTurnFromIdentityPressureRatio CityCulturalIdentity:GetLoyaltyPerTurnFromIdentityPressureRatio() → number
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0x14
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x70a7d0 0x70b040
GetLoyaltyPerTurnStatus CityCulturalIdentity:GetLoyaltyPerTurnStatus() → string
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0xd8
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x70a830 0x70b0a0
GetMaxLoyalty CityCulturalIdentity:GetMaxLoyalty() → number
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0xc
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x70a8a0 0x70b110
GetPlayerIdentitiesInCity CityCulturalIdentity:GetPlayerIdentitiesInCity() → table{Player: number, IdentityTotal: number, IdentityPerTurn: number}[]
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x70a900 0x70b170
GetPotentialTransferPlayer CityCulturalIdentity:GetPotentialTransferPlayer() → number
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0xd0
✓ called in the game: 1 value(s) as documented
returns: Id of a player: the scripts use the result as Players[result].
ui-cache yes ↗ 0x70aba0 0x70b410
GetTurnsToConversion CityCulturalIdentity:GetTurnsToConversion() → number
touches (inferred from the code): reads Cache::City::CulturalIdentity::m_kValues+0xdc
✓ called in the game: 1 value(s) as documented
returns: A turn number (the scripts name the result turn). (inferred)
ui-cache yes ↗ 0x70abf0 0x70b460
IsAlwaysFullyLoyal CityCulturalIdentity:IsAlwaysFullyLoyal() → boolean
✓ called in the game: 1 value(s) as documented
ui-cache yes ↗ 0x70ac40 0x70b4b0