Bazaar developer reference

CvPlayer::GetCulturePerTurnFromReligion() const

Defined in
CvPlayer.cpp, line 10482
Class
CvPlayer
Hook name
CivHooks::CvPlayer_GetCulturePerTurnFromReligion

Hooks

static bool BeforeCvPlayer_GetCulturePerTurnFromReligion(const CvPlayer* self, int& result);static void AfterCvPlayer_GetCulturePerTurnFromReligion(const CvPlayer* self, int& result);static int ReplaceCvPlayer_GetCulturePerTurnFromReligion(int (*original)(const CvPlayer*), const CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_GetCulturePerTurnFromReligion>(host, &BeforeCvPlayer_GetCulturePerTurnFromReligion);CivRegisterAfter<CivHooks::CvPlayer_GetCulturePerTurnFromReligion>(host, &AfterCvPlayer_GetCulturePerTurnFromReligion);CivRegisterReplace<CivHooks::CvPlayer_GetCulturePerTurnFromReligion>(host, &ReplaceCvPlayer_GetCulturePerTurnFromReligion);

Code

10481/// Culture per turn from religion10482int CvPlayer::GetCulturePerTurnFromReligion() const10483{10484	int iOtherCulturePerTurn = 0;10485	int iReligionCulturePerTurn = 0;1048610487	// Start by seeing how much the other types are bringing in10488	iOtherCulturePerTurn += GetJONSCulturePerTurnFromCities();10489	iOtherCulturePerTurn += GetJONSCulturePerTurnFromExcessHappiness();10490	iOtherCulturePerTurn += GetJONSCulturePerTurnForFree();10491	iOtherCulturePerTurn += GetCulturePerTurnFromMinorCivs();1049210493	// Founder beliefs10494	CvGameReligions* pReligions = GC.getGame().GetGameReligions();10495	ReligionTypes eFoundedReligion = pReligions->GetFounderBenefitsReligion(GetID());10496	if(eFoundedReligion != NO_RELIGION)10497	{10498		const CvReligion* pReligion = pReligions->GetReligion(eFoundedReligion, NO_PLAYER);10499		if(pReligion)10500		{10501#if defined(MOD_API_UNIFIED_YIELDS)10502			iReligionCulturePerTurn += GetYieldPerTurnFromReligion(YIELD_CULTURE);10503#else10504			iReligionCulturePerTurn += pReligion->m_Beliefs.GetHolyCityYieldChange(YIELD_CULTURE);1050510506			int iTemp = pReligion->m_Beliefs.GetYieldChangePerForeignCity(YIELD_CULTURE);10507			if (iTemp > 0)10508			{10509				iReligionCulturePerTurn += (iTemp * GetReligions()->GetNumForeignCitiesFollowing());10510			}1051110512			iTemp = pReligion->m_Beliefs.GetYieldChangePerXForeignFollowers(YIELD_CULTURE);10513			if (iTemp > 0)10514			{10515				int iFollowers = GetReligions()->GetNumForeignFollowers(false /*bAtPeace*/);10516				if (iFollowers > 0)10517				{10518					iReligionCulturePerTurn += (iFollowers / iTemp);10519				}10520			}10521#endif1052210523			bool bAtPeace = GET_TEAM(getTeam()).getAtWarCount(false) == 0;10524			int iMod = pReligion->m_Beliefs.GetPlayerCultureModifier(bAtPeace);1052510526			if (iMod != 0)10527			{10528				iReligionCulturePerTurn += ((iReligionCulturePerTurn + iOtherCulturePerTurn) * iMod) / 100;10529			}10530			return iReligionCulturePerTurn;10531		}10532	}1053310534	return 0;10535}

Calls

Called by