GameEvents (Civ5 Type)

From Civilization Modding Wiki
Jump to navigationJump to search

This page is a part of the Lua and UI Reference (Civ5).


Usage

This object exposes events that you can use to modify the gameplay. As opposed to the events defined on Events and LuaEvents, most of those events are expected to return a value. This value may then be used by the game to prevent or trigger some game actions (such as a declaration of war), or to override some calculations (for example by adding a bonus or a malus to the diplomatic status between two civilizations). Please look at the events' pages to learn more.


Static Events

Events can be subscribed by using GameEvents.SomeEvent.Add(SomeFunction). Regular events can also be fired through a dot by using GameEvents.SomeEvent(<args>). This will invoke all subscribers with the provided arguments.

C

Base game Gods & Kings ___________________________
bool CanDeclareWar(TeamID myTeam, TeamID theirTeam)
CityBuildingsIsBuildingSellable(PlayerID player, BuildingType building)
CityCanBuyAnyPlot(PlayerID player, CityID city)
CityCanBuyPlot(PlayerID player, CityID city, int x, int y)
CityCanConstruct(PlayerID player, CityID city, BuildingType buildingType)
CityCanCreate(PlayerID player, CityID city, ProjectType projectType)
CityCanMaintain(PlayerID player, CityID city, ProcessType processType)
CityCanPrepare(PlayerID player, CityID city, SpecialistType specialistType)
CityCanTrain(PlayerID player, CityID city, UnitType unitType)
CityCaptureComplete(PlayerID player, int capital, ResourceType x, ResourceType y, PlayerID newPlayer, int conquest, int conquest)
CityConvertsReligion(PlayerID owner, ReligionType religion, int x, int y)

D

Base game Gods & Kings ___________________________
DoResolveVictoryVote(bool preliminaryVote)

G

Base game Gods & Kings ___________________________
GameCoreTestVictory()
GameCoreUpdateBegin()
GameCoreUpdateEnd()
GetFounderBenefitsReligion(PlayerID player)
GetReligionToSpread(PlayerID player)
GetScenarioDiploModifier1(PlayerID player1, PlayerID player2)
GetScenarioDiploModifier2(PlayerID player1, PlayerID player2)

P

Base game Gods & Kings ___________________________
PlayerAdoptPolicy(PlayerID player, int policyID)
PlayerCanConstruct(PlayerID player, BuildingType buildingType)
PlayerCanCreate(PlayerID player, ProjectType projectType)
PlayerCanMaintain(PlayerID player, ProcessType processType)
PlayerCanPrepare(PlayerID player, SpecialistType specialistType)
PlayerCanResearch(PlayerID player, TechType techType)
PlayerCanEverResearch(PlayerID player, TechType techType)
PlayerCanTrain(PlayerID player, UnitType unitType)
PlayerCityFounded(PlayerID player, int cityX, int cityY)
PlayerDoTurn(PlayerID player)
PlayerPreAIUnitUpdate(PlayerID player)
PreGameStart

S

Base game Gods & Kings ___________________________
SetAlly(PlayerID cSPlayer, PlayerID oldAlly, PlayerID newAlly)
SetPopulation(int x, int y, unknown oldPopulation, int newPopulation)

T

Base game Gods & Kings ___________________________
TeamMeet(unknown playeractive, unknown playermet)
TeamSetHasTech(TeamID team, TechType tech, bool adopted)
TeamTechResearched(TeamID team, TechType tech, int change)

U

Base game Gods & Kings ___________________________
UnitGetSpecialExploreTarget(PlayerID player, UnitID unitID)
UnitKilledInCombat(PlayerID killer, PlayerID killee, UnitType killeeUnitType)
UnitSetXY(PlayerID player, UnitID unit, int x, int y)


Static Methods

Methods are functions that belong to an object. Static methods are invoked through a dot, as in GameEvents.SomeMethod(<args>). When a dot is used the caller object is not implicitly provided as the first argument.

Base game Gods & Kings ___________________________
Accumulate
AccumulateINT
Add
Call
Count
Remove
RemoveAll
TestAll
TestAny



The initial version of this page was created by the Civ5 API Bot, see the Civ5 API Reference FAQ. Some of the texts come from the 2kgames' wiki and most of code samples are copyrighted to Firaxis.
Functions' signatures were either copied from the 2kgames' wiki, or infered from the Lua source files and the binaries. Errors are possible.
Contributors may find help in the Contributors guide to the Civ5 API.