Home › Class layouts › City › City::Instance

Needs the Community Extension. Not available in the unmodified game; works while the Community Extension mod is active (its own functions, or raw memory access with Mem/ObjMem).

City::Instance

GameCore::City::Instance — class, size 6536 bytes (0x1988).

Bases: City::CInstance at 0x0

Linux offset Member Type Windows
0x218 m_eOwnerBeforeOccupation FAutoVariable<GameCore::PlayerTypes, GameCore::City::Instance>
0x230 m_eLiberator FAutoVariable<GameCore::PlayerTypes, GameCore::City::Instance>
0x248 m_cityAiId FAutoVariable<unsigned int, GameCore::City::Instance>
0x260 m_iPopulation FAutoVariable<int, GameCore::City::Instance>
0x278 m_bCapital FAutoVariable<bool, GameCore::City::Instance>
0x290 m_bOriginalCapital FAutoVariable<bool, GameCore::City::Instance>
0x2a8 m_bTransferring FAutoVariable<bool, GameCore::City::Instance>
0x2c0 m_eLastTransferType FAutoVariable<GameCore::CityTransferTypes, GameCore::City::Instance>
0x2d8 m_eJustConqueredFrom FAutoVariable<GameCore::PlayerTypes, GameCore::City::Instance>
0x2f0 m_eJustRebelledFrom FAutoVariable<GameCore::PlayerTypes, GameCore::City::Instance>
0x308 m_iLastBarbarianInvasionTurn FAutoVariable<int, GameCore::City::Instance>
0x320 m_bOccupied FAutoVariable<bool, GameCore::City::Instance>
0x338 m_iLastWarmongerPenalty FAutoVariable<Types::StaticArray<int, 64>, GameCore::City::Instance>
0x448 m_iProductionUnitChanges FAutoVariable<int, GameCore::City::Instance>
0x460 m_iProductionBuildingChanges FAutoVariable<int, GameCore::City::Instance>
0x478 m_iProductionDistrictChanges FAutoVariable<int, GameCore::City::Instance>
0x490 m_iWonderEnvoy FAutoVariable<int, GameCore::City::Instance>
0x4a8 m_aYieldModifiers FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x4d8 m_aFollowerYieldModifiers FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x508 m_aYieldModifiersPerGovernorTitle FAutoVariable<GameCore::IndexList<FixedPointT<8>, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x538 m_aYieldChanges FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x568 m_aYieldPerDistrict FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x598 m_aYieldPerUnitComplete FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x5c8 m_aYieldPerBuildingComplete FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x5f8 m_aYieldPerWonderComplete FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x628 m_aYieldModifierFromFaithCity FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x658 m_aYieldPerTerrainClassCities FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x688 m_aExtraYieldPerPopulation FAutoVariable<GameCore::IndexList<FixedPointT<8>, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x6b8 m_aAllowIncomingRegionalStackingCounts FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x6e8 m_aProjectYield FAutoVariable<GameCore::IndexList<FixedPointT<8>, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x718 m_aCityHappinessModifierList FAutoVariable<eastl::vector<GameCore::City::HappinessModifiers, eastl::allocator>, GameCore::City::Instance>
0x748 m_aCityTerrainModifierList FAutoVariable<eastl::vector<GameCore::City::TerrainModifiers, eastl::allocator>, GameCore::City::Instance>
0x778 m_aCityImprovementValidTerrainList FAutoVariable<eastl::vector<GameCore::City::ImprovementValidTerrain, eastl::allocator>, GameCore::City::Instance>
0x7a8 m_aCityYieldPerTerrainClassCitiesImprovementList FAutoVariable<eastl::vector<GameCore::City::TerrainClassYieldImprovementModifiers, eastl::allocator>, GameCore::City::Instance>
0x7d8 m_uiProjectYieldProjectHash FAutoVariable<unsigned int, GameCore::City::Instance>
0x7f0 m_iHousingPerDistrict FAutoVariable<int, GameCore::City::Instance>
0x808 m_aDynamicBonuses FAutoVariable<eastl::vector<GameCore::City::DynamicAdjacencyBonus, eastl::allocator>, GameCore::City::Instance>
0x838 m_aYieldPerTerrainType FAutoVariable<eastl::vector<GameCore::City::YieldPerTerrainType, eastl::allocator>, GameCore::City::Instance>
0x868 m_iMaxUnitLevel FAutoVariable<int, GameCore::City::Instance>
0x880 m_xUnitExperienceModifier FAutoVariable<FixedPointT<8>, GameCore::City::Instance>
0x898 m_szName FAutoVariable<String::BasicT<String::BasicStringAlloc, ASCII>, GameCore::City::Instance>
0x8b0 m_kGold FAutoVariable<GameCore::City::Gold, GameCore::City::Instance>
0x968 m_kGrowth FAutoVariable<GameCore::City::Growth, GameCore::City::Instance>
0xa18 m_kCombat FAutoVariable<GameCore::City::Combat, GameCore::City::Instance>
0xa58 m_kReligion FAutoVariable<GameCore::City::Religion, GameCore::City::Instance>
0xb50 m_kDistricts FAutoVariable<GameCore::City::Districts, GameCore::City::Instance>
0xb88 m_kCulture FAutoVariable<GameCore::City::Culture, GameCore::City::Instance>
0xc20 m_kCitizens FAutoVariable<GameCore::City::Citizens, GameCore::City::Instance>
0xca8 m_kBuildings FAutoVariable<GameCore::City::Buildings, GameCore::City::Instance> 0xca0 (Windows = Linux − 8; verified)
0xde8 m_kResources FAutoVariable<GameCore::City::Resources, GameCore::City::Instance>
0xe80 m_kTrade FAutoVariable<GameCore::City::Trade, GameCore::City::Instance>
0x10c8 m_kBuildQueue FAutoVariable<GameCore::City::BuildQueue, GameCore::City::Instance>
0x14b0 m_aiController FAutoVariable<unsigned int, GameCore::City::Instance>
0x14c8 m_iTurnCityFounded FAutoVariable<int, GameCore::City::Instance>
0x14e0 m_iAttacksPerTurn FAutoVariable<int, GameCore::City::Instance>
0x14f8 m_iGreatPersonPointBonusPercent FAutoVariable<int, GameCore::City::Instance>
0x1510 m_bSettlerConsumePop FAutoVariable<bool, GameCore::City::Instance>
0x1528 m_aYieldPerFlood FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x1558 m_aAllowedImprovements FAutoVariable<Types::Vector<GameCore::ImprovementTypes, Types::LinearAlloc::Default<1, 0> >, GameCore::City::Instance>
0x1580 m_aPopulationChangeOnCreation FAutoVariable<Types::Vector<int, Types::LinearAlloc::Default<1, 0> >, GameCore::City::Instance>
0x15a8 m_aYieldChangeBonusWithPowerModifier FAutoVariable<GameCore::IndexList<int, GameCore::Definition::DefinitionCollectionWithTypeIndex<GameCore::Definition::Yield>, &GameCore::Definitions::GetYieldDefinitions, void>, GameCore::City::Instance>
0x15d8 m_iEspionageDefenseBonus FAutoVariable<int, GameCore::City::Instance>
0x15f0 m_bProjectProduction FAutoVariable<bool, GameCore::City::Instance>
0x1608 m_iPreventBypassOuterDefenses FAutoVariable<int, GameCore::City::Instance>
0x1620 m_iPreventMeleeAttackOuterDefenses FAutoVariable<int, GameCore::City::Instance>
0x1638 m_kCulturalIdentity City::CulturalIdentity
0x1848 m_kPower FAutoVariable<GameCore::City::Power, GameCore::City::Instance>
0x1908 m_kTurnManager City::TurnManager
0x1910 m_kEventManager City::EventManager
0x1928 m_kOnPlayerGaveInfluenceTokenHandle Message::Handle
0x1938 m_kOnGreatPersonActivatedHandle Message::Handle
0x1948 m_kOnBuildingConstructedHandle Message::Handle
0x1958 m_pCityBuildAI AI::CityBuild*
0x1960 m_aCachedYields CachedYieldsArray
0x1978 m_ModifierObject ModifierObjectReference

The Windows column is filled in only for members that were checked against Windows code. For the rest, use the Linux offset with the rule above.