Bazaar developer reference

CvPlayer::GetYieldPerTurnFromReligion(YieldTypes) const

Defined in
CvPlayer.cpp, line 11210
Class
CvPlayer
Hook name
CivHooks::CvPlayer_GetYieldPerTurnFromReligion

Hooks

static bool BeforeCvPlayer_GetYieldPerTurnFromReligion(const CvPlayer* self, YieldTypes eYield, int& result);static void AfterCvPlayer_GetYieldPerTurnFromReligion(const CvPlayer* self, YieldTypes eYield, int& result);static int ReplaceCvPlayer_GetYieldPerTurnFromReligion(int (*original)(const CvPlayer*, YieldTypes), const CvPlayer* self, YieldTypes eYield);CivRegisterBefore<CivHooks::CvPlayer_GetYieldPerTurnFromReligion>(host, &BeforeCvPlayer_GetYieldPerTurnFromReligion);CivRegisterAfter<CivHooks::CvPlayer_GetYieldPerTurnFromReligion>(host, &AfterCvPlayer_GetYieldPerTurnFromReligion);CivRegisterReplace<CivHooks::CvPlayer_GetYieldPerTurnFromReligion>(host, &ReplaceCvPlayer_GetYieldPerTurnFromReligion);

Code

11209/// Yield per turn from Religion11210int CvPlayer::GetYieldPerTurnFromReligion(YieldTypes eYield) const11211{11212	int iYieldPerTurn = 0;1121311214	CvGameReligions* pReligions = GC.getGame().GetGameReligions();11215	ReligionTypes eReligion = pReligions->GetFounderBenefitsReligion(GetID());11216	if (eReligion != NO_RELIGION)11217	{11218		const CvReligion* pReligion = pReligions->GetReligion(eReligion, NO_PLAYER);11219		if (pReligion)11220		{11221			iYieldPerTurn += pReligion->m_Beliefs.GetHolyCityYieldChange(eYield);1122211223			int iTemp = pReligion->m_Beliefs.GetYieldChangePerForeignCity(eYield);11224			if (iTemp > 0)11225			{11226				iYieldPerTurn += (iTemp * GetReligions()->GetNumForeignCitiesFollowing());11227			}1122811229			iTemp = pReligion->m_Beliefs.GetYieldChangePerXForeignFollowers(eYield);11230			if (iTemp > 0)11231			{11232				int iFollowers = GetReligions()->GetNumForeignFollowers(false /*bAtPeace*/);11233				if (iFollowers > 0)11234				{11235					iYieldPerTurn += (iFollowers / iTemp);11236				}11237			}1123811239			// This came from CvTreasury::GetGoldPerTurnFromReligion()11240			if (eYield == YIELD_GOLD)11241			{11242				int iGoldPerFollowingCity = pReligion->m_Beliefs.GetGoldPerFollowingCity();11243				iYieldPerTurn += (pReligions->GetNumCitiesFollowing(eReligion) * iGoldPerFollowingCity);1124411245				int iGoldPerXFollowers = pReligion->m_Beliefs.GetGoldPerXFollowers();11246				if(iGoldPerXFollowers > 0)11247				{11248					iYieldPerTurn += (pReligions->GetNumFollowers(eReligion) / iGoldPerXFollowers);11249				}11250			}1125111252			int iYieldPerFollowingCity = pReligion->m_Beliefs.GetYieldPerFollowingCity(eYield);11253			iYieldPerTurn += (pReligions->GetNumCitiesFollowing(eReligion) * iYieldPerFollowingCity);1125411255			int iYieldPerXFollowers = pReligion->m_Beliefs.GetYieldPerXFollowers(eYield);11256			if(iYieldPerXFollowers > 0)11257			{11258				iYieldPerTurn += (pReligions->GetNumFollowers(eReligion) / iYieldPerXFollowers);11259			}11260		}11261	}1126211263	return iYieldPerTurn;11264}

Calls

Called by