Home › Class layouts › Definition › Definition::Improvement

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).

Definition::Improvement

GameCore::Definition::Improvement — class, size 568 bytes (0x238).

Bases: Definition::IProperties at 0x0

Linux offset Member Type
0x10 m_DatabaseRowId int32
0x14 m_CollectionIndex uint32
0x18 m_DomainHash uint32
0x1c m_ImprovementTypeHash uint32
0x20 m_PlunderTypeHash uint32
0x24 m_ImprovementOnRemoveHash uint32
0x28 m_YieldFromAppealHash uint32
0x2c m_AirSlots int32
0x30 m_Appeal int32
0x34 m_DefenseModifier int32
0x38 m_DispersalGold int32
0x3c m_GrantFortification int32
0x40 m_Housing int32
0x44 m_MovementChange int32
0x48 m_PlunderAmount int32
0x4c m_ReligiousUnitHealRate int32
0x50 m_RequiresRiver int32
0x54 m_TilesRequired int32
0x58 m_ValidAdjacentTerrainAmount int32
0x5c m_WeaponSlots int32
0x60 m_YieldFromAppealPercent int32
0x64 m_GoodyRange Optional<int>
0x6c m_MinimumAppeal Optional<int>
0x74 m_TilesPerGoody Optional<int>
0x80 m_Domain Basic
0x88 m_Icon Basic
0x90 m_ImprovementType Basic
0x98 m_Name Basic
0xa0 m_PlunderType Basic
0xa8 m_Description Optional<String::BasicT<String::BasicStringAlloc, ASCII> >
0xb8 m_ImprovementOnRemove Optional<String::BasicT<String::BasicStringAlloc, ASCII> >
0xc8 m_PrereqCivic Optional<String::BasicT<String::BasicStringAlloc, ASCII> >
0xd8 m_PrereqTech Optional<String::BasicT<String::BasicStringAlloc, ASCII> >
0xe8 m_TraitType Optional<String::BasicT<String::BasicStringAlloc, ASCII> >
0xf8 m_YieldFromAppeal Optional<String::BasicT<String::BasicStringAlloc, ASCII> >
0x108 m_AdjacentSeaResource (bit-field, 1 bits) bool
0x108 m_AdjacentToLand (bit-field, 1 bits) bool
0x108 m_BarbarianCamp (bit-field, 1 bits) bool
0x108 m_BuildInLine (bit-field, 1 bits) bool
0x108 m_BuildOnFrontier (bit-field, 1 bits) bool
0x108 m_Buildable (bit-field, 1 bits) bool
0x108 m_CanBuildOutsideTerritory (bit-field, 1 bits) bool
0x108 m_Capturable (bit-field, 1 bits) bool
0x109 m_Coast (bit-field, 1 bits) bool
0x109 m_EnforceTerrain (bit-field, 1 bits) bool
0x109 m_Goody (bit-field, 1 bits) bool
0x109 m_GoodyNotify (bit-field, 1 bits) bool
0x109 m_NoAdjacentSpecialtyDistrict (bit-field, 1 bits) bool
0x109 m_OnePerCity (bit-field, 1 bits) bool
0x109 m_OnlyOpenBorders (bit-field, 1 bits) bool
0x109 m_Removable (bit-field, 1 bits) bool
0x10a m_RemoveOnEntry (bit-field, 1 bits) bool
0x10a m_RequiresAdjacentBonusOrLuxury (bit-field, 1 bits) bool
0x10a m_RequiresAdjacentLuxury (bit-field, 1 bits) bool
0x10a m_SameAdjacentValid (bit-field, 1 bits) bool
0x10a m_Workable (bit-field, 1 bits) bool
0x110 m_AdjacencyYieldChanges Improvement_AdjacencyReferenceCollection
0x128 m_BonusYieldChanges Improvement_BonusYieldChangeReferenceCollection
0x140 m_InvalidAdjacentFeature Improvement_InvalidAdjacentFeatureReferenceCollection
0x158 m_PrereqCivicReference const GameCore::Definition::Civic*
0x160 m_PrereqTechReference const GameCore::Definition::Technology*
0x168 m_TourismCollection Improvement_TourismReferenceCollection
0x180 m_TraitReference const GameCore::Definition::Trait*
0x188 m_ValidAdjacentResources Improvement_ValidAdjacentResourceReferenceCollection
0x1a0 m_ValidAdjacentTerrains Improvement_ValidAdjacentTerrainReferenceCollection
0x1b8 m_ValidBuildUnits Improvement_ValidBuildUnitReferenceCollection
0x1d0 m_ValidFeatures FeatureReferenceCollection
0x1e8 m_ValidResources Improvement_ValidResourceReferenceCollection
0x200 m_ValidTerrains TerrainReferenceCollection
0x218 m_YieldChanges Improvement_YieldChangeReferenceCollection
0x230 m_YieldFromAppealReference const GameCore::Definition::Yield*

Virtual functions

Slot order of the class's own vtable (inferred, see Virtual function tables). A virtual call call [vptr+offset] uses the byte offset. Owner is shown when the entry is inherited or overridden elsewhere.

Slot Offset Method Address in current build
0 0x0 \~Improvement 0x7b10a0