Home › Native functions › Game

Engine internals. No scripting access today. Listed for contributors and for understanding the game; using it needs a change to the game library.

Game

Function Signature (Linux) Symbol Current From Lua Notes
Climate::Manager::ApplyOneOffEffects void Game::Climate::Manager::ApplyOneOffEffects(Game::Climate::Manager* this, const Game::Climate::OneOff& kOneOff, int& iTilesDamaged, int& iPopLost, int& iUnitsLost, int& iFertilityAdded) 0x1baa40 0x1b9380 no edit_call, writes
Climate::Manager::ApplyStormEffects void Game::Climate::Manager::ApplyStormEffects(Game::Climate::Manager* this, Game::Climate::Storm& kStorm, int iTurnStrength, int& iTilesDamaged, int& iPopLost, int& iUnitsLost, int& iFertilityAdded) 0x1bb1d0 0x1b9b10 no edit_call, writes
Culture::AddRelic ★ GreatWorkTypes Game::Culture::AddRelic(Game::Culture* this, City::Instance* pkCity, BuildingTypes eBuilding, int iSlot, RelicSource eRelicSource) 0x1c7760 0x1c6b80 no analysed
Culture::BuildCivics void Game::Culture::BuildCivics(Game::Culture* this) 0x1c7da0 0x1c71c0 Dev CE (experimental): Game.BuildCivics edit_call, writes
Culture::FindOrAddGreatWork ★ int Game::Culture::FindOrAddGreatWork(Game::Culture* this, GreatWorkTypes eGreatWorkType) 0x1c8f00 0x1c80e0 via CE: CultureManager.FindOrAddGreatWork analysed
Culture::SetGreatWorkPlayer ★ void Game::Culture::SetGreatWorkPlayer(Game::Culture* this, int iIndex, PlayerTypes ePlayer) 0x1c9890 0x1c8c80 via CE: CultureManager.SetGreatWorkPlayer analysed, edit_call, writes
DiplomaticRelations::AddGrievanceLogEntry void Game::DiplomaticRelations::AddGrievanceLogEntry(Game::DiplomaticRelations* this, Game::GrievanceLogItem& kItem, bool bAppend) 0x1cf2e0 0x1ce980 no edit_call, writes
DiplomaticRelations::ChangeGrievanceScore void Game::DiplomaticRelations::ChangeGrievanceScore(Game::DiplomaticRelations* this, PlayerTypes a, PlayerTypes b, int iNumGrievances) 0x1cf3a0 0x1cea40 via CE: GameDiplomacy.ChangeGrievanceScore edit_call, writes
DiplomaticRelations::SetAtWar void Game::DiplomaticRelations::SetAtWar(Game::DiplomaticRelations* this, PlayerTypes a, PlayerTypes b, WarTypes war) 0x1d39d0 0x1d31b0 Dev CE (experimental): GameDiplomacy.SetAtWar edit_call, writes
DiplomaticRelations::SetIsInDefensivePact void Game::DiplomaticRelations::SetIsInDefensivePact(Game::DiplomaticRelations* this, PlayerTypes a, PlayerTypes b, bool pact) 0x1d4450 0x1d3c30 Dev CE (experimental): GameDiplomacy.SetIsInDefensivePact edit_call, signal, writes
DiplomaticRelations::SetJointWarTarget void Game::DiplomaticRelations::SetJointWarTarget(Game::DiplomaticRelations* this, PlayerTypes initiator, PlayerTypes partner, PlayerTypes target) 0x1d45d0 0x1d3db0 Dev CE (experimental): GameDiplomacy.SetJointWarTarget edit_call, writes
DiplomaticRelations::SetSharesSuzerain void Game::DiplomaticRelations::SetSharesSuzerain(Game::DiplomaticRelations* this, PlayerTypes a, PlayerTypes b, bool c) 0x1d49f0 0x1d41d0 Dev CE (experimental): GameDiplomacy.SetSharesSuzerain edit_call, writes; called by EFFECT_ALLIANCE_SHARE_SUZERAIN
Economic::Manager::GetTourismFromMonopolies int Game::Economic::Manager::GetTourismFromMonopolies(const Game::Economic::Manager* this, PlayerTypes ePlayer) 0x62d550 0x62dd20 via CE: EconomicManager.GetTourismFromMonopolies
Economic::Manager::RemoveCorporation void Game::Economic::Manager::RemoveCorporation(Game::Economic::Manager* this, PlayerTypes ePlayer, PlotCoord kLocation) 0x62f300 0x62fb80 no edit_call, writes
Economic::Manager::RemoveIndustry void Game::Economic::Manager::RemoveIndustry(Game::Economic::Manager* this, PlayerTypes ePlayer, PlotCoord kLocation) 0x62f3f0 0x62fc70 no edit_call, writes
Eras::ChangeExtraScorePerPrideMoment void Game::Eras::ChangeExtraScorePerPrideMoment(Game::Eras* this, PlayerTypes ePlayer, int iDelta) 0x1e2b00 0x1e2260 Dev CE (experimental): GameEras.ChangeExtraScorePerPrideMoment edit_call, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_PRIDE_MOMENT
Eras::ChangePlayerAlwaysAllowedCommemorationQuestCount void Game::Eras::ChangePlayerAlwaysAllowedCommemorationQuestCount(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2b50 0x1e22b0 Dev CE (experimental): GameEras.ChangePlayerAlwaysAllowedCommemorationQuestCount edit_call, writes; called by EFFECT_ADJUST_PLAYER_ALWAYS_ALLOW_COMMEMORATION_QUEST_COUNT
Eras::ChangePlayerEraScorePerAerodromeBuildingConstructed void Game::Eras::ChangePlayerEraScorePerAerodromeBuildingConstructed(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2ba0 0x1e2300 Dev CE (experimental): GameEras.ChangePlayerEraScorePerAerodromeBuildingConstructed edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_AERODROME_BUILDING_CONSTRUCTED
Eras::ChangePlayerEraScorePerArmyKilled void Game::Eras::ChangePlayerEraScorePerArmyKilled(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2c20 0x1e2380 Dev CE (experimental): GameEras.ChangePlayerEraScorePerArmyKilled edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_ARMY_KILLED
Eras::ChangePlayerEraScorePerArtifactExtracted void Game::Eras::ChangePlayerEraScorePerArtifactExtracted(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2ca0 0x1e2400 Dev CE (experimental): GameEras.ChangePlayerEraScorePerArtifactExtracted edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_ARTIFACT_EXTRACTED
Eras::ChangePlayerEraScorePerCityReligionConversion void Game::Eras::ChangePlayerEraScorePerCityReligionConversion(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2d20 0x1e2480 Dev CE (experimental): GameEras.ChangePlayerEraScorePerCityReligionConversion edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_CITY_RELIGION_CONVERSION
Eras::ChangePlayerEraScorePerCivicBoost void Game::Eras::ChangePlayerEraScorePerCivicBoost(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2da0 0x1e2500 Dev CE (experimental): GameEras.ChangePlayerEraScorePerCivicBoost edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_CIVIC_BOOST
Eras::ChangePlayerEraScorePerContinentDiscovered void Game::Eras::ChangePlayerEraScorePerContinentDiscovered(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2e20 0x1e2580 Dev CE (experimental): GameEras.ChangePlayerEraScorePerContinentDiscovered edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_CONTINENT_DISCOVERED
Eras::ChangePlayerEraScorePerCorpsKilled void Game::Eras::ChangePlayerEraScorePerCorpsKilled(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2ea0 0x1e2600 Dev CE (experimental): GameEras.ChangePlayerEraScorePerCorpsKilled edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_CORPS_KILLED
Eras::ChangePlayerEraScorePerCultureBuildingConstructed void Game::Eras::ChangePlayerEraScorePerCultureBuildingConstructed(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2f20 0x1e2680 Dev CE (experimental): GameEras.ChangePlayerEraScorePerCultureBuildingConstructed edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_CULTURE_BUILDING_CONSTRUCTED
Eras::ChangePlayerEraScorePerCurrentCivic void Game::Eras::ChangePlayerEraScorePerCurrentCivic(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e2fa0 0x1e2700 Dev CE (experimental): GameEras.ChangePlayerEraScorePerCurrentCivic edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_CURRENT_CIVIC
Eras::ChangePlayerEraScorePerCurrentTech void Game::Eras::ChangePlayerEraScorePerCurrentTech(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e3020 0x1e2780 Dev CE (experimental): GameEras.ChangePlayerEraScorePerCurrentTech edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_CURRENT_TECH
Eras::ChangePlayerEraScorePerDistrictConstructed void Game::Eras::ChangePlayerEraScorePerDistrictConstructed(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e30a0 0x1e2800 Dev CE (experimental): GameEras.ChangePlayerEraScorePerDistrictConstructed edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_DISTRICT_CONSTRUCTED
Eras::ChangePlayerEraScorePerGreatPersonEarned void Game::Eras::ChangePlayerEraScorePerGreatPersonEarned(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e3120 0x1e2880 Dev CE (experimental): GameEras.ChangePlayerEraScorePerGreatPersonEarned edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_GREAT_PERSON_EARNED
Eras::ChangePlayerEraScorePerIndustrialBuildingConstructed void Game::Eras::ChangePlayerEraScorePerIndustrialBuildingConstructed(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e31a0 0x1e2900 Dev CE (experimental): GameEras.ChangePlayerEraScorePerIndustrialBuildingConstructed edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_INDUSTRIAL_BUILDING_CONSTRUCTED
Eras::ChangePlayerEraScorePerNaturalWonderDiscovered void Game::Eras::ChangePlayerEraScorePerNaturalWonderDiscovered(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e3220 0x1e2980 Dev CE (experimental): GameEras.ChangePlayerEraScorePerNaturalWonderDiscovered edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_NATURAL_WONDER_DISCOVERED
Eras::ChangePlayerEraScorePerNonBarbarianUnitKilledByGDR void Game::Eras::ChangePlayerEraScorePerNonBarbarianUnitKilledByGDR(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e32a0 0x1e2a00 Dev CE (experimental): GameEras.ChangePlayerEraScorePerNonBarbarianUnitKilledByGDR edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_NON_BARBARIAN_UNIT_KILLED_BY_GDR
Eras::ChangePlayerEraScorePerNonBarbarianUnitSeaKilled void Game::Eras::ChangePlayerEraScorePerNonBarbarianUnitSeaKilled(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e3320 0x1e2a80 Dev CE (experimental): GameEras.ChangePlayerEraScorePerNonBarbarianUnitSeaKilled edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_NON_BARBARIAN_UNIT_SEA_KILLED
Eras::ChangePlayerEraScorePerScienceBuildingConstructed void Game::Eras::ChangePlayerEraScorePerScienceBuildingConstructed(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e33a0 0x1e2b00 Dev CE (experimental): GameEras.ChangePlayerEraScorePerScienceBuildingConstructed edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_SCIENCE_BUILDING_CONSTRUCTED
Eras::ChangePlayerEraScorePerSpySuccessfulMission void Game::Eras::ChangePlayerEraScorePerSpySuccessfulMission(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e3420 0x1e2b80 Dev CE (experimental): GameEras.ChangePlayerEraScorePerSpySuccessfulMission edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_SPY_SUCCESSFUL_MISSION
Eras::ChangePlayerEraScorePerTechBoost void Game::Eras::ChangePlayerEraScorePerTechBoost(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e34a0 0x1e2c00 Dev CE (experimental): GameEras.ChangePlayerEraScorePerTechBoost edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_TECH_BOOST
Eras::ChangePlayerEraScorePerTradeRouteCompleted void Game::Eras::ChangePlayerEraScorePerTradeRouteCompleted(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e3520 0x1e2c80 Dev CE (experimental): GameEras.ChangePlayerEraScorePerTradeRouteCompleted edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_TRADE_ROUTE_COMPLETED
Eras::ChangePlayerEraScorePerUnitPromotionEarned void Game::Eras::ChangePlayerEraScorePerUnitPromotionEarned(Game::Eras* this, PlayerTypes ePlayer, int iAmount) 0x1e35a0 0x1e2d00 Dev CE (experimental): GameEras.ChangePlayerEraScorePerUnitPromotionEarned edit_call, event, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_UNIT_PROMOTION_EARNED
Eras::RecalculateThresholdShifts void Game::Eras::RecalculateThresholdShifts(Game::Eras* this, PlayerTypes ePlayer, EraTypes eCurrentEra) 0x1e76a0 0x1e6e00 Dev CE (experimental): GameEras.RecalculateThresholdShifts edit_call, event, writes
Eras::SetCurrentEra void Game::Eras::SetCurrentEra(Game::Eras* this, EraTypes eEra) 0x1e8660 0x1e7eb0 Dev CE (experimental): GameEras.SetCurrentEra signal, event, writes
Eras::SetDarkAge void Game::Eras::SetDarkAge(Game::Eras* this, PlayerTypes ePlayer, bool bIsDarkAge) 0x1e8750 0x1e7fa0 Dev CE (experimental): GameEras.SetDarkAge edit_call, signal, writes
Eras::SetGoldenAge void Game::Eras::SetGoldenAge(Game::Eras* this, PlayerTypes ePlayer, bool bIsGoldenAge) 0x1e87f0 0x1e8040 Dev CE (experimental): GameEras.SetGoldenAge edit_call, signal, writes
Eras::SetMinScoreForExtraEraScore void Game::Eras::SetMinScoreForExtraEraScore(Game::Eras* this, PlayerTypes ePlayer, int iNewValue) 0x1e8890 0x1e80e0 Dev CE (experimental): GameEras.SetMinScoreForExtraEraScore edit_call, writes; called by EFFECT_ADJUST_PLAYER_ERA_SCORE_PER_PRIDE_MOMENT
Gossip::Manager::AddGossipItem void Game::Gossip::Manager::AddGossipItem(Game::Gossip::Manager* this, OccurrenceRef pkItem) 0x1f6a60 0x1f59f0 no writes
GreatPeople::AwardFreePersonByClass bool Game::GreatPeople::AwardFreePersonByClass(Game::GreatPeople* this, PlayerTypes ePlayer, GreatPersonClassTypes eClass) 0x209fd0 0x208fd0 Dev CE (experimental): GameGreatPeople.AwardFreePersonByClass edit_call, writes; called by EFFECT_GRANT_GREAT_PERSON_CLASS_IN_CITY
History::Moment::SetExtraData void Game::History::Moment::SetExtraData(Game::History::Moment* this, MomentDataTypes eDataType, int iData) 0x217330 0x215e40 no writes
Instance::DecrementGameStateLock uint Game::Instance::DecrementGameStateLock(Game::Instance* this) 0x63cdd0 0x63cee0 Dev CE (experimental): Game.DecrementGameStateLock signal, writes
Instance::IncrementGameStateLock uint Game::Instance::IncrementGameStateLock(Game::Instance* this) 0x63d090 0x63d1a0 Dev CE (experimental): Game.IncrementGameStateLock writes
NationalParks::DesignatePark void Game::NationalParks::DesignatePark(Game::NationalParks* this, PlayerTypes ePlayer, PlotCoord kBaseTile) 0x236180 0x235830 via CE: NationalParks.DesignatePark
NationalParks::FindPark const Game::ParkData* Game::NationalParks::FindPark(const Game::NationalParks* this, PlotCoord kLocation) 0x236c70 0x2362c0 via CE: NationalParks.FindPark
NationalParks::RestoreVisualState bool Game::NationalParks::RestoreVisualState(Game::NationalParks* this, const Game::ParkData* pkPark) (+1 overload) 0x239300 0x2389f0 via CE: NationalParks.RestoreVisualState
RandomEvents::PillageDistrict int Game::RandomEvents::PillageDistrict(Game::RandomEvents* this, int iPlotIndex, PlayerTypes& iAffectedPlayer) (+1 overload) 0x2401d0 0x23f880 no edit_call, writes
RandomEvents::PillageImprovement int Game::RandomEvents::PillageImprovement(Game::RandomEvents* this, int iPlotIndex, PlayerTypes& iAffectedPlayer) (+1 overload) 0x240470 0x23fb20 no writes
Techs::BuildTechs void Game::Techs::BuildTechs(Game::Techs* this) 0x250f90 0x2502e0 Dev CE (experimental): Game.BuildTechs edit_call, writes

Notes (★)

Game::Culture::AddRelic

Chooses a relic, creates its game-wide record, places it in a slot, and announces it. Its only caller is Player::Religion::CreateRelic.

Game::Culture::FindOrAddGreatWork

Returns the position (list index) of the game-wide record for a great work type, creating the record if none exists.

Game::Culture::SetGreatWorkPlayer

Writes a player id into the game-wide great work record.