Bazaar developer reference

CvCity::GetBaseJONSCulturePerTurn() const

Defined in
CvCity.cpp, line 8411
Class
CvCity
Hook name
CivHooks::CvCity_GetBaseJONSCulturePerTurn

Hooks

static bool BeforeCvCity_GetBaseJONSCulturePerTurn(const CvCity* self, int& result);static void AfterCvCity_GetBaseJONSCulturePerTurn(const CvCity* self, int& result);static int ReplaceCvCity_GetBaseJONSCulturePerTurn(int (*original)(const CvCity*), const CvCity* self);CivRegisterBefore<CivHooks::CvCity_GetBaseJONSCulturePerTurn>(host, &BeforeCvCity_GetBaseJONSCulturePerTurn);CivRegisterAfter<CivHooks::CvCity_GetBaseJONSCulturePerTurn>(host, &AfterCvCity_GetBaseJONSCulturePerTurn);CivRegisterReplace<CivHooks::CvCity_GetBaseJONSCulturePerTurn>(host, &ReplaceCvCity_GetBaseJONSCulturePerTurn);

Code

8411int CvCity::GetBaseJONSCulturePerTurn() const8412{8413	VALIDATE_OBJECT84148415	int iCulturePerTurn = 0;8416	iCulturePerTurn += GetJONSCulturePerTurnFromBuildings();8417	iCulturePerTurn += GetJONSCulturePerTurnFromPolicies();8418	iCulturePerTurn += GetJONSCulturePerTurnFromSpecialists();8419#if defined(MOD_API_UNIFIED_YIELDS)8420	// GetJONSCulturePerTurnFromSpecialists() uses the Specialists.CulturePerTurn column,8421	// GetBaseYieldRateFromSpecialists(YIELD_CULTURE) gets everything else!8422	iCulturePerTurn += GetBaseYieldRateFromSpecialists(YIELD_CULTURE);8423	iCulturePerTurn += (GetYieldPerPopTimes100(YIELD_CULTURE) * getPopulation()) / 100;8424#endif8425#if defined(MOD_API_UNIFIED_YIELDS)8426	if (IsRouteToCapitalConnected())8427	{8428		iCulturePerTurn += GET_PLAYER(getOwner()).GetYieldChangeTradeRoute(YIELD_CULTURE);8429		iCulturePerTurn += GET_PLAYER(getOwner()).GetPlayerTraits()->GetYieldChangeTradeRoute(YIELD_CULTURE);8430	}8431#endif84328433#if defined(MOD_GLOBAL_GREATWORK_YIELDTYPES) || defined(MOD_API_UNIFIED_YIELDS)8434	iCulturePerTurn += GetBaseYieldRateFromGreatWorks(YIELD_CULTURE);8435#else8436	iCulturePerTurn += GetJONSCulturePerTurnFromGreatWorks();8437#endif8438	iCulturePerTurn += GetBaseYieldRateFromTerrain(YIELD_CULTURE);8439#if defined(MOD_API_UNIFIED_YIELDS)8440	iCulturePerTurn += GetYieldPerTurnFromUnimprovedFeatures(YIELD_CULTURE);8441#endif8442	iCulturePerTurn += GetJONSCulturePerTurnFromTraits();8443	iCulturePerTurn += GetJONSCulturePerTurnFromReligion();8444	iCulturePerTurn += GetJONSCulturePerTurnFromLeagues();84458446#if defined(MOD_API_UNIFIED_YIELDS)8447	// Process production into culture8448	iCulturePerTurn += (getBasicYieldRateTimes100(YIELD_PRODUCTION, false) / 100) * getProductionToYieldModifier(YIELD_CULTURE) / 100;84498450	// Culture from having trade routes8451	iCulturePerTurn += GET_PLAYER(m_eOwner).GetTrade()->GetTradeValuesAtCityTimes100(this, YIELD_CULTURE) / 100;8452#endif84538454	return iCulturePerTurn;8455}

Calls

Called by