Bazaar developer reference

CvCityCulture::GetCultureFromWonders() const

Defined in
CvCultureClasses.cpp, line 5249
Class
CvCityCulture
Hook name
CivHooks::CvCityCulture_GetCultureFromWonders

Hooks

static bool BeforeCvCityCulture_GetCultureFromWonders(const CvCityCulture* self, int& result);static void AfterCvCityCulture_GetCultureFromWonders(const CvCityCulture* self, int& result);static int ReplaceCvCityCulture_GetCultureFromWonders(int (*original)(const CvCityCulture*), const CvCityCulture* self);CivRegisterBefore<CivHooks::CvCityCulture_GetCultureFromWonders>(host, &BeforeCvCityCulture_GetCultureFromWonders);CivRegisterAfter<CivHooks::CvCityCulture_GetCultureFromWonders>(host, &AfterCvCityCulture_GetCultureFromWonders);CivRegisterReplace<CivHooks::CvCityCulture_GetCultureFromWonders>(host, &ReplaceCvCityCulture_GetCultureFromWonders);

Code

5248/// City's current culture from wonders5249int CvCityCulture::GetCultureFromWonders() const5250{5251	int iRtnValue = 0;5252	CvPlayer &kPlayer = GET_PLAYER(m_pCity->getOwner());52535254	CvCivilizationInfo *pkCivInfo = GC.getCivilizationInfo(kPlayer.getCivilizationType());5255	if (pkCivInfo)5256	{5257		int iNumBuildingClassInfos = GC.getNumBuildingClassInfos();52585259		for(int iI = 0; iI < iNumBuildingClassInfos; iI++)5260		{5261			BuildingTypes eWonderBuilding = ((BuildingTypes)(pkCivInfo->getCivilizationBuildings(iI)));5262			if (eWonderBuilding != NO_BUILDING)5263			{5264				if(m_pCity->GetCityBuildings()->GetNumBuilding(eWonderBuilding) > 0)5265				{5266					CvBuildingEntry *pkBuildingInfo = GC.getBuildingInfo(eWonderBuilding);5267					if (pkBuildingInfo)5268					{5269						if (isWorldWonderClass(pkBuildingInfo->GetBuildingClassInfo()))5270						{5271							iRtnValue += pkBuildingInfo->GetYieldChange(YIELD_CULTURE);5272							iRtnValue += GC.getGame().GetGameLeagues()->GetWorldWonderYieldChange(m_pCity->getOwner(), YIELD_CULTURE);5273						}5274					}5275				}5276			}5277		}5278	}52795280	return iRtnValue;5281}

Calls

Called by