Bazaar developer reference

CvCity::getDomainFreeExperienceFromGreatWorks(DomainTypes) const

Defined in
CvCity.cpp, line 11179
Class
CvCity
Hook name
CivHooks::CvCity_getDomainFreeExperienceFromGreatWorks

Hooks

static bool BeforeCvCity_getDomainFreeExperienceFromGreatWorks(const CvCity* self, DomainTypes eIndex, int& result);static void AfterCvCity_getDomainFreeExperienceFromGreatWorks(const CvCity* self, DomainTypes eIndex, int& result);static int ReplaceCvCity_getDomainFreeExperienceFromGreatWorks(int (*original)(const CvCity*, DomainTypes), const CvCity* self, DomainTypes eIndex);CivRegisterBefore<CivHooks::CvCity_getDomainFreeExperienceFromGreatWorks>(host, &BeforeCvCity_getDomainFreeExperienceFromGreatWorks);CivRegisterAfter<CivHooks::CvCity_getDomainFreeExperienceFromGreatWorks>(host, &AfterCvCity_getDomainFreeExperienceFromGreatWorks);CivRegisterReplace<CivHooks::CvCity_getDomainFreeExperienceFromGreatWorks>(host, &ReplaceCvCity_getDomainFreeExperienceFromGreatWorks);

Code

11179int CvCity::getDomainFreeExperienceFromGreatWorks(DomainTypes eIndex) const11180{11181	VALIDATE_OBJECT11182		CvAssertMsg(eIndex >= 0, "eIndex expected to be >= 0");11183	CvAssertMsg(eIndex < NUM_DOMAIN_TYPES, "eIndex expected to be < NUM_DOMAIN_TYPES");1118411185	int iXP = 0;1118611187	CvBuildingXMLEntries* pkBuildings = GetCityBuildings()->GetBuildings();11188	for(int iBuilding = 0; iBuilding < GetCityBuildings()->GetBuildings()->GetNumBuildings(); iBuilding++)11189	{11190		CvBuildingEntry* pInfo = pkBuildings->GetEntry(iBuilding);11191		if(pInfo)11192		{11193			if (pInfo->GetDomainFreeExperiencePerGreatWork(eIndex) != 0)11194			{11195				int iGreatWorks = GetCityBuildings()->GetNumGreatWorksInBuilding((BuildingClassTypes)pInfo->GetBuildingClassType());11196				iXP += (iGreatWorks * pInfo->GetDomainFreeExperiencePerGreatWork(eIndex));11197			}11198		}11199	}1120011201	return iXP;11202}

Calls

Called by